Gast
#3165470
Hallo, im Studium haben wir seit kurzem die VHDL-Programmiersprache (auf Testboards mit Lattice Mach xo2) und die aufgabe lautet: "Die 3 Bit-Zahlen A und B werden im Zweierkomplement dargestellt. A besteht aus den Bits A2-A0, B besteht aus den Bits B2-B0. Das Resultat der Multiplikation ist die 4 Bit-Zahl Z, die ebenfalls im Zweierkomplement dargestellt wird. Z besteht aus den Bits Z3-Z0. Im Fall einer Bereichsüberschreitung wird bei einem positiven Resultat die maximal mit Z darstellbare positive Zahl angezeigt. Ist das Resultat bei einer Bereichsüberschreitung negativ, so wird die minimal darstellbare negative Zahl angezeigt." Nun habe ich folgendes Programm geschrieben:
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 | |
Bei berechnungen ohne überlauf passt auch alles, nur leider bekomme ich die If-Bedingung mit dem zwischenergebnis t nicht hin. Habe zwar schon vieles durchsucht, aber alles bezieht sich Multiplikationen ohne Überlauf. Vielleicht kann mir ja jemand einen einfachen tipp geben. mfg Tim