계속지나가기
코딩스뮤
계속지나가기
전체 방문자
오늘
어제
  • 코딩스뮤:)
    • Algorithm
      • 백준 문제풀이
      • 프로그래머스 문제풀이
      • 알고리즘 이론
      • 자료구조
      • SW Expert Academy
    • 인공지능(AI)
      • LLMs
      • 자연어처리(NLP)
      • 컴퓨터비전(CV)
      • 딥러닝(DL)
      • 머신러닝(ML)
      • 인공지능기초수학
      • 선형대수학
    • 컴퓨터 세팅
    • Computer Science
      • 유닉스프로그래밍
      • 프로그래밍언어론
      • 디자인패턴
      • 클린코드
      • SW 영어
      • 리눅스
      • 논리회로
    • Server
      • Docker

블로그 메뉴

  • 홈
  • Who Am I(CV)
  • 태그

공지사항

인기 글

태그

  • 디지털이미지처리
  • DIP
  • 패턴인식
  • 알고리즘
  • ML
  • LM
  • 손실함수
  • 비지도학습
  • 컴퓨터비전
  • 파이썬 클린코드
  • 결정경계
  • 머신러닝
  • DigitalImageProcessing
  • 최대유량
  • MaximumFlow
  • 기계학습
  • 네트워크플로우
  • networkflow
  • f1-score
  • SIFT
  • 비용함수
  • 에지검출
  • 언어모델
  • NLP
  • 선형회귀
  • 군집화
  • machinelearning
  • 경사하강법
  • 지도학습
  • ComputerVision

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
계속지나가기

코딩스뮤

[Sequential Logic Circuit] 카운터(Counter)
Computer Science/논리회로

[Sequential Logic Circuit] 카운터(Counter)

2022. 6. 13. 15:28
반응형
해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition] 책과 ktword의 <정보통신기술용어해/카운터>을 기반으로 작성되었습니다

Counter

    - Counter

    - Asynchronous Counter

    - Synchronous Counter

    - Other types of counters

 

 

Counter


카운터(Counter)란?

2개 이상의 플립플롭으로 구성되며, 매 입력 펄스(Pulse) 마다, 미리 정해진 순서대로 상태가 주기적으로 변하는 레지스터임.

 

카운터의 용도

계수, 타이버, 주파수 계수기 등 발생 횟수를 세거나 동작 순서를 제어(순서제어)하기 위한 타이밍 신호 생성에 적합.

 

클럭 펄스의 인가 방식에 따른 카운터의 구분

1. 비동기식 카운터(Asynchoronous Counter, Ripple Counter)

2. 동기식 카운터(Synchoronous Counter, Parallel Counter)

 

카운터 기타 구분

1. BCD 카운터

2. Ring 카운터

3. Johnson 카운터

 

 

Asynchronous Counter


비동기식 카운터(Asynchronous Counter, Ripple Counter)란?

클럭 펄스에 모든 플립플롭이 동기화되지 않으며 동작하는 카운터로 리플 카운터라고도 함

A three-bit up-counter T Flip-Flops

타이밍 다이어그램(Timing Diagram)

(1) Timing Diagram of up-counter T Flip-Flops
(2) Timing Diagram of up-counter T Flip-Flops

 

Synchronous Counter


동기식 카운터(Synchronous Counter,  Parallel Counter)란?

클럭 펄스에 모든 플립플롭이 동시에(병렬로)/동기화되어 동작하는 카운터로 병렬 카운터라고도 함

A four-bit up-counter T Flip-Flops

 

타이밍 다이어그램(Timing Diagram)

(1) Timing Diagram of up-counter T Flip-Flops

모듈로-N 카운터(Modulo-N Counter)

카운터는 일반적으로 아래의 상태전이도(State diagram)에 나타난 것처럼 클럭 펄스(Clk pulse)가 하나씩 인가될 때마다 미리 정해진 순서대로(up/down) 상태(state)가 반복되는 순차회로를 말하며, 모듈로-N 카운터는 N개의 상태를 갖는 카운터를 말한다.

Counter's state diagram

n비트 이진 카운터(n-bit binary counter)

가장 흔한 형태의 카운터로, n개의 플립플롭(Flip-Flop)으로 구성되며, $2^n$개의 상태를 가지는 카운터를 말한다. 예로 3비트의 이진 카운터는 3개의 플립플롭으로 구성되고, $2^3=8$가지 상태를 가진다. 이 카운터의 상태값이 아래 그림의 좌측과 같이 증가하는 순서로 변화한다면 증가형 카운터(up counter)라고  하며, 우측과 같이 감소하는 순서로 변화한다면 감소형 카운터(down counter)라고 한다. 경우에 따라서 이 두가지를 모두 가질 수 있고 이 경우 증감형 카운터(up/down counter)라고 한다.

*추가로 3비트 이진카운터는 8개의 상태를 가지므로 modulo-8 카운터라고 말한다.

3-bit binary counter(modulo-8 counter)

카운터 설계 예시

1. 모듈러-6 카운터 설계

1-1. T Flip Flop으로 구현

더보기
modulo 6 synchronous up counter design

 

2. 3비트 이진 증감형 카운터(3-bit binary up counter, same as modulo-8 up counter)

1-1. JK Flip Flop으로 구현

더보기
modulo 8 synchronous up counter design

 

 

Other types of counters


BCD 카운터(Binary Coded Decimal Counter)란?

10진 카운터(Decimal Counter)의 대표적인 카운터로,  10진 카운트는 0에서 9까지 10개의 상태를 카운트한다. 10진수를 2진 코드로 표현하는데 적어도 4비트가 필요하다. BCD 카운터의 회로와 상태도는 다음과 같다.

 

두 자리수 7-segment를 BCD Counter로 구현

A two-digit BCD Counter(7-Segment)

 

링 카운터(Ring Counter)란?

전체적으로 데이터가 회전하는 시프트 레지스터(Shift Register)를 말하며, 맨 마지막 플립플롭의 출력이 첫 번째 플립플롭의 입력에 연결됨. 입력된 데이터는 클록(Clk)의 펄스(Pulse)마다 한 칸씩 이동하게 된다. 

Ring Counter's Circuit

 

존슨 카운터(Johnson Counter)란?

맨 마지막 플립플롭의 출력 중 NOT 출력을 첫 번째 플립플롭의 입력과 연결한 회로이다. 존슨 카운터의 대표적인 응용 예로 Decade Counter, 8 Counter로 쓰인다.

Johnson Counter's Circuit

반응형

'Computer Science > 논리회로' 카테고리의 다른 글

[Sequential Logic Circuit] 레지스터(Register)  (0) 2022.06.13
[Sequential Logic Circuit] 플립플롭(Flip-Flop)  (0) 2022.06.12
[Sequential Logic Circuit] 래치(Latch)  (0) 2022.06.11
[Combinational Logic Circuit] 코드 컨버터(Code converters)  (0) 2022.06.08
디지털 논리회로(Digital Logic Circuit) 소개  (0) 2022.06.08
    'Computer Science/논리회로' 카테고리의 다른 글
    • [Sequential Logic Circuit] 레지스터(Register)
    • [Sequential Logic Circuit] 플립플롭(Flip-Flop)
    • [Sequential Logic Circuit] 래치(Latch)
    • [Combinational Logic Circuit] 코드 컨버터(Code converters)
    계속지나가기
    계속지나가기
    NLP Engineer

    티스토리툴바