mikrocontroller.net

Forum: FPGA, VHDL & Co. LOC Constraint Problem


Autor: Philip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

ISE 10.1
Virtex-5 LX110T

Ich habe ein Signal, das einen langen Weg zurücklegt und um das timing 
einzuhalten vier mal abgetaktet wird.
Wenn ich aber in den FPAGA Editor schaue, sehe ich dass ISE alle vier 
Register in ein Slice packt. Um das zu verhindern hatte ich vor LOC 
constraints für diese Register zu setzen.
Leider akzeptiert ISE diese nicht, sondern sagt, dass es die Signale 
nicht kennt. Ich vermute das liegt daran, dass sie in einem vorherigen 
Schritt wegoptimiert werden.

Wie schaff ich es diese Constraints zu setzen?

Gruß
Philip

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> LOC constraints für diese Register zu setzen.
Du bekämpfst die Auswirkung, nicht die Ursache.
Du willst doch nicht eine bestimmte_Platzierung,
sondern eine bestimmte_Laufzeit.

Ergo: du solltest das Timing constrainen, nicht die Platzierung.

EDIT:
> sehe ich dass ISE alle vier Register in ein Slice packt.
Das ist aus Sicht der Synthese für das Timing und die Platzierung 
optimal ;-)

Autor: Philip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versteh ich nicht.
Ein timing-constraint ist gesetzt und wird eben das verletzt.

Autor: Philip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eben das wird

Autor: Joko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn ich aber in den FPAGA Editor schaue, sehe ich dass ISE
>alle vier Register in ein Slice packt.

als FF, oder 3 FFs gepackt als SRL + 1 FF ?

a) wenn's noch 4 einzelne FFs wären, müßte PAR sie - wie
von Dir gewünscht - 'normalerweise' verteilen, um das constraint
einzuhalten.

b)Daher vermute ich mal, daß die Tools 'intelligent' waren, um
Ressourcen zu sparen und ein Schieberegister implementiert haben...

Dies ließe sich durch die (künstliche) Anbindung eines Resets
sicher verhindern, um a) zu ermöglichen
Gruß
Jochen

Autor: Philip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, es wird ohne reset tatsächlich ein Schieberegister erzeugt.
Das hatte ich aber schon berücksichtigt.

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.