Anfängerfrage- LatticeDiamond (XO2) - VHDL - 2 x architecture im Modul

OP (Firma: myself) #7689390
Lesenswert?

Hallo

habe eine eine Frage. Ich arbeite und "übe" mit dem MACHXO2 Board ein. HAbe eine kleine Testaufgabe. 3 x Input Taster , 3x output LED

Möchte die VHDL Strukturieren und eine entity und 2x Structure in ein Modul. leider klappt da was nicht. VHDL im Anhang und Bild netlist Analyser

Bekomme immer nut die letzte Structure2 hin. Die Structure1 wir sozusagen ignoriert.

Kommentiere ich die Structure2 aus ist Structure1 da.

Bekomme als Warning: ".... replacing existing netlist TEST_PROJ(Structure2). VHDL-1205"

Was mach ich falsch? Danke für jeden Hinweis!

mfg Roger

Angehängte Dateien:
#7689446
Lesenswert?

Roger P. schrieb:

Möchte die VHDL Strukturieren und eine entity und 2x Structure in ein Modul.

Und wieso? Eine Entity hat eine und nur eine Architecture. Man kann mehrere schreiben und per Configuration dann auswählen welche Kompiliert werden soll wenn man das so will. Aber mehrere gleichzeitig aktiv geht nicht. Also schreibe dein Zeug in eine Achitecture und lebe damit oder nutze Generate oder Configurations wenn du deinen Code so bauen willst, dass entweder das Eine oder das Andere kompiliert wird.

Du darfst hier ruhig auch .vhd Dateien hochladen. VHDL nach .txt umbenennen ist sinnlos.

#7689811
Lesenswert?

Ja nun, da wurde da hingeschrieben, damit du siehst dass ein Latch auf unterschiedliche Weisen in VHDL beschrieben werden kann. Aber zum Kompilezeitpunkt muss eindeutig festgelegt werden welche Architecture das Innenleben der Entity beschreibt. Mehrere gleichzeitig geht nicht. Aber auswählbar durch Configurations geht schon.

An deiner Stelle würde ich immer genau eine Architecture je Entity verwenden.

#7689878
Lesenswert?

"Structure1" und "Structure2" sind nur Label, die einzig dem syntaktischen Zweck dienen, dass korrespondierende "end" markieren zu koennen. Aber du kannst ja dem Standardisierungskommitee eine sprachliche Erweiterung vorschlagen, die daraus dann nebenlaeufig parallele Architecturs erzeugt. :)

(Firma: Starfleet) #7689886
Lesenswert?

IMHO ist die Beschäftigung mit der Möglichkeit mehrere architectures zu verwenden keine besonders zielführende Anfängertaktik. Insbesonders, wenn es an anderen VHDL-Grundlagen mangelt. Trotzdem habe ich mal ein schnell zusammengehacktes file angehangen, weil dieses Hinweise gibt was an grundlegenden Verständniss noch fehlt.

  • VHDL-source-files bekommen nicht die Endung .txt sondern .vhd oder .vhdl
  • der source code wird sinnvoller weise in mehrere files aufgeteilt - für top und für die componenten des tops
  • identifiers haben passende prefixe bspw. e_ für entities
  • ein top-file wird im Wesentlichen aus Instanziierungen mehrer componenten aufgebaut.

Damit sollte man als Anfänger beginnen. Mehrere architectures für eine entity braucht man eigentlich nur für spezielle Simualtionen wie post-synthesis und dafür wird eigentlich alles von der Entwicklungsumgebung automatisch generiert.

Das Schwarz-Buch ist es sehr "akademisch", soll heissen die Art und Weise VHDL-Code für FPGAs in der Praxis zu schreiben unterscheidet sich davon erheblich. Besser, du schaust dir die Tutorials für die gängigen Eval-boards an. Manche Labor-Praktikums-anleitungen sind auch brauchbar, bspw.: * https://tu-dresden.de/mn/physik/iktp/ressourcen/dateien/studium/praktikum/Anleitung_ED.pdf?lang=de

Digital-design mit VHDL für FPGA's ist harter Stoff, das lernt man eigentlich nicht ohne erheblichen Betreuungs-aufwand. Unf fehlende Betreuung kann man nur mit intensiven Trial-Error-Selbstexperiment ersetzen.

Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #7690657
Lesenswert?

Gustl B. schrieb:

Eine Entity hat eine und nur eine Architecture. Man kann mehrere schreiben und per Configuration dann auswählen welche Kompiliert werden soll

Und wenn man keine angibt, wird implizit die letzte im Text genommen.

Das ist eine Eigenart der Sprache und in einem VHDL-Grundlagenbuch (also nicht in einem FPGS-Anwendungsbuch) zu finden. Für Grundlagen zur Sprache empfehle ich die Bücher von P. Ashenden. Hier reicht auch eine betagte Ausgabe.

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