Forum: FPGA, VHDL & Co. Frage zur signal synchronisierung


von CK(user) (Gast)


Lesenswert?

Hallo
Mach es sinn interne Signale zu synchronisieren?
Externe Signale zu synchronisieren macht mehr Sinn,denke ich.
bsp:
1
      |-------------------------------------|
2
      |                                     |
3
      |  |--------|            |--------|   |
4
In1 --|->|        |-out1------>|        |   |
5
In2 --|->|        |-out2------>|        |   |                         
6
In3 --|->|--------|-out3------>|--------|   |                          
7
      |   module A           module B       |                                    
8
      |                                     |
9
      |FPGA                                 |
10
      |-------------------------------------|
11
12
process(clk)
13
begin
14
if( clk'event and clk='1') then
15
--Im Module A 
16
17
In1_d<=In1;
18
In1_d1<=In1_d;
19
out1<=In1_d1;
20
21
end if;
22
end process;

Ist es nötig dasselbe im Module B zu tun ?
CK.

von zero_gravity (Gast)


Lesenswert?

deine signale sind ja schon synchron zu deinem clock.
brauchst du also eigentlich nicht nochmal synchronisieren,
es sei denn, du brauchst nochmal ein dely oder macht
sowas wie pipelining... ^^

greetz
zero

von Christian R. (supachris)


Lesenswert?

Wenn der Takt im Modul A der gleiche ist wie der in Modul B, dann musst 
du das nicht machen. Für Modul A reicht das oben aber auch nicht ganz 
aus, wenn es wirklich richtig asynchrone Eingänge sind. Da muss 
mindestens noch ein 2. FlipFlop in die Kette. 
http://www.lothar-miller.de/s9y/categories/35-Einsynchronisieren

von CK(user) (Gast)


Lesenswert?

Danke für die Antworten.

Christian R. schrieb:
> Da muss
> mindestens noch ein 2. FlipFlop in die Kette.

benutze sogar 3 FFs .

CK.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

CK(user) schrieb:
> benutze sogar 3 FFs .
Warum? Sicher ist sicher?
Wenn gar keins gar nichts ist, eins zu wenig ist, und zwei ausreichend 
sind, dann funktionierts mit dreien garantiert immer... ;-)

Christian R. schrieb:
> Für Modul A reicht das oben aber auch nicht ganz aus, wenn es wirklich
> richtig asynchrone Eingänge sind.
Wobei dieses Blatt 2 Seiten hat: für moderate Taktfrequenzen bis 100MHz 
reicht sicher 1 Flipflop aus, von dem dann die FSM synchron versorgt 
werden. Erst ab 300MHz (eher mehr) spielt Metastabilität wirklich eine 
Rolle. Denn heutige Flipflops bleiben nicht 10ns im undefinierten 
Zustand "kleben", die entscheiden sich recht schnell, ob sie jetzt '1' 
oder '0' sind...

Die Laufzeitgeschichte (ganz ohne Sync-FF) hier:
http://www.lothar-miller.de/s9y/archives/64-State-Machine-mit-asynchronem-Eingang.html
die kann allerdings schon bei einer einzigen Taktflanke schiefgehen... 
:-o

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.