> Lösungsansatz:
> Anstatt einer Konstante ein Signal verwenden und die Werte aus der
> integer_list in einer for schleife aufaddieren.
Geht leider nicht, da ich aus der Zahl ein weiteres array bauen muss,
das in seiner Größe von der Zahl abhängt. In dem übergeordneten Modul
sind alle Werte an dem Eingang konstant.
> Mit Konstanten geht das nicht. Diese müssen zur compile-zeit statisch
> sein. Ports sind per definition nicht statisch.
Ja stimmt, habe ich übersehen. Geht das eigentlich, dass ich die Zeile
in die generics mit legen, so dass ein Generic vom andern abhängig ist?
Und wenn ja, gibt es dann dafür eine Lösung? Also etwa so:
1 | entity testdesign is
|
2 | generic
|
3 | (
|
4 | array_lenght : positive;
|
5 | integer_list : in integer_array(1 to array_lenght)
|
6 | );
|
7 | port ( ... );
|
8 | end testdesign ;
|
9 | architecture behavior of testdesign is
|
10 | constant sum_of_integer_list : integer := ? -- Hier soll folgende Summe hin:
|
11 | -- Summe(i = 1 to array_lenght) aus integer_list(i)
|
12 | ...
|
13 | begin
|
14 | ...
|
15 | end behavior;
|
Gruß Matthias