Wenn Sie Simulationen mit der ModelSim*-Intel FPGA Edition-Software auf der UniPHY DDR3 IP mit entweder dem Beispiel-Testbench oder dem <IP-_name>_sim-Fileset ausführen, kann die Simulation E-Mail-Nachrichten des Typs generieren:
Hinweis: Die Eingabefrequenz der DLL-Instanz <IP_name>_example_sim.e0.if0.dll0.dll_generiert_m.inst stimmt jetzt mit der angegebenen Taktfrequenz überein.
Warnung: Eingabefrequenzverletzung in DLL-Instanz <IP_name>_example_sim.e0.if0.dll0.dll_stoß_m.inst. Der angegebene Eingabezeitraum beträgt 2500 PS, aber tatsächlich 3750 PS
und die Simulation schließt nie die Kalibrierung ab.
Dies kann mit einigen Kombinationen des DDR3 UniPHY-Parametereditors > PHY-Einstellungen für die "Memory Clock Frequency" und "PLL Reference Clock Frequency" auftreten.
Es ist auf ein Rundungsproblem im UniPHY DDR3 IP-Testbench-Takt-Quellcode zurückzuführen.
Die Problemumgehung für das Design-Beispiel testbench lautet wie folgt:
Verilog:
In der Datei <IP_name>_example_sim.v für die pll_ref_clk Instanz von altera_avalon_clock_source in der Codezeile
CLOCK_RATE (x), wobei x ein Frequenzwert ist, ändern x die Frequenz, die als DDR3 megawiquente PHY-Einstellungen -> "PLL-Referenz-Taktfrequenz" angegeben wird
VHDL:
- Ändern Sie in den Datei-Untermodulen/altera_avalon_clock_source.vhd die Zeile:
generisch (CLOCK_RATE: Integer :=10); -- Standardrate 10 MHz (100 ns)
An:
generisch (CLOCK_RATE: real :=10,0); -- Standardrate 10 MHz (100 ns)
- Ändern Sie in der Datei <IP_name>_example.vhd:
Komponente altera_avalon_clock_source ist
generisch (
CLOCK_RATE: positiv := 10
);
Port (
clk: out std_logic -- clk
);
Endkomponente altera_avalon_clock_source;
An:
Komponente altera_avalon_clock_source ist
generisch (
CLOCK_RATE: real := 10,0
);
Port (
clk: out std_logic -- clk
);
Endkomponente altera_avalon_clock_source;
- Ändern Sie in der Datei <IP_name>_example.vhd die Eingangsfrequenz x auf den in den DDR3-Parametereditor-PHY-Einstellungen -> "PLL-Referenztaktfrequenz" angegebenen Wert. Wenn die Eingangsfrequenz beispielsweise 100 MHz beträgt, setzen Sie 100 für den Wert x.
Veränderung
pll_ref_clk: component altera_avalon_clock_source
generische Karte (
CLOCK_RATE => x
)
Port-Karte (
clk => pll_ref_clk_clk_clk -- clk.clk
);
An:
pll_ref_clk: component altera_avalon_clock_source
generische Karte (
CLOCK_RATE => "PLL-Referenztaktfrequenz"
)
Port-Karte (
clk => pll_ref_clk_clk_clk -- clk.clk
);
Dieses Problem wird ab der Quartus® II Softwareversion 12.0 behoben.