F: VHDL und CONFIGURATION - brauche Hilfe als Beispiele

Hi, NG!

Im I-net gibt es haufenweise Anleitungen zu VHDL, nur habe ich den Eindruck, als ob alle aus einer Quelle abgeschrieben haben, wo es wenig Beispiele gab. Ich schlage mich mit CONFIGURATION und habe irgendwie ein Brett vorm Kopf, kapiere nicht, wie es konkret verwendet wird, und hoffe sehr auf eure Hilfe.

Also.

  1. Ich habe eine uebergeordnete ENTITY A, die mein Gerät samt I/Os darstellt.

ENTITY MYENT is ... end MYENT;

  1. Ich habe eine einzige ARCHITECTURE dafür:

ARCHITECTURE ARCH of MYENT is ... end ARCH;

  1. In der ARCHITECTURE sind (natuerlich) einige COMPONENTen erwähnt (deklatiert).
  2. Eine dieser COMPONENTen wird nur ein Mal in der ARCHITECTURE instanziert:

ARCHITECTURE ARCH of MYENT is ... COMPONENT MYCOMP port(...); end COMPONENT; ... begin .. PW1: MYCOMP port map(...); ... end ARCH;

  1. Diese MYCOMP ist in einer anderen Datei beschrieben:

ENTITY MYCOMP is ... end MYCOMP;

  1. Aber - jetzt kommt's langsam - sie hat ZWEI ARCHITECTUREen:

ARCHITECTURE ONE of MYCOMP is ... end ONE;

ARCHITECTURE TWO of MYCOMP is ... end TWO;

  1. Diese ARCHITECTUREen beschreiben ganz verschiedene Verhalten der Komponente, beim gleichen "Interface".

Was ich will:

  1. Die Komponente selbst zu simulieren (testen), wobei ich jeweils eine ARCHITECTURE (=Verhalten) von beiden abwechselnd auswählen will.

  1. Mein ganzes Gerät zu simulieren und kompilieren, wobei wiederum zwei verschiedene ARCHITECTURE abwechselnd verwendet werden sollen.

Bitte um Hilfe als Beispiele: die verstehe ich am besten.

TIA,

Igor.

Reply to
Igor "Knight" Ivanov
Loading thread data ...

Du schreibst die Entity und die Architecture in zwei verschiedene Files und linkst in Deinem Simulationstool immer nur eins der beiden Architecture-Files dazu.

- Philip

--=20 "Weck' mich wenn die Show anf=E4ngt." - "Die l=E4uft doch schon l=E4ngst!" - "Dann weck' mich wenn sie vorbei ist." (Waldorf & Stadler)

Reply to
Philip Herzog

Hi!

  1. Die Meldung: NO ARCHITECTURE found for entity MYCOMP....

(LiberoIDE von Actel).

  1. Hmm. Und wie soll ich beim Kompilieren des ganzen Projekts die jeweilige Architektur auswaehlen?

TIA,

Igor

Reply to
Igor "Knight" Ivanov

Das Tool kenn' ich nicht, sorry. Bei meinen Tools (ISE/ActiveHDL) kann man dem Projekt files hinzuf=FCgen bzw. diese entfernen - in Deinem Beispiel entfernt man also das file mit der einen architecture und f=FCgt=

das mit der anderen hinzu.

- Philip

--=20 "Weck' mich wenn die Show anf=E4ngt." - "Die l=E4uft doch schon l=E4ngst!" - "Dann weck' mich wenn sie vorbei ist." (Waldorf & Stadler)

Reply to
Philip Herzog

Hi!

Unabhaengig vom Tool ist das doch eine Notloesung. Ich will eigentlich mit >>>VHDL-Mitteln

Reply to
Igor "Knight" Ivanov

Das ist immer besser *g*

Das macht man mit Configurations.

bye Thomas

Reply to
Thomas Stanka

Hi,

On 13 Mrz., 14:47, "Igor \"Knight\" Ivanov" wrote: [=2E.]

rt: [=2E.]

[=2E.]

Das machst du mittels configurationen (IMHO eine gute Idee, die f=FCr jede Architecture zu verwenden, ist aber umstritten, weil oftmals redundant)

configuration myent_a1 of myent is for pw1: mycomp use entity .MYCOMP(ONE) end for ..... end myent_a1

configuration myent_a2 of myent is for pw1: mycomp use entity .MYCOMP(TWO) end for ..... end myent_a2

F=FCr die Testbench nimmst du nun zwei configurations, in der du myent Konfigurierst

configuration mytb_a1 of tb is for dut: myent use configuration .myent_a1 end for end mytb_a1 configuration mytb_a2 of tb is for dut: myent use configuration .myent_a2 end for end mytb_a2

Im Simulator w=E4hlst du zum Simulieren die passende Configuration der Testbench und fertig.

bye Thomas

Reply to
Thomas Stanka

Hi, Thomas!

....

Danke fuer die Antwort.

Eine Frage nur - in welchem Teil der Beschreibung/VHDL-Datei sollen diese Texte vorkommen?

  1. In der Datei mit MYCOMP?
  2. In der uebergeordneten Datei, wo die Komponente instaziirt wird? Wo?

Sorry fuer die Fragen zu Syntax.

TIA,

Igor.

Reply to
Igor "Knight" Ivanov

F=FCr Syntax details bitte das VHDL LRM lesen (Wenn dir LRM nichts sagt, solltest du schleunigst Googeln). Du hast da einige Freiheitsgrade. Die sinnvolle Reihenfolge ist das Design Bottom-up ausgehend von der jeweiligen Entity dann Architecture anschliessend Configuration zu bearbeiten. Ich w=FCrde jeweils einzelne Dateien verwenden f=FCr Entity, Architecture und Configuration, schon allein wegen Reuse.

bye Thomas

Reply to
Thomas Stanka

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.