-- zaehler.vhd, 17.1.99 GA -- Einfacher, asynchron zuruecksetzbarer 8bit-Zaehler mit -- Tristate-Ausgang (d.h. man kann mehrere Ausgaenge zsammenschalten) -- !!! Wichtig fuer Logiksynthese: -- FPGA-Express kann keine Hex-Eingabe von Zahlen (zB. x"AF") -- Daher muessen diese Ausdruecke durch das Binaerequivalent -- ersetzt werden (x"AF"="10101111" bei 8 Bit) library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; -- Noetig fuers Zaehlen!!! -- Die entity kann vom Aldec Design Wizard erstellt werden. entity zaehler is port ( clk: in STD_LOGIC; reset: in STD_LOGIC; tristate: in STD_LOGIC; count: inout STD_LOGIC_VECTOR (7 downto 0) ); end zaehler; architecture zaehler of zaehler is signal i:STD_LOGIC_VECTOR(7 downto 0); begin -- count ist hochohmig, wenn tristate=1, sonst wird der -- Zaehlerstand ausgegeben count<="ZZZZZZZZ" when tristate='1' else i; zaehler_process: process(clk,reset) begin if reset='1' then -- Reset i<=x"00"; -- auf 00000000 elsif clk'event and clk='1' then -- Zaehlen... i<=unsigned(i)+1; end if; end process; end zaehler;