www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Sensitivity list: Simulation vs. Synthesis


Important 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: F. D. (floriade)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,

ich habe ein Frage zur sensitivity list eines Prozesses: In der Theorie 
wird der Prozess neu ausgeführt, sobald sich ein Signal in der 
sensitivity Liste (SL) ändert.

Sobald ich ein Signal innerhalb meines Prozesses lese, welches nicht in 
der SL vorkommt, kriege ich vom Synthesizer eine Warnung. Diese Warnung 
muss ja nichts schlechtes bedeuten, da ich möglicherweise genau dieses 
Verhalten will? Bspw: D-FF mit sync reset

Meine Frage ist nun wie verhält es sich von der Simulation zur Synthese. 
Ich habe gelesen, dass bei einer 'fehlerhaften' SL das Verhalten von 
Simulation und der synthetisierten Schaltung abweicht. Dies wäre ganz 
schlecht, da die Simulation dann total sinnlos wäre? Werden während der 
Synthese fehlende Signale zur SL hinzugefühgt? Hängt es vom Synthesetool 
ab?

Weiss das jemand genauer?

Grüsse,

Florian

Autor: Christian R. (supachris)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Für die Synthese ist die Sensitivitätsliste völlig_irrelevant! Die hat 
nur für die Simulation was zu sagen. Da wird einfach der Prozess nur 
dann neu berechnet, wenn sich an den Signalen was ändert, die in der 
Liste sind. Daher können die Ergebnisse abweichen. Und daher sollte die 
Liste dringend immer vollständig sein. Die Synthese warnt dich nur, dass 
eventuell deine Simulation dann falsch ist und nicht zur Hardware passt.

Autor: Alexander F. (alexf91)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
F. D. schrieb:
> Bspw: D-FF mit sync reset
process begin
    wait until rising_edge(clk);
    if sync_reset = '1' then
        q <= '0';
    else
        q <= d;
    end if;
end process;

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite Flattr this
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
F. D. schrieb:
> ich habe ein Frage zur sensitivity list eines Prozesses: In der Theorie
> wird der Prozess neu ausgeführt, sobald sich ein Signal in der
> sensitivity Liste (SL) ändert.
Der Blickwinkel ist falsch!
Ein Prozess wird nicht ausgeführt und er kann sich auch nicht selber 
ausführen. Es ist einfach so, dass der Simulator den Prozess neu 
berechnen muss, wenn sich eines der Signale in der Sensitivliste ändert.

> Weiss das jemand genauer?
Such mal hier im Forum, die Frage kommt immer wieder mal...
Mit http://www.mikrocontroller.net/search?query=sensit...
hättest du z.B. den Beitrag "Re: Sensitivity list wird ignoriert" 
gefunden.

> Sobald ich ein Signal innerhalb meines Prozesses lese, welches nicht in
> der SL vorkommt, kriege ich vom Synthesizer eine Warnung.
> Verhalten will? Bspw: D-FF mit sync reset
Hast du da mal ein Beispiel? Mich würde wundern, wenn in einem komplett 
getakteten Prozess ein beliebiges Signal (nicht der Takt) als fehlend 
angemeckert würde...

Die narrensichere Methode hat Alexander schon gepostet:
http://www.lothar-miller.de/s9y/archives/16-Takt-i...

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




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net