형들 vhdl을 이용해서 segment 로 학번출력해야대는데 좀와주세요!


LIBRARY IEEE;

USE IEEE.std_logic_1164.all;

USE IEEE.std_logic_arith.all;

USE IEEE.std_logic_unsigned.all;


ENTITY test1029 IS

port(

  clk, clear  : in std_logic;

  --data_in  : in std_logic_vector( 3 downto 0 );

  seg_data_out: out std_logic_vector ( 6 downto 0));

end test1029;


architecture main of test1029 is

signal data_in : std_logic_vector( 3 downto 0 );

begin

process (clear, clk)

variable cnt : std_logic_vector( 3 downto 0 );

begin

  if clear = '1' then

   cnt := "0000";

  elsif clk'event and clk = '1' then

   cnt := cnt + '1';

  end if;

  data_in <= cnt;

end process;

process(data_in)

begin

  if data_in = "0000" then   --0

   seg_data_out <= "1111110";  

  elsif data_in = "0001" then   --1

   seg_data_out <= "0110000";

  elsif data_in = "0010" then  --2

   seg_data_out <= "1101101";

  elsif data_in = "0011" then  --3

   seg_data_out <= "1111001";

  elsif data_in = "0100" then  --4

   seg_data_out <= "0110011";

  elsif data_in = "0101" then  --5

   seg_data_out <= "1011011";

  elsif data_in = "0110" then  --6

   seg_data_out <= "1011111";

  elsif data_in = "0111" then  --7

   seg_data_out <= "1110000";

  elsif data_in = "1000" then  --8

   seg_data_out <= "1111111";

  elsif data_in = "1001" then  --9

   seg_data_out <= "1110011";

  elsif data_in = "1010" then  --A

   seg_data_out <= "1110111";

  elsif data_in = "1011" then  --b

   seg_data_out <= "0011111";

  elsif data_in = "1100" then  --C

   seg_data_out <= "1001110";

  elsif data_in = "1101" then  --d

   seg_data_out <= "0111101";

  elsif data_in = "1110" then  --E

   seg_data_out <= "1001111";

  elsif data_in = "1111" then  --F

   seg_data_out <= "1000111";

  END IF;

END PROCESS;

END main;



이런 vhdl 소스가있는데 이소스 구동원리가 뭘나태는지도 해석해줄수잇나요


대충 이런식의 코드를 이용해서 학번을 나타내는거같은데    진수표현으로따지면 3이면 0011 일거고


좀 귀찮으시더라도 요거 이용해서 segment 활용해서 학번이 나올수있게 출력하는방법좀 도와주세요 부탁드립니다.


tkdwns3133@naver.com 요기로 완성하신소스코드좀 보내주세요 저진짜 절실해요..이거 이번주에 과제거든요..


힘드시면소스만 보내주셔도 대고 시간되시면 위에파일 소스를 해석하는법?이라도 알려주세요..