Nachtrag:
ich glaube ich brauche da noch etwas Hilfe. Ich versuche mir gerade erst
mal 'nur so' Testfunktionen zu machen, die signed Vektoren beliebiger
Größe bekommen und das haut nicht hin.
1 | type t_bar is std_logic_vector(natural range <>); --ok
|
2 | type t_foo is signed(natural range <>); --geht nicht bei signed
|
Wenn ich einen signed Vektor nicht mit allgemeiner Größe schreiben kann,
wie dann ein array dieser Vektoren...
Plan war jetzt eine Funktion zu machen so in etwa:
1 | type t_general_arr : array ( natural range <> ) of signed(natural range <>);
|
2 |
|
3 | (...)
|
4 | function test (data_in : t_general_arr; bitwidth : integer ) return t_general_arr is
|
5 | variable local_data : t_general_arr (data_in'range);
|
6 | begin
|
7 |
|
8 | for offset in 0 to data_in'length - 1 loop
|
9 | local_data(offset) := resize(data_in(offset))
|
10 | end loop;
|
11 |
|
12 | end test;
|
13 |
|
14 |
|
15 | --so geht das natürlich alles nicht :-(
|
Ihr seht das das immer chaotischer wird, je konkreter ich versuche zu
werden und ich glaube da brauche ich noch etwas Hilfe.
Ich merke jetzt erst, dass ich offenbar noch nicht richtig verstehe, wie
ich mit Arrays von Vektoren und unbestimmten Größen umgehen muss.