1
Section 02
시프트 레지스터
시프트 레지스터는 클럭엣지때마다 플립플롭에 저장된 비트를 한비트
씩 우측 또는 좌측으로 이동시키는 회로
Section 02
시프트 레지스터
직렬입력 병렬출력 시프트 레지스터
핀 설정 파일작성시
CLK
를 버튼입력으로 사용하려면 아래 추
가
NET "CLK" CLOCK_DEDICATED_ROUTE = FALSE;
추가 하지 않고 컴파일 하였을 경우 , 클
럭의 기능으로 사용한 핀을 일반 I/O 핀
에 연결하여 컴파일 하였기 때문에
3
Section 02
시프트 레지스터
Section 02
시프트 레지스터
5
Section 02
시프트 레지스터
Section 03
비동기식 카운터
카운터 (counter)
신호를 입력할 때 마다 회로 내부에 저장하고 있는 값을 + 1( 점증 : incre-
ment)
하거나 -1( 점감 : decrement)
하는 회로
점증동작 회로를 [
상향 카운터 (up counter)],
점감동작 회로를 [
하향 카운
터 (down counter)],
필요에 따라 점증 또는 점감 동작을 하는 회로를 [ 상하
향 카운터 (up down counter)]
비동기식 카운터 ,
동기식 카운터
비동기식 카운터
• 이전 플립플롭의 출력을 다음 플립플롭의 클럭으로 이용하는 방식
동기식 카운터
• 카운터에 사용하는 플립플롭들의 상태 ( 출력값들 ) 가 클럭 엣지에 동기화되어 동시 에 변화7
Section 03
비동기식 카운터
2
진 카운터의 동작과 회로도
• 2 진 카운터는 [바이너리 카운터 (binary counter)] 라고도 하며 , 클럭이 들어갈 때 마다 플립플롭의 출력이 '0'→'1'→'0'…으로 변함 • D 플립플롭에서는 , 클럭이 상승할 때 입력 [D] 값 ( 즉 , 값 ) 을 [Q] 에 출력하는 것으로 반전 동작-´
�
Section 03
비동기식 카운터
비동기식 4
진 카운터의 동작과 회로도
• 2 개의 2 진 카운터를 접속하면 4 진 카운터가 됨
-
-9
Section 03
비동기식 카운터
2
n진 카운터의 구성 (n
은 플립플롭의 갯수 )
• 2 개의 2 진 카운터로 4 진 카운터를 만들며 , 3 개로는 8 진 카운터 , 4 개로는 16 진 카운터 , n 개로는 2n 진 카운터를 만들 수 있음-Section 03
비동기식 카운터
비동기식 카운터의 특징
-11
Section 03
비동기식 카운터
Section 03
비동기식 카운터
13
Section 04
동기식 카운터
동기식 카운터
동기식 4
진 카운터의 회로도와 동작
• 리셋시켰을때 타임 차트에 [Q1], [Q0]를 기입 • [Q0]의 [D](D0) 에는 [ ] 를 기입 • [D1]의 논리식에 따라 [Q1]xor[Q0]를 [D1]을 기입 • 클럭엣지에서 D0 D1이 Q0Q1 으로 이동Section 04
동기식 카운터
동기식 4
진 카운터의 VHDL 기술
15
Section 04
동기식 카운터
동기식 4
진 카운터의 VHDL 기술
• 리스트 8.20 은 동작 ( 알고리즘 ) 레벨로 설계 • 덧셈 연산자 [ + ] 를 사용한 설계에서 [ + ] 를 데이터 타입 std_logic_vector 로 사용하려면 [5 장 (3) 산술 연산자 ]에서도 설명한 것처럼 , 새롭게 std_logic_unsigned 의 패키지를 호출해 주어야 함Section 04
동기식 카운터
동기식 N
진 카운터
17