Quartus® II 소프트웨어의 문제로 인해 altera_mult_add Megafunction의 VHDL 인스턴스화를 시뮬레이션할 때 위의 오류가 나타납니다.
이 문제를 해결하려면 생성한 변형에 대한 .vhd 파일을 수정해야 합니다.
먼저, datab_0 비트 폭을 참고하십시오. 예를 들어, 다음에서는 17비트 너비의 datab_0 사용합니다.
datab_0 : std_logic_vector(16 downto 0) := (기타 => \'0\'); -- datab_0.datab_0
둘째, 위에서 찾은 폭과 일치하도록 매개변수 "width_b"을 수정합니다. 이 매개변수는 여러 곳에 나타나며 모든 발생을 수정해야 합니다.
구성 요소 altera_mult_add
일반()
number_of_multipliers : 정수 := 1;
width_a : 정수 := 16;
width_b : 정수 := 17;
: 구성 요소 altera_mult_add
일반 맵(
number_of_multipliers => 1,
width_a => 16,
width_b => 17,-- 검색 정보: 17" />
셋째, 구성 요소 선언에서 scaninb의 입력 값을 수정해야 합니다.
포트 맵(
결과 => 결과, -- 결과.결과
dataa(15 downto 0) => dataa_0(15 다운토 0), -- dataa_0.dataa_0
datab(15 downto 0) => datab_0(15 다운토 0), -- datab_0.datab_0
clock0 => 클럭0, -- clock0.clk
scaninb => "000000000000000000000", -- (종료)
이 문제는 Quartus-II 소프트웨어 버전 13.1에서 해결되었습니다.