입력이 "ins15_0"인 곳에서이 모듈을 실행하려고합니다. 특정 조건이 충족되면 구문을 검사 할 때 if 행에서 다음 오류가 발생합니다 "operator =의 결과는 정적이 아닙니다." 당신은 질문이 해결 움직이는 표적이었다 왜냐하면연산자의 결과가 정적이 아닙니다
lw : if (ins15_0 = "000000000110000") generate
step_1 : for i in 0 to 31 generate
DFF1 : DFF_MEM port map (D=>din(i),clk=>CLK ,Q=>Q(i), reset=> Reset);
end generate step_1;
dout <= x"00000" + q;
end generate lw;
sw : if (ins15_0 = "000000000110100") generate
step_2 : for i in 0 to 31 generate
DFF2 : DFF_MEM port map (D=>rt(i),clk=>CLK ,Q=>Q(i), reset=> Reset);
end generate step_2;
dout <= rt;
end generate sw;
'사례'는 순차적 진술이고, 병렬 영역에서 사용하고 있습니다. 대신에'if ... generate'를 사용하십시오 (생성을 중첩 할 수 있습니다). –
나는 포트 맵을 사용하는 경우에 elsifs를 사용하려고했지만 "구문 분석 오류, 예기치 않은 포트, OPENPAR 또는 TICK 또는 LSQBRACK을 기다리는 중"오류가 발생합니다. – user998316
'if ... generate'에는'elsif'가 없습니다. 너 뭐하니? –