안녕하세요.
이전 포스트에서 기술한 동기식 카운터, 비동기식 카운터에 이어서 앞선 1싹 중가하는 카운터와 달리 무작위로 증가하는 불규칙 카운터 설계에 대해 알아보겠습니다.
순서논리 회로에는 다양한 내용이 있습니다. 필요에 따라 아래 글들도 참고해보세요~!!~
1. Latch(래치)와 Flip-flop(플립플롭)
https://semicircuit.tistory.com/37
2. 비동기 카운터
https://semicircuit.tistory.com/38
3. 동기 카운터
https://semicircuit.tistory.com/39
4. 불규칙 카운터
https://semicircuit.tistory.com/40
5. State Machine 설계
https://semicircuit.tistory.com/41
6. UP/DOWN Counter
https://semicircuit.tistory.com/42
7. 시프트 레지스터
https://semicircuit.tistory.com/43
※1. 카운터의 정의
▶1. 종류
⓵ (클럭의 사용에 따른) : 비동기 카운터( 처음 J-K 플립플롭만 Clock신호를 받음) / 동기 카운터 모든( J-K플립플롭에 Clock신호를 받음)
⓶ (수의 변화에 따른) : Up카운터(0,1,2,3...) / Down카운터(내림차순 ....3,2,1,0)
⓷ (허용 범위(모듈러스)에 따른) : 4진(0~3), 8진(0~7), 10진(0~9), etc...
▶2. 사용
: 수를 세는데 사용되는 하드웨어 디지털 회로, 클럭 펄스가 하나씩 인가될 때마다 미리 정해진 순서대로 상태가 반복되는 순차회로이다.
=> 입력되는 클럭의 수를 센다.
▶3. 특징
: 7-Segment를 통하여 다이오드에 표시되는 숫자로 변환하여 인간이 알아볼 수 있는 정보로 변환이 가능하다.
높은 주파수를 낮은 주파수로 바꿔주는 기능을 하여 ‘분주기’라고도 한다. => n단의 카운터회로는 클럭주파수를 1/2n의 신호로 반환 한다.
=> ex) clock의 주파수가 16MHz일 때, Q0는 8MHz, Q1은 4MHz Q2는 2MHz의 주파수를 가지고 있다.
▶4. 사용 소자와 개수
:ex) N진 카운터
⓵ 나타내는 숫자 N개, 범위(모듈러스)가 0~(N-1)
⓶ 비트수 : 2^(n-1)<N<=2^n에서 => 비트수 n개 => n비트 카운터
⓷ J-K플립플롭의 개수 : n개
⓸ 출력 개수 = F/F개수
※2. 불규칙 카운터 설계
(기존의 1씩 증가하는 카운터가 아닌 무작위 증가)
▶1. 동기 카운터의 설계 과정
(다음 상태표가 불규칙 적으로 변화하는 것 이외에는 기존의 카운터와 100프로 동일)
⓵ 상태도 : 출력을 순환하는 방식으로 표현하는 것
⓶ 다음 상태표 작성 : 현재와 다음 상태를 표현하는 것
⓷ 플립플롭 전이표 작성 : 다음 변화에 대한 J-K의 입력을 나타내는 표를 작성하는 것
⓸ 카르노맵 작성 : Present State와 Excitation Table을 카르노맵으로 표기하는 것
⓹ 플립플롭 입력에 논리식 : 카르노맵을 통해 수식으로 표현하는 것
⑥ 회로 구현 : 수식으로 얻은 식을 회로로 설계하는 것
ex1) 3비트 그레이 코드 동기 카운터 설계
그레이 코드 : 비트가 한 개씩 만 증가하는 것으로 10진수 개념으로 보았을 때
0->1->3->2->6->7->5->4으로 불규칙한 증가를 띄는 코드
⓸ 카르노맵 작성 + ⓹ 플립플롭 입력에 논리식
=>J0 = Q2'Q1' + Q2Q1처럼 카르노맵의 간략화 이후 XNOR 또는 XOR를 통해 더 간략화 시킬 수 있다.
⑥ 회로 구현
ex2) 다음의 상태도와 같은 시스템으로 작동하는 F/F를 통한 동기 카운터를 설계 하여라
⓸ 카르노맵 작성
⓹ 플립플롭 입력에 논리식
⑥ 회로 구현
: 타이밍도(결과)
=> JK F/F으로 설계한 회로와 동일한 결과를 얻을 수 있다. JK과 T F/F 둘다 Toggle기능을 포함하기에 회로상의 큰 차이는 없었으나 그래도 플립플롭 입력시에 F의 경우 JK 보다 입력 개수가 하나 더 적다는 이점이 있다.
'University curriculum > [Course] Digital Engineering' 카테고리의 다른 글
[디지털 공학(24)] Up/Down Counter(업 다운 카운터)_순서논리회로(6) (0) | 2024.05.12 |
---|---|
[디지털 공학(23)] State Machine(상태기계)_순서논리회로(5) (0) | 2024.05.11 |
[디지털 공학(21)] Synchronism Counter(동기 카운터)_순서논리회로(3) (0) | 2024.05.11 |
[디지털 공학(20)] Asynchronism Counter(비동기 카운터)_순서논리회로(2) (0) | 2024.05.11 |
[디지털 공학(19)] Latch(래치)와 Flip-flop(플립플롭)_순서논리회로(1) (0) | 2024.05.11 |