什么时候用 assign什么时候用always
时间: 2023-10-24 14:05:00 浏览: 121
Verilog中-reg和wire-用法和区别以及always和assign的区别.pdf
在 Verilog 中,assign 和 always 都是用于给信号赋值的关键字,但它们的使用场景不同。
assign 用于组合逻辑中的信号赋值,即只能用于给组合逻辑的输出信号赋值。它表示逻辑上的连续赋值,即当输入信号发生变化时,输出信号会立即随之变化。assign 可以看作是一种简化的连续赋值语句。
always 用于时序逻辑中的信号赋值,即在时钟沿或触发事件时给信号赋值。always 块中的代码会被分配到一个硬件块中实现,因此其赋值操作具有时序性。always 块可以用于描述时钟边沿触发的行为,也可以用于描述组合逻辑。
总之,assign 用于组合逻辑的赋值,而 always 用于时序逻辑的赋值。需要根据具体的设计需求选择使用哪种关键字。
阅读全文