Hallo,
in meinem FPGA PRojekt arbeite ich mit verschiedenen Adresszugriffen und
vergleichen und möchte hierfür bei Zuweisungen und Vergleichen (z.B. if)
nicht immer die BIT Kombination angeben, sondern lieber mit konstanten
Werten arbeiten. Damit ich diese in den verschiedenen Komponenten meines
Projektes nicht jedesmal neu definieren muß, würd ich gern eine Art
Header Datei einbinden. Bei der suche bin ich über die Möglichkeit
gestolpert, ein PAckage zu erstellen. Hier hab ich mal ein Package
eingestellt, wie ich es mir vorstelle:
1 | library ieee;
|
2 |
|
3 | use ieee.std_logic_1164.all;
|
4 | use ieee.std_logic_arith.all;
|
5 |
|
6 | package Memory_Map is
|
7 |
|
8 | constant address0 : std_logic := "000000000";
|
9 | constant address1 : std_logic := "000000001";
|
10 | constant address2 : std_logic := "000010000";
|
11 |
|
12 |
|
13 | end Memory_Map;
|
14 |
|
15 | package body Memory_Mapis
|
16 |
|
17 | end package body Memory_Map;
|
in den einzelnen Komponenten binde ich dieses Package dann mit
1 | library work;
|
2 | use work.glob_pkg.all;
|
nun meine Fragen dazu:
Ist das ein üblicher weg, sich Konstanten zu definieren?
wie speicher ich die Packagedatei ab, bzw welche Dateiendung bekommt
sie? Ich hab einfach mal versucht, sie als .vhd zu speichern, was auch
funktioniert hat. Oder gibt es für Packages 'ne eigene Endung?
Gibt es irgendwelche Probleme, auf die ich mit dieser Vorgehensweise
stoßen kann?
Viele Grüße,
Martin