Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 3.67 KB | None | 0 0
  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. entity sig_var is
  4.     port(   L1: in bit_vector(3 downto 0);
  5.                 L2: in bit_vector(3 downto 0);
  6.                 L3: in bit_vector(3 downto 0);
  7.                 L4: in bit_vector(3 downto 0);
  8.                 clr, clk: in bit;
  9.                 W1: out bit_vector(6 downto 0);
  10.                 W2: out bit_vector(6 downto 0);
  11.                 W3: out bit_vector(6 downto 0);
  12.                 W4: out bit_vector(6 downto 0);
  13.                 W5: out bit_vector(6 downto 0);
  14.                 W6: out bit_vector(6 downto 0);
  15.                 W7: out bit_vector(6 downto 0);
  16.                 W8: out bit_vector(6 downto 0));
  17. end sig_var;
  18. architecture behv of sig_var is
  19. begin
  20.     proc1: process(L1,L2,L3,L4)
  21.     begin
  22.         case L1 is
  23.             when "0000" => w1 <= "1110111";
  24.             when "0001" => w1 <= "0010010";
  25.             when "0010" => w1 <= "1011101";
  26.             when "0011" => w1 <= "1011011";
  27.             when "0100" => w1 <= "0111010";
  28.             when "0101" => w1 <= "1101011";
  29.             when "0110" => w1 <= "1101111";
  30.             when "0111" => w1 <= "1010010";
  31.             when "1000" => w1 <= "1111111";
  32.             when "1001" => w1 <= "1111011";
  33.             when "1010" => w1 <= "1111110";
  34.             when "1011" => w1 <= "0011111";
  35.             when "1100" => w1 <= "1100101";
  36.             when "1101" => w1 <= "0101111";
  37.             when "1110" => w1 <= "1101101";
  38.             when "1111" => w1 <= "1101100";
  39.         end case;
  40.         case L2 is
  41.             when "0000" => w2 <= "1110111";
  42.             when "0001" => w2 <= "0010010";
  43.             when "0010" => w2 <= "1011101";
  44.             when "0011" => w2 <= "1011011";
  45.             when "0100" => w2 <= "0111010";
  46.             when "0101" => w2 <= "1101011";
  47.             when "0110" => w2 <= "1101111";
  48.             when "0111" => w2 <= "1010010";
  49.             when "1000" => w2 <= "1111111";
  50.             when "1001" => w2 <= "1111011";
  51.             when "1010" => w2 <= "1111110";
  52.             when "1011" => w2 <= "0011111";
  53.             when "1100" => w2 <= "1100101";
  54.             when "1101" => w2 <= "0101111";
  55.             when "1110" => w2 <= "1101101";
  56.             when "1111" => w2 <= "1101100";
  57.         end case;
  58.         case L3 is
  59.             when "0000" => w3 <= "1110111";
  60.             when "0001" => w3 <= "0010010";
  61.             when "0010" => w3 <= "1011101";
  62.             when "0011" => w3 <= "1011011";
  63.             when "0100" => w3 <= "0111010";
  64.             when "0101" => w3 <= "1101011";
  65.             when "0110" => w3 <= "1101111";
  66.             when "0111" => w3 <= "1010010";
  67.             when "1000" => w3 <= "1111111";
  68.             when "1001" => w3 <= "1111011";
  69.             when "1010" => w3 <= "1111110";
  70.             when "1011" => w3 <= "0011111";
  71.             when "1100" => w3 <= "1100101";
  72.             when "1101" => w3 <= "0101111";
  73.             when "1110" => w3 <= "1101101";
  74.             when "1111" => w3 <= "1101100";
  75.         end case;
  76.         case L4 is
  77.             when "0000" => w4 <= "1110111";
  78.             when "0001" => w4 <= "0010010";
  79.             when "0010" => w4 <= "1011101";
  80.             when "0011" => w4 <= "1011011";
  81.             when "0100" => w4 <= "0111010";
  82.             when "0101" => w4 <= "1101011";
  83.             when "0110" => w4 <= "1101111";
  84.             when "0111" => w4 <= "1010010";
  85.             when "1000" => w4 <= "1111111";
  86.             when "1001" => w4 <= "1111011";
  87.             when "1010" => w4 <= "1111110";
  88.             when "1011" => w4 <= "0011111";
  89.             when "1100" => w4 <= "1100101";
  90.             when "1101" => w4 <= "0101111";
  91.             when "1110" => w4 <= "1101101";
  92.             when "1111" => w4 <= "1101100";
  93.         end case;
  94.     end process;
  95.     proc2: process(L1)
  96.     begin
  97.         IF clk= '1' THEN
  98.             case L1 is
  99.                 when "0000" => w5 <= "1110111";
  100.                 when "0001" => w5 <= "0010010";
  101.                 when "0010" => w5 <= "1011101";
  102.                 when "0011" => w5 <= "1011011";
  103.                 when "0100" => w5 <= "0111010";
  104.                 when "0101" => w5 <= "1101011";
  105.                 when "0110" => w5 <= "1101111";
  106.                 when "0111" => w5 <= "1010010";
  107.                 when "1000" => w5 <= "1111111";
  108.                 when "1001" => w5 <= "1111011";
  109.                 when "1010" => w5 <= "1111110";
  110.                 when "1011" => w5 <= "0011111";
  111.                 when "1100" => w5 <= "1100101";
  112.                 when "1101" => w5 <= "0101111";
  113.                 when "1110" => w5 <= "1101101";
  114.                 when "1111" => w5 <= "1101100";
  115.             end case;
  116.         END IF;
  117.     end process;
  118. end behv;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement