-- Versuchsreihe 2, Versuch 2, Aufgabe 1 -- Ziel: Recheneinheit mit Addition, Subtraktion, Multiplikation und Clear -- Autor: Tobias Schubert, März 2003 ENTITY rechner IS PORT ( A, B: IN INTEGER RANGE 0 TO 15; PLUS, MINUS, MUL, CLEAR: IN bit; RESULT: OUT INTEGER RANGE 0 TO 255 ); END rechner; ARCHITECTURE verhalten OF rechner IS BEGIN PROCESS VARIABLE aktion: INTEGER RANGE 0 TO 3 := 0; BEGIN -- Tastendruck eine Aktion zuordnen. IF PLUS = '1' THEN aktion := 1; ELSIF MINUS = '1' THEN aktion := 2; ELSIF MUL = '1' THEN aktion := 3; ELSIF CLEAR = '1' THEN aktion := 0; END IF; -- Operation durchfuehren. CASE aktion IS WHEN 1 => RESULT <= A+B; WHEN 2 => RESULT <= A-B; WHEN 3 => RESULT <= A*B; WHEN 0 => RESULT <= 0; END CASE; END PROCESS; END verhalten;