Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. library ieee;
  2. library lab2a;
  3. use ieee.std_logic_1164.all;
  4. use ieee.numeric_std.all;
  5. use ieee.std_logic_unsigned.all;
  6.  
  7. entity lab_3 is
  8. Port ( SMAR: in bit;
  9. SMBR: in bit;
  10. WR: in bit;
  11. RD: in bit;
  12. A: in std_logic_vector(32 downto 1);
  13. DO: in std_logic_vector(16 downto 1);
  14. D: inout std_logic_vector(16 downto 1);
  15. AD: out std_logic_vector(32 downto 1);
  16. HEX1 : OUT STD_LOGIC_VECTOR(7 downto 1);
  17. HEX2 : OUT STD_LOGIC_VECTOR(7 downto 1);
  18. DI: out std_logic_vector(16 downto 1);
  19. BU : BUFFER std_logic_vector(32 downto 1);
  20. WROUT: out bit;
  21. RDOUT: out bit;
  22. SMAROUT: out bit;
  23. SMBROUT: out bit);
  24. end lab_3;
  25.  
  26. architecture beh of lab_3 is
  27.  
  28. component lab2a is
  29. port( i : in STD_LOGIC_VECTOR(3 downto 0);
  30. HEX0 : OUT STD_LOGIC_VECTOR(6 downto 0));
  31. end component;
  32.  
  33. signal MAR: std_logic_vector(16 downto 1);
  34. signal MBR: std_logic_vector(16 downto 1);
  35. signal OCB: std_logic_vector(32 downto 1);
  36. begin
  37.  
  38. process(SMAR,A,SMBR,DO,WR,RD)
  39. begin
  40.  
  41. if(SMAR = '1') then BU<=A; --na wyjscie jest A, jesli nie 1 to pamieta
  42. end if;
  43.  
  44. if(SMBR ='1') then D<=DO; --na wyjscie jest DO, jesli nie 1 to pamieta
  45. end if;
  46.  
  47. if(WR = '0') then D<="ZZZZZZZZZZZZZZZZ"; --na wyjscie jest
  48. elsif (WR ='1') then D<=MBR; --na wyjscie jest MBR
  49. end if;
  50.  
  51. if(RD = '1') then MBR<=D; --na wyjscie jest D, jesli nie 1 to pamieta
  52. end if;
  53.  
  54. -- przeslanie danych na wyjscie
  55. AD<=BU;
  56. SMAROUT<=SMAR;
  57. SMBROUT<=SMBR;
  58. WROUT<=WR;
  59. RDOUT<=RD;
  60. end process;
  61.  
  62. Gate: lab2a port map(i =>BU(4 downto 1) , HEX0=>HEX1);
  63. Gate1: lab2a port map(i =>D(4 downto 1) , HEX0=>HEX2);
  64.  
  65. end beh;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement