Hi, Ich habe ein Problem mit einem Package in VHDL / ISE. Ich brauche nur einen Typ (array von array) und ein paar Konstanten in mehreren Files. Ich habe folgenden Code in ein Package-File geschrieben:
1 | LIBRARY crossbar; |
2 | PACKAGE config IS |
3 | constant crossbar_port_count : integer := 24; |
4 | constant crossbar_clock_count : integer := 4; |
5 | constant crossbar_fixed_count : integer := 2; |
6 | |
7 | constant crossbar_clock_width : integer := integer(ceil(log2(real(crossbar_clock_count) + 0.5))); |
8 | constant crossbar_data_width : integer := integer(ceil(log2(real(crossbar_port_count) + 0.5))); |
9 | |
10 | constant crossbar_config_width : integer := crossbar_data_width + crossbar_clock_width + 2; |
11 | |
12 | -- data:
|
13 | -- data selection
|
14 | -- clock selection
|
15 | -- control lane
|
16 | -- enable lane
|
17 | type crossbar_config is array( crossbar_port_count - 1 downto 0) of std_logic_vector( crossbar_config_width - 1 downto 0); |
18 | |
19 | constant crossbar_data_start : integer := crossbar_config_width - 1; |
20 | constant crossbar_data_stop : integer := crossbar_data_start - crossbar_data_width; |
21 | constant crossbar_clock_start : integer := crossbar_data_stop - 1; |
22 | constant crossbar_clock_stop : integer := crossbar_clock_start - crossbar_clock_width; |
23 | constant crossbar_control_pos : integer := crossbar_clock_stop - 1; |
24 | constant crossbar_enable_pos : integer := crossbar_control_pos - 1; |
25 | END config; |
Jedes mal wenn ich das File speichere verschwindet die Datei aus der Sources ansicht. Auch wenn ich die Konstanten woanders benutzen möchte bekomme ich eine Meldung das die Library nicht gefunden werden konnte. Was mache ich falsch? mfg Andreas