如何在结构verilog中引入延迟?
信号“ADDR”相对于信号“WR”的上升沿具有1ns的设置时间限制 在每个新的时钟周期中,我需要给“ADDR”赋值,然后在1ns后使“WR”0->1如何在结构verilog中引入延迟?,verilog,digital,digital-logic,Verilog,Digital,Digital Logic,信号“ADDR”相对于信号“WR”的上升沿具有1ns的设置时间限制 在每个新的时钟周期中,我需要给“ADDR”赋值,然后在1ns后使“WR”0->1 时钟周期为10ns。如何在结构化verilog中实现这一点?有很多方法。我将使用: `timescale 1ns/1ps ... assign #1.2 wr_out = wr; // (wr_out is a wire) or always @(wr) wr_out <= #1.2 wr; // (wr_out is a reg
时钟周期为10ns。如何在结构化verilog中实现这一点?有很多方法。我将使用:
`timescale 1ns/1ps
...
assign #1.2 wr_out = wr; // (wr_out is a wire)
or
always @(wr)
wr_out <= #1.2 wr; // (wr_out is a reg)
您可以添加这样一个带有延迟的缓冲器,或者您必须找到设计中输出信号的最后一个门,并在那里添加延迟 这看起来像是行为验证日志。我正在用结构化的Verilog开发代码,但在这种情况下,您必须在输出信号的最后一个门中添加一个组件或设置一个延迟:buf#(1,1)delaybuf(out,in);我会把它添加到答案中。你需要提供你的代码示例。
buf #(1.2,1.2) delaybuf (out,in);