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

本文详细探讨了组合逻辑,包括wire型和reg型变量、逻辑运算及实例、算术运算、移位操作、加法电路分析以及关系操作。通过具体的代码示例,阐述了数字电路设计中的关键技巧,特别是如何使用Verilog进行逻辑设计。
摘要由CSDN通过智能技术生成

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

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

一、组合逻辑

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</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值