이전 글까지는 conbimational logic을 어떻게 분석하고 설계하는 지 알아보았다. 이번 글 부터는 sequential logic을 알아볼 것이다.
sequential logic은 현재 값에만 의존하는 conbinational logic과는 달리 현재와 이전의 입력 값에 모두 의존한다. 따라서 sequential logic은 메모리를 가진다.
sequencital logic에서 상태(state)는 회로의 미래 동작을 설명하기 위해 필요한 과거의 정보를 가지는 상태 변수(state variables)이라고 불리는 비트의 집합이다. sequential logic은 이전 입력을 기억하거나, state라고 불리는 정보를 추출한다.
메모리의 fundamental building block은 2개의 안정된 상태를 갖는 bistable(양안정) element이다.
loop으로 연결된 인버터 2개로 구성된 간단한 bistable element를 보자.
두 회로는 그려진 방식만 다를 뿐 동일한 회로로 작동한다. input을 가지고 있지 않고 2개의 output을 가진다. 이 회로들처럼 I1의 출력이 I2의 입력이 되고, I2의 출력이 다시 I1의 입력이 되는 것을 cross-coupled 되었다고 한다.
이 회로를 분석해보자.
Q | I2 | I1 | 상태 |
0 (FALSE) |
0(FALSE) 을 입력으로 받아 1(TRUE)을 출력으로 내보낸다. | 1(TRUE)을 입력으로 받아 0(FALSE)을 출력으로 내보낸다. (Q = 0) | 안정 |
1 (TRUE) |
1(TRUE)을 입력으로 받아 0(FALSE)을 출력으로 내보낸다. | 0(FALSE) 을 입력으로 받아 1(TRUE)을 출력으로 내보낸다. (Q = 1) | 안정 |
즉, 두 개의 안정된 상태를 가지므로 bistable하다고 한다.
N개의 stable state를 갖는 element는 log(2)N bits의 정보를 담는다. 따라서 bistable element는 하나의 bit를 저장한다.
이런 형태의 cross-coupled inverter는 하나의 bit 정보를 저장하지만 state를 조절할 input이 없기 때문에 실용적이지 않다. 따라서 state 변수의 값을 조절하는 input을 제공하는 latches, flipflops과 같은 다른 bistable elements들을 사용한다.
다음 글에서는 latch와 flipflop에 대해 자세히 알아보도록 하자.
'Computer > 디지털시스템' 카테고리의 다른 글
[Verilog] Hardware Description Language (HDL) (1) | 2024.06.06 |
---|---|
[논리회로] 순차 논리회로 (Sequential Logic Circuit) (2): Latch (1) | 2024.06.06 |
[논리회로] 조합 논리회로 (Combinational Logic Circuit) (3): X, Z (1) | 2024.06.06 |
[논리회로] 조합 논리회로 (Combinational Logic Circuit) (2): boolean equation, boolean algebra (1) | 2024.06.06 |