physikalische Realisation des falling_edge Konstrukts

Gast #2685330
In VHDL kann man bekanntlich auch auf die fallende Flanke eines Signals 
triggern - in der Simulation sowieso und auch in der Synthese geht es. 
Meine Frage dazu ist, wie das physikalisch realisiert wird?

Ich denke nicht, dass die flankengesteuerten FFs zwei Eingänge haben 
oder überall DDR-Zellen herumliegen. Eher schon kann ich mir vorstellen, 
dass Clock-Regionen partiell mit einem invertierten Takt versorgt werden 
und die dann invertiert funktionieren.

Die sich anschliessende Frage ist, ob ein solches Design überhaupt 
zweckmässig ist und ob man nicht gleich auf der doppelten Frequenz 
arbeitet. Da Taktnetze aber auch ohne grosse FF-Belastung schon ziemlich 
Strom ziehen, kann ich mir vorstellen, dass man strommässig hierbei 
schlechter fährt - während es für das design und die Synthese einfacher 
werden sollte.

Mal generell gesprochen sollte es für sowas ja wenige Anwendungen geben, 
für die es dann wiederum erlaubt sein könnte, einen kleinen Teil des 
Design zu auf falling zu bauen.

Beim Schreiben fällt mir jetzt gerade ein, dass ich früher mal gelernt 
habe, dass die CLK-Verdrahtung baumartig gespreizt erfolgt und alle 
halbe Nase lang eine Taktauffrischung erfolgen muss. Der Takttreiber 
würde ja im einfachsten Fall invertieren. Damit läge dann der negierte 
Takt doch überall rum. (?)
Moderator (Firma: Titel) Persönliche Seite #2685407
Oli schrieb:
> Meine Frage dazu ist, wie das physikalisch realisiert wird?
Man muss nur den Takt invertieren. Ein Inverter mit passendem 
Multiplexer könnte das, oder ein XOR, oder eine trickreiche interne 
Beschaltung des Flipflops. Du wirst den exakten Aufbau, die genauen 
Hintergründe, Spartricks und Optimierungen (ein Transistor weniger pro 
FF sind ein paar tausend Transistoren pro FPGA) nicht so ohne weiteres 
erfahren...

> Die sich anschliessende Frage ist, ob ein solches Design überhaupt
> zweckmässig ist und ob man nicht gleich auf der doppelten Frequenz
> arbeitet.
Den Schuh tut sich keiner an! Denn wenn es so wäre, dann könnte ich mir 
noch einige bisher nicht realisierbare Schaltungstricks vorstellen, oder 
das gesamte Design gleich doppelt so schnell takten...
Gast #2685530
Georg A. schrieb:
> Nicht sehen, lesen ;)
>
> zB. Xilinx Spartan3E beim SLICEM-Bildchen:
>
> "Options to invert signal polarity as well as other options that enable
> lines for various functions are not shown."

Hallo Georg,

eine Eigenart des Spartan3 (ich weiss jetzt nicht inwieweit das ach auf 
den 3E trifft, war dass er nicht wie andere Familien neben statische "0" 
auch "1" bereitstellte.

Das hatte dann zur Folge das Du in Spartan3 Designs ein "1" Netz mit 
einem riesigen Fanout vorfindest, welches die ISE Synthese nutzt um ale 
SLICE / BRAM und DSP Sliceanschlüsse versorgt welche mit einem logischen 
"1" Pegel versorgt werden wollen.

Ich habe in keinem Fall gesehen, dass ISE dann die Eingangspolarität 
selbst umgedreht hätte um eben nicht dieses unsägliche "1" Netz 
anzuschliessen, sondern das an fast allen Stellen verfügbare "0" Netz.

Lange Rede kurzer Sinn, die Polarity Optionen mögen da sein, ob die 
Synthesetools dies von sich aus nutzen steht auf einem ganz anderen 
Blatt...
Gast #2685544
Oli schrieb:
> Die sich anschliessende Frage ist, ob ein solches Design überhaupt
> zweckmässig ist und ob man nicht gleich auf der doppelten Frequenz
> arbeitet.

Doppelte Taktfrequenz bedeutet aber auch, dass Du deinem Synthesetool da 
Leben deutlich erschwerst oder gar unmögklich machst, da sich die 
durchlaufzeiten durch Slices, Multiplexer und Verdrahtung konstant 
bleiben...
Gast #2685682
Vanilla schrieb:
> Doppelte Taktfrequenz bedeutet aber auch, dass Du deinem Synthesetool da
> Leben deutlich erschwerst
tut man das nicht auch schon dadurch, dass man mit doppelten Takten 
baut? Auch dann hat man ja weniger, als die halbe Zeit.
Gast #2686050
Falls man sich anschauen möchte, wie es bei Xilinx ie gelöst wird:
Einfach das Design mit dem FPGA-Editor anschauen. Im Slice wird
z.B. beim Takt ganz am Anfang ein MUX mit Clk/!CLK als angezeigt,
das gleiche bei BRAMs und bei IOs.
Allerdings ist das auch nur eine logische Sicht, über die physikalische
Sicht wird man keine Infos finden (jedenfalls nicht von den 
Herstellern).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.