*현*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 34
검색어 입력폼
  • 반가산기 전가산기 설계
    1장. 설계(실험) 배경 및 목표VHDL 을 이용하여 HALF ADDER (반가산기) 를 설계한다. - 설계방법 : Behavioral Modeling - 시뮬레이션 방법 : Test bench를 이용 한다. FULL ADDER (전가산기) 를 설계한다. - 설계방법 : Behavioral Modeling - 시뮬레이션 방법 : Test module, Test Bench, Test Bench Waveform를 이용 한다.2장. 관련 기술 및 이론반가산기 (HALF ADDER) - 1비트의 2진수를 2개 더하는 논리회로 - 2개의 입력과 출력으로 구성 ( 입력 : x, y 출력 : s(sum), c(carry) ) - s = x xor y - c = x and yHAxyscTruth Tablexysc*************1012장. 관련 기술 및 이론Half Adder Moduleentity halfadder is Port ( x : in STD_LOGIC; --입력과 출력 포트를 설정해 주는 y : in STD_LOGIC; --부분이다. 입력으로는 x, y를 갖 s : out STD_LOGIC; --고 출력으로는 s, c를 갖는다. c : out STD_LOGIC); end half_adder; architecture Behavioral of halfadder is begin s = x xor y; --출력 s에는 x와 y를 xor 한 값을 입력한다. c = x and y; --출력 x에는 x와 y를 and 한 값을 입력한다. end Behavioral;2장. 관련 기술 및 이론전가산기(FULL ADDER) - 설계방법 : Full Adder의 동작에 따라 설계 - 1비트의 2진수를 3개 더하는 논리회로 - 3개의 입력과 출력으로 구성 ( 입력 : x, y, ci(carry in) 출력 : s(sum), co(carry) ) - s = x xor y xor ci - c = (x and y) or (x and ci) or (y and ci)FAxciscoyxycisco0**************************1011100111111Truth Table2장. 관련 기술 및 이론Full Adder Moduleentity test_fulladder is port ( x : in STD_LOGIC; --입력과 출력을 지정해주 y : in STD_LOGIC; --는 부분으로 입력은 x, y, ci : in STD_LOGIC --ci를 갖고 출력으로는 s, s : out STD_LOGIC; --co를 갖는다. co : out STD_LOGIC); end test_fulladder; architecture Behavioral of test_fulladder is begin s = x xor y xor ci; --출력 s에는 x,y,ci를 각각 xor한 --값을 넣는다. co = (x and y) --출력 co에는 x and y, x and ci, or (x and ci) --y and ci 한뒤 각각 or한값을 or (y and ci); --대입한다. end Behavioral;3장. 설계(실험) 내용 및 방법Behavioral Modeling 방법을 이용 하여 반가산기(half adder)와 전가산기( full adder) 를 설계 한 후 결과를 확인 한다. Simulation 방법 1) half adder - Test bench 2) full adder - Test module, Test bench, Test bench Waveform4장. 설계(실험) 결과1. 반가산기 (Half Adder)반가산기(Half Adder)의 Behavioral Module Modeling begin s = x xor y; c = x and y; end Behavioral;4장. 설계(실험) 결과반가산기 (Half Adder)2) Test Bench Simulation을 이용한다. Begin 과 End process 사이에 실제 어떻게 동작할지 지정한다.BEGIN x = '0'; y = '0'; wait for 10 ns; x = '0'; y = '1'; wait for 10 ns; x = '1'; y = '0'; wait for 10 ns; x = '1'; y = '1'; wait for 10 ns; END PROCESS;4장. 설계(실험) 결과반가산기 (Half Adder) ( Test Bench Simulation)3) 입력 값 X - 0, 0, 1, 1 / Y - 0, 1, 0, 1에 따른 결과 값 S - 1, 1, 1, 0 / C – 0, 0, 0, 1 을 확인할수 있다. 결과 값이 우리가 예상했던 값과 일치함을 확인할 수 있었다.4장. 설계(실험) 결과전가산기(Full Adder)의 Behavioral Module Modeling begin s = x xor y xor ci ; c = (x and y) or (x and ci) or (y and ci); end Behavioral;2. 전가산기 (Full Adder)4장. 설계(실험) 결과1) 각 포트 값을 변화 시켜 가면서 결과를 확인한다.2. 전가산기 (Full Adder) - 1) Test Module4장. 설계(실험) 결과2. 전가산기 (Full Adder) - 2) Test Bench SimulationBegin 과 End process 사이에 실제 어떻게 동작할지 지정한다.4장. 설계(실험) 결과2. 전가산기 (Full Adder) - 2) Test Bench Simulation2) 입력 값 X - 0, 0, 0, 0, 1, 1, 1, 1 Y - 0, 0, 1, 1, 0, 0, 1, 1 ci – 0, 1, 0, 1, 0, 1, 0, 1 에 따른 결과 값 S - 0, 1, 1, 0, 1, 0, 0, 1 co - 0, 0, 0, 1, 0, 1, 1, 1 을 확인할수 있다. 결과 값이 우리가 예상했던 값과 일치함을 확인할 수 있었다.4장. 설계(실험) 결과2. 전가산기 (Full Adder) - 3) Test Bench Waveform1) 파란 부분을 클릭하여 파형을 반전시키며, 원하는 파형을 만든다. 파형 입력이 끝나면 파란 세로선을 움직여 Simulation 의 끝나는 지점을 설정해 준다.4장. 설계(실험) 결과2. 전가산기 (Full Adder) - 3) Test Bench Waveform2) 입력 값 X - 0, 0, 0, 0, 1, 1, 1, 1 Y - 0, 0, 1, 1, 0, 0, 1, 1 ci – 0, 1, 0, 1, 0, 1, 0, 1 에 따른 결과 값 S - 0, 1, 1, 0, 1, 0, 0, 1 co - 0, 0, 0, 1, 0, 1, 1, 1 을 확인한다. 입력된 파형과 동일하게 시뮬레이션 되었는지 확인한다.결과 값이 우리가 예상했던 값과 일치함을 확인하였다.5장. 토의이번 설계(실험)은 VHDL을 이용하여 반가산기(Half Adder)와 전가산기(Full Adder)를 설계하는 실습이었다. 지금까지 해왔던 실습들을 잘 따라왔다면 누구나 쉽게 할 수 있는 실습이었다. 하지만 아직도 프로그램을 이용하여 VHDL을 설계하는 것이 조금은 익숙치 않았기 때문에 지금까지의 강의안들을 참고하면서 실험을 진행하였다. Simulation 방법들인 Test module, Test bench, Test bench waveform 의 사용법이 익숙하지 않아서 강의안을 참고하느라 조금 시간이 걸렸다. 역시 이번 실습에서도 저번에 했던 실수처럼 시뮬레이터를 작동시키기 전 Synthesize와 Implement Design을 활성화시키지 않아 시뮬레이션이 제대로 이루어지지 않았다. 한 번 경험했던 문제이기에 바로 해결하고 실험을 진행할 수 있었다.5장. 토의 (계속)반가산기는 진리표를 보고 쉽게 구현할 수 있었으며, 전가산기 또한 반가산기를 응용하여 쉽게 구현할 수 있었다. 전가산기 코딩 도중 몇 차례 에러 메시지가 나타났었는데, 입력 변수와 출력 변수의 port 값과 사용 값이 미세하게 다른 것으로 파악되어 몇 차례 수정 후 설계를 진행하였다. 반가산기와 전가산기를 구현 해보았기에 논리회로 시간에 배웠던 전가산기를 이용한 4-bit Binary Adder 도 구현 할 수 있을 것이라 생각된다. 4-bit Binary Adder 에서는 component 와 port map 을 이용하여 structural description 을 구현하는 것으로 기억되기에 이를 응용하여 복습한다면 도움이 많이 될 것 같다.{nameOfApplication=Show}
    공학/기술| 2010.09.09| 17페이지| 2,000원| 조회(599)
    미리보기
  • 멀티플랙서 비교기 설계
    1장. 설계(실험) 배경 및 목표VHDL 을 이용한 멀티플렉서 설계 - 2x1 mux 또는 4x1 mux를 사용하여 8x1 mux를 구성한다. - 시뮬레이션 방법 : Test bench waveform 이용 4비트 비교기(4-bit comparator) 설계 - If문을 사용 - 시뮬레이션 방법 : Test Bench Waveform 이용2장. 관련 기술 및 이론멀티플렉서(MUX : multiplexer) - 복수개의 입력선으로 부터 필요한 데이터를 선택하여 하나의 출력선으로 내보내는 회로이다. - 진리표에서 입력 s1, s0는 선택신호로, s1s0=00일 경우 입력 I0의 값이 출력 Y로 나가며, s1s0=01일 경우에는 입력 I1의 값이, s1s0=10일 경우에는 입력 I2의 값이, s1s0=11일 경우에는 입력 I3의 값이 출력 Y로 나가게 됨을 나타낸다.2장. 관련 기술 및 이론멀티플렉서(MUX : multiplexer) - 소수의 채널 또는 선로에 다수의 정보단위를 전송하고자 할 때 이용 - 멀티플렉서의 크기는 입력선의 수 2n과 단일 출력선에 의해 규정 n개의 선택선을 포함12344(22)개의 디지털 입력신호한 선의 출력2개의 선택선이 필요2장. 관련 기술 및 이론4비트 비교기(4-bit comparator) 설계 - 두개의 n비트 2진수를 비교하고 이들이 같은지, 같지 않다면 어느것이 더 큰지를 결정하는 비교기 설계 - 비교할 두 개의 2진수를 각각 X=x1x2…xn 과 Y=y1y2…yn 라고 한다 - 비교는 왼쪽에서 오른쪽으로 진행된다. 첫번째 셀에서 x1과 y1을 비교하고 그결과를 다음 셀로 넘겨주고 두번째 셀에서는 x2와 y2를 비교한다. .2장. 관련 기술 및 이론4비트 비교기(4-bit comparator) 설계 - 마지막으로 n-번째셀에서 xn,yn이 비교된다. - 출력회로는 X=Y, X Y, X Y 을 나타내는 신호를 발생시킨다.2장. 관련 기술 및 이론멀티플렉서(MUX : multiplexer) 1) 2x1 MUXprocess(a,b저 2x1 MUX를 구현한다. If문은 process 내에서 사용될 수 있는 순차 처리문이므로 이를 사용하기 위해 process를 사용한다. Sensitivity-list에는 입력 a,b,sel을 지정한다. IF 문을 이용하여 순차처리문을 만든다. Sel이 0일 때 y에 a가 할당되고 1인 경우 b가 할당된다.2장. 관련 기술 및 이론멀티플렉서(MUX : multiplexer) 2) 8x1 MUXentity mux2 is Port ( i : in STD_LOGIC_VECTOR (7 downto 0); s : in STD_LOGIC_VECTOR (2 downto 0); o : out STD_LOGIC); end mux2; architecture Behavioral of mux2 is component mux21 Port ( a : in STD_LOGIC; b : in STD_LOGIC; sel : in STD_LOGIC; y : out STD_LOGIC); end component;2장. 관련 기술 및 이론멀티플렉서(MUX : multiplexer) 2) 8x1 MUXsignal tmp : STD_LOGIC_VECTOR (5 downto 0); begin m1 : mux21 port map (i(0), i(1), s(0), tmp(0)); m2 : mux21 port map (i(2), i(3), s(0), tmp(1)); m3 : mux21 port map (i(4), i(5), s(0), tmp(2)); m4 : mux21 port map (i(6), i(7), s(0), tmp(3)); m5 : mux21 port map (tmp(0), tmp(1), s(1), tmp(4)); m6 : mux21 port map (tmp(2), tmp(3), s(1), tmp(5)); m7 : mux21 port map (tmp(4), tmp(5), s(2), o); end Behavioral;2장. 관련 기술 및 이론멀티플렉서(MUX : multiplexer) 2) 8x 0 으로 한다. 2) 아키텍처 내부에서 2x1 mux 를 컴포넌트로 선언한다. 입출력 포트 신호는 앞에서 코딩했던 2x1 mux와 같다. 컴포넌트 선언 후 6-비트 내부 캐리 신호 tmp를 비트 벡터(STD_LOGIC_VECTOR ) 로 선언하고, 범위는 5 downto 0 으로 한다 6) 아키텍처 몸체에서는 2x1 mux 컴포넌트를 여러 개 복사하여 instance를 만든다.각 복사본은 m1 ~ m7의 이름과 포트맵을 갖는다. 7) 포트 맵 다음에 오는 신호 이름들은 컴포넌트 포트에 있는 신호들과 일대일로 대응한다. 포트 맵에서 신호의 순서는 컴포넌트 선언의 포트에 나열되어 있는 신호의 순서와 같아야한다.2장. 관련 기술 및 이론Entity comp is port ( a: in STD_LOGIC_VECTOR (3 downto 0); b: in STD_LOGIC_VECTOR (3 downto 0); eq : out STD_LOGIC ; agb : out STD_LOGIC ; alb : out STD_LOGIC ); End comp;비교기 설계4bit를 기교해야 하므로 a, b의 크기는 3 downto 0 의 백터 값으로 지정해준다. Eq, agb, alb 는 1비트로 지정한다.2장. 관련 기술 및 이론architecture dydaja of comp is Begin process(a,b) begin if (a=b) then eq ='1'; agb ='0'; alb ='0';비교기 설계다중 if문을 사용하여 a와 b의 값을 비교해 준다. 만약 a,b가 같다면 Eq = 1, agb, alb =0 을 선언해 준다.2장. 관련 기술 및 이론elseif (a b) then eq ='0'; agb ='1'; alb ='0'; else eq ='0'; agb ='0'; alb ='1'; end if; end process; End dydqja비교기 설계a b를 만족한다면, Eq , alb =0 , agb=1 을 선언해 준다. 그외의 경우 즉 a b일경우 Eq, agb=0개) 를 사용하여 8x1 MUX설계멀티플렉서 예제 진리표I0I1I2I3I4I5I6I7O3장. 설계(실험) 내용 및 방법1. 멀티플렉서(MUX : multiplexer) - 위에 주어진 entity 사용 할 것 - 2x1 mux(or 4x1 mux)를 사용하여 8x1 mux를 구성할 것 Component/port map 구문 사용 - Simulation 방법은 세가지 방법 중 택 일.entity mux8 is port( i : in std_logic_vector( 7 downto 0 ); s : in std_logic_vector( 2 downto 0 ); o : out std_logic ); end entity mux8;4장. 설계(실험) 결과먼저 2x1 MUX를 구현한다.  코드의 사용은 이론에서 설명1. 멀티플렉서(MUX : multiplexer)4장. 설계(실험) 결과앞에서 설계한 2x1 MUX를 사용하여 8x1 MUX를 구성한다. component와 port map 구문을 사용한다.  코드의 자세한 내용은 이론에서 설명1. 멀티플렉서(MUX : multiplexer)4장. 설계(실험) 결과1. 멀티플렉서(MUX : multiplexer) - Test bench waveform1) 파란 부분을 클릭하여 파형을 반전시키며, 원하는 파형을 만든다. s2s1s0 는 000부터 111까지 증가시켰고 i의 값들은 위와 같다. 파형 입력이 끝나면 파란 세로선을 움직여 Simulation 의 끝나는 지점을 설정해 준다.4장. 설계(실험) 결과입력 값에 따른 결과 값을 확인한다. 입력된 파형과 동일하게 시뮬레이션 되었는지 확인한다. 결과 값이 우리가 예상했던 값과 일치함을 확인하였다1. 멀티플렉서(MUX : multiplexer) - Test bench waveform3장. 설계(실험) 내용 및 방법2. 4비트 비교기(4-bit comparator) 설계 - 위의 비교기 이론을 이용 A,B의 값을 비교한다. - 두 입력이 같으면 EQ='1', AGB='0', ALB100A B010A B0014장. 설계(실험) 결과2. 4비트 비교기(4-bit comparator) 설계다중 if modeling if (a=b) then eq ='1'; agb ='0'; alb ='0'; 입력되는 값을 비교한 후 같으면 eq, agb ,alb 에 알맞은 값을 대입한다.4장. 설계(실험) 결과- 파란 부분을 클릭하여 파형을 반전시키며, 원하는 파형을 만든다. 파형 입력이 끝나면 파란 세로선을 움직여 Simulation 의 끝나는 지점을 설정해 준다.2. 4비트 비교기(4-bit comparator) 설계4장. 설계(실험) 결과- 입력 값 a, b 따른 결과 값 이 제시된 진리 표의 값을 만족함을 확인할 수 있다.2. 4비트 비교기(4-bit comparator) 설계5장. 토의이번 VHDL실습은 멀티플렉서(MUX : multiplexer)와 4비트 비교기(4-bit comparator) 를 설계해 보는 실습이었다. 멀티 플렉서를 설계할 때는 2x1 mux 나 4x1 mux를 사용, component와 port map 구문을 이용하여 설계하였다. 우선 멀티 플렉서는 설계는 바로 전 시간인 디코더 설계와 상당히 비슷한 부분이 많이 있어서 쉽게 실습할 수 있었다. 우리는 4x1 mux를 사용하지 않고 2x1 mux 7개를 사용하는 mux를 구상하였다. 다만 설계 도중 다음과 같은 에러메시지를 얻을 수 있었다.5장. 토의메시지의 원인은 내부 시그널을 설정할 때 signal tmp : bit_VECTOR (5 downto 0); 라고 타입을 선언하고 진행하였기 때문에 밑에서 설정되는 포트 타입인 STD_LOGIC 과 맞지 않아 생기는 문제라고 생각되어 signal tmp : STD_LOGIC_VECTOR (5 downto 0); 로 수정한 결과 문제 없이 컴파일되었다.5장. 토의4비트 비교기(4-bit comparator) 는 if와 elsif 문을 이용하여 쉽게 구현할 수 있었다. 각 비트 별로 하나씩 비교할 것인가 아니면 전체 비트를 비교 할 것how}
    공학/기술| 2010.09.09| 25페이지| 2,000원| 조회(542)
    미리보기
  • 디코더 인코더 설계
    1 장 . 설계 ( 실험 ) 배경 및 목표 VHDL 을 이용한 디 코더 (Decoder) 설계 - Case 와 With ~ Select 문을 사용 - 시뮬레이션 방법 : Test bench waveform 이용 인 코더 ( Encoder) 설계 - 다중 If 문 , When ~ Else 문을 사용 - 시뮬레이션 방법 : Test Bench Waveform 이용2 장 . 관련 기술 및 이론 디코더 (Decoder) - 컴퓨터 내부에서 디지털로 코드화된 데이터를 해독하여 그에 대응되는 아날로그 신호로 바꿔주는 컴퓨터 회로 - 인코더의 반대개념으로 디코더라고도 하고 , 데이터를 본래 형태로 바꿔준다는 의미에서 복호기라고도 한다 . - 간단히 말해서 부호화된 정보를 복호화하는데 사용2 장 . 관련 기술 및 이론 디코더 (Decoder) - 간단히 말해서 부호화된 정보를 복호화하는데 사용 - N bit 2 진 code = 2 n 개의 서로 다른 정보 - 3x8 Decoder : 입력이 3 개인 신호에 따라서 0,1,2,3,4,5,6,7 이라는 4 개의 출력이 있으며 1 개만 활성화가 된다 . Z X D(7) y D(0) D(6) D(5) D(4) D(3) D(2) D(1) 3 x 8 x y z D(0) D(1) D(2) D(3) D(4) D(5) D(6) D(7) 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 12 장 . 관련 기술 및 이론 architecture behavioral of decoder_case is begin process( sel ) begin case sel is when 000 = d = 00000001”; -- 입력값이 “000” 일때 d 에 “00000001” 을 입력한다 . wherchitecture behavioral of decoder_with_selct is begin with sel select d = 00000001” when 000“, -- 입력값을 비교해서 00000010” when 001“ , -- “???” 과 같은면 00000100” when 010 , -- d 에 “???????” 을 00001000” when 011“ , -- 입력해 준다 . 00010000“ when 100“ , 00100000” when 101“ , 01000000” when 110“ , 10000000 when others ; end behavioral; Sel 에 입력되는 값을 When 뒤의 값과 비교해서 같을 때 d 에 알맞은 값을 입력하다 . 디 코더 (Decoder) 2 ) with_select 문2 장 . 관련 기술 및 이론 인코더 (Encoder) - Decoder 의 역 (inverse) 산술을 수행 - 2 n 개 이하의 입력선과 n 개의 출력선 - 입력 신호를 특정한 코드로 변환하는 회로2 장 . 관련 기술 및 이론 인코더 (Encoder) 1) 다중 If 문 entity encoder_if is Port ( d : in STD_LOGIC_VECTOR (7 downto 0); a : out STD_LOGIC_VECTOR (2 downto 0)); end encoder_if ; architecture Behavioral of encoder_if is begin process(d) begin 먼저 인코더를 엔티티로 선언한다 . ( encoder_if ) 입력은 8 비트 , 출력은 3 비트이기 때문에 비트 벡터 ( STD_LOGIC_VECTOR) 로 선언하고 , 범위는 각각 7 downto 0 //2 downto 0 으로 한다 . If 문은 process 내에서 사용될 수 있는 순차 처리문이므로 이를 사용하기 위해 process 를 사용한다 . Sensitivity-list 에는 입력 d 를 지정한다 .2 장 . 관련 기술 및 이론 . 각각의 if 는 대응되는 end if 가 필요하지만 , elsif 는 대응되는 것이 필요없다 .2 장 . 관련 기술 및 이론 인코더 (Encoder) 2 ) when-else 문 entity encoder_when_else is Port ( d : in STD_LOGIC_VECTOR (7 downto 0); a : out STD_LOGIC_VECTOR (2 downto 0)); end encoder_when_else ; architecture Behavioral of encoder_when_else is begin 먼저 인코더를 엔티티로 선언한다 . ( encoder_when_else ) 입력은 8 비트 , 출력은 3 비트이기 때문에 비트 벡터 ( STD_LOGIC_VECTOR) 로 선언하고 , 범위는 각각 7 downto 0 //2 downto 0 으로 한다 .2 장 . 관련 기술 및 이론 인코더 (Encoder) 2 ) when-else 문 a =000 when d=00000001 else 001 when d=00000010 else 010 when d=00000100 else 011 when d=00001000 else 100 when d=00010000 else 101 when d=00100000 else 110 when d=01000000 else 111; end Behavioral; When_else 를 사용하여 조건적 신호 할당문을 만든다 . 이 병행 처리문은 표현이나 조건에서 사용된 신호들 중 어느 하나라도 변하면 실행된다 . D 의 조건중에 참이 있다면 , a 는 그 값에 할당된 값과 같게 셋된다 .3 장 . 설계 ( 실험 ) 내용 및 방법 x y z D(0) D(1) D(2) D(3) D(4) D(5) D(6) D(7) 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 14 장 . 설계 ( 실험 ) 결과 1. 디코더 (Decoder) 1) case 문 case modeling when 000 = d = 00000001”; 입력되는 값을 비교한 후 같으면 d 에 알맞은 값을 대입한다 .4 장 . 설계 ( 실험 ) 결과 1. 디코더 (Decoder) 1) case 문 - 파란 부분을 클릭하여 파형을 반전시키며 , 원하는 파형을 만든다 . 파형 입력이 끝나면 파란 세로선을 움직여 Simulation 의 끝나는 지점을 설정해 준다 .4 장 . 설계 ( 실험 ) 결과 1. 디코더 (Decoder) 1) case 문 - 입력 값 sel (0, 1, 2) 따른 결과 값 d 의 값이 제시된 진리 표의 값과 일치함을 확인할수 있다 .4 장 . 설계 ( 실험 ) 결과 2 ) with~ select d = 00000001” when 000“ case 와는 반대로 입력값을 먼저 제시한 후 when 뒤에 비교값을 작성해준다 . 1. 디코더 (Decoder) 2) with~ select 문4 장 . 설계 ( 실험 ) 결과 - 파란 부분을 클릭하여 파형을 반전시키며 , 원하는 파형을 만든다 . 파형 입력이 끝나면 파란 세로선을 움직여 Simulation 의 끝나는 지점을 설정해 준다 . 1. 디코더 (Decoder) 2)with~ select 문4 장 . 설계 ( 실험 ) 결과 - 입력 값 sel (0, 1, 2) 따른 결과 값 d 의 값이 제시된 진리 표의 값과 일치함을 확인할수 있다 . 1. 디코더 (Decoder) 2)with~ select 문4 장 . 설계 ( 실험 ) 결과 2. 인코더 (Encoder) 1) 다중 If 문 다중 IF 문을 이용한 인코더 (Encoder) 의 Module Modeling  코드의 사용은 이론에서 설명4 장 . 설계 ( 실험 ) 결과 2.. 인코더 (Encoder) 2) when-else 문 when-else 문을 이용한 인코더 (Encoder) 의 Module Modeling  코드의 사용은 이론에서 설명4 장 . 설계 ( 실험 ) 결과 2. 인코더 (Encoder ) 2) when-else 문 - Test bench waveform 파란 부분을 클릭하여 파형을 반전시키며 , 원하는 파형을 만든다 . ( 이론에서의 진리표 값과 일치 ) 파형 입력이 끝나면 파란 세로선을 움직여 Simulation 의 끝나는 지점을 설정해 준다 .4 장 . 설계 ( 실험 ) 결과 2. 인코더 (Encoder) 2) when-else 문 - Test bench waveform 입력 값에 따른 결과 값을 확인한다 . 입력된 파형과 동일하게 시뮬레이션 되었는지 확인한다 . 결 과 값이 우리가 예상했던 값과 일치함을 확인하였다 . ( 이론에서의 진리표 값과 일치 )5 장 . 토의 이번 설계는 VHDL 을 이용하여 decoder 와 encoder 을 설계하는 실험이었다 . 특히 다양한 구문들을 사용하여 설계함으로써 decoder 와 encoder 에 대해서 좀더 자세하고 명확하게 알수 있었으며 , 여러 가지 구문의 쓰임새도 정확하게 알 수 있었다 . 평소 한 가지 주제를 여러가지 구문으로 설계하는 것이 익숙치 않았기 때문에 서로 다른 구문들의 차이점을 자세하게 알 수 없었지만 이번 실습에서는 그렇한 것들을 확실하게 알 수 있었다 . 이번 실습에 사용한 구문들은 조건적 신호 할당문 인 when_else 와 with select 를 사용하는 선택적 신호할당문 , process 문 안에서 순차 처리문으로 표현되는 IF_else 와 case 문을 사용하였다 .5 장 . 토의 VHDL 에서 if 문은 process 내에서 사용될 수 있는 순차 처리문으로 , process 밖에서 병행 처리문으로 사용될 수는 없다 . 참 또는 거짓이 되는 조건이 주어지고 , 그 조건이 참을 만족한다면 then 뒤에 오는 순차 처리문을 실행한다 .how}
    공학/기술| 2010.09.09| 26페이지| 2,000원| 조회(380)
    미리보기
  • 4비트 전가산기 감산기 설계
    1 장 . 설계 ( 실험 ) 배경 및 목표 VHDL 을 이용한 4bit 전가산기 설계 - 설계방법 : Behavioral Modeling - 시뮬레이션 방법 : Test bench waveform 이용 2 의 보수 를 이용한 4bit 감산기 설계 . - 설계방법 : Behavioral Modeling - 시뮬레이션 방법 : Test Bench Waveform 이용2 장 . 관련 기술 및 이론 전가산기 (FULL ADDER) - 1 비트의 2 진수를 3 개 더하는 논리회로 - 3 개의 입력과 출력으로 구성 ( 입력 : x, y, ci (carry in) 출력 : s(sum), co(carry) ) - s = x xor y xor ci - c = (x and y) or (x and ci ) or (y and ci ) FA x ci s co y x y ci s co 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Truth Table4 bit 전가산기 2 개의 4 비트 무부호화 2 진수와 캐리 (carry) 입력을 더하여 4 비트 합과 캐리 출력을 갖는 덧셈기 . 전덧셈기를 설계하고 4 비트 덧셈기를 구성하기 위해 이를 모듈 4 개로 연결한다 . 첫 번째 전덧셈기의 캐리 출력은 두 번째 전덧셈기의 캐리 입력이 되며 나머지 경우도 마찬가지로 동작한다 . 3 2 장 . 관련 기술 및 이론2 장 . 관련 기술 및 이론 4 bit Full Adder Module entity famain is Port ( a : in STD_LOGIC_VECTOR (3 downto 0); b : in STD_LOGIC_VECTOR (3 downto 0); ci : in STD_LOGIC; s : out STD_LOGIC_VECTOR (3 downto 0); co : out STD_LOGIC); end famain ; 먼저 4- 비트 가산기를 엔티티로 선언한다 . ( famain ) 두 입력과 합 ector (3 downto 1); 3) famain 의 아키텍처 내부에서 fa_tt 를 컴포넌트로 선언한다 . 입출력 포트 신호는 전가산기에 대하여 선언된 것과 일치한다 . 컴포넌트 선언 후 3- 비트 내부 캐리 신호 c 를 선언한다 . 내부 캐리 신호 또한 비트 벡터 ( STD_LOGIC_VECTOR ) 로 선언하고 , 범위는 3 downto 1 으로 한다2 장 . 관련 기술 및 이론 4 bit Full Adder Module begin temp = not b; FA1 : fa_tt port map (a(0), b(0), ci , c(1), s(0)); FA2 : fa_tt port map (a(1), b(1), c(1), c(2), s(1)); FA3 : fa_tt port map (a(2), b(2), c(2), c(3), s(2)); FA4 : fa_tt port map (a(3), b(3), c(3), co, s(3)); end Behavioral; 6) 아키텍처 몸체에서는 fa_tt 컴포넌트를 여러 개 복사하여 instance 를 만든다 . 각 복사본은 FA1 ~ FA4 의 이름과 포트맵을 갖는다 . 7) 포트 맵 다음에 오는 신호 이름들은 컴포넌트 포트에 있는 신호들과 일대일로 대응한다 . ( 따라서 a(0). b(0), ci 는 입력 x, y, cin 에 각각 대응한다 . 8) c(1) 과 s(0) 는 cout 과 sum 출력에 대응한다 . 포트 맵에서 신호의 순서는 컴포넌트 선언의 포트에 나열되어 있는 신호의 순서와 같아야한다 .2 장 . 관련 기술 및 이론 2 의 보수를 이용한 4 bit 감산기 감산기는 바로 앞의 낮은 단 위치의 디지트에 빌려준 1 을 고려하면서 두 비트의 뺄셈을 수행하는 조합회로라 할 수 있다 . 각 감수의 비트를 대응되는 피감수의 비트에서 빼서 차이를 형성한다 . 만일 피감수 비트가 감수 비트보다 작으면 , 바로 앞의 비트로부터 1 을 빌려온다 . 빌림이 생겼다는 사실은 계산 단에서 출력바로 다음의 높은 단으로 입력되는it 감산기 Module entity famain is Port ( a : in STD_LOGIC_VECTOR (3 downto 0); b : in STD_LOGIC_VECTOR (3 downto 0); ci : in STD_LOGIC; s : out STD_LOGIC_VECTOR (3 downto 0); co : out STD_LOGIC); end famain ; 먼저 4- 비트 감산기를 엔티티로 선언한다 . ( famain ) 두 입력과 합 출력은 모두 4 비트이기 때문에 비트 벡터 ( STD_LOGIC_VECTOR ) 로 선언하고 , 범위는 3 downto 0 으로 한다 .2 장 . 관련 기술 및 이론 4 bit Full Adder Module architecture Behavioral of famain is component fa_tt Port ( x : in STD_LOGIC; y : in STD_LOGIC; cin : in STD_LOGIC; cout : out STD_LOGIC; sum : out STD_LOGIC); end component fa_tt ; signal c: std_logic_vector (3 downto 1); signal temp : std_logic_vector (3 downto 0); 3) famain 의 아키텍처 내부에서 fa_tt 를 컴포넌트로 선언한다 . 입출력 포트 신호는 전가산기에 대하여 선언된 것과 일치한다 . 컴포넌트 선언 후 3- 비트 내부 캐리 신호 c 와 b 의 보수를 취할 temp 를 선언한다 . 이 또한 비트 벡터 ( STD_LOGIC_VECTOR ) 로 선언하고 , 범위는 각각 3 downto 1, 3 downto 0 으로 한다2 장 . 관련 기술 및 이론 4 bit Full Adder Module begin temp = not b; FA1 : fa_tt port map (a(0), temp(0), ci , c(1), s(0)); FA2 : fa_tt port map (a(1), temp(1), c(1(0). temp(0), ci 는 입력 x, y, cin 에 각각 대응한다 . 8) c(1) 과 s(0) 는 cout 과 sum 출력에 대응한다 . 포트 맵에서 신호의 순서는 컴포넌트 선언의 포트에 나열되어 있는 신호의 순서와 같아야 한다 .3 장 . 설계 ( 실험 ) 내용 및 방법 4 bit 전가산기 입력과 출력은 bit_vector 또는 std_logic_vector 를 이용 시뮬레이션은 세가지 중 한가지 방법을 이용 표의 5 가지 경우를 출력한다 . A B C0 S C4 0000 0000 0 0000 0 0101 0010 0 0111 0 1011 0000 1 1100 0 0100 1111 1 0100 1 1111 1111 1 1111 1 4bit 전가산기 예제3 장 . 설계 ( 실험 ) 내용 및 방법 2 의 보수를 이용한 4 bit 감산기 입력과 출력은 bit_vector 또는 std_logic_vector 를 이용 시뮬레이션은 세가지 중 한가지 방법을 이용 표의 5 가지 경우를 출력한다 . A B C0 S C4 0011 0001 1 0010 1 0101 0010 1 0011 1 0101 0110 1 1111 0 0010 0111 1 1011 0 0111 0101 1 0010 1 4bit 전감산기 예제4 장 . 설계 ( 실험 ) 결과 전가산기 (Full Adder) 의 Behavioral Module Modeling Begin sum = x xor y xor cin ; cout = (x and y) or (x and cin ) or (y and cin ); end Behavioral; 1. 전가산기 (Full Adder)4 장 . 설계 ( 실험 ) 결과 4 bit 전가산기 (Full Adder) 의 Behavioral Module Modeling  코드의 사용은 이론에서 설명 1. 4 bit 전가산기 (Full Adder)4 장 . 설계 ( 실험 ) 결과 2. 4 bit 전가산기 - Test Bench w aveform 1) 파란 부분을 클릭하여 파형을 14 장 . 설계 ( 실험 ) 결과 3. 4 bit 감산기 4 bit 감산기의 Behavioral Module Modeling  코드의 사용은 이론에서 설명4 장 . 설계 ( 실험 ) 결과 3. 4 bit 감산 기 - Test Bench w aveform - Test Bench Waveform Simulation 을 이용한다 . 파란 부분을 클릭하여 파형을 반전시키며 , 원하는 파형을 만든다 . 파형 입력이 끝나면 파란 세로선을 움직여 Simulation 의 끝나는 지점을 설정해 준다 . 설계내용에 나와있는 표의 값을 a, b, ci 에 입력해 준다 .4 장 . 설계 ( 실험 ) 결과 3. 4 bit 감산기 - Test Bench w aveform 입력 에 따른 결과 값을 표와 같이 확인할 수 있다 . 결과 값이 우리가 예상했던 값과 일치함을 확인할 수 있었다 . A B C0 S C4 0011 0001 1 0010 1 0101 0010 1 0011 1 0101 0110 1 1111 0 0010 0111 1 1011 0 0111 0101 1 0010 15 장 . 토의 이번 설계 ( 실험 ) 은 지난 설계의 연장선으로 VHDL 을 이용하여 4 bit 전가산기와 2 의 보수를 이용한 감산기를 설계하는 실습이었다 . 저번 시간 가산기를 설계해보았기에 기본적인 개념이해는 어렵지 않았다 . 엔티티와 아키텍처를 사용하여 모듈을 구성하는 연습은 많이 해보았지만 , 컴포넌트를 사용하여 구조적 VHDL 코드를 작성하는 방식은 처음이었기에 조금은 어려움이 있었다 . 컴포넌트를 선언하는 형식이 익숙치 않았으며 , 특히나 컴포넌트 선언에서 사용되는 포트 절과 엔티티 선언에서 사용되는 포트 절이 동일한 형식임을 간과하는 실수가 있었다 . 또한 한 회로 내에서 사용되는 각 컴포넌트의 연결을 기술하기 위해 인스턴스 생성문을 사용해야 했는데 , 이 또한 적용하지 못하는 점도 있었다 .5 장 . 토의 ( 계속 ) 2 의 보수를 이용한 감산기는 가산기를 설계하고 난 뒤 , 가산기의 어느 부how}
    공학/기술| 2010.09.09| 22페이지| 2,000원| 조회(4,003)
    미리보기
  • 2 port Or gate 설계
    1 장 . 설계 ( 실험 ) 배경 및 목표 VHDL 을 이용하여 2 Port OR-Gate 설계한다 . 2 Port OR Gate 을 Data Flow Modeling 으로 구현하고 그에 따른 시뮬레이션 결과를 작성한다 . 1) 일반 Simulation 2) Test Bench Simulation 3) Test Bench Waveform Simulation2 장 . 관련 기술 및 이론 OR-Gate - OR 연산은 다음과 같이 정의 된다 . 0+0 = 0,0+1 = 1, 1+0 = 1,1+1 = 1 Truth Table I1 I2 O 0 0 0 0 1 1 1 0 1 1 1 12 장 . 관련 기술 및 이론 2 Port OR-Gate 의 entity 선언부 (Input Output port) Data Flow Modeling entity OR2 is port ( I1, I2 : in bit; O : out bit); end OR2; architecture Dataflow of OR2 is Begin O = I1 or I2; end Dataflow;3 장 . 설계 ( 실험 ) 내용 및 방법 - WebPack 을 이용하여 2 Port OR Gate 에 대한 Text File 을 생성하고 , Compile 한 후 , ModelSim 을 이용하여 Data Flow Modeling 으로 구현한 세 가지 Simulation 의 파형을 확인한다 . 1. 일반 Simulation 2. Test Bench Simulation 3. Test Bench Waveform Simulation4 장 . 설계 ( 실험 ) 결과 일반 Simulation 1) Architecture 의 안에 OR 연산에 대한 코드를 입력한다 . architecture Dataflow of OR is begin O = I1 or I2; end Dataflow;4 장 . 설계 ( 실험 ) 결과 일반 Simulation 각 포트 별 값을 지정한다 . 각 포트 값을 변화 시켜 가면서 결과를 확인한다 . / or_gate /i1 = 0, / or_gate /i2 = 1 / or_gate /I1 = 0, / or_gate /I2 = 0 / or_gate /I1 = 1, / or_gate /I2 = 0 / or_gate /I1 = 1, / or_gate /I2 = 1 이와 같이 포트 값을 변화시키며 Output 값을 도출 .4 장 . 설계 ( 실험 ) 결과 2. Test Bench Simulation 1) Begin 과 End process 사이에 실제 어떻게 동작할지 지정한다 . Begin I1 = ‘0’; I2 = ‘1’; wait for 10 ns; I1 = ‘0’; I2 = ‘0’; wait for 10 ns; I1 = ‘1’; I2 = ‘0’; wait for 10 ns; I1 = ‘1’; I2 = ‘1’; wait for 10 ns; end process;4 장 . 설계 ( 실험 ) 결과 2. Test Bench Simulation 2) 파형을 한눈에 보기 위해 Wave 창을 클릭한 후 Wave 창을 클릭 한 후 메뉴 창에서 wave zoom zoom range 서을 클릭한다 . 그리고 값을 입력 후 파형을 확인한다 .4 장 . 설계 ( 실험 ) 결과 Test Bench Waveform Simulation 1) 파란 부분을 클릭하여 파형을 반전시키며 , 원하는 파형을 만든다 . 파형 입력이 끝나면 파란 세로선을 움직여 Simulation 의 끝나는 지점을 설정해 준다 .4 장 . 설계 ( 실험 ) 결과 3. Test Bench Waveform Simulation 2) 이전과 마찬가지로 Range 를 조정하여 파형을 확인한다 . 입력된 파형과 동일하게 시뮬레이션 되었는지 확인한다 .5 장 . 토의 이번 설계 ( 실험 ) 은 VHDL 을 이용하여 OR GATE 를 설계하는 것이 목표였다 . 처음 사용해보는 VHDL 이였기 때문에 AND GATE 를 먼저 설계해본 후 OR GATE 를 설계하였다 . 이해하기 쉬운 조교님의 설명과 교수님의 실험 자료 덕분에 별다른 어려움 없이 실험을 진행 할 수 있었다 . 이번 실험을 진행하면서 많은 것을 배웠지만 특히 실수를 해서 확실하게 기억할 것들도 있었다 . 먼저 일반 simulation 을 진행할때 simulation 화면에서 Value 값을 입력해야 했는데 , force 창을 찾을 수 없어서 많이 고생했다 . 또 한번에 한개씩의 simulation 션값을 입력해야 하는줄 알았는데 한번에 여러 Value 값들을 입력할수 있다는 것도 알 수 있었다 .5 장 . 토의 ( 계속 ) 두번째로 Test bench 를 이용한 simulation 을 실행 할 때 처음에 Warning 문구가 표시 됐었다 . 당황하다가 simulation 창들을 모두 닫고 다시 실행하니 Warning 없이 실행되었다 . 일반 simulation 이 실행되고 있는 상태에서 , 다른 simulation 을 실행시켰기에 일어난 에러로 생각된다 . 마지막으로 T est bench waveform simulation 에서 Range 값을 조정할 때 원하는 범위가 쉽게 잡히지 않아 약간의 여려움이 있었지만 , 여러번 노력한 끝에 우리가 원하는 결과 값을 얻을 수 있었다 .{nameOfApplication=Show}
    공학/기술| 2010.09.09| 12페이지| 1,500원| 조회(177)
    미리보기
전체보기
받은후기 4
4개 리뷰 평점
  • A+최고예요
    3
  • A좋아요
    0
  • B괜찮아요
    1
  • C아쉬워요
    0
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 03일 일요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
5:59 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감