组合逻辑: always@ (敏感信号)或者 always @ *,组合逻辑相当于组合电路,与或非门组成的电路,其输出至于当前状态有关,与其他输入状态的函数无关,不涉及信号调变处理(组合逻辑竞争冒险 : 只要输入信号同时变化,组合逻辑就必然产生毛刺);
而时序逻辑:always @(跳变时钟)是时序电路,其输出不仅仅与当前状态有关,只有在时钟跳变的时候才会变化,其最简单的模型相当于DFF,D触发器。
在VGA驱动设计中,HS,VS等都是时序逻辑,其相当于hcnt,vcnt刚好滞后了一个时钟周期;而xpos,ypos是hcnt,vcnt的组合逻辑,与时钟同步;在第二个模块中,通过判断xpos,ypos来给定RGB,这又是时序逻辑,刚好滞后了一个时钟周期。因此,一前一后,HS,VS和RGB像素点,刚好达到了同步,当然必须保证判断到xpos,ypos后的RGB输入为组合逻辑,因为其至于当前状态有关(此处原因已在《时序逻辑__滞后一个像素》这一章节中讲到)。
http://blog.chinaunix.net/uid-21227800-id-65934.html
http://wenku.baidu.com/link?url=fbZEGGkVWpmdADp0rh5wRAqySpL8yQ9ZfwobpdGoVoATL0qtValoxNLOiNZgai5fdUKHomKzz6yEc0knrMEPi9RuGlCXMBKmBVUtux9wsTu
这两篇文章很好:
说了几个问题:
1. 如果是wire 型的,则会用assign 赋值;如果是reg 型的,才会在always 块中赋值。2. 为了避免竞争,描述时序电路只采用非阻塞赋值,即 在always中采用 <= 这种赋值方式,<= 在块结束时,才把所有的值给更新,= 是在执行开始就赋值更新
3.
描述了D触发器的verilog 语言和 电路, 同时也很形象的说明的 <= 非阻塞赋值的过程
组合逻辑与时序逻辑
最新推荐文章于 2023-05-15 11:19:36 发布