Advertisement
Guest User

calosc

a guest
May 19th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 3.27 KB | None | 0 0
  1. ----------------------------------------------------------------------------------
  2. -- Company:
  3. -- Engineer:
  4. --
  5. -- Create Date:    13:06:52 05/25/2016
  6. -- Design Name:
  7. -- Module Name:    multiplekser - Behavioral
  8. -- Project Name:
  9. -- Target Devices:
  10. -- Tool versions:
  11. -- Description:
  12. --
  13. -- Dependencies:
  14. --
  15. -- Revision:
  16. -- Revision 0.01 - File Created
  17. -- Additional Comments:
  18. --
  19. ----------------------------------------------------------------------------------
  20. library IEEE;
  21. use IEEE.STD_LOGIC_1164.ALL;
  22. use IEEE.numeric_std.ALL;
  23. use IEEE.STD_LOGIC_unsigned.ALL;
  24.  
  25. -- Uncomment the following library declaration if using
  26. -- arithmetic functions with Signed or Unsigned values
  27. --use IEEE.NUMERIC_STD.ALL;
  28.  
  29. -- Uncomment the following library declaration if instantiating
  30. -- any Xilinx primitives in this code.
  31. --library UNISIM;
  32. --use UNISIM.VComponents.all;
  33.  
  34. entity multiplekser is
  35.     Port ( segCode : inout  STD_LOGIC_VECTOR (7 downto 0);
  36.            segLine : inout  STD_LOGIC_VECTOR (3 downto 0);
  37.               CLK, LOAD : in STD_LOGIC;
  38.               carry : inout STD_LOGIC_VECTOR(4 downto 0);
  39.               minuty_U : inout STD_LOGIC
  40.               );
  41.              
  42. end multiplekser;
  43.  
  44. architecture Behavioral of multiplekser is
  45.  
  46. signal REFRESH_S0 : STD_LOGIC;
  47.  
  48. signal WEJSCIE_DEKODERA : STD_LOGIC_VECTOR(3 downto 0);
  49.  
  50. signal POZ_L : STD_LOGIC_VECTOR(1 downto 0);
  51. signal DEKODER_VAL : STD_LOGIC_VECTOR(3 downto 0);
  52. signal MINUTES_J_ENABLE : STD_LOGIC;
  53. signal MINUTES_J : STD_LOGIC_VECTOR(3 downto 0);
  54. signal MINUTES_D_ENABLE : STD_LOGIC;
  55. signal MINUTES_D : STD_LOGIC_VECTOR(3 downto 0);
  56.  
  57. signal HOUR_J_ENABLE : STD_LOGIC;
  58. signal HOUR_J : STD_LOGIC_VECTOR(3 downto 0);
  59.  
  60. signal HOUR_D_ENABLE : STD_LOGIC;
  61. signal HOUR_D : STD_LOGIC_VECTOR(3 downto 0);
  62.  
  63.     COMPONENT licznik10
  64.     PORT(
  65.         clock : IN std_logic;
  66.         EN : IN std_logic;
  67.         reset : IN std_logic;      
  68.         carry : INOUT std_logic;
  69.         wyjscie : INOUT std_logic_vector(3 downto 0)
  70.         );
  71.     END COMPONENT;
  72.    
  73.     COMPONENT prescaler
  74.     PORT(
  75.         CLK : IN std_logic;
  76.         LOAD : IN std_logic;
  77.         line : inout STD_LOGIC_VECTOR(1 downto 0);
  78.         minuty_J : inout STD_LOGIC_VECTOR(3 downto 0);
  79.         minuty_D : inout STD_LOGIC_VECTOR(3 downto 0);
  80.         godziny_J : inout STD_LOGIC_VECTOR(3 downto 0);
  81.         godziny_D : inout STD_LOGIC_VECTOR(3 downto 0);    
  82.         minuty_UP : inout STD_LOGIC;
  83.         refresh : INOUT std_logic
  84.         );
  85.     END COMPONENT;
  86.    
  87.     COMPONENT dekoder
  88.     PORT(
  89.         wejscie : IN std_logic_vector(3 downto 0);      
  90.         poz_licz : INOUT std_logic_vector(1 downto 0);
  91.         wlacznik : INOUT std_logic_vector(3 downto 0);
  92.         wyjscie : INOUT std_logic_vector(6 downto 0)
  93.         );
  94.     END COMPONENT;
  95.    
  96. begin
  97.  
  98.     Presc: prescaler PORT MAP(
  99.         refresh => REFRESH_S0,
  100.         line => POZ_L,
  101.         minuty_J => MINUTES_J,
  102.         minuty_D => MINUTES_D,
  103.         godziny_J => HOUR_J,
  104.         godziny_D => HOUR_D,
  105.         minuty_UP => minuty_U,
  106.         CLK => CLK,
  107.         LOAD => LOAD
  108.     );
  109.    
  110.     with POZ_L select
  111.         WEJSCIE_DEKODERA <=     MINUTES_J when "00",
  112.                                     MINUTES_D when "01",
  113.                                     HOUR_J when "10",
  114.                                     HOUR_D when "11",
  115.                                     MINUTES_J when others;
  116.    
  117.         dekod: dekoder PORT MAP(
  118.         poz_licz => POZ_L,
  119.         wlacznik => segLine,
  120.         wejscie => WEJSCIE_DEKODERA,
  121.         wyjscie => segCode(7 downto 1)
  122.     );
  123.    
  124.     with POZ_L select
  125.         segCode(0) <=   REFRESH_S0 when "00",
  126.                             '1' when others;
  127.    
  128. end Behavioral;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement