forever 疑问?常量换变量? 卡死了
时间:10-02
整理:3721RD
点击:
用forever 产生时钟。
下面做法没问题:
parameter period = 10;
reg clk;
initial begin
forever #(period) clk = ~clk;
end
但是,若周期是个变量,跑仿真不报错,但就卡死了。 请问有知道原因的吗?
forever #(reg_oscal) clk = ~clk;
下面做法没问题:
parameter period = 10;
reg clk;
initial begin
forever #(period) clk = ~clk;
end
但是,若周期是个变量,跑仿真不报错,但就卡死了。 请问有知道原因的吗?
forever #(reg_oscal) clk = ~clk;
仿真工具不支持这种描述方式。两个办法,1、参考模拟PLL电路描述VCO的方式得到可变频率的时钟,貌似使用了veriloga的语言,具体细节我也不懂,可以咨询你们的模拟电路人员。2、使用多个常量定义 forever #(period_x) clk_x = ~clk_x得到多个clock,然后根据case(reg_oscal_sel)从这些clk_x中选择得到最后的clk
不支持变量的方式,但是可以使用case穷举
多谢,高手。
