testbench写法注意事项

来源:互联网 发布:mac number 格式刷 编辑:程序博客网 时间:2024/05/17 08:47

1.0 设计原则 1  A. 时序逻辑一定用非阻塞赋值”<=”,一旦看到敏感列表有posedge就用”<=”。  B. 组合逻辑一定用”=”,一旦敏感列表没有posedge就用”=”,一旦看到assign就用”=”。  C. 时序逻辑和组合逻辑分成不同的模块,即一个always模块里面只能出现非阻塞赋值”<=”     或者”=”。如果发现两种赋值并存,一个字”改”,心存侥幸可能会给后续工作带来更     多麻烦。 1.1 设计原则 2   A. 时序电路建模时,用非阻塞赋值。  B. 锁存器电路建模时,用非阻塞赋值。  C. 用always块建立组合逻辑模型时,用阻塞赋值。  D. 在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。  E. 在同一个always块中不要既用非阻塞赋值又用阻塞赋值。  F. 不要在一个以上的always块中为同一个变量赋值。  G. 用$strobe系统任务来显示用非阻塞赋值的变量值  H. 在赋值时不要使用 #0 延迟 1.2  RHS赋值符号右边表达式或变量,LHS赋值符号左边表达式或变量       A. 非阻塞赋值是在赋值操作时刻开始时计算非阻塞赋值符的RHS表达式  B. 赋值操作结束时刻才更新LHS  C. 在计算非阻塞赋值的RHS表达式和更新LHS期间,其他的verilog语句,包括其他的verilog     非阻塞赋值语句都能同时计算RHS表达式和更新LHS。     非阻塞赋值允许其他的verilog语句同时进行操作,所以要用绝对时间延迟。

原创粉丝点击