www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Analog zum Taktnetz ein Resetnetz vorhanden??


Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mein Eval-Board hat einen Resetbutton den ich bisher auch wie 
selbstverständlich nutze. Allerdings frag ich mich jetzt wie 
sichergestellt wird, dass sämtliche FFs zur selben Zeit das Resetsignal 
erhalten.

Auf meinem Board ist ein Spartan 3AN untergebracht wobei der Resetbutton 
allerdings auf einen I/O (H4)laut Datenblatt geführt wird.
Bei den clocks hingegen steht GCLK (C10) anstatt I/O.

Das würde doch bedeuten das der Reset bei jeder Synthese nach Lust und 
Laune "irgendwie" zu den FFs geführt wird oder seh ich da was falsch??

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
richtig.
Und wenn dich das stört, dann mach den Reset abhängig von CLK, d.h. 
Flankengesteuert

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du direkt hier weiter lesen: 
Beitrag "(asynchronen) Reset vermeiden. oder nicht?"

Normalerweise braucht man den reset-Button nicht. Wozu auch? Nach dem 
Konfigurieren ist das FPGA in einem definierten Zustand und alle FF 
haben den von dir beschriebenen Init-Wert. Wenn du den weglässt, wird 
ISE den automatisch auf 0 initialisieren, falls du nix anderes 
einstellst.

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nach dem Konfigurieren ist das FPGA in einem definierten Zustand und
> alle FF haben den von dir beschriebenen Init-Wert
Ich glaube gelesen zu haben, dass es von dem Synthesewerkzeug abhängt ob 
Initwerte gesetzt werden können oder nicht? Bisher hab ich das noch 
nirgens gesehen das Initwerte gesetzt werden, oder ich hab's elegant 
überlesen.

> Normalerweise braucht man den reset-Button nicht. Wozu auch?
Seh ich auch so, wenn man das finale Design hat was läuft.


Besten Dank soweit

Autor: berndl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guest schrieb:
> Ich glaube gelesen zu haben, dass es von dem Synthesewerkzeug abhängt ob
> Initwerte gesetzt werden können oder nicht? Bisher hab ich das noch
> nirgens gesehen das Initwerte gesetzt werden, oder ich hab's elegant
> überlesen.

dann hast du aber einen reset im Design oder du hast noch nie simuliert. 
Meine Simulatoren (ModelSim und Ghdl) meckern, wenn sie auf nicht 
initialisierte Signale treffen...

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

Bewertung
0 lesenswert
nicht lesenswert
guest schrieb:
> mein Eval-Board hat einen Resetbutton den ich bisher auch wie
> selbstverständlich nutze.
Dann lies mal den Beitrag "Xilinx und die Resets"
Und das darin erwähnte WP272 von Xilinx.

Warum eigentlich wird die übliche Lehrbuchschreibweise nicht einfach 
verboten?
  process (rst,clk) begin
    if rst='1' then   --- Solche Beschreibungen gehören verboten. Oder wenigstens in den Anhang "Hardwareabhängkeiten"
      :
    elsif rising_edge(clk)
      :
    end if;
  end process;

guest schrieb:
> Ich glaube gelesen zu haben, dass es von dem Synthesewerkzeug abhängt ob
> Initwerte gesetzt werden können oder nicht?
Das stimmt.

> Bisher hab ich das noch nirgens gesehen das Initwerte gesetzt werden,
> oder ich hab's elegant überlesen.
Bitteschön: eine RS232-schnitte ohne Reset, dafür aber mit Initwerten
http://www.lothar-miller.de/s9y/categories/42-RS232

Und dann sogar sowas hier wie im 
Beitrag "Re: seltsame meldung "Input <MeasOverStromSD> is never used"!?" mit einem 
Defaultwert im Port!!

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Dann lies mal den Beitrag "Xilinx und die Resets"
> Und das darin erwähnte WP272 von Xilinx.
Ich wiederspreche ja nicht das ein Reset unnötig ist und zusätzliche 
Hardware kostet. Und einen asynchronen Reset werde ich ums verrecken 
auch nicht mehr nutzen nachdem ich mich mit externen asynchronen 
Signalen bereits überschlagen habe.

Aber es ist z.B. so das ich einen Sender und einen Empfänger habe. Den 
Empfänger resette ich damit er auf eine eingehende Seqeuenz des Senders 
sensitiv reagiert. Nachdem der Empfänger resettet wurde resette ich den 
Sender und die Nachricht wird übertragen.
Da ich dank mangelnden Einsynchronisierens mal richtige und mal falsche 
Nachrichten bekam fand ich es ganz angenehm Sender und Empfänger über 
nen Button in einen definierten Startzustand zu bringen, anstatt jedes 
mal die FPGAs neu zu konfigurieren.

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

Bewertung
0 lesenswert
nicht lesenswert
guest schrieb:
> Da ich dank mangelnden Einsynchronisierens mal richtige und mal falsche
> Nachrichten bekam fand ich es ganz angenehm Sender und Empfänger über
> nen Button in einen definierten Startzustand zu bringen, anstatt jedes
> mal die FPGAs neu zu konfigurieren.
Das ist wohl am ehesten unter dem Motto "legitime Notlösung" zu 
verbuchen. Oder erwartest du von einem späteren Anwender auch, dass er, 
wenn sein Gerät nicht funktioniert, mal auf den Resync-(Reset-)Knopf 
drückt?
Das ist ja fast wie der Lampentest bei einer SPS: drück da mal drauf und 
du kannst Wunder aus der Entwicklung erleben...

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Oder erwartest du von einem späteren Anwender auch, dass er,
> wenn sein Gerät nicht funktioniert, mal auf den Resync-(Reset-)Knopf
> drückt?

Wie ich bereits sagte, sobald ein Design funktioniert spricht ja nichts 
dagegen den Reset zu entfernen. Da der Fehler halt zufällig aufgetreten 
ist wollte ich ne Möglichkeit haben Sender und Empfänger in den 
Startzustand zu versetzen ohne jedes mal neu konfigurieren zu müssen. 
Das ganze hat also, zumindest bei mir, nix damit zu tun ein defektes 
Modul nutzen zu wollen, sondern half mir lediglich zur Fehlerfindung.

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.
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 bestätigst du, die Nutzungsbedingungen anzuerkennen.