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?
@ 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
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.
@ 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
Und ist das insgesamt ok, sowas zu machen? Oder ist das irgendwie unsauber und sollte anders gelöst werden?
@ 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
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).
@ 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.