Forum: FPGA, VHDL & Co. Verilog: Zugriff auf Variable vor ihrer Definition


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Sigi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

kann ich in Verilog (2001) auf eine WIRE- oder REG-Variable
vor ihrer Definition zugreifen, d.h. ist z.B.

wire b = a;
wire a;

erlaubt?

Gibt es in Xilinx's ISE oder Altera's QuartusII entsprechende
Syntheseeinstellungen um dies zu erlauben?

(Hintergrund: ich habe ca. 50-60 Module, teils automatisch
generiert, bei denen die Definitionen und Zugriffe wildest
verschachtelt ist. Ich habe so den Verdacht, dass es sich
dabei um SystemVerilog-Module handelt und es da erlaubt ist??)

von Andi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Solange du das nicht mit:
`default_nettype none
unterbindest,sollte es funktionieren (jedenfalls bei Altera/Intel und 
Lattice).

Du bekommst normalerweise eine Warnung für solche Fälle, aber keinen 
Error der die Synthese abbricht.

von Sigi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke für den Hinweis. Bei der Durchsuchung aller Modul-
und Projektfiles ist mir aber nichts dergleichen aufgefallen.

Ebenfalls seltsam für mich ist, dass es bei einem kleinen
Modul funktioniert, bei den generierten aber nicht.
Insgesammt habe ich 3 Varianten ausgemacht:
- das oben beschriebene Szenario: mehrere Wires greifen
  auf noch nicht definierte Wires zu (=> implizite
  Definietion etc.). Durch Umstellung, soweit möglich,
  verschwinden die Fehlermeldungen (seltsam!?).
- ein per Include verwendetes Netz, dass zum einen auf
  Wires des nutzenden Moduls zugreift als auch im nutzenden
  Modul auf Wires des Includefiles zugreift (für mich schwer
  zu behandeln, da hier extrem viele Überkreuzungen stattfinden)
- mehrere gleichnahmige Includefiles in verschiedenen Verzeichnissen,
  wo ich glaube, dass da evtl. beim ein oder anderen File auf das
  falsche Includefile zugreift.

Ganz seltsam ist, dass wenn ich alle Includefiles ins Hauptverzeichnis
verschiebe nur noch wenige Fehlermeldungen auftreten. Die Probleme
rund um Überkreuzungen verschwinden fast ganz? (Bem. ich habe auch
versucht, die Includeverzeichnisse manuell zu setzen, dass klappt
aber leider auch nur in einigen und nicht in allen Fällen. Ich habe
mal ein kleines Projekt aufgesetzt und die Verzeichnisse manuell
gesetzt, das ganze ohne Probleme. hm?)

Ich weiss, dass ein solches Problem schlecht in einem Forum
gelöst werden kann, aber vlt hat ja jemand ein ähnliches
Problem schonmal gelöst.

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.