Hallo, In einem bestehenden VHDL Modul werden verschiedene Submodule miteinander verknuepft. Nun habe ich im Register-Submodul 12 Vektoren zu 8bit. Diese je 8Bit werden aus dem Register-Submodul über das übergeordnete Wrapper-Modul auf 8 separate Submodule geführt. Ich könnte nun im Wrapper-Module 8 separate std_logic_vector(7 downto0) definieren und alle zwölf Vektoren separat in das Register Modul führen. Lieber wäre mir aus Gründen der Übersichtlichkeit jedoch eine Möglichkeit, die Vektoren zu einem Array zusammenzufassen und gemeinsam in das Register-Modul zu führen. Das Problem dabei: Wie und wo definiere ich den Array Type, so dass ich den in der Entity des Register Moduls angeben und auch im Wrapper Modul verwenden kann? Ist da zwingend ein Package nötig (lieber nicht..) Oder ist es wohl einfacher, die 12 Vektoren trotzdem einzeln zu führen? Danke für die Antworten.
Da Du den Array-Typ in mehreren Modulen verwenden möchtest, bleibt Dir nur ein Package. Würde aber sehr übersichtlich bei Dir ausfallen:
1 | library ieee; |
2 | use ieee.std_logic_1164.all; |
3 | |
4 | package Reg_type_array is |
5 | type Reg_type is array(7 downto 0) of std_logic_vector(7 downto 0); |
6 | end package Reg_type_array; |
Ich bin mir nicht ganz sicher ob der obige Code so komplett richtig ist, weil mir Deine Struktur nicht richtig klar ist.
Mathi wrote: > Da Du den Array-Typ in mehreren Modulen verwenden möchtest, bleibt Dir > nur ein Package. Das habe ich befürchtet. Na gut, machen wir das so. > Würde aber sehr übersichtlich bei Dir ausfallen: Sieht ganz so auf! > Ich bin mir nicht ganz sicher ob der obige Code so komplett richtig ist, > weil mir Deine Struktur nicht richtig klar ist. komplett richtig - nein. Ich brauche 12 einzelen 8Bit Vektoren. Das Anpassen sollte aber gerade so möglich sein ;-) Die Struktur: ein umfangreiches VHDL Modell, darin enthalten ein Wrapper Modul mit mehreren Submodulen. Vom Register-Submodul gehen alle 12 Vektoren raus und in einzelne Submodule als je 8Bit Vektor wieder rein. Ich versuch das mal so. Danke für die Rückmeldung
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.