Hallo, ich such nach einer Möglichkeit folgendes Array mit VHDL zu erzeugen. Es handelt um ein Array das weitere Arrays enthält. Die Anzahl der Plätze der inneren Arrays soll sich dabei immer halbieren. Beispiel: Ich erzeuge ein Array der größe 3. Array[0] soll dann ein array der größe 6 enthalten. Array[1] ein Array mit größe 3 und so weiter. Das ganze soll dynamisch erzeugt werden. Ich gebe also die größe für das äußere Array und das erste innere Array an und daraus soll dann der rest erzeugt werden.
Gast
#2761385
for loop?
Fest programmiert sieht das ganze z.B. so aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
Kann man eine for loop überhaupt zum erzeugen von typen verwenden?
Gast
#2761432
Nein. Wozu brauchst du das?
Gast
#2761433
>d : unsigned(0 downto 9);
0 to 9
Die Idee war einen Tree-Adder, der nur für eine feste Anzahl an Eingangswerten funktioniert, so für eine variable Anzahl an Eingangswerten umzuschreiben.
Gast
#2761546
Kannst du den Tree-Adder für eine feste Anzahl an Eingängen mal zeigen?
Hier für 9 Eingangswerte:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
Im array_in sind 9 Werte(ArrayElements) die paarweise addiert werden sollen. In add4_result ist dann das Ergebnis. Um es dynamisch zu machen habe ich add1_result-addX_result zu einem array gemacht. Das ganze funktioniert auch nur hab ich jetzt halt in allen arrays die gleiche Anzahl an Plätzen, obwohl von Stufe zu Stufe ja immer weniger benötigt werden. Das möchte ich halt eleganter und resourcenschonender lösen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.