SV精通2- ②采样和数据驱动

本文深入探讨Verilog中的时序逻辑,重点解析阻塞赋值与非阻塞赋值的区别,以及如何影响信号延迟。通过实例解释了时钟块的使用,包括采样和驱动的时间点,帮助理解信号在不同时间片的处理方式。同时,阐述了建立和保持时间的概念,并给出模拟例子以展示其工作原理。
摘要由CSDN通过智能技术生成


  • 例题问,上述代码,当显示a=1时,b应该显示多少?

最终综合后,a会被综合为四个1位的寄存器,代码中运用了阻塞赋值,每一拍打印的值a和b都是相等的,意味着b不会和a有一拍的delay。b如果想要实现为寄存器,和a有一拍的delay,那么应该使用非阻塞赋值。

答案:b=1


  • 时钟块可以在interface和module中添加

  • 第二行代码为模拟建立和保持时间,input是在clock1上升沿来的前10ns开始进行输入采样,在上升沿的后2ns对输出进行驱动

  • 下一行则是声明了三个输入的信号,他们都是在clock1上升沿来之前的10ns进行采样,不能对他们作驱动。

  •  再下一行默认不指定为clock1时钟上升沿,但是它指定了为式中下降沿的2ns后。

  • #1step一个时间片

 


  • 例题

答案:C 


  • 例子1——对vld进行采样

@ck表示等待clocking的变化事件,即为式中clk时钟的上升沿。

ck.vld为使用时钟块ck对vld进行采样,由于input #3ns,将会在时钟上升沿的前3ns进行采样,即根据波形可知,采样的到的为0、1、1。


  • 例子2——对grt进行驱动

在5、15、25之后过了3ns,才真正被驱动

@grt表示grt发生变化时输出信号,由输出结果表示,输出驱动在延迟3ns后生效。


  • 结论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值