FIFO를 생성할 때 MegaWizard 페이지 7에서 완전히 동기화된 RAM이 있는 장치의 출력 레지스터 옵션에서 예(최고 속도)를 선택하면 ModelSim 소프트웨어가 컴파일 경고를 발행합니다.
Quartus II 소프트웨어 버전 4.0으로 이 경고 메시지를 피하려면 MegaWizard 생성 파일에서 maximize_speed 및 optimize_for_speed 매개변수/제네릭을 설명합니다. 또한 SCFIFO 인스턴스에 대한 lpm_widthu 값을 만들고 정의합니다.
다음은 VHDL MegaWizard 생성 출력 파일 내부의 수정된 코드 예입니다.
COMPONENT scfifo
GENERIC
(
ALLOW_RWCYCLE_WHEN_FULL: STRING := "OFF";
ALMOST_EMPTY_VALUE: NATURAL := 0;
ALMOST_FULL_VALUE: NATURAL := 0;
LPM_NUMWORDS: NATURAL;
LPM_SHOWAHEAD: STRING := "OFF";
lpm_width: NATURAL;
lpm_widthu: NATURAL; -- Altera edit
--MAXIMIZE_SPEED: NATURAL := 5; -- Altera edit
--OPTIMIZE_FOR_SPEED: NATURAL := 5; -- Altera edit
OVERFLOW_CHECKING: STRING := "ON";
UNDERFLOW_CHECKING: STRING := "ON";
USE_EAB: STRING := "ON";
lpm_type: STRING := "scfifo"
);
and
scfifo14 : scfifo
GENERIC MAP (
LPM_NUMWORDS => 3,
LPM_SHOWAHEAD => "OFF",
lpm_width => 32,
lpm_widthu => 2, -- Altera edit
OVERFLOW_CHECKING => "ON",
UNDERFLOW_CHECKING => "ON",
USE_EAB => "OFF)
이 문제는 Quartus II 소프트웨어 버전 4.0 SP1에서 해결되었습니다.