Steigende und fallende Flanke der Clock verwenden

#547892
Lesenswert?

Hallo,

kann ich in 2 verschiedenen Prozessen auf die steigende
bzw. die fallende Flanke eines Clock-Signals takten?
Oder ist es besser, nur mit steigender zu arbeiten und
ein zweites Signal mit NOT zu erzeugen,
auf welches man dann mit steigender Flanke taktet?
Was ist die FPGA-freundlichste Möglichkeit?
#547910
Lesenswert?

@ Christian Peters

>kann ich in 2 verschiedenen Prozessen auf die steigende
>bzw. die fallende Flanke eines Clock-Signals takten?

Ja.

>Oder ist es besser, nur mit steigender zu arbeiten und
>ein zweites Signal mit NOT zu erzeugen,
>auf welches man dann mit steigender Flanke taktet?

Nein.

>Was ist die FPGA-freundlichste Möglichkeit?

Kommt am Ende das gleiche raus.

MfG
Falk



Gast #547966
Lesenswert?

FPGA: keine Erfahrung

ein NOT (inverter): Laufzeit beachten (?)
Je nach Takt ist ein NOT ggf. zu schnell
=> mehrere NOTs oder ANDs in Reihe - wegen timing.

das kann bei einigen MHz schon interessant sein:
Größe der gesamtschaltung + taktfreq. korrelieren.
#548018
Lesenswert?

@ Christian

>FPGA: keine Erfahrung

Warum schreibst du dann hier?

>ein NOT (inverter): Laufzeit beachten (?)
>Je nach Takt ist ein NOT ggf. zu schnell

Zu schnell?

>=> mehrere NOTs oder ANDs in Reihe - wegen timing.

???

>das kann bei einigen MHz schon interessant sein:
>Größe der gesamtschaltung + taktfreq. korrelieren.

Bin verwirrt.

Zum Problem der "Taktinvertierung". Das ist bei allen gängigen FPGAs 
Gottseidank problemlos, denn das Inverieren der Taktpolarität erfolgt 
direkt in der Macrozelle/CLB/LE. Da wird kein NOT dazwischengeschleift. 
Somit ist auch das Timing dort sauber. Darauf bezog isch auch meine 
Aussage "Kommt am Ende das gleiche raus". Die Synthesetools erkennen die 
Invertierung des Taktes und generieren die richtige Logik ohne 
NOT-Gatter in der Taktleitung.

MfG
Falk

#548481
Lesenswert?

@ Christian Peters

>Und ist das insgesamt ok, sowas zu machen?

Im Prinzip schon. Aber die meiste Logik läuft mit einer Taktflanke. 
"Schlaue Leute" benutzen manchmal beide Flanken weil sie glauben dann 
die Logik "sicher" zu machen, falls mal ein paar FlipFlop "zu langsam" 
sind etc. Praktisch heisst das aber, dass die maximal erreichbare 
Taktreqeunz halbiert wird, weil Datenpfade von der einen zur nachsten 
Flanke nur noch die halbe Zeit haben. Und das gilt auch nur bei einem 
Tastverhältnis des Taktes von 50%, reals kann das aber schonmal weniger 
sein (typ. 40%..60%).

>Oder ist das irgendwie unsauber und sollte anders
>gelöst werden?

Was willst du denn damit machen? Es gibt sinvolle Anwendungen dafür, 
z.B. DDR-RAM.

MFG
Falk

#548497
Lesenswert?

Es geht einfach um die Kommunikation mit
anderer Hardware, z.B. bei einem Codec ist
es halt günstig, beim Schreiben die Daten bei fallender
Flanke zu ändern und bei steigender Flanke zu lesen.
So in die Richtung geht das, und zwar bei Frequenzen
so um max. 40-60 MHz (also Clock).
#548518
Lesenswert?

@ Christian Peters

>es halt günstig, beim Schreiben die Daten bei fallender
>Flanke zu ändern und bei steigender Flanke zu lesen.
>So in die Richtung geht das, und zwar bei Frequenzen
>so um max. 40-60 MHz (also Clock).

Das passt schon. Wobei man sinnvollerweise im FPGA mit nur einer 
Taktflanke arbeitet und nur für die Ein-oder Ausgabe ein FlipFlop am 
IO-Pin auf der anderen Taktflanke einfügt.

MfG
Falk

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