컴퓨터구성 (4)

남율·2023년 9월 25일
0

9/19(화) 요약정리

  • Excitation Table

현 상태가 뭐고, 다음 상태를 뭐로 받고 싶은지 —> 이 때 SR, JK 단자에 무엇을 물려줘야 원하는 상태 변화를 이끌어낼 수 있는지 알려주는 것임.
  • 순차 회로(Sequential Circuits)

한 순간에 하나씩 순차적으로 들어오게끔, 회로의 상태값이 순차적으로 조금씩 바뀜

조합회로 + Flip-Floops

  • Flip-Flop Input Equation
  1. Input Equation 예제

    DA=Ax+Bx,DB=AxD_A = Ax + Bx, D_B=A'x

  2. Output Equation 예제

    y=Ax+Bxy=Ax'+Bx'

AND, OR게이트로 들어가는 input이 뭔지 잘 파악하고 더해주면 회로를 보고 Equation을 뽑아낼 수 있다.

DAD_A 쪽 식을 먼저 구하면 or게이트가 나오고 출력이 DAD_A인데, OR 게이트에 2개에 AND 게이트가 들어온다. 위 AND 게이트를 보면 하나는 x, 또 다른 하나는 A F/F에 들어있던 값이 피드백 되어 다시 AND 게이트로 들어온다. —> 이것은 AXA_X

밑에 있는 AND 게이트를 마찬가지로 하나는 x, 또 다른 input은 밑에 있는 F/F의 값이 들어오게 된다. —> 이것은 Bx가 됨.

밑에 있는 F/F에 DBD_B는 AND 게이트 하나면 되는데 한 입력값은 A'값이 AND 게이트로 들어온다. 또 다른 input은 x값으로 들어온다. Db = A'x라고 할 수 있다.

출력 y는 OR 게이트 그리고 AND 게이트 2개, 거기에 하나는 Ax' 또 하나는 Bx'을 물린다.


  • Design Procedure
  1. Understand the problem : 어떤 회로를 설계해야 하는가?

  2. Draw the State Diagram : 전체적인 순차회로의 동작 방식 : 어떤 조건이 들어오면 바뀌는지

  • State Diagram

1/0 : 입력값 1, 출력값 0

  1. I/O variables are assigned : 입출력 변수들의 이름 할당

  2. Truth Table Draw

  3. Simplified Boolean Function : 간소화 시키기

  4. Draw Logic circuit diagram

A/B는 하나의 상태를 나타냄 (2비트로 구성), 첫번째 비트 : A, 두번째 비트 : B

x : 외부에서의 입력값, Next State A/B : 입력값에 의한 다음 신호

ex) 밑에서 두번째 칸을 보면 현재의 상태는 A - 1, B - 1이고 input x가 0이 들어올 때 다음 상태가 1/1로 만들기 위해

A라는 F/F에 J단자에는 x, K단자에는 0을 물리면 원하는 State 변화가 이루어질 수 있다.

  • Design Example : 2bit Binary Counter 입력신호 중에 1을 카운트 하는 것. 1을 3번까진 카운트하는데 더 들어오면 reset (1, 10, 11)

0이 들어오면 상태변화 없음. 1이 들어오면 다음 상태로 바뀜. State Diagram을 보면 동작의 기작을 다 알 수 있음.

  1. Understand the problem !

위 예제는 2비트짜리 Binary Counter  → 외부에서 들어오는 입력값들 중 1의 개수를 카운트 하는 것

서로 다른 4개의 상태 존재 가능 (00, 01, 10, 11) -> State Diagram

따라서 x에 1이 들어오면 4개 상태 가능, 중간에 x에 0이 들어오면 no change

** 여기서 우리가 알 수 있는 것 : 서로 다른 4개의 상태 관리 가능 Flip-Flops은 2개를 사용해야한다.(비트 1개씩)

어떤 F/F를 사용하라는 말이 없으므로 JK F/F를 사용하면 되고, 상태 변화 Table은 우측 위에 제공됨 → 원래는 제공 x, JK F/F는 많이 쓰므로 숙지하는 것이 좋음.

  1. State Diagram 그리기

위 그림에서 좌측 하단 그림이 State diagram임.

  1. Excitation Table 파악하기

현 상태와 다음 상태를 보며 파악할 수 있음.

  1. K-map을 이용하여 회로도 그리기

Excitation table의 각 열(Ja, Ka 등)에 있는 것을 1,2,4,3 방향으로 채워넣으면 됨.

맵을 그린 이후에, 그루핑을 해줌.

회로를 그린 후 동작 상태를 검증하기.

  1. 처음 X에 0이 들어가면 아무 변화없이 그대로 A = 0, B = 0

  2. 두 번째 역시 마찬가지.

  3. 세 번째에 1이 들어가면 전에 0이 있었기 때문에 B에 있는 0이 피드백 되어 위쪽 AND 게이트에 들어가 1,0 → 0이 됨 따라서 A는 0.

    B는 J, K단자에 모두 1이 들어가기 때문에 complement해서 1이 됨. —> A = 0, B = 1.

  4. 0이 들어오면 다음 상태는 현 상태 그대로임 (no change)

  5. 먼저 1이 들어오면 위 AND 게이트에 1, B로 연결된 곳에서 1이 들어와서 1이 됨. JK 단자에 1,1이 들어가기 때문에 결국 전 상태의 complement인 1이 됨.

    아래에도 JK 단자에 1이 들어가게 되고 다음 상태는 현상태의 complement가 되어 0이 됨.

  6. 여기서 다시 1이 들어오면 원래의 0과 B로부터 오는 1이 AND게이트로 들어가서 JK단자에 전부 0이 들어가고, 현 상태가 유지됨.

    아래에는 1이 그대로 가기 때문에 JK 단자에 모두 1이 들어가게 되고, 현 상태의 complement가 되어 1이 됨.

  • Design Example : 2 bit Count-down Counter x = 1 : 11, 10, 01, 00
       11, 10, …..
    x = 0 : no change

Simplification시 네 개를 한 번에 그리면 더 편하게 볼 수 있음.
profile
하나하나 차근차근

0개의 댓글