Verilog HDL에서 32 비트 Parallel in-Parallel 출력을 구현하려고합니다.Verilog에서 PIPO 구현
pipo.v:10: error: answer['sd31:'sd0] is not a valid l-value in pipo.
pipo.v:4: : answer['sd31:'sd0] is declared here as wire.
pipo.v:16: error: answer['sd31:'sd1] is not a valid l-value in pipo.
pipo.v:4: : answer['sd31:'sd1] is declared here as wire.
Elaboration failed
문제가 무엇입니까 : 여기
module pipo(input_seq, answer,reset, clock);
input [31:0] input_seq;
input reset,clock;
output [31:0] answer;
always @ (reset)
begin
if(!reset)
begin
answer[31:0]<=1'b0;
end
end
always @ (posedge clock)
begin
answer[31:1]<=input_seq[30:0];
end
endmodule
그러나이 (iverilog
를 사용하여) 다음과 같은 오류 로그에 이르게 ... 내가 작성한 코드입니다?
레지스터의 리셋 로직과 레지스터의 클록 킹 로직을 별도의 블록으로 분할해서는 안됩니다. 하나의 블록'always @ (posedge clock 또는 negedge reset)'이 있어야합니다. 디자인에서 플립 플롭을 모델링하는 올바른 방법이 아닌 리셋이 어서 트되는 동안 클록 토글이 발생하면 클로킹 블럭이 계속 실행됩니다. – Tim