Advertisement
hbinderup94

Untitled

Apr 6th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 2.60 KB | None | 0 0
  1. -------------- guess_game2 --------------
  2. library ieee;
  3. use ieee.std_logic_1164.all;
  4.  
  5. entity guess_game2 is
  6.  port(
  7.      inputs     : in std_logic_vector(7 downto 0);
  8.      set        : in std_logic; -- Set predefined value
  9.      show       : in std_logic; -- Show predefined value
  10.      try        : in std_logic; -- Evaluate guess
  11.      player     : in std_logic; -- active player
  12.      hex1       : out std_logic_vector(6 downto 0); -- 7-seg ones
  13.      hex10      : out std_logic_vector(6 downto 0); -- 7-seg tens
  14.      hex_p      : out std_logic_vector(6 downto 0)); -- t-seg player
  15. end guess_game2;
  16.  
  17. architecture structural of guess_game2 is -- signaler til de forskellige entities (player 1 & 2)
  18. signal inputs1              : std_logic_vector(7 downto 0);
  19. signal set1                 : std_logic;
  20. signal show1                : std_logic;
  21. signal try1                 : std_logic;
  22. signal hex1_1               : std_logic_vector(6 downto 0);
  23. signal hex10_1              : std_logic_vector(6 downto 0);
  24. signal inputs2              : std_logic_vector(7 downto 0);
  25. signal set2                 : std_logic;
  26. signal show2                : std_logic;
  27. signal try2                 : std_logic;
  28. signal hex1_2               : std_logic_vector(6 downto 0);
  29. signal hex10_2              : std_logic_vector(6 downto 0);
  30. begin
  31.    
  32.         HEX_player: entity work.bin2hex -- Display til at vise aktiv spiller
  33.             port map(
  34.             bin => "000" & player, -- bin er 4 bit vector, player er std_logic. Vi and'er 3 ekstra 0-bit, så vi altid har 0 eller 1.
  35.             seg => hex_p);
  36.            
  37.     mux_input: process(player, inputs, set, show, try) 
  38.     begin
  39.         if(player = '0') then -- spiller 1 er aktiv; signaler modtager inputs
  40.                 inputs1 <= inputs;
  41.                 set1    <= set;
  42.                 show1   <= show;
  43.                 try1    <= try;
  44.         elsif(player = '1') then -- spiller 2 er aktiv; signaler modtager inputs
  45.                 inputs2 <= inputs;
  46.                 set2    <= set;
  47.                 show2   <= show;
  48.                 try2    <= try;
  49.         end if;
  50.     end process mux_input;
  51.    
  52.         Player_1: entity work.guess_game -- forbindelser forbindes i guess_game entity. Denne er for spiller 1.
  53.                 port map(
  54.                 inputs  => inputs1,
  55.                 set     => set1,
  56.                 show    => show1,
  57.                 try     => try1,
  58.                 hex1    => hex1_1,
  59.                 hex10   => hex10_1);
  60.        
  61.         Player_2: entity work.guess_game -- forbindelser forbindes i guess_game entity. Denne er for spiller 2.
  62.                 port map(
  63.                 inputs  => inputs2,
  64.                 set     => set2,
  65.                 show    => show2,
  66.                 try     => try2,
  67.                 hex1    => hex1_2,
  68.                 hex10   => hex10_2);
  69.    
  70.         mux_hex: process(player, inputs, set, show, try) -- displays aktiveres efter aktiv player. 
  71.     begin
  72.         if(player = '0') then -- spiller 1 er aktiv
  73.                 hex1    <= hex1_1;
  74.                 hex10   <= hex10_1;
  75.         elsif(player = '1') then -- spiller 2 er aktiv
  76.                 hex1    <= hex1_2;
  77.                 hex10   <= hex10_2;
  78.         end if;
  79.     end process mux_hex;
  80.    
  81.  
  82. end structural;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement