Quartus 보드의 LED에서 뱀을 쓰려고합니다. KITT-Leds와 비슷하지만 프로그램을 실행하려고하면 오류가 발생합니다.Verilog 오류 : "counter : counter"사용자 계층 구조를 정교화 할 수 없습니다.
Error: Can't elaborate user hierarchy "counter:counter"
정말 무슨 일인지 모르겠다 : 이것은 나에게 오류를 제공
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
.
오류 메시지는 항상 블록이 합성 할 수 없다고 말합니다. 유추 레지스터에 비 차단 할당을 사용하는 것을 고려하십시오. –
인스턴스에 모듈과 다른 이름을 지정하십시오. 코드는 pastebin에있는 데이터의 훌륭한 복사본이지만 뱀은 무엇을해야합니까? 실제로 채워야하는 시프트 레지스터입니까 비어 있습니까? 정수 i는 최대 또는 최소 카운트에서 카운터를 잡는 클럭의 상승 에지에서만 상태를 변경합니다. 그렇지 않으면 가장 최근 설정을 래치합니다. 너가 원하는게 그거야? – mkstlwtz