在时间verilog编码中,什么时候需要用锁存器
发布网友
发布时间:2022-04-20 06:19
我来回答
共1个回答
热心网友
时间:2023-07-04 16:47
会产生一个Latch对ena信号锁存,如果都不是就保持先前状态不变。
你的代码与下面代码效果一样。
always@(posedge clk)
begin
if(!rst)
ena <= 1'b0;
else if(fetch)
ena <= 1'b1;
else
ena <= ena;
end
if不和else的话要产生锁存器,case语句如果没有default分支也会产生锁存器。
是会产生两个FF,一个是在时钟的作用下保存fetch值, 后一级而是用fetch信号作为时钟触发信号,fetch由低变高时才使能DFF把输入数据输出,否则保持先前输出。
你可以synthesis后观看其rtl传输级。