Advertisement
Guest User

Step 4

a guest
Jan 24th, 2020
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 4.73 KB | None | 0 0
  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. entity four_i_mux is
  4.     port (
  5.         in1 : in std_logic;
  6.         in2 : in std_logic;
  7.         in3 : in std_logic;
  8.         in4 : in std_logic;
  9.         sel1 : in std_logic;
  10.         sel2 : in std_logic;
  11.         result : out std_logic
  12.         );
  13. end;
  14. architecture rt1 of four_i_mux is
  15.     signal temp1, temp2, temp3, temp4, result1, result2 : std_logic;
  16. begin
  17.     temp1 <= in1 and (not sel1);
  18.     temp2 <= in2 and sel1;
  19.    
  20.     result1 <= temp1 or temp2;
  21.    
  22.     temp3 <= in3 and (not sel1);
  23.     temp4 <= in4 and sel1;
  24.    
  25.     result2 <= temp3 or temp4;
  26.    
  27.     result <= result1 when (sel2 = '0') else result2;  
  28.    
  29. end;
  30. library ieee;
  31. use ieee.std_logic_1164.all;
  32. entity tb is end;
  33. architecture tb_arch of tb is
  34.     component four_i_mux is
  35.         port (
  36.             in1 : in std_logic;
  37.             in2 : in std_logic;
  38.             in3 : in std_logic;
  39.             in4 : in std_logic;
  40.             sel1 : in std_logic;
  41.             sel2 : in std_logic;
  42.             result : out std_logic
  43.             );
  44.     end component;
  45.    
  46.     signal in1 :  std_logic;
  47.     signal in2 :  std_logic;
  48.     signal in3 :  std_logic;
  49.     signal in4 :  std_logic;
  50.     signal sel1 :  std_logic;
  51.     signal sel2 :  std_logic;
  52.     signal result :  std_logic;
  53. begin
  54.     entity_instance_1: four_i_mux
  55.         port map(in1,in2,in3,in4,sel1,sel2,result);
  56.    
  57.     process is
  58.     begin
  59.         in1 <= '0';
  60.         in2 <= '0';
  61.         in3 <= '0';
  62.         in4 <= '0';
  63.         sel1 <= '0';
  64.         sel2 <= '0';
  65.         wait for 10 ps;
  66.         in1 <= '1';
  67.         in2 <= '0';
  68.         in3 <= '0';
  69.         in4 <= '0';
  70.         sel1 <= '0';
  71.         sel2 <= '0';
  72.         wait for 10 ps;
  73.         in1 <= '0';
  74.         in2 <= '1';
  75.         in3 <= '0';
  76.         in4 <= '0';
  77.         sel1 <= '0';
  78.         sel2 <= '0';
  79.         wait for 10 ps;
  80.         in1 <= '0';
  81.         in2 <= '0';
  82.         in3 <= '1';
  83.         in4 <= '0';
  84.         sel1 <= '0';
  85.         sel2 <= '0';
  86.         wait for 10 ps;
  87.         in1 <= '0';
  88.         in2 <= '0';
  89.         in3 <= '0';
  90.         in4 <= '1';
  91.         sel1 <= '0';
  92.         sel2 <= '0';
  93.         wait for 10 ps;
  94.         in1 <= '0';
  95.         in2 <= '0';
  96.         in3 <= '0';
  97.         in4 <= '0';
  98.         sel1 <= '1';
  99.         sel2 <= '0';
  100.         wait for 10 ps;
  101.         in1 <= '0';
  102.         in2 <= '0';
  103.         in3 <= '0';
  104.         in4 <= '0';
  105.         sel1 <= '0';
  106.         sel2 <= '1';
  107.         wait for 10 ps;
  108.         in1 <= '1';
  109.         in2 <= '1';
  110.         in3 <= '0';
  111.         in4 <= '0';
  112.         sel1 <= '0';
  113.         sel2 <= '0';
  114.         wait for 10 ps;
  115.         in1 <= '0';
  116.         in2 <= '1';
  117.         in3 <= '1';
  118.         in4 <= '0';
  119.         sel1 <= '0';
  120.         sel2 <= '0';
  121.         wait for 10 ps;
  122.         in1 <= '0';
  123.         in2 <= '0';
  124.         in3 <= '1';
  125.         in4 <= '1';
  126.         sel1 <= '0';
  127.         sel2 <= '0';
  128.         wait for 10 ps;
  129.         in1 <= '0';
  130.         in2 <= '0';
  131.         in3 <= '0';
  132.         in4 <= '1';
  133.         sel1 <= '1';
  134.         sel2 <= '0';
  135.         wait for 10 ps;
  136.         in1 <= '0';
  137.         in2 <= '0';
  138.         in3 <= '0';
  139.         in4 <= '0';
  140.         sel1 <= '1';
  141.         sel2 <= '1';
  142.         wait for 10 ps;
  143.         in1 <= '1';
  144.         in2 <= '1';
  145.         in3 <= '1';
  146.         in4 <= '0';
  147.         sel1 <= '0';
  148.         sel2 <= '0';
  149.         wait for 10 ps;
  150.         in1 <= '0';
  151.         in2 <= '1';
  152.         in3 <= '1';
  153.         in4 <= '1';
  154.         sel1 <= '0';
  155.         sel2 <= '0';
  156.         wait for 10 ps;
  157.         in1 <= '0';
  158.         in2 <= '0';
  159.         in3 <= '1';
  160.         in4 <= '1';
  161.         sel1 <= '1';
  162.         sel2 <= '0';
  163.         wait for 10 ps;
  164.         in1 <= '0';
  165.         in2 <= '0';
  166.         in3 <= '0';
  167.         in4 <= '1';
  168.         sel1 <= '1';
  169.         sel2 <= '1';
  170.         wait for 10 ps;
  171.         in1 <= '1';
  172.         in2 <= '1';
  173.         in3 <= '1';
  174.         in4 <= '1';
  175.         sel1 <= '0';
  176.         sel2 <= '0';
  177.         wait for 10 ps;
  178.         in1 <= '0';
  179.         in2 <= '1';
  180.         in3 <= '1';
  181.         in4 <= '1';
  182.         sel1 <= '1';
  183.         sel2 <= '0';
  184.         wait for 10 ps;
  185.         in1 <= '0';
  186.         in2 <= '0';
  187.         in3 <= '1';
  188.         in4 <= '1';
  189.         sel1 <= '1';
  190.         sel2 <= '1';
  191.         wait for 10 ps;
  192.         in1 <= '0';
  193.         in2 <= '1';
  194.         in3 <= '0';
  195.         in4 <= '1';
  196.         sel1 <= '0';
  197.         sel2 <= '1';
  198.         wait for 10 ps;
  199.         in1 <= '0';
  200.         in2 <= '1';
  201.         in3 <= '0';
  202.         in4 <= '0';
  203.         sel1 <= '1';
  204.         sel2 <= '0';
  205.         wait for 10 ps;
  206.         in1 <= '0';
  207.         in2 <= '0';
  208.         in3 <= '1';
  209.         in4 <= '0';
  210.         sel1 <= '0';
  211.         sel2 <= '1';
  212.         wait;
  213.    end process;
  214. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement