码迷,mamicode.com
首页 > 其他好文 > 详细

Verilog 延时模型

时间:2020-09-09 18:39:03      阅读:50      评论:0      收藏:0      [点我收藏+]

标签:div   生成   nbsp   code   log   语句   清空   区别   verilog   

  众所周知,Verilog提供了5中表示延迟的语句:

1 (#5) a = b;// blocking assignment with LHS··············1
2 
3 a = (#5) b;// blocking assignment with RHS··············2
4 
5 (#5) a <= b;// non-blocking assignment with LHS·········3
6 
7 a <= (#5) b;// non-blocking assignment with RHS·········4
8 
9 assign (#5) a = b;// continuous assignment with LHS·····5

  连续赋值没有RHS。

  1.生成右边的结果,暂存,等待5个时钟单位,再把结果赋值给a。等待期间b的任何变化不起作用。在tb里面常用,例如生成时钟。不能用来模拟任何器件特性。

  2.右侧的值等待5个时间单位赋值给左边,b的任何变化都会生效,只是有5个时间单位的延迟。可以用来模拟组合逻辑传输延迟

  3.和1没有实质区别。

  4.右侧的值等待5个时间单位赋值给左边,不过是用来模拟FF传输延迟,C到Q端。

  5.右侧的值等待5个时间单位赋值给左边,对右侧任何变化都生效。组合逻辑惯性延迟(电容滤波效果)。

 

  5与2的区别在于,2把所有变化都记录下来,在5个时间单位之后赋值给左边。但是1在右边每次变化都会把上次暂存的值清空更新,因此1对于小于5个时钟周期的变化不敏感。

Verilog 延时模型

标签:div   生成   nbsp   code   log   语句   清空   区别   verilog   

原文地址:https://www.cnblogs.com/aliothx/p/13579661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!