Hallo
Ich habe ein Package geschrieben auf welches eine entity zugreift. Das
package selber besitzt keine entity. Gibt es eine Möglichkeit zum Bsp.
mit LPM_CONSTANT die Werte im Package im Betrieb zu ändern.
Danke für Eure Hilfe
Grüße Jörg
Ich kapiere nicht so richtig, wie du das meinst.
Kannst du da mal ein paar Zeilen Sourcecode mit dazuhängen?
> Ich habe ein Package geschrieben auf welches eine entity zugreift.
???
> Das package selber besitzt keine entity.
Ein Package ist ein Package, eine Entity eine Entity.
Ein Package kann einen Body haben, eine Entity eine Architecture.
Aber wie soll denn eine Package eine Entity haben?
bei 0 zeigt er Bild, bei 1 schwarz und bei 2 weiß.
zur Zeit sind die Farbwerte des Zeichens CONSTANT ich möchte diese aber
im Bertieb ändern können.
Wenn ich den Zeichensatz direkt in die entity schreibe gehts. Nur bei
500 verschiedenen Zeichen wird das sehr unübersichtlich. Deshalb hab ich
mich damals für ein package entschieden.
Dennis schrieb:> zur Zeit sind die Farbwerte des Zeichens CONSTANT ich möchte diese aber> im Bertieb ändern können.
Dann mach ein Signal draus.
Aber: du wirst extrem viel Ressourcen/Speicher dafür brauchen:
32 Bits*16*16*16 = 131072 Flipflops...
> TYPE font_type is array (0 to 15) of integer;
Wenn du da nur Werte von 0..2 abspeicherst, dann solltest du den Wert
mit einem subtyp auf 0..2 begrenzen, denn dafür sind eigentlich nur 2
Bits nötig. So etwa:
SUBTYPE smallint is integer range 0 to 2;
TYPE font_type is array (0 to 15) of smallint;
Aber insgesamt sieht das für mich aus, wie wenn du was ziemlich
umständlich machen willst... :-/
Stell und beantworte dir mal die Frage: wie würdest du dien Aufgabe mit
"normalen" Logikbausteinen (RAMs, Zähler, Vergleicher...) lösen? Denn
nur solche Bausteine sind auch im FPGA effizient realisierbar...
...das wird sicher der Fall sein. Einem VHDL Crack wird bei meiner
Syntax sicher das Herz stehen bleiben grins
Und er würde sicherlich 50% des Quellcodes wegoptimieren.
Das begrenzen des integer ist ein sehr gute Idee. Mehr wie 10 Werte wird
es kaum geben.
Wenn ich aus der CONSTANT ein SIGNAL mache. Kann ich es dann auch per
LPM_CONSTANT anprechen? Ich möchte zum Bsp. aus allen 1 eine 2 machen.
Dennis schrieb:> Wenn ich aus der CONSTANT ein SIGNAL mache. Kann ich es dann auch per> LPM_CONSTANT anprechen? Ich möchte zum Bsp. aus allen 1 eine 2 machen.
Suchen&Ersetzen?
Konstante(n) definieren und mit diesen arbeiten?
> LPM_CONSTANT
Habe ich noch nie gebraucht, weder bei Lattice noch bei Xilinx. Das kann
also nicht so wichtig sein... :-/
Dennis schrieb:> Einem VHDL Crack wird bei meiner Syntax sicher das Herz stehen bleiben grins
Da muß schon wesenlich mehr passieren. Das/Dein Problem ist eher, dass
du offenbar eine sehr "softwarelastige" Denkweise hast.
Dennis schrieb:> bei 0 zeigt er Bild, bei 1 schwarz und bei 2 weiß.
Dann definier z.B. jewils eine Konstante und du siehst gleich das
Muster:
Der Name font_RAM oder font_ROM ist hier übrigens irreleitend: die
Synthese kann daraus kein RAM oder ROM machen, wenn der Zugriff
falsch gemacht wird.
...stimmt...da sieht man die Zeichen viel besser...hab schon Augenkrebs
bei 0,1,2 :)
danke!
Warum machst du keine VHDL Seminare? Wenn ich da an meine
Hochschulvorlesung denke. Der Prof. hat zu VHDL gar nix erklärt. Nur das
wir im was programmieren sollen und welche Bücher sinnvoll sind.
Ich hab durch dich und das Forum mehr verstanden als jemals an der Uni.
Nicht mal das man in VHDL mit Signalen arbeitet. Er kam immer nur mit
Variablen etc.
...stimmt...da sieht man die Zeichen viel besser...hab schon Augenkrebs
bei 0,1,2 :)
danke!
Warum machst du keine VHDL Seminare? Wenn ich da an meine
Hochschulvorlesung denke. Der Prof. hat zu VHDL gar nix erklärt. Nur das
wir im was programmieren sollen und welche Bücher sinnvoll sind.
Ich hab durch dich und das Forum mehr verstanden als jemals an der Uni.
Nicht mal das man in VHDL mit Signalen arbeitet. Er kam immer nur mit
Variablen etc.