lesson1:组合逻辑与时序逻辑

lesson1:组合逻辑与时序逻辑

1:组合逻辑和时序逻辑对比

组合逻辑时序逻辑
输出状态直接与输入相关在时钟上升沿触发后输出新的值
容易出现竞争冒险现象一般不会出现竞争冒险现象
时序较难保证更容易达到时序的收敛,时序逻辑更可控
只适合简单的电路适用于大规模的电路

竞争冒险:数字电路中的竞争与冒险出现在组合逻辑电路中。

组合逻辑电路中,同一信号经不同的路径传输后,到达电路中某一会合点的时间有先有后,这种现象称为逻辑竞争,而因此产生输出干扰脉冲的现象称为冒险。

在这里插入图片描述
组合逻辑
在这里插入图片描述

时序逻辑

2:组合逻辑实现

组合逻辑实现方式1:always @(电平敏感信号列表)

在always中可以使用if、case语句

一般使用阻塞赋值语句 =

always模块信号必须定义为reg型,仅仅是语法要求,实际实现仍是wire类型。

例:

这个敏感列表便为x,y其中一个变化遍会被触发

reg z; always@(x or y) z = x&&y;

组合逻辑实现方式2:assign描述的赋值语句

信号类型只能定义为wire型

wire z; assign z = x&& y;

3:时序逻辑实现

时序逻辑实现:

always@(posedge clk)begin … end

注:

1、时序逻辑always块中reg类型都会被综合成reg类型

2、时序逻辑一般使用非阻塞赋值

3、敏感列表只要有时钟沿变化即可,即每次触发变化都是由时钟引起的。

4:组合逻辑与时序逻辑代码设计

异或门z = a ^ b实现
组合逻辑时序逻辑
input a; input b; output z; assign z = a^b; (不写信号类型,默认为wire类型)input a; input b; output reg z; always@(posedge clk)begin z <= a^b; end

注:

异或为a,b不同为1

真值表:

abz
000
011
101
110

波形图:
在这里插入图片描述

5:搭建测试平台,同时对两个代码做仿真

a和b同步变化a和b不同步变化,有1ns延时
@(posedge clk); a <= 1; b <= 0;@(posedge clk); a <= 1; #1; //a和b变化不同步 b <= 0;

6:分析比对的波形

在这里插入图片描述

注:

组合逻辑是立即变化,所以当电路中两个信号由于一些意外因素造成延迟,组合逻辑会立即变化,产生毛刺,但时序逻辑只在时钟上升沿才会变化。

时序逻辑只要在上升沿左边建立时间,右边保持时间保持数据的稳定就可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值