mikrocontroller.net

Forum: FPGA, VHDL & Co. mehrere Reset's in einer FSM


Autor: Fragender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
könnte einer von Euch mir evtl. ein Denkanstoß geben, wie ich folgendes 
Problem am Besten löse?
Ich hab ein FSM mit einen globalen Reset der zurzeit auf den Takt (CLK, 
steigende Flanke) hört. Bloß dummerweise benötige ich zusätzlich noch 
einen zweiten Takt inklusive der fallenden sowie steigenden Flanke, um 
schnell genug zu sein.
Wie realisiere ich es am Besten, die Takte einzubauen und gleichzeitig 
noch ein globales Reset-Signal zu haben oder sollte ich dann doch lieber 
die Finger von der FSM lassen, da es einfach nur zuviel overhead sein 
würde?
--NS (next State), CS (corrent State)
RESET: process (clk2, reset_i)
begin
   if (reset_i = '1') then
      CS <= S1;
   elsif (clk2 = '1' and clk2'event) then
      CS <= NS;
   end if;
end process RESET;

COMB_PROC: process (CS, )
begin
   case CS is
      when S1 => 

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
--NS (next State), CS (corrent State)
RESET: process (clk2, reset_i)
begin
   if (reset_i = '1') then
      CS <= S1;
   elsif (clk2 = '1' and clk2'event) then
      CS <= NS;
   end if;
end process RESET;



> Ich hab ein FSM mit einen globalen Reset der zurzeit auf den Takt (CLK,
> steigende Flanke) hört.

?
Das ist ein asynchroner Reset der hört auf keinen Takt.


> Bloß dummerweise benötige ich zusätzlich noch
> einen zweiten Takt inklusive der fallenden sowie steigenden Flanke, um
> schnell genug zu sein.

?
Schnell genug für was?


> Wie realisiere ich es am Besten, die Takte einzubauen und gleichzeitig
> noch ein globales Reset-Signal zu haben oder sollte ich dann doch lieber
> die Finger von der FSM lassen, da es einfach nur zuviel overhead sein
> würde?

?
Sag doch einfach mal was das ganze werden soll.

Gruß

Ralf

Autor: Fragender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das ist ein asynchroner Reset der hört auf keinen Takt.
Jo sry, der Reset ist asynchron nur die Übernahme des State ist 
synchron.

>Schnell genug für was?
Das soll ein Interface werden für eine AMBA-Bus (AHB) Anbindung. Den 
zweiten Takt benötige ich um rechtzeitig auswerten zu können, ob ich 
angesprochen werde, daraufhin die Daten zu übernehmen, zu speichern und 
gegebenenfalls bei der nächsten Taktflanke (steigend) neue Werte 
einzulesen.

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Suchst Du eventuell das Stichwort "oversampling"?

Rick

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.