错误为Error (10119): Verilog HDL Loop Statement error at software.v(29): loop with non-constant terminating condition exceeds 5000 iterations, the built-in limit
源程序如下:
module software(CLK,EN,WER,WEY,WEG,SNR,SNY,SNG);
input CLK,EN;
output WER,WEY,WEG,SNR,SNY,SNG;
reg WER,WEY,WEG,SNR,SNY,SNG;
parameter t3=8'b1111_1001,t30=8'b1100_0011;
//assign{WER,WEY,WEG,SNR,SNY,SNG}=6'b000000;
wire s;
assign s=EN;
always
begin
WER=1;
SNR=1;
delay(t3);
forever
begin
WER=0;
WEG=1;
delay(t30);
WEG=0;
WEY=CLK;
delay(t3);
WER=1;
WEY=0;
SNR=0;
SNG=1;
delay(t30);
SNY=CLK;
SNG=0;
end
end
task delay;
input stic;
repeat(stic) @(posedge CLK);
endtask
endmodule
是一个交通灯控制器状态变换如下功能要求
以4个红色指示灯、4个绿色指示灯和4个黄色指示灯模拟路口的东、南、西、北4个方向的红、绿、黄交通灯。控制这些指示灯,使它们按下列规律亮和灭:
1)初始状态为4个方向的红灯全亮,时间3S;
2)东、西方向绿灯亮,南、北方向红灯亮。东、西方向通车,时间30S;
3)东、西方向黄灯闪烁,南、北方向红灯亮,时间3S;
4)东、西方向红灯亮,南、北方向绿灯亮,南、北方向通车,时间30S;
5)东、西方向红灯亮,南、北方向红闪烁,时间3S;
6)返回2),继续运行。
输 出
状态 WER WEY WEG SNR SNY SNG 延迟时间/S
S1 1 0 0 1 0 0 3
S2 0 0 1 1 0 0 30
S3 0 闪烁 0 1 0 0 3
S4 1 0 0 0 0 1 30
S5 1 0 0 0 闪烁 0 3
S5再返回S2,用原理图我做出来了,但想用程序试下
Verilog HDL程序有个问题,希望大虾帮忙解决下Error (10119): Verilog H...
这样的话,这些行为模型是不行的。这玩意不能变成硬件。always里不能嵌套forever。
QartusII编译verilog代码显示Error (10119)
比如A=A-B;这句话,你的程序是组合逻辑,也就是没有触发器,在这句话里A既做输入又做输出,假设A原来是5,B原来是3,执行一次后A变成2,又执行2-3=-1,A又变了,又要在执行,无限循环。你的这种赋值只有在时序逻辑中才可以,就是敏感列表应该是posedge clk的时候才可以用。
关于Verilog hdl 中循环语句forever编译错误的疑问。
Verilog 这个语言有两个部分,一部分是可综合的用来生成电路,一部分是不可综合的用来写testbench(测试脚本)。你贴的程序是不能综合的那部分,是testbench。不能综合的那部分非常的接近C语言,适合写测试文件。我在网上看了一下,你是参考的《基于Verilog HDL设计的多功能数字钟》这篇论文 你贴的这...
在quartus 9.0上运行verilog程序时,出现错误提示?
是不是因为下面这个部分时序要求太高了,一个时钟要做超过250个循环迭代,verilog没法综合呢?function[31:0]factorial;input [2:0]operand;reg [2:0]index;begin factorial = operand?1:0;for(index = 2;index<= operand;index = index+1)factorial =index*factorial;end endfunction endmodule ...
verilog case语句中while循环会出错
如果你用于仿真,不会 有问题 ,如果是综合,那么必错.while是综合不了的,更何况你连个进程都没有,这不是 在写 C哦
verilog case语句中while循环会出错
while要在always过程语句里,然后循环语句的循环次数必须是定值,不一定是常数,但是综合器要求知道其循环了几次,因为在电路里循环语句是要展开的。你这个改成if不就好了?
FPGA 产生50MHz的时钟频率 在运行时出错了
你好!initial语句主要用于仿真测试,也就是在modelsim中写所谓的testbench文件用,是不可进行逻辑综合的语句,你肯定是直接在quartus里边综合了,所以出错了哦。请采纳!!