zoukankan      html  css  js  c++  java
  • 阻塞赋值和非阻塞赋值

    为尽量避免在综合布局布线后的仿真中出现冒险竞争现象,在编写Verilog代码时必须牢记以下8个原则:

    1,时序电路建模时,用非阻塞赋值。

    2,锁存器电路建模时,用非阻塞赋值。

    3,用always块建立组合逻辑模型时,用阻塞赋值。

    4,在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。

    5,在同一个always块中不要既用非阻塞赋值又用阻塞赋值。

    6,不要在一个以上的always块中为同一个变量赋值。(新手几乎都会犯的错误,Vivado在综合时会报critical warning: multiple-driver)

    7,用$strobe系统任务来显示用非阻塞赋值的变量值。

    8,在赋值时不要使用 #0 延迟。

    参考《Verilog数字系统设计教程 第四版 夏宇闻》

  • 相关阅读:
    让用户打开你app的位置功能
    函数递归与栈的关系
    公务员考试
    毕达哥拉斯的故事
    OC5_NSMutableString操作
    OC4_NSString操作
    OC_NSString
    OC3_MyRect
    OC6_类方法
    OC5_构造方法与self指针
  • 原文地址:https://www.cnblogs.com/achangchang/p/13288579.html
Copyright © 2011-2022 走看看