constraints

Gast #556220
Lesenswert?

hallo,
ich beschäftige mich seit kurzem mit programmierung von fpgas mit vhdl.
kleinere erfolge hatte ich schon... counter, freuquenzteiler, blinklicht 
usw :)

ich möchte mehrere clb blöcke verbinden um ein delay uz erzeugen bzw um 
überhaupt constraints zu setzen.

in vhdl geht das so oder?

attribute rloc: string;
attribute rloc {signalname} : signal is "SLICEXmYn";

wie kann ich jetzt aber dieses signal weiter mit einem anderem clb 
verbinden?

lg
#556316
Lesenswert?

nein, das was dieses attribute macht, ist eine relative platzierung in 
einem set (das man zuerst auch via constraint erzeugen muss). mit delays 
hat das nichts zu tun und ein signal erzeugt es schon überhaupt gar 
nicht.
delays entstehen in einem fpga nur durch runtimes, das lässt sich aber 
so gut wie gar nicht steuern (und schon gar nicht als sauber 
funktionierende lösung). sowas macht man in der regel mit einem counter.
Gast #560512
Lesenswert?

Wenn du eine Verzögerung brauchst, dann kannst du z.B. Inverter einfügen 
und der Synthese sagen, dass dieser Inverter nicht wegoptimiert werden 
dürfen.
Somit kannst du einigermassen gezielte Verzögerungen "einbauen".

@ Michael Niegl:
Kann z.B. sinnvoll sein, um einen breiten Datenbus an den Ports z.B. 
Nibbleweise, leicht zeitversetzt, zu schalten.
Damit lassen sich große Stromspitzen zu vermeiden, wenn sich viele Bits 
ändern. (Verbesserung der EMV oder Vermeidung von Ground-Bounce)
Gast #562252
Lesenswert?

ja hab inverter eingebaut zwecks delay. die synthese ist geschafft. hab 
es noch hingekriegt, dass diese nicht wegoptimiert werden. auch nach dem 
place und route sind sie dank constraints noch vorhanden. meine delay 
ist aber noch zu klein. ich versuche im moment location constraints 
anzuwenden und meine inverter weit weg zu platzieren um mein delay zu 
vergrößern.
geht das überhaupt für einfache logiken wie inverter? habt ihr ein paar 
tips für mich wie ich das hinbekommen könnte?
Gast #564176
Lesenswert?

Na, wenn du es noch langsamer brauchst, warum machst dann nicht noch ein 
paar mehr Inverter dazu, statt dich mit der location rumzuquälen?
Und wenn du ne richtig große Verzögerung brauchst, dann schieb doch das 
Signal durch ein oder mehrere FF. Dann hast jeweils einen Takt 
Verzögerung.

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