Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在结构verilog中引入延迟?_Verilog_Digital_Digital Logic - Fatal编程技术网

如何在结构verilog中引入延迟?

如何在结构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

信号“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)

您可以添加这样一个带有延迟的缓冲器,或者您必须找到设计中输出信号的最后一个门,并在那里添加延迟

这看起来像是行为验证日志。我正在用结构化的Verilog开发代码,但在这种情况下,您必须在输出信号的最后一个门中添加一个组件或设置一个延迟:buf#(1,1)delaybuf(out,in);我会把它添加到答案中。你需要提供你的代码示例。
buf #(1.2,1.2) delaybuf (out,in);