sk2400

《Verilog HDL 综合实用教程》读书笔记——阻塞与非阻塞式过程赋值(图)(2007-01-15 00:17:29)

0
阅读(3445)

我习惯使用VHDL编程,可一直没找到关于写VHDL综合的书,只找到了这本《Verilog HDL 综合实用教程》。读完还是有些收获。

 

阻塞式过程赋值与非阻塞式过程赋值(VHDL中使用非阻塞式) 
c = a & b; 阻塞式过程赋值
c <= a & b; 非阻塞式过程赋值
两种赋值不会对语句本身的赋值有影响,但会影响以后对赋值结果的引用。书中建议组合逻辑使用阻塞式,时序逻辑使用非阻塞式。且语句块中如果只有一条赋值语句,是阻塞还是非阻塞都没有任何不一样。
 
非阻塞式过程赋值的赋值对象是在未来(即当前仿真时刻结束时)被赋值。
例 always @ (negedge clockB)
   begin
     rightshift = rightshift & strobe;
     selectfist <= rightshift | xflag;
    checkstop <= slectfist ^ mask;
   end
  endmodule
左边的红线是rightshift,其未经过触发器,右边的是selectfist经过触发器了.