목차
(1) 7세그먼트 표시기
(2) BCD(Binary Coded Decimal)
(2) BCD(Binary Coded Decimal)
본문내용
0,3,6,9,.. 일 때 결과 값은 조건에 해당하는 y값이 출력되는 것이다.
※ Increment by : 2 Multiplied by : 4 로 했을 시.
☞ 이 경우는 Increment가 2이고, Multiplied가 4일 때의 결과 그래프이다. 즉, x의 400㎱가 해당하는 시간에 하나의 입력 값이 입력되고 0, 2, 4,.. 와 같이 짝수로 입력되는 경우를 나타낸다. 출력 값은 조건에서 제시해준 것과 동일하게 나타남을 확인할 수 있다.
(2) case 문을 사용한 코드
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity seg7_1 is
port(x:in std_logic_vector(3 downto 0);
y:out std_logic_vector(6 downto 0));
end seg7_1;
architecture beha of seg7_1 is
begin
process(x)
begin
case x is
when \"0000\" => y<=\"1111110\";
when \"0001\" => y<=\"0110000\";
when \"0010\" => y<=\"1101101\";
when \"0011\" => y<=\"1111001\";
when \"0100\" => y<=\"0110011\";
when \"0101\" => y<=\"1011011\";
when \"0110\" => y<=\"1011111\";
when \"0111\" => y<=\"1110000\";
when \"1000\" => y<=\"1111111\";
when \"1001\" => y<=\"1111011\";
when others => y<=\"0000000\";
end case;
end process;
end beha;
<결과 파형>
☞ 이번에는 case문을 사용하여 얻은 그래프와 위에서 조건문으로 작성해서 얻어낸 결과 그래프를 비교해 보았다. 우선 case문을 사용하여 얻어낸 결과 그래프 또한 조건에 적합하게 결과 값을 얻었고, Delay Time을 계산해보면 208.2㎱ - 200.0㎱ = 8.2㎱로서 앞 예제의 실험에서 측정했던 Delay Time과 똑같은 결과 값을 얻었음을 알 수 있다.
이번 실험은 7 segment가 어떻게 구성되었고, 어떻게 작동하는지 작동 원리를 배워보는 실습이었고, 어렵지 않게 이해할 수 있었다. ASIC에 대하여 쉽게 다가갈 수 있도록 해주는 실험이었던 것 같다.
※ Increment by : 2 Multiplied by : 4 로 했을 시.
☞ 이 경우는 Increment가 2이고, Multiplied가 4일 때의 결과 그래프이다. 즉, x의 400㎱가 해당하는 시간에 하나의 입력 값이 입력되고 0, 2, 4,.. 와 같이 짝수로 입력되는 경우를 나타낸다. 출력 값은 조건에서 제시해준 것과 동일하게 나타남을 확인할 수 있다.
(2) case 문을 사용한 코드
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity seg7_1 is
port(x:in std_logic_vector(3 downto 0);
y:out std_logic_vector(6 downto 0));
end seg7_1;
architecture beha of seg7_1 is
begin
process(x)
begin
case x is
when \"0000\" => y<=\"1111110\";
when \"0001\" => y<=\"0110000\";
when \"0010\" => y<=\"1101101\";
when \"0011\" => y<=\"1111001\";
when \"0100\" => y<=\"0110011\";
when \"0101\" => y<=\"1011011\";
when \"0110\" => y<=\"1011111\";
when \"0111\" => y<=\"1110000\";
when \"1000\" => y<=\"1111111\";
when \"1001\" => y<=\"1111011\";
when others => y<=\"0000000\";
end case;
end process;
end beha;
<결과 파형>
☞ 이번에는 case문을 사용하여 얻은 그래프와 위에서 조건문으로 작성해서 얻어낸 결과 그래프를 비교해 보았다. 우선 case문을 사용하여 얻어낸 결과 그래프 또한 조건에 적합하게 결과 값을 얻었고, Delay Time을 계산해보면 208.2㎱ - 200.0㎱ = 8.2㎱로서 앞 예제의 실험에서 측정했던 Delay Time과 똑같은 결과 값을 얻었음을 알 수 있다.
이번 실험은 7 segment가 어떻게 구성되었고, 어떻게 작동하는지 작동 원리를 배워보는 실습이었고, 어렵지 않게 이해할 수 있었다. ASIC에 대하여 쉽게 다가갈 수 있도록 해주는 실험이었던 것 같다.
소개글