Hallo. Ich arbeite mit Quartus 2 mit einem Cyclone IV. Ich habe jetzt zwei Zahlen im Format Unsigned, die ich addieren oder subtrahieren möchte. Die Bitbreite beträgt je 16 Bit. 2^15 ist gerade die Mitte und gleich die Null. Zahl1: +84 --> 2^15 + 84 = 32852 = 1000000001010100 Zahl2: -18 --> 2^15 - 18 = 32750 = 0111111111101110 Eigentlich erwarte ich jetzt dass es 84+(-18) rechnet und dann 66 = 32834 = 1000000001000010 Es kommt aber 65470 raus. Die std_logic_vectoren lass ich mir dann am Rechner anzeigen. Möchte ich diese jetzt addieren habe ich hier folgenden Code:
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 | |