본문 바로가기
반응형

반도체 기초 공부29

논리회로 래치 ( 인버터형 래치, NAND형 SR래치, NOR형 SR래치, RS 래치, D래치 ) 래치 (Latch) 래치는 인에이블(허용)이 되면 레벨을 감지하여 입력값을 출력으로 계속해서 전송한다. 클럭 입력을 갖지 않은 쌍안정 회로인데 플립플롭과 유사하나 클럭이 없으므로 비동기식 순차 논리회로 소자이다. 조금 바꿔 말해 래치에 클럭이 결합되면 플립플롭이 되는 것이다. 대표적인 특징으로는 입력되는 펄스를 유지하고, 기억/저장하는 기능이 있다. 종류로는 인버터형 래치, SR래치, D래치가 있다. 인버터형 래치 입력 신로를 계속 가하지 않아도 디지털 값을 유지한다. 레이싱(racing)이라는 개념만 알고 넘어가도 될 것 같다. 레이싱이란 출력이 일시적으로 충돌하면서 순간적으로 많은 내부 전련 소모가 발생하는 것을 말한다 NAND형 SR 래치 SR이란 Set과 Reset을 의미한다. Set은 1을 의미.. 2022. 1. 6.
논리회로 상태 축약 (밀리머신, 무어머신) 상태 축약 상태의 수를 줄이면 하드웨어 오버헤드가 작아질 수 있다. "행 정합" 기법은 기계적으로 초기 상태표를 작성해놓고, 중복되는 상태를 축약하여 최적의 상태표에 이르는 기법이다. 밀리 머신 (Mealy) 축약 예를 들어보자, 가능한 모든 패턴이 "리셋, 0 ,1, 00, 01, 10, 11"인 상태를 "A, B, C, D, E, F, G"에 할당한 후 다음 상태와 출력을 표현하면 초기 상태표는 아래와 같다. 여기서 우리는 축약을 시작하는데 상태 p혹은 q에서 어떤 입력 x에 대해 다음 상태와 출력이 같다면 p와 q는 동등 상태로 간주하여 축약할 수 있다. 다음 상태와 출력이 동일한 것은 A A 0 0이 있다. 즉, 상태 D == F == G인 것이다. 이에 다음 상태 중에 F와 G를 D로 통일하여 .. 2022. 1. 6.
논리회로 상태도(state diagram) 상태도 상태도는 상태 머신의 동작을 시각적으로 쉽게 알 수 있는 표현 방법이다. "11"이 들어왔을 때, 출력을 1로 내보내는 검출기의 상태도는 아래와 같다. 처음 1이 들어왔을 때는 0, "11"이 들어왔을 때는 1을 출력한다. 리셋 동작 만약 위에서 111이 들어왔을 때, 011로 출력하고 싶지 않다면 동작 중에 리셋을 집어넣으면 된다. 다중 출력 패턴 입력에 따라 y1, y2를 출력하고 싶은 경우에 해당한다. 01, 11일 때 1을 출력한다고 가정했을 때의 상태도이다. 다중 입력 패턴 두 입력 x1, x2의 패턴이 연속적으로 01, 11 혹은 10, 11일 때 출력 y가 1이 되는 두 개의 입력 패턴 검출기의 상태도는 아래와 같다. 2022. 1. 6.
논리회로 조합회로 종류 (반가산기, 전가산기, 반감산기, 전감산기, 멀티플렉서, 디멀티플렉서, 리플 캐리 가산기, 병렬 가감산기, BCD 가산기, 인코더, 디코더) 조합 회로 ( Combinational Circuit ) 게이트의 조합으로 이루어지는 논리회로로 입력이 주어지면 바로 출력이 나오는 회로다. 이전의 회로 상태가 출력에 영향을 미치지 않는데 즉, 메모리 소자를 갖지 않는다. ex) 게이트, 가산기, 멀티플렉서, ALU 등등 이외에 많은 종류가 있지만 이번 포스트에선 몇개만 알아보고자 한다. 반가산기 (HA) 두 1비트 입력들의 합을 출력하는 장치이다. 다른 캐리를 고려하지 않고 계산하는 것이다. S = sum, A, B를 XOR 한 연산과 동일하다 C = Carry , A, B를 AND 한 연산과 동일하다 전가산기 (FA) 반가산기와 다른 점은 캐리를 고려하여 만든 가산기다. 반가산기 2개와 OR게이트를 이용하여 구현할 수 있다. 반감산기 (HS) 가산기.. 2022. 1. 4.
논리회로 코드 종류 (BCD 코드, 3초과 코드, ASCII 코드, grey 코드) BCD 코드 Binary Coded Decimal Code의 약자로 10진수 0부터 9까지를 2 진화 한 코드로 실제 표기는 2진수로 하지만 10진수처럼 사용한다. 자릿수 별로 표기한다. 더하기도 자릿수 별로 하면 되는데, 만약 결과가 9를 초과한다면 6 ( 0110 )을 더해준다. 예를 들어 8 + 7 = 15 라면 1000 +0111 -------- = 1111 + 0110 -------- = 0001 0101 위와 같이 연산이 된다. 3초과 코드 BCD코드에 3 ( 0011 )을 더해주면 된다. 이때 중요한 것은 (0,9), (1,8), (2,7)... 이렇게 보수 관계( 1111 )가 성립된다. 그레이 코드 이웃하는 숫자를 비교했을 때, 한 비트만 다른 코드를 의미한다. 하나씩 증가하는 효과를 가.. 2022. 1. 4.