asynchrone Kombinatorik am Ausgang

#1079267
Lesenswert?

Gibt es eine Richtlinie, bis wieviel Logik man vor einem Ausgang noch 
dulden kann, ohne ihn zu registrieren?

Ich muss eine Coprozessorfunktion realisieren und habe inzwsichen 
zuviele Stufen, dass ich nicht mehr genug pipelinen kann, daher muss ich 
aus einigen Flipflops per multiplexer direkt auf die Ausgänge, die auf 
den Bus gehen.

In einer ersten Messung sehe ich auf den Leitungen einige spikes, die 
wieder EMV-problematisch werden können. Wie kriege ich das in den Griff?
#1079273
Lesenswert?

Was ist ein Ausgang für dich? Ausgang aus dem FPGA, Ausgang aus einer 
Entity...

Generell müssen an zeitkritischen (also keine LED o.ä.) Ausgängen des 
FPGA Flipflops liegen. Die Zeit von interner Logik bis zum pad kann ohne 
Flipflop extrem groß werden und von Anschluss zu Anschluss und 
Syntheselauf zu Syntheselauf stark variieren.

Bei internen Ports einer Entity kann im Prinzip beliebig viel 
unregistrierte Logik liegen - Man muss nur damit rechnen, dass das 
Design dadurch unter Umständen zu langsam werden kann. Darüber muss man 
sich aber in der Regel keine Gedanken machen, solange die Synthese keine 
timing-Probleme anzeigt.
#1079292
Lesenswert?

ja, das prinzip ist mir schon klar, aber ich habe nur 3 clocks zeit, bis 
der Prozessor, den Wert abholen will und ich kann nicht 3 FFs einsetzen. 
Die Rechenpipeline ist nicht weiter balancierbar und recht symmetrisch, 
kann also nicht schneller werden.

Ich hole mir je nach pipeline Zustand ein Ergebis aus FFs und lege es 
direkt auf die Ausgänge. Die Frage ist jetzt, wie schwerwiegend noch der 
Multiplexer wiegt. Es ist ein 4 auf 1 MUX mit 32 Bit - keine Ahnung, wie 
tief der ist.

Wie kriege ich die Synthese dazu, die relevanten FFs möglichst nahe an 
den Ausgang zu bekommen?
#1079365
Lesenswert?

Du kannst die Ausgänge genauso mit einem Constraint belegen wie die 
internen Pfade, suche nach OFFSET OUT (Xilinx) constraints.
Damit kann dir das Tool die Schaltung genauso erzeugen, dass die 
Durchlaufzeiten am Pin passen (falls möglich).
Bei kombinatorischen Signalen ist es natürlich deine Aufgabe dafür zu 
sorgen, dass die externe Schaltung mit den eventuellen auftretenden 
Spikes zurecht kommt.
Gast #1079443
Lesenswert?

>>wie schwerwiegend noch der Multiplexer wiegt.  Es ist ein
>4 auf 1 MUX mit 32 Bit - keine Ahnung, wie tief der ist.

1 LUT tief, oder? Sind doch - je Datenbit - nur 2 Steuerbits und das 
Signal, wenn ich mich nicht täusche.

>Bei kombinatorischen Signalen
Gibt es da überhaupt spikes, bei so kurzen Schaltungen am Ausgang?
Moderator (Firma: Titel) Persönliche Seite #1079452
Lesenswert?

>> 4 auf 1 MUX mit 32 Bit - keine Ahnung, wie tief der ist.
> 1 LUT tief, oder?
Ein 4:1 Mux hat 6 Eingänge: 4xDaten und 2xSelect.
Eine LUT hat 4 Eingänge und 1 Ausgang, deshalb müssen es mindestens 2 
LUTS sein (bis Spartan3 + Virtex4).
Ab Virtex5 wirds dann besser: eine LUT hat 6 Eingänge.

> Gibt es da überhaupt spikes, bei so kurzen Schaltungen am Ausgang?
Natürlich, die Frage ist nur, ob sie sich auswirken bzw. überhaupt 
messbar sind.
#1079589
Lesenswert?

Meiner Meinung nach soll man nicht mit LUT Tiefen rechnen, bzw. sich 
darauf verlassen. Morgen geht jemand her, erweitert den Multiplexer um 1 
Signal, und schon passt's nicht mehr, weil sich niemand darauf erinnert 
was man damals überlegt hat.
Außerdem soll man den Tools schon die Freiheit lassen, es nach ihrer 
Weise optimal zu implementieren.
Der einzig richtige Weg sind timing constraints, und KEINE 
kombinatorischen Signale wenn man am Ausgang sicher keine Glitches haben 
will.
Gast #1080131
Lesenswert?

Naja, in diese "Laufzeiten" sind aber allemöglichen Toleranzen unter 
allen Bedingungen angegeben. Praktisch werden aber Signale eines selben 
Beuteils auf derselben Temperatur nicht so stark divergieren.
#1080284
Lesenswert?

Ich kriege die Kombinatorik nicht schneller. Ich treibe über den Bus (B) 
3 Stufen Kombinatorik (K) und kann kein FF rausnehmen, weil es sonst mit 
dem Datendurchsatz nicht hinhaut:

B - K1 - FF - KK2 - FF - KK3 - B

Ich werde meinem Chef wohl sagen müssen, dass wir mit der Frequenz 
runter müssen.

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