Hallo, ich bin der aus Beitrag "Setzen einzelner Stellen eines std_logic_vector" und habe mir jetzt mal einen Account angelegt... In den Lehrbüchern heißt es, dass für einen Zähler bzw. arithmetische Operationen am besten Signed oder Unsigned verwendet werden sollte. In meiner Schaltung verwendete ich ausschließlich natural, was auch einwandfrei zu synthetisieren war. Gibt es einen Grund es nicht so zu machen?
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 |
|
Der Code ist nicht vollständig und soll nur zeigen was ich meine. Mit unsigned hätte ich das Problem, dass zuvor die Länge des unsigned Vektors bekannt sein muss. Allerdings wollte ich die Parameter der Schaltung zentral konfigurierbar machen und bin mir nicht sicher wie man, ohne IEEE.math_real mit log2(real(max_val)) auf die Breite kommt. Vielleicht hat jemand eine Idee wie ich das lösen könnte. Oder kann man es einfach so lassen? Viele Grüße