Forum: FPGA, VHDL & Co. Anfängerfrage- LatticeDiamond (XO2) - VHDL - 2 x architecture im Modul


von Roger P. (Firma: myself) (roland69) Flattr this


Angehängte Dateien:

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

: Bearbeitet durch User
von Gustl B. (gustl_b)


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.

von Roger P. (Firma: myself) (roland69) Flattr this


Angehängte Dateien:

Lesenswert?

Hallo,
Danke für die Antwort.

Aber ich lese in Buch VHDL synhese / Reichardt/Schwarz
das es mindesten eine - also auch mehere Architecture möglich sind.

Das zieht sich durch viele Beispiele im Buch.

Gruß
Roger

von Gustl B. (gustl_b)


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.

von Motopick (motopick)


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. :)

von Bradward B. (Firma: Starfleet) (ltjg_boimler)


Angehängte Dateien:

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
* http://www.atlas.uni-wuppertal.de/~kind/EP9_1219.pdf


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.

: Bearbeitet durch User
von Roger P. (Firma: myself) (roland69) Flattr this


Lesenswert?

Hallo,

Werde es so machen.
Danke an alle für die Infos Und Tipps!

Roger

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

: Bearbeitet durch Moderator
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.