我想在Quartus Board上用LED写蛇。它有点像KITT-Leds,但当我尝试运行我的程序时,我收到错误。
module ukol3(KEY,LEDR);
input[1:0]KEY;
output[14:0] LEDR;
counter counter(KEY[0], KEY[1], LEDR[14:0]);
endmodule
module counter(C,CLR,Q);
input C, CLR;
output [14:0] Q;
reg [14:0] tmp;
integer i;
always @(posedge C or posedge CLR)
begin
if (CLR)
tmp = 15'b000000000000000;
if (tmp == 15'b111111111111111)
i = 0;
if (tmp == 15'b000000000000000)
i = 1;
if (i == 1)
tmp = tmp + 1'b1;
if (i == 0)
tmp = tmp - 1'b1;
end
assign Q = tmp;
endmodule
这给了我一个错误:
错误:无法详细说明用户层次结构“counter:counter”
我真的不知道发生了什么。
答案 0 :(得分:0)
这个问题是关于Verilog,而不是vhdl。我想问几个问题:你的代码是否可以合成?你在合成模块计数器后得到了什么?
对于您的问题,我认为您应首先编译counter
,然后编译ukol3
。如果您没有先执行此操作,EDA工具将找不到计数器。您应该将其拆分为两个可分离的文件并首先执行计数器。
P.S。:你应该使用更好的映射端口方法,例如counter counter (.C(KEY[0]),.CLR (KEY[1]),.Q (LEDR[14:0]));
来获得更清晰的代码。