"Überflüssiges" synthetisieren

Gast #1178121
Lesenswert?

Hallo,

ich möchte ein xor Gatter basten, das 4 Eingänge hat. 2 Normale und 2 
mal das invertierte davon.
Das Problem ist nun, dass bei der Synthese die Nets für die negierten 
rausgeschmissen werdenm, weil ja keine zusätzliche Information geliefert 
wird.
Um ein möglichst homogenes Verhalten beim Leistungsverbrauch zu bekommen 
brauche ich aber die invertierten Leitungen.

Ach ja, ich benutze Xilinx ISE 8.02i und das ganze soll vermutlich mal 
auf einen Spartan 3E.

Gruß,
Fire
Gast #1178233
Lesenswert?

Hi,

erstmal Danke für die Antwort.

Aber leider verwende ich den XST Synthesizer aus der ISE Suite.

Ich hab auch schon mal versucht das attribut KEEP bzw. NOREDUCE zu 
verwenden.
Hatte leider keinerlei Erfolg dabei :/

Ich hab das Attribut zuerst definiert und anschließend dem signal 
(übrigens ein vektor) zugewiesen. XST hat das ganz einfach ignoriert. 
Die Syntax war wohl richtig.

Gruß,
Fire
Moderator (Firma: Titel) Persönliche Seite #1178301
Lesenswert?

> Die Syntax war wohl richtig.
Evtl. war sie nicht falsch.
Aber wenn sie richtig gewesen wäre, dann hätte das funktioniert ;-)

Sieh mal in den Beitrag "Re: Selbstlaufende Clock im FPGA"
Und in den Link vom Beitrag "Re: Selbstlaufende Clock im FPGA"
Dort werden Laufzeiten von LUTs zweckentfremdet. Die dürfen auch nicht 
wegoptimiert werden.
Gast #1180455
Lesenswert?

Hallo,

also ich verwende das Attribut wie im Beispiel Ringoszi.

Die unterschiedlichen Schreibweisen von true hab ich auch schon 
ausprobiert.

Ich hab auch schon versucht aus den Bitvektoren Einzelbits zu machen. 
Das hat aber auch nichts gebracht :(
Im Synthesereport taucht auch folgende Zeile für jedes betroffene Signal 
auf:
 Set user-defined property "KEEP =  TRUE" for signal <a1>.

Und später im Report taucht dann noch einmal folgendes auf:
INFO:Xst:2386 - HDL ADVISOR - The KEEP property attached to signal a1 
may hinder XST clustering optimizations.

Sieht doch eingentlich nicht so schlecht aus. Trotzdem "killt" er die 
invertierten Signale.
Gast #1204213
Lesenswert?

Sorry dass ich mich so lange nicht gemeldet hab.

Also ich überlagere den XOR Operator mit einem Case für 4 inputs (alle 
Fälle werden von Hand ausgefüllt). 2 der inputs sind das Inverse von den 
beiden anderen inputs. Das überladen XOR hat dann auch 2 Outputs, einen 
normalen und den invertierten.
Anschließend instanziere ich einfach über generate nach dem schema:

A(3 downto 0) <= b(1 downto 0) XOR b(3 downto 2);

XST schmeißt dann immer die invertierten signale raus, die sollen aber 
unbedingt drin bleiben, denn es soll ein homogener(er) Stromverbrauch 
beim umladen/umschalten realisiert werden.

Die Einstellungen von XST hab ich auch schon mal durchgesehen aber 
sowohl "KEEP Hierarchie" als auch "Safe implementation" bringen nichts.
Wenn ich die ROM Extraction deaktivier bleiben immerhin die Gatter 
erhalten, die "überflüssigen" Leitungen verschwinden trotzdem.

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