-- ############################################################################ -- # Project : VHDL-Modellbibliothek # -- # # -- # Filename : xor_gate.vhd # -- # # -- # Schaltung : Mehrfach EXOR-Gatter mit parametrierbarer Anzahl # -- # von Eingaengen # -- # # -- # Modell : xor_gate # -- # # -- # # -- # # -- # Designer : Wolfgang Sehr; ueberarbeitet von Stefan Schmechtig # -- # Abteilung : Lehrstul fuer rechnergestuetzten Schaltungsentwurf # -- # Datum : 28.03.1995 # -- ############################################################################ -- ############################################################################ -- # IEEE PACKAGES # -- ############################################################################ Library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; -- ############################################################################ ENTITY xor_gate IS GENERIC ( X: INTEGER := @BITBR -- X: Bitbreite des Gatters ); PORT (@EING y : OUT STD_LOGIC ); -- exor_ein_x : x-ter Eingang des EXOR-Gatters -- : -- ausgang : Ausgang des EXOR-Gatters END xor_gate; ARCHITECTURE dataflow OF xor_gate IS SIGNAL daten_ein : UNSIGNED((X-1) DOWNTO 0); -- daten_ein : internes Signal fuer Eingangsdaten BEGIN ${EING_ZUW} PROCESS(daten_ein) VARIABLE erg_u : STD_LOGIC; VARIABLE erg_o : STD_LOGIC; VARIABLE erg : STD_LOGIC; BEGIN erg_u := '1'; erg_o := '0'; erg := '1'; FOR i IN 0 TO (X-1) LOOP erg_u := erg_u AND daten_ein(i); erg_o := erg_o OR daten_ein(i); END LOOP; erg := NOT(erg_u) AND erg_o; y <= erg; END PROCESS; END dataflow; CONFIGURATION CFG_xor_gate OF xor_gate IS FOR dataflow END FOR; END CFG_xor_gate;