목차
1. 실험 내용
2. 실험 결과
2. 실험 결과
본문내용
해 x에서 111 값이 출력될 수 있으므로 주의해야 한다.
when others => x<="000"; -- 취급하지 않는 조합의 입력에 대해 “000”을 출력
end case;
else x<="000"; -- en이 1이 아닌 경우 “000”을 출력
end if;
end process;
end encoder_be_arc;
3-2) Test Bench
library IEEE;
use IEEE.STD_Logic_1164.all;
entity test_enco_be is
end test_enco_be;
architecture test_enco_be_arc of test_enco_be is -- 테스트에 이용 될 시그널 선언
signal EN1 : std_logic;
signal D1 : std_logic_vector(7 downto 0);
signal x1 : std_logic_vector(2 downto 0);
component encoder_be -- 테스트 할 대상인 encoder의 회로 이용을 선언, decoder의 input x와 output d가 반전된 encoder이므로 d를 input, x를 output으로 선언, en은 그대로 input
port(
EN : in Std_logic;
D : in STD_LOGIC_VECTOR (7 downto 0);
x : out STD_LOGIC_VECTOR (2 downto 0));
end component;
begin
key1 : encoder_be
port map(EN1,D1,x1); -- en이 0에서 1로 변하는 동안 d의 입력이 두 번의 주기를 가지고 변할 수 있도록 시간을 맞춰주는 것에 유의해야 했다
EN1<='0','1' after 750 ns;
D1 <=
"00000000",
"00000001" after 50 ns,
"00000010" after 100 ns,
"00000100" after 200 ns,
"00001000" after 300 ns,
"00010000" after 400 ns,
"00100000" after 500 ns,
"01000000" after 600 ns,
"10000000" after 700 ns,
"00000000" after 750 ns,
"00000010" after 800 ns,
"00000100" after 900 ns,
"00001000" after 1000 ns,
"00010000" after 1100 ns,
"00100000" after 1200 ns,
"01000000" after 1300 ns,
"10000000" after 1400 ns;
end test_enco_be_arc;
3-3) Results
얼핏 보면 decoder의 결과 파형과 동일 해 보이지만 여기서 input은 x이므로 x에 대한 d의 변화를 주안점으로 살펴보아야 했다. en이 0인 경우에는 x값이 “000”이고 en이 1인 경우에 한해서 d의 자릿수에 해당되는 2진수가 x로 출력되었다. encoder 입출력 테이블과 동일한 결과를 보였으므로 정상이다.
when others => x<="000"; -- 취급하지 않는 조합의 입력에 대해 “000”을 출력
end case;
else x<="000"; -- en이 1이 아닌 경우 “000”을 출력
end if;
end process;
end encoder_be_arc;
3-2) Test Bench
library IEEE;
use IEEE.STD_Logic_1164.all;
entity test_enco_be is
end test_enco_be;
architecture test_enco_be_arc of test_enco_be is -- 테스트에 이용 될 시그널 선언
signal EN1 : std_logic;
signal D1 : std_logic_vector(7 downto 0);
signal x1 : std_logic_vector(2 downto 0);
component encoder_be -- 테스트 할 대상인 encoder의 회로 이용을 선언, decoder의 input x와 output d가 반전된 encoder이므로 d를 input, x를 output으로 선언, en은 그대로 input
port(
EN : in Std_logic;
D : in STD_LOGIC_VECTOR (7 downto 0);
x : out STD_LOGIC_VECTOR (2 downto 0));
end component;
begin
key1 : encoder_be
port map(EN1,D1,x1); -- en이 0에서 1로 변하는 동안 d의 입력이 두 번의 주기를 가지고 변할 수 있도록 시간을 맞춰주는 것에 유의해야 했다
EN1<='0','1' after 750 ns;
D1 <=
"00000000",
"00000001" after 50 ns,
"00000010" after 100 ns,
"00000100" after 200 ns,
"00001000" after 300 ns,
"00010000" after 400 ns,
"00100000" after 500 ns,
"01000000" after 600 ns,
"10000000" after 700 ns,
"00000000" after 750 ns,
"00000010" after 800 ns,
"00000100" after 900 ns,
"00001000" after 1000 ns,
"00010000" after 1100 ns,
"00100000" after 1200 ns,
"01000000" after 1300 ns,
"10000000" after 1400 ns;
end test_enco_be_arc;
3-3) Results
얼핏 보면 decoder의 결과 파형과 동일 해 보이지만 여기서 input은 x이므로 x에 대한 d의 변화를 주안점으로 살펴보아야 했다. en이 0인 경우에는 x값이 “000”이고 en이 1인 경우에 한해서 d의 자릿수에 해당되는 2진수가 x로 출력되었다. encoder 입출력 테이블과 동일한 결과를 보였으므로 정상이다.
추천자료
제 7장 (결과) 기본 논리 게이트 설계 실험
제 7장 (예비) 기본 논리 게이트 설계 실험
제 8장 (결과) 조합 회로 설계 실험
[전자회로실험] LPF와 HPF 설계 예비레포트
중앙대 전자전기 실험 예비 3학년 전자회로 - 예비6 : DCPowerSupply 설계
[DLD실험2]게이트와 부울대수 및 조합논리 회로
전자회로실험 설계 대역통과필터
기초전기회로실험 - RLC 공진 회로의 설계
[전자회로] A급 증폭기 회로 설계, 시뮬레이션 값 이론값 실험값 비교
[전자회로실험] (결과) 버퍼(Buffer) & 대역통과필터(Band Pass Filter) : OP Amp이용하...
전자회로 설계 및 실험 - 연산증폭기 특성
최신디지털공학실험 제10판 실험 2 논리 프로브 구성 : 7404 인버터 사용한 간단한 논리 프로...
[디지털 회로실험] 1장.기본 논리 게이트 (예비)
Encoder와 Decoder(예비+결과)(기초회로실험)
소개글