schuetze
Registrierter Benutzer
Beiträge: 3
|
Erstellt: 24.01.06, 20:30 Betreff: [gelöst] 16bit ADD-Modul modulo 2^16
drucken
Thema drucken weiterempfehlen
|
|
|
Hi an alle,
möchte ein ADD-Modul zweier 16 bit Zahlen realisieren, wobei der Ausgang wieder eine 16bit Zahl sein soll. Deswegen die Modulo 2^16-Operation danach. Hab das so versucht:
CODE: architecture arch_addop of addop is begin process (A,B) begin O <= ( A + B )(15 downto 0); end process; end arch_addop;
Der Analyzer meldet jedoch einen Syntax-Fehler bei der Signalzuweisung "O <= (A+B)(15 downto 0)".
Weiß jemand, wie das richtig heißt? Merci.
[editiert: 24.01.06, 23:56 von schuetze]
|
|
xGCFx
Stammgast
Beiträge: 33 Ort: Dresden
|
Erstellt: 24.01.06, 23:45 Betreff: Re: 16bit ADD-Modul modulo 2^16
drucken
weiterempfehlen
|
|
|
Ich hab da ne Idee:
Hänge mal an die Summanden vorne immer ein Bit an. Dann addieren. Dann nur die ersten 16 Bits nehmen. Also ungefähr so:
architecture arch_addop of addop is
begin process (A,B) variable C: std_logic_vector(16 downto 0); begin C := ('0' & A) + ('0' & B); O <= C(15 downto 0); end process;
end arch_addop;
Dadurch entsteht bei der Addition auch wirklich ein 17 Bit Vektor, dessen 16 untere Bits dann an O zugewiesen werden
|
|
xGCFx
Stammgast
Beiträge: 33 Ort: Dresden
|
Erstellt: 25.01.06, 00:03 Betreff: Re: [gelöst] 16bit ADD-Modul modulo 2^16
drucken
weiterempfehlen
|
|
|
Fein.
Den Gott kannste aber knicken, stehe noch ni so tief in der Materie wie ich es mir wünschen würde. Bin nur vor kurzem über selbiges Problem gestolpert in einem Buch. Naja, und man lernt ja stets dazu, also fiel mir es hier wieder ein.
|
|