verilog阻塞/非阻塞赋值
时间: 2023-07-06 13:36:52 浏览: 123
Verilog数字系统设计-阻塞和非阻塞赋值
在Verilog中,阻塞赋值和非阻塞赋值是两种不同的信号赋值方式。
阻塞赋值是通过“=”号来实现的,它会立即地将右侧的表达式的值赋给左侧的信号,然后暂停执行直到该赋值语句执行完毕。因此,它会阻塞后面的语句执行,直到该赋值语句完成。
非阻塞赋值是通过“<=”号来实现的,它不会立即地将右侧的表达式的值赋给左侧的信号,而是将该赋值语句放入一个队列中,等到所有的阻塞赋值语句执行完毕之后才会执行。因此,它不会阻塞后面的语句执行,即使在其后面有其他非阻塞赋值语句也不会受到影响。
一般来说,阻塞赋值用于组合逻辑,而非阻塞赋值用于时序逻辑,因为时序逻辑在同一个时钟周期内会有多个信号的赋值,并且它们之间的顺序是非常重要的。而非阻塞赋值可以保证多个时序逻辑语句之间的顺序不会发生改变,从而保证了设计的时序正确性。
阅读全文