阅读:3371回复:7
请问 verilog 中延时不可以超过一个时钟周期的吗?
有如下的一段程序
module test (clk_in,data1,data2); input clk_in; output data1,data2; assign #400 data1 = clk_in; assign #500 data2 = clk_in; endmodule 时钟clk_in为400ns,在仿真时发现 data1的值是正确的 data2的值一直都是X 这样说,verilog 中延时不可以超过一个时钟周期的吗? 曾尝试过把延时分成两步执行,如: ....... delay=600 #(delay/2) temp=datain #(delay/2) dataout=temp 结果发现dataout没有延时,或者说延时可能被忽略了 我用的是modelsim 5.6a进行仿真 请教各位有否解决的办法,谢谢 :mad: |
|
沙发#
发布于:2003-03-01 21:05
`timescale 和
assign #400 data1 = clk_in; 这样的延时语句是不能综合的,要想延时,一般要分频! |
|
板凳#
发布于:2003-02-28 10:08
有两个,一个是英文版的,很多地方有下的。
还有一个就是周立功单片机上的黄金参考,但是这个翻译比较差,很难看懂,最好是两个对照看。 |
|
地板#
发布于:2003-02-19 12:44
是周立功单片机上的黄金参考吧
|
|
地下室#
发布于:2003-02-19 10:10
tanhongliang请问VERILOG黄金参考是什么东西啊,在那里可以得到
|
|
|
5楼#
发布于:2003-02-15 12:32
后来想想这么做的确有点是为难,毕竟电脑不是人脑。
还是决定把延时分到两个不同模块里去工作吧。 to Suny1996 延迟应该是有的,你看一下 `timescale 设置的是不是正确,如果差了一个数量级有延迟也看不出来(我就这么晕过的) to tanhongliang 非常感谢你的建议。VERILOG黄金参考的确是好东东 |
|
6楼#
发布于:2003-02-15 11:22
你的延时在综合时综合工具就给你忽略了,你做功能仿真时这些延时能够正常工作,但是如果做后仿真他们就没有意义了,你可以参看VERILOG黄金参考,上面有关于延时如果综合的描述。
|
|
7楼#
发布于:2003-02-14 17:47
哥们,抱歉我不能解答你的问题,倒是想问一个问题。我在MAX pluseII 下仿真#的延时效果,怎么波形上一点延迟也没有?
|
|