- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[시스템분석및설계] 10장 D 플립플롭, JK 플립플롭 예비레포트 본문
◎ 실험 목적
▶ D F/F와 JK F/F의 동작을 VHDL로 기술하고, 시뮬레이션을 통해 동작을 검증한다.
◎ 이론 설명
▶ D F/F
① 한 비트 정보를 저장할 때 유용하게 사용되는 것으로 디지털 순차 회로에서 가장 널리 쓰이는 소자 중 하나이다.
② D F/F의 구조는 데이터 입력(d)과 클록(clk)을 갖고 있고, 출력 신호로는 정출력(q)과 부 출력(q_b)이 있다.
③ 클록의 에지(edge)에 의해 동작되며, 그 에지에서 D가 출력에 래치되는 동작을 한다. 상 승 에지 혹은 하강 에지의 2가지 중 하나에서 동작한다.
④ 클리어 신호(clr_b)와 프리셋 신호(pr_b)의 비동기 입력 신호를 갖는 경우도 있다. 이 신 호들을 사용하면 입력 d와 clk에 관계없이 F/F의 출력 신호 q를 클리어(0) 시키거나, 프 리셋(1) 시킬 수 있다.
⑤ 진리표
동작 모드 |
입 력 |
출 력 | |||
pr_b |
clr_b |
clk |
d |
q | |
비동기 PRESET |
0 |
1 |
X |
X |
1 |
비동기 CLEAR |
1 |
0 |
X |
X |
0 |
금지 |
0 |
0 |
X |
X |
1 |
SET |
1 |
1 |
↑ |
1 |
1 |
RESET |
1 |
1 |
↑ |
0 |
0 |
⑥ 세 번째 행의 금지 모드는 두 출력을 모두 1로 하는 입력 조건이므로 발생해서는 안된 다. SET과 RESET 모드는 CLK의 상승 에지에서 입력 상태를 출력에 반영하는 동기 동작 모드이다.
▶ JK F/F
① JK F/F은 SR F/F과 비슷한 기능을 가지는 것으로서 J 입력이 SET, K 입력이 RESET에 해당한다.
② SR F/F에서는 S=1, R=1인 입력이 금지되어 있으나, JK F/F에서는 J=1, K=1으로 한 경 우 클록 에지에서 출력 Q의 상태가 반전되는 토글(toggle)동작을 한다.
③ 클리어(clr_b) 입력과 프리셋(pr_b) 입력이 있어 출력 q를 비동기적으로 RESET(0), 혹은 SET(1) 시킨다.
④ 진리표
동작 모드 |
입 력 |
출 력 | ||||
pr_b |
clr_b |
clk |
j |
k |
q(t+1) | |
비동기 SET |
0 |
1 |
X |
X |
X |
1 |
비동기 RESET |
1 |
0 |
X |
X |
X |
0 |
불변 |
1 |
1 |
X |
0 |
0 |
q(t) |
SET |
1 |
1 |
↑ |
1 |
0 |
1 |
RESET |
1 |
1 |
↑ |
0 |
1 |
0 |
Toggle |
1 |
1 |
↑ |
1 |
1 |
not q(t) |
⑤ q(t)는 클록의 에지가 들어오기 전의 출력 값을, q(t+1)은 클록 에지 이후의 값을 나타낸 다. 따라서 ‘불변’이란 JK F/F의 출력 q가 그 전 상태의 값에서 변하지 않는 것을 의미하 고, ‘Toggle' 동작은 출력 q가 그 전 상태의 값에서 반전되는 것을 의미한다.
◎ 실험 장비
▶ Xilinx ISE
▶ ModelSIM
▶ Rov-Lab 트레이닝 키트
◎ 실험 순서
▶ D F/F
① D F/F의 동작을 VHDL로 기술
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity dff is Port ( clk : in std_logic; d : in std_logic; pr_b : in std_logic; clr_b : in std_logic; q : out std_logic; end dff; architecture Behavioral of dff is begin process( d , clk , pr_b , clr_b ) begin if pr_b = '0' then q <= '1'; elsif clr_b = '0' then q <= '0'; elsif clk'event and clk = '1' then q <= d; end if;
end process; end Behavioral;
=> 구조(architecture)문에서는 process문을 사용하고, IF-ELSE 명령문을 사용해 기술하여 보자.
=> clk'event and clk ='1' 이 문장은 clk이라는 신호의 상승 에지를 표현해 주는 구문이다. 구문의 뜻은 clk이라는 신호 값이 변하고(event), 그 변한 값이 1이 되는 순간이란 것이 다. 따라서 하강 에지를 표현하고 싶을 때에는 1의 값을 단순히 0으로 바꾸기만 하면 될 것이다.
② TestBenchWaveform으로 시뮬레이션
주어진 입력(pr_b, clr_b, clk, d)에 따라 출력(q)이
진리표대로 정확하게 출력되는지를 검증
③ 트레이닝 키트로 동작 검증
주어진 입력(pr_b, clr_b, clk, d)에 따라 출력(q)이
진리표대로 정확하게 출력되는지를 검증
▶ JK F/F
① JK F/F의 동작을 VHDL로 기술
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity jkff is Port ( clr_b : in std_logic; pr_b : in std_logic; clk : in std_logic; j : in std_logic; k : in std_logic q : inout std_logic); end jkff; architecture Behavioral of jkff is begin process ( j, k, clk, pr_b, clr_b ) begin if pr_b = '0' then q <= '1'; elsif clr_b = '0' then q <= '0'; elsif clk'event and clk = '1' then if j = '0' and k = '1' then q <= '0'; elsif j = '1' and k = '0' then q <= '1'; elsif j = '1' and k = '1' then q <= not q; end if; end if; end process; end Behavioral; => D F/F때와 마찬가지로 구조(architecture)문에서는 process문을 사용하고, IF-ELSE 명 령문을 사용해 기술하여 보자. => 출력신호 q의 PORT 형태가 inout임을 유의하기 바란다. 이는 buffer라는 형태와 같은 것이다. 이는 PROCESS 구문 안의 아래와 같은 표현 때문에 해 준 것이다. q <= not q; 보통 VHDL에서 신호대입문(<=)의 왼편에는 출력 신호가, 오른푠에는 입력 신호들이 나 타나는데, 위의 표현은 출력 신호 q가 양쪽편에 모두 나오고 있다. 따라서 이때에는 출 력 신호 q의 PORT 형태를 inout으로 선언해 주어야 하는 것이다. ② TestBenchWaveform으로 시뮬레이션 주어진 입력(pr_b, clr_b, clk, j, k)에 따라 출력 q(t+1)이 진리표대로 정확하게 출력되는지를 검증 ③ 트레이닝 키트로 동작 검증 주어진 입력(pr_b, clr_b, clk, j, k)에 따라 출력 q(t+1)이 진리표대로 정확하게 출력되는지를 검증
'★─Multi Media > ☆─2학년 2학기' 카테고리의 다른 글
[시스템분석및설계] 11,12장 3비트 2진 카운터, 3비트 시프트 레지스터 예비레포트 (1) | 2008.03.11 |
---|---|
[시스템분석및설계] 10장 D FF, JK FF 결과보고서 (0) | 2008.03.11 |
[물리및실험] 선팽창계수 ( 엑셀 ) (0) | 2008.03.10 |
[물리및실험] 에어테이블 동역학 실험 ( 엑셀 ) (0) | 2008.03.10 |
[경영정보학원론] 퀴즈10 제15장 비즈니스가치평가와 변화관리의 이해 (0) | 2008.03.10 |