Gute Morgen, angenommen ich möchte soetwas machen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
ginge das dann per for-loop?
1 | |
2 | |
3 | |
4 | |
Soweit ich weiß, würde das Synthese-Tool aus der for-loop die obere Version generieren, stimmt das so? Viele Grüße, Mampf
|
Anzeige
|
Frage zu VHDL loopsGute Morgen, angenommen ich möchte soetwas machen:
ginge das dann per for-loop?
Soweit ich weiß, würde das Synthese-Tool aus der for-loop die obere Version generieren, stimmt das so? Viele Grüße, Mampf
Gast
#5395101
Mampf F. schrieb: > mask := (others => '1'); > for I in 0 to 4 loop > mask := mask and myarray(I); > end loop Jepp. Das sind dann vermutlich 5 AND hintereinander. Man kann sich das Syntheseergebnis eigentlich bei allen Tools mit 'Show RTL Schematic' o.ä. anzeigen lassen. Duke Mampf F. schrieb: > Soweit ich weiß, würde das Synthese-Tool aus der for-loop die obere > Version generieren, stimmt das so? Im Prinzip ja. Aber letztlich werden in einem 6er-LUT-FPGA einfach pro mask-Bit die 5 myarray()-Bits auf 1 LUT gehen und du hast "insgesamt" die selbe Durchlaufzeit wie bei einer einzigen AND-Verknüfung. Es werden also nicht 5 (oder 4) LUTS "hintereinandergeschaltet"...
Gast
#5395256
Mampf F. schrieb:
Ich vermutet da einen Typfehler, mask scheint ein vector (wegen der Zuweisung mit others) zu sein und myarray(I) ein einzelnes Element. bitwurschtler schrieb: > myarray(I) ein einzelnes Element. myarray wird wohl ein Array aus Vektoren sein... Lothar M. schrieb: > bitwurschtler schrieb: >> myarray(I) ein einzelnes Element. > myarray wird wohl ein Array aus Vektoren sein... Jap, genau das ist es :) Ok, vielen Dank für eure Antworten! :) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|