Globlaes constanten array

Gast #1939410
Lesenswert?

Hallo,

ich muss an verschiedenen Stellen in meinem Design einen Sinus bzw. 
Cosinus generieren. Dazu benutze ich numerical controlled oscillators an 
diesen Stellen. Nun möchte ich aber nicht, dass jedes Mal eine Kopie der 
(recht großen) Look-Up-Table (ein Array aus std_logic_vetcor-Konstanten) 
gespeichert wird. Gibt es eine Möglichkeit eine solche Tabelle global zu 
definieren, so dass jeder NCO darauf zugreifen kann?

Vielen Dank im Voraus
Moderator (Firma: Titel) Persönliche Seite #1939475
Lesenswert?

Slin schrieb:
> Gibt es eine Möglichkeit eine solche Tabelle global zu
> definieren, so dass jeder NCO darauf zugreifen kann?
Definier dafür ein Package...

Slin schrieb:
> Nun möchte ich aber nicht, dass jedes Mal eine Kopie der (recht großen)
> Look-Up-Table (ein Array aus std_logic_vetcor-Konstanten) gespeichert
> wird.
Wo soll die nicht gespeichert werden? Auf dem FPGA?
Aha, ein C-Programmierer...
Wenn du diese (Software-)Denkweise hast, dann solltest du dir mal 
vergegenwärtigen, dass auf dem FPGA nur LUTs und FFs und bestenfalls 
noch RAMs existieren, die diese Aufgabe übernehmen müssen.
Und wie willst du auf ein RAM, das diese Werte gespeichert hat, von 
mehreren Hardware-Stellen aus zugreifen? Du wirst einen Multiplexer 
brauchen...
Moderator (Firma: Titel) Persönliche Seite #1942937
Lesenswert?

Duke Scarring schrieb:
> Nur für den Fall, das es nur zwei Komponenten sind
Ich hatte diesen Speizalfall durchaus im Hinterkopf, aber gleichzietig 
auch die Forderung:
>>> ich muss an verschiedenen Stellen in meinem Design einen Sinus bzw.
>>> Cosinus generieren.
Und das implizierte bei mir: Stellen > 2

Aber eigentlich geht es hier nicht um Details, sondern um die falsche 
Denkweise zum Thema "globale Konstanten in VHDL"...
>>> Gibt es eine Möglichkeit eine solche Tabelle global zu definieren
... denn allein mit einer Definition ist hier nichts zu erreichen.

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