mehrere Reset's in einer FSM

Gast #835481
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 => …
Gast #835604
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
Gast #835648
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren