Forum: FPGA, VHDL & Co. Optimierung verhindern


von Andreas Kratzsch (Gast)


Lesenswert?

Hallo,

wie kann ich in VHDL die Optimierung von bestimmten Gattern
oder FF's verhindern oder eine definierte Verzögerung erreichen ?

Die Verzögerung sollte nur wenige ns betragen
und natürlich viel kürzer sein als das clock Signal.

Es geht mir nicht um die Simulation mit "signal <= '1' after 10ns"
sondern um die reale Synthetisierung im CPLD oder FPGA.

Mit den alten Logik IC's konnte man ein paar Gatter hintereinander
schalten und hatte so ganz einfach eine Verzögerung von ein
paar Nano Sekunden.

Ich möchte mit einigen Gattern oder FF's eine definierte Verzögerung
des Signals erreichen.
Dazu möchte ich z.Bsp. ein paar Buffer oder Inverter hintereinander
schalten.
Leider funktioniert es nicht, vermutlich weil
die scheinbar überflüssigen Teile wegoptimiert werden.

Wenn es in VHDL nicht geht, wäre es als Schematic möglich ?

Andreas

von Neutron (Gast)


Lesenswert?

Das geht natürlich. Allerdings musst du in das Handbuch deines
Synthese-Tools kucken und die entsprechenden Parameter finden. Die
kannst du dann in deinen VHDL-Code einfügen.

von Andreas Kratzsch (Gast)


Lesenswert?

Hallo,

danke für den Tip !

Das Xilinx WebPack 7.1 Constraint dafür heißt:

  attribute NOREDUCE : string;

  signal tmp1_sig : std_logic := '0';

  attribute NOREDUCE of tmp1_sig : signal is "true";

In der Xilinx Doku vom XST ist der Typ des Attributes boolean,
es muß aber string sein.

Jetzt funktioniert es so wie ich es mir vorgestellt habe.

Andreas

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
Noch kein Account? Hier anmelden.