mikrocontroller.net

Forum: FPGA, VHDL & Co. constraints


Autor: frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael Niegl (bigmike47)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt es denn eine möglichkeit ein signal in den clb blöcken so 
umzuleiten, dass ein delay erzeugt wird?

Autor: Michael Niegl (bigmike47)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nicht wirklich. man kann zwar das routing selbst per FPGA Editor 
bestimmen, aber was soll das? Kein Mensch erzeugt ein Delay in einem 
FPGA/CPLD so. Meiner Meinung nach eine vollkommen schwachsinnige Idee.

Autor: frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann man das routing schon im vhdl code beeinflussen mit einer attribute 
anweisung?

Autor: Michael Niegl (bigmike47)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja in dem man die locations entweder per attributes oder im ucf-file 
festlegst. aber das macht nur in absoluten ausnahmefällen sinn, im 
normalfall sind die place&route tools um einiges bessere darin als man 
selbst.

was ist denn eigentlich sinn und zweck dieser ganzen delay-sache?

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.