mikrocontroller.net

Forum: FPGA, VHDL & Co. Simulation im ModelSim läuft langsam!


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Yann B. (yann)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe eine PLL (IP Core) in dem VGA-Controller meines Projektes 
eingebaut, um die 25,175 MHz Pixelfrequenz aus der 50 MHz 
Referenzfrequenz zu erzeugen. Allerdings läuft die Simulation im 
ModelSim langsammer als vorher (mit abgeleitetem Clock statt PLL IP 
Core) und ich kriege eine Warnung über die eingefügte PLL-Komponente 
(siehe Anhang modelSim_Warnung.png).

1) Was sagt diese Warnung überhaupt aus? Ich habe keine "locked Output", 
während der Konfiguration der PLL gewählt.
2) Könnte es an der Konfiguration(Anhang pll_cfg.png) der PLL liegen? 
Wenn ja, wie sollte ich am besten die PLL im MegaWizard konfigurieren?
3) Liegt es aber daran, dass die PLL innerhalb des VGA-Controller 
eingebaut habe statt in der Top-Level Datei?

Ich nutze Quartus Prime Lite 18.1 mit dem DE2-115 Board.

Ich freue mich auf eure Hilfe.

Autor: Dunst Emulator (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yann B. schrieb:
> 1) Was sagt diese Warnung überhaupt aus? Ich habe keine "locked Output",
> während der Konfiguration der PLL gewählt.

schlag mal nach wofür das L in PLL steht und was ein Phasenregelkreis 
überhaupt tut ... 
https://www.analog-praxis.de/pll-grundlagen-was-sie-ueber-phasenregelung-wissen-muessen-a-749979/

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Quelle für die simulierte PLL kannst Du dir in 
quartus/eda/sim_lib/altera_mf.vhd im Quartus-Installationsverzeichnis 
anschauen.

Beim Betrachten wird dir dann sicherlich aufgehen, warum die Simulation 
dieser Komponente nicht besonders flott läuft...

Autor: FPGA zum Spass (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus diesem Grund simulierte ich PLLs nie mit, sondern kompiliere für die 
Simulation eine seperate Datei die den gleichen Takt simpel erzeugt.

Beispiel:
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY pll_vga IS
   PORT
   (
      inclk0      : IN STD_LOGIC  := '0';
      c0          : OUT STD_LOGIC
   );
END pll_vga;

ARCHITECTURE arch OF pll_vga IS
   signal c0_buf      : STD_LOGIC := '1';
BEGIN
   c0_buf <= not c0_buf after 4630 ps;
   c0 <= c0_buf;
END arch;

Wenn du dringend die Totzeit am Anfang brauchst lässt die sich auch noch 
leicht machen.

Autor: Elbi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FPGA zum Spass schrieb im Beitrag #5949344:
> Aus diesem Grund simulierte ich PLLs nie mit, s

Ich frage mich auch ernsthaft was man bei denen simulieren soll, deren 
Verhalten ist ja nicht wirklich intuitiv.

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Elbi schrieb:
> FPGA zum Spass schrieb im Beitrag #5949344:
>> Aus diesem Grund simulierte ich PLLs nie mit, s
>
> Ich frage mich auch ernsthaft was man bei denen simulieren soll,

Wenn Du z.B. einem Problem bei der PLL-Rekonfiguration auf die Spur 
kommen willst, wird dir wohl nichts anderes übrig bleiben.

Autor: FPGA zum Spass (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, wenn man tatsächlich solche Funktionen nutzt und damit Probleme hat 
lohnt sich das schon.

Wie zur Inbetriebnahme von RAMs, High Speed Links, PCIe usw.

Sobald es funktioniert nimmt man das Modul aus der Simulation raus und 
ersetzt es mit einem schnellem Modell, gerne per Config.

Autor: Burkhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FPGA zum Spass schrieb im Beitrag #5950740:
> ersetzt es mit einem schnellem Modell

Xilinx hat "library unifast"*, evtl. bietet Altera etwas Vergleichbares?

*https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_1/ug900-vivado-logic-simulation.pdf. 
Seite 26.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.