Guest User

Untitled

a guest
May 29th, 2013
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 1.84 KB | None | 0 0
  1. library IEEE;
  2. use IEEE.STD_LOGIC_1164.ALL;
  3. use ieee.std_logic_unsigned.all;
  4.  
  5. entity maszyna2 is
  6. Port ( SEKUNDY : in  STD_LOGIC_VECTOR(3 downto 0);
  7.          Sec : in  STD_LOGIC_VECTOR(3 downto 0);
  8.          SETNE : in  STD_LOGIC_VECTOR(3 downto 0);
  9.          Set : in  STD_LOGIC_VECTOR(3 downto 0);
  10.        
  11.          clk: in STD_LOGIC;
  12.            
  13.          L : out  STD_LOGIC_VECTOR(3 downto 0);
  14.          A : out STD_LOGIC;
  15.        B : out STD_LOGIC
  16.        );
  17. end maszyna2;
  18.  
  19. architecture Behavioral of maszyna2 is
  20.  
  21.     signal SEKUNDY_t : STD_LOGIC_VECTOR(3 downto 0);
  22.     signal Sec_t : STD_LOGIC_VECTOR(3 downto 0);
  23.     signal SETNE_t : STD_LOGIC_VECTOR(3 downto 0);
  24.     signal Set_t : STD_LOGIC_VECTOR(3 downto 0);
  25.     signal LICZBA : STD_LOGIC_VECTOR(3 downto 0);
  26.     signal BLok : STD_LOGIC_VECTOR(1 downto 0);
  27.     type state_type is (q0, q1,q2,q3);
  28.     signal state, next_state: state_type;
  29.     SIGNAL ABC_LOG : STD_LOGIC;
  30.    SIGNAL AB_a : STD_LOGIC;
  31.    SIGNAL AB_b : STD_LOGIC;
  32.  
  33. begin
  34.  
  35.     PROCESS(SEKUNDY,Sec,SETNE,Set)
  36.    BEGIN
  37.    SEKUNDY_t  <=SEKUNDY;
  38.     Sec_t  <=Sec;
  39.     SETNE_t   <=SETNE;
  40.     Set_t  <=Set;
  41.    END PROCESS;
  42.    
  43.    
  44.    process2 : process (clk)
  45.         begin
  46.             ABC_LOG <= not ABC_LOG;
  47.             state <= next_state;
  48.                 case state is
  49.                     when q0 =>
  50.                     AB_a <= '0';
  51.                     AB_b <= '0';
  52.                     --BLok <= "00";
  53.                     LICZBA<= SEKUNDY_t;
  54.                     next_state <= q1;
  55.                        
  56.                     when q1 =>
  57.                     AB_a <= '1';
  58.                     AB_b <= '0';
  59.                     --BLok <= "01";
  60.                     LICZBA<= Sec_t;
  61.                     next_state <= q2;
  62.  
  63.                     when q2 =>
  64.                     AB_a <= '0';
  65.                     AB_b <= '1';
  66.                     --BLok <= "10";
  67.                     LICZBA<= SETNE_t;
  68.                     next_state <= q3;
  69.  
  70.                     when q3 =>
  71.                     AB_a <= '1';
  72.                     AB_b <= '1';
  73.                     --BLok <= "11";
  74.                     LICZBA<= Set_t;
  75.                     next_state <= q0;  
  76.                        
  77.                 end case;
  78.     end process;
  79.   PROCESS(ABC_LOG)
  80.   BEGIN
  81.    A <= AB_a;
  82.    B <= AB_b;
  83.    L <= LICZBA;
  84.   END PROCESS;
  85. end Behavioral;
Advertisement
Add Comment
Please, Sign In to add comment