FPGA Introduction Course Training #05 – Sequential Circuits Latches Flip-Flops and Registers

YouTube-Channel-Art-Template.png


fpga introduction course training #5 - 1.PNG
– Sequential circuit은 memory를 가지며, clock에 기반해 동작한다는 특징을 갖는다.
– 일반적으로 많이 쓰이는 sequential circuit은 flip-flop, latch, register, RAM, finite state machine, FIFO 등이 있다.
– always 구문을 사용해 sequential circuit을 구현할 수 있다. Sequential circuit은 non-blocking assignment를 사용해 구현함.

fpga introduction course training #5 - 2.PNG
– 위 그림은 NOR 게이트를 사용해 구현한 SR latch이다.
– Q와 Q-bar는 항상 반대의 값을 갖는다.
– R=1이면 Q는 0의 값을 갖고, S=1이면 Q는 1의 값을 갖는다. R과 S 모두 0인 경우에는 값이 변하지 않고, 모두 1인 경우는 허용되지 않는다.
– R과 S 모두 0인 경우에 값이 변하지 않으므로 memory로 사용할 수 있다.
– R과 S 모두 1인 경우에는 Q와 Q-bar 모두 0이 된다. 이렇게 되면 Q와 Q-bar가 달라야 하는 제약 조건을 위반하게 된다. 그리고 출력값이 0이 되면 NOR 게이트로 0이 들어와, 출력이 1로 바뀌며 Q값이 진동하게 된다.

fpga introduction course training #5 - 3.PNG
– 위 그림은 D latch이다. enable E가 1인 경우에만 D 값이 Q에 반영된다.
– E를 clock에 연결함으로써 clock이 1인 경우에 D 값이 Q에 반영되도록 할 수 있음.

fpga introduction course training #5 - 4.PNG
– 지난 그림에서 본 것은 D latch이다. Clock이 1인 경우에 D 값이 Q에 반영됨.
– Clock의 rising edge에서 D 값이 Q에 반영되도록 하려면 rising edge detector가 필요하다.
– Rising edge detection을 위해 gate delay를 사용함. AND 게이트 중 하나의 입력에 인버터를 세 개 연달아 연결함으로써 rising edge를 검출해낼 수 있다.

fpga introduction course training #5 - 5.PNG
– Rising edge detector를 D latch의 enable에 붙여서 D flip-flop을 만들 수 있다.

fpga introduction course training #5 - 6.PNG
– Register는 여러 개의 D flip-flop을 같은 clock으로 연결한 것.

Advertisements
Tagged with: , , , , , , , , , , , , , , , , , , , , ,
Posted in FPGA

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Recent Posts
누적 방문자 수
  • 142,141 hits
%d bloggers like this: