求助在测试激励中产生一个1.3M的时钟
时间:10-02
整理:3721RD
点击:
一般在测试激励中产生1M的时钟,我就直接写成reg clk = 0;
always #500 clk=~clk;(时间单位是ns)
但是现在需要1.3M,1.7M,2.3M等等类似的时钟,我不想用笔算。所以就想通过下面的方式来实现
parameter FREQ=1300000; //1.3M
parameter PERIOD = 1/FREQ;
reg clk = 0;
always #(PERIOD/2) clk = ~clk;
但是仿真时无法产生时钟。请教一下是什么原因?
always #500 clk=~clk;(时间单位是ns)
但是现在需要1.3M,1.7M,2.3M等等类似的时钟,我不想用笔算。所以就想通过下面的方式来实现
parameter FREQ=1300000; //1.3M
parameter PERIOD = 1/FREQ;
reg clk = 0;
always #(PERIOD/2) clk = ~clk;
但是仿真时无法产生时钟。请教一下是什么原因?
parameter 1p3M_period = 1e9/1.3e6
是不是#()中不能进行计算?用parameter计算好数值,然后直接引用。
谢谢。对了。
不是。楼上是正解,单位的问题。