Forum: FPGA, VHDL & Co. 2 Dimensionales Array in System Verilog


von Bliad B. (bliad_b)


Lesenswert?

Hi,
glaubt ihr dass ein zweidimensionales array für system verilog geeignet 
ist. also synthetisierbar ist ? oder kann es passieren, dass das zu 
aufwendig ist ?

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


Lesenswert?

Bliad B. schrieb:
> ein zweidimensionales array
Ein zweidimensionales Array ist in Hardware eigentlich schon die 
Aneinanderreihung von Bytes. Denn die erste Dimension ist dabei die 
Aneinanderreihung von Bits.
> also synthetisierbar ist ?
Ja.
> oder kann es passieren, dass das zu aufwendig ist
> ?
Ja, kann natürlich sein. Kommt auf die Art der Implementierung und die 
Größe an.

Stell dir einfach vor, wie dieses zweidimensionale Array in Hardware 
aussehen muss. Und dann beschreib das mit deiner 
Hardwarebeschreibungssprache.

Wofür brauchst du das Array? Wie groß muss es sein?

BTW: bitte nicht Plenken. Ein Satzzeichen hat keine eigene Zeile 
verdient.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Das sollte kein Problem sein, ueberlege dir einfach mal wie Daten in 
einem Speicher allgemein adressiert werden. Man hat genau eine Adresse 
ueber die jedes Bit erreichbar ist.

Bei einem 2-dimensionalem Speicher, adressiert man die Daten (i-te 
Zeile, j-te Spalte) einfach ueber eine affin lineare Funktion (ai+j), 
mit a = der Anzahl an Spalten deines 2D Arrays.

Das Ganze laesst sich natuerlich ohne Probleme auf n Dimensionen 
erweitern. :-)

von Vancouver (Gast)


Lesenswert?

Bliad B. schrieb:
> also synthetisierbar ist

Kommt auf das Array an. Es gibt in SV fixed-size, dynamische und 
assoziative Arrays, dann unterscheidet man noch zwischen gepackten und 
ungepackten Dimensionen. Einige davon sind synthetisierbar, andere 
nicht. Manche arrays bringen ihre eigenen Funktionen mit, z.B. zum 
Sortieren. Die sind nicht synthetisierbar. Dann kommt es noch ein 
bisschen auf die Arraayelemente an. Ein Array von Klassenreferenzen ist 
nicht synthetisierbar, weil Klassenreferenzen nicht synthetisierbar 
sind. Ein einfaches Array konstanter Größe aus einzelnen Bits ist 
natürlich synthetisierbar, das braucht man jeden Tag.

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.