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


von Fragender (Gast)


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?
1
--NS (next State), CS (corrent State)
2
RESET: process (clk2, reset_i)
3
begin
4
   if (reset_i = '1') then
5
      CS <= S1;
6
   elsif (clk2 = '1' and clk2'event) then
7
      CS <= NS;
8
   end if;
9
end process RESET;
10
11
COMB_PROC: process (CS, )
12
begin
13
   case CS is
14
      when S1 => 

von guest (Gast)


Lesenswert?

1
--NS (next State), CS (corrent State)
2
RESET: process (clk2, reset_i)
3
begin
4
   if (reset_i = '1') then
5
      CS <= S1;
6
   elsif (clk2 = '1' and clk2'event) then
7
      CS <= NS;
8
   end if;
9
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

von Fragender (Gast)


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.

von Rick Dangerus (Gast)


Lesenswert?

Suchst Du eventuell das Stichwort "oversampling"?

Rick

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.