Engineering(SoC Design)/디지털공학&논리회로설계

논리회로설계 (복습 10~12)

무말랭이 2022. 3. 11. 13:56

Lecture 10 : Finite State Machine

유한상태기계는, 가질 수 있는 상태를 제한하며, 밀리머신과 무어머신이 있다.

밀리머신은 현재상태 그리고 입력 두가지에 모두 종속되며, 무어머신은 현재 상태에만 종속된다.

(하지만, 자세히 들여다보면 두 디자인패턴 모두 Inputs이 Next-State Logic에 삽입되는 것을 알 수 있다.)

무어머신 한 가지를 예시로 살펴보도록 하자.

 

자 그럼 S0, S1, S2, S3, S4 라는 5개의 상태를 통해, Encoding의 과정을 거쳐보도록하자.

그런데, 이때 이 상태를 Encoding 할 수 있는 방법으로는 Simple, Decomposed, One-Hot등 방법이 존재한다.

사용하지 않은 상태들은 don't cares 처리된다.

두번째 예시를 살펴보도록 하자. 이건 밀리머신이다. 밀리머신은 synchronouse 하다. 

이 예시는 하나의 변수로부터 영향을 받는다.

이 예시는 두개의 변수로부터 영향을 받는다.

연속된 7개의 숫자가 들어와야 잠금/잠금해제가 되는 자물함이 있다고 하는 예시이다.

 

Lecture 11 : Finite State Machine Example Design

이건 직접 풀어보도록 하자. 베릴로그로 결과값 해석하는 과정까지 모두.

 

Lecture 12 : Memory

우리는 FlipFlop과 Register만 살펴봤었는데, RAM과 ROM의 특징 그리고 작동 및 제어 방식을 살펴보도록하자.

메모리는 주소가 있는 저장공간들이며

ROM은 단순하게 읽고 쓰는것만 가능하며

RAM은 조금 더 복잡한 동작이 가능하다. (디테일은 향후 컨트롤러와 함께 보는것으로.)

그때 하나하나의 메모리셀의 구성은 다음과 같이 되어있다.