📅  最后修改于: 2023-12-03 15:35:35.274000             🧑  作者: Mango
Verilog语言中的始终阻止是一种用于建模同步电路的基本构造块。它保证数据的同步更新,是实现组合逻辑和时序逻辑之间数据传输的重要手段。
始终阻止语法如下所示:
always @ (posedge clk)
begin
// sequential logic
end
其中,posedge
表示时钟上升沿,@
表示敏感列表,用于指定始终阻止敏感的信号。在始终阻止中,除了时钟信号外,其他信号的变化不会引起始终阻止的重新执行。
始终阻止用来实现时序逻辑,如寄存器、计数器等。它与组合逻辑一起构成了数字电路中常用的两种逻辑,其中前者具有状态存储能力,后者则没有。
以一个简单的D触发器为例,它的代码如下所示:
module dff(clk, d, q);
input clk, d;
output q;
reg q;
always @ (posedge clk)
begin
q <= d;
end
endmodule
这里使用始终阻止语句来实现了时序逻辑,当时钟上升沿到来时,数据d
被传输到输出端口q
中。
始终阻止是Verilog语言中常用的建模方法之一,它重要的作用是实现电路中的时序逻辑。在使用始终阻止时需要注意敏感列表的规范,依照规范编写始终阻止块,才能使程序正常运行。