flip-flops

David8·2022년 5월 10일
0

논리설계

목록 보기
5/8

latch

  1. s,r을 통해 결과값 q를 도출
  2. gated-latch: clock이 특정한 값을 유지하고 있는 경우 값이 변함

sr latch(nor latch)

  1. set, reset을 통해 q값을 정함
  2. clock 0: q(t) - hold
  3. clock 1
    1. 00 --> hold: 이전 값 유지
    2. 01 --> reset
    3. 10 --> set
    4. 11 --> 불안정한 상태, 입력 금지
      1. q, q' 둘다 0이 나옴 --> q, q'는 서로 반대 값이 나와야 함
      2. sr:11 --> 00으로 바꾸는 경우 어느쪽 부터 바꾸냐에 따라 결과 값이 다르게 나오므로 불안정함
  4. nand로 만드는 경우
    1. sr 다 반대임

d latch

  1. sr latch에서 불안정한 1,1의 상태를 예방하기 위해, 인풋을 하나로 놓으면서 아예 막아버린 회로
  2. clock 1인 경우: d값을 그대로 출력
  3. clock 0: q(t) - 이전의 값 유지

latch timing problem

  1. clk 1인 경우 입력 상태가 변하면 출력 상태도 계속 변하는 문제 존재
  2. shift register의 경우 한 clk당 한 비트가 옮겨지는 것이 아니라 clk가 1인 동안 계속 값이 이동하는 문제 발생

flip-flops

  1. latch는 clock이 1인 경우 입력상태가 변하면 출력 상태도 계속 변하는 문제점 존재
  2. clock-edge에서 값이 변함

sr flip-flops

d flip-flops

  1. d latch 2개 연결(D값 그대로 나옴)
  2. positive-edge: 0 --> 1 로 바뀔 때 d값 반영
  3. negative-edge: 1 --> 0 으로 바뀔 때 d값
  4. 기호에서는 삼각형이 있으면 flip-flop이고, clk가 있으면 latch임
    1. positive-edge: 삼각형
    2. negative-edge: 삼각형 + 버블

jk flip-flops

  1. d, t flip-flops 두가지 모두를 가진 것
    1. 0 0: q(t) - hold
    2. 0 1: 0 - reset
    3. 1 0: 1 - set
    4. 1 1: q(t)' - toggle

t flip-flops(toggle)

  1. t 0: q(t) - hold
  2. t 1: q(t)' - toggle

preset & clear input

  1. d, j, k 보다 우선 순위가 높음(우선순위 가장 높음)
  2. preset/set: q --> 1 ==> preset 0으로 만드는 것 아님, 헷갈리지 않기!
  3. clear/reset: q--> 0
  4. synchronous vs asynchronous
    1. asyn: 게이트에 바로 연결 해서 clk에 관계없이 작동
    2. syn: 게이트 인풋과 연결하여 clk에 따라 작동 됨

flip-flop equation

  1. 카르노 맵을 통해 식을 추론 해낼 수 있음
  2. jk ff
    1. q* = JQ' + QK'

0개의 댓글