ROM을 만들고 코드가 완전히 합성되어 잘 작동하지만 중요한 경고가 표시되고 구현을 실행하면 "[Place 30-494] Place to Design"이 표시됩니다. xillinx 웹 사이트 그러나이 오류에 대한 해결책은 없습니다. 여기 너희들이 나를 도와 희망 내 코드가 표시됩니다 :구현 중 오류가 발생했습니다
`timescale 1ns/1ps
module ROM(output [7:0] LED, [4:0] Ao, input [7:0] D, [4:0] A, Clear, Load);
reg [7:0] Store [0:31];
initial
begin
Store[0]<=4'b00000000;
Store[1]<=4'b00000000;
Store[2]<=4'b00000000;
Store[3]<=4'b00000000;
Store[4]<=4'b00000000;
Store[5]<=4'b00000000;
Store[6]<=4'b00000000;
Store[7]<=4'b00000000;
Store[8]<=4'b00000000;
Store[9]<=4'b00000000;
Store[10]<=4'b00000000;
Store[11]<=4'b00000000;
Store[12]<=4'b00000000;
Store[13]<=4'b00000000;
Store[14]<=4'b00000000;
Store[15]<=4'b00000000;
Store[16]<=4'b00000000;
Store[17]<=4'b00000000;
Store[18]<=4'b00000000;
Store[19]<=4'b00000000;
Store[20]<=4'b00000000;
Store[21]<=4'b00000000;
Store[22]<=4'b00000000;
Store[23]<=4'b00000000;
Store[24]<=4'b00000000;
Store[25]<=4'b00000000;
Store[26]<=4'b00000000;
Store[27]<=4'b00000000;
Store[28]<=4'b00000000;
Store[29]<=4'b00000000;
Store[30]<=4'b00000000;
Store[31]<=4'b00000000;
end
always @(*)
begin
if(Load)
if (D[7:0])
begin
Store[0]<= LED;
Store[1]<= LED;
Store[2]<= LED;
Store[3]<= LED;
Store[4]<= LED;
Store[5]<= LED;
Store[6]<= LED;
Store[7]<= LED;
Store[8]<= LED;
Store[9]<= LED;
Store[10]<= LED;
Store[11]<= LED;
Store[12]<= LED;
Store[13]<= LED;
Store[14]<= LED;
Store[15]<= LED;
Store[16]<= LED;
Store[17]<= LED;
Store[18]<= LED;
Store[19]<= LED;
Store[20]<= LED;
Store[21]<= LED;
Store[22]<= LED;
Store[23]<= LED;
Store[24]<= LED;
Store[25]<= LED;
Store[26]<= LED;
Store[27]<= LED;
Store[28]<= LED;
Store[29]<= LED;
Store[30]<= LED;
Store[31]<= LED;
end
else if(A[4:0])
begin
Store[0]<= Ao;
Store[1]<= Ao;
Store[2]<= Ao;
Store[3]<= Ao;
Store[4]<= Ao;
Store[5]<= Ao;
Store[6]<= Ao;
Store[7]<= Ao;
Store[8]<= Ao;
Store[9]<= Ao;
Store[10]<= Ao;
Store[11]<= Ao;
Store[12]<= Ao;
Store[13]<= Ao;
Store[14]<= Ao;
Store[15]<= Ao;
Store[16]<= Ao;
Store[17]<= Ao;
Store[18]<= Ao;
Store[19]<= Ao;
Store[20]<= Ao;
Store[21]<= Ao;
Store[22]<= Ao;
Store[23]<= Ao;
Store[24]<= Ao;
Store[25]<= Ao;
Store[26]<= Ao;
Store[27]<= Ao;
Store[28]<= Ao;
Store[29]<= Ao;
Store[30]<= Ao;
Store[31]<= Ao;
end
else if (Clear)
begin
Store[0]<=4'b00000000;
Store[1]<=4'b00000000;
Store[2]<=4'b00000000;
Store[3]<=4'b00000000;
Store[4]<=4'b00000000;
Store[5]<=4'b00000000;
Store[6]<=4'b00000000;
Store[7]<=4'b00000000;
Store[8]<=4'b00000000;
Store[9]<=4'b00000000;
Store[10]<=4'b00000000;
Store[11]<=4'b00000000;
Store[12]<=4'b00000000;
Store[13]<=4'b00000000;
Store[14]<=4'b00000000;
Store[15]<=4'b00000000;
Store[16]<=4'b00000000;
Store[17]<=4'b00000000;
Store[18]<=4'b00000000;
Store[19]<=4'b00000000;
Store[20]<=4'b00000000;
Store[21]<=4'b00000000;
Store[22]<=4'b00000000;
Store[23]<=4'b00000000;
Store[24]<=4'b00000000;
Store[25]<=4'b00000000;
Store[26]<=4'b00000000;
Store[27]<=4'b00000000;
Store[28]<=4'b00000000;
Store[29]<=4'b00000000;
Store[30]<=4'b00000000;
Store[31]<=4'b00000000;
end
end
endmodule
중요한 경고입니다
[공통 17-69] 명령이 실패 : 사이트 다음 더 할당 할 수 없습니다 하나 개의 포트
'initial' 블록에서 할당을 blocking assig로 전환 해 보았습니까 non-blocking ('<=')이 아닌 nments ('=')? 이 경우 처음으로 초기화 할 때와 마찬가지로 블로킹이 더 좋습니다 (다른 곳에서는 RAM과 같은 순차 요소에 대해 비 블로킹 할당을 올바르게 사용합니다). – Unn
네, 제가 합성하지 않을 것입니다. 왜 그런 일을하는지 모르지만 감사합니다. – Sultan