数字电路与逻辑设计——组合逻辑应用技巧篇

数字逻辑电路的基本结构:触发器之间夹着组合逻辑。(抽象)

注:触发器泛指的是时序单元。

一、组合逻辑

1、变量类型:wire型和reg

2、wire型变量的赋值方式—— assign

assign [drive_strength] [delay] net_value = expression;

   信号强度      设定时延   变量 表达式

3、wire型变量直接赋值

wire data_num; assign data_num = 1’b0;  //常数赋值

wire data_cs; assign data_cs = data_num;  //变量赋值

③wire [7:0] data_input;

assign data_input[7:4] = 4’b0000; //局部赋值

④直通模块

module Bypass

( input Input_data,

output Output_data

);

wire [7:0] Input_data;

wire [7:0] Output_data;

assign Output_data = Input_data;

endmodule

注:因为这个模块实际上不具有逻辑功能,所以一般的综合软件(如Qurtus ii)都会给出警告(Warning)后,把这个模块给优化掉。

而我们如果不想让该模块中的变量被优化(为了在使用signaltap时查看被优化的变量),则可以在定义变量时添加如下语句:

wire [7:0] Input_data/* synthesis keep */;

如针对reg型变量

reg [7:0] Input_data/* synthesis preserve */;

4、逻辑运算

①针对标量信号(1bit

!  取反

&& 与

||    或

②针对向量信号(多bit

你可能感兴趣的:(FPGA,FPGA,数字电路设计,组合逻辑电路,应用,设计)