저장주소 : project_FF
드디어 플립플랍을 설계를 해보았다.
실제로 파이프라인 구조를 만들어내기 위해 가장많이 사용되는것이 플립플랍이다.
랫치와 가장 큰 차이는 sequential circuit, 즉 clk에 의해 동작한다는 것이다.
D F/F

DUT와 testbench

function

초기에 q에는 쓰레기값이 발생할 것이다. 이를 해결해주기 위해 시작하자마자 reset을 해주었다.
waveform

초기 q에서 쓰레기값이 발생했지만, reset이 되자마자 0으로 초기화되는 것을 볼 수 있다. 그후 3ns의 주기마다 q가 d의 값을 받는것을 확인할 수 있다.
보통 pipeline구조를 실행하기 위해선 1bit가 아닌, 5비트 이상의 flipflop을 많이 사용한다. 그러나 behavior code를 작성하면 bit수를 다르게 선언하는것 외에는 큰 차이가 없기때문에 별도로 공부하진 않겠다.
단, 단일비트의 연산이 아닐 경우 연사자들을 논리연산자(ex || &&)이 아닌 비트연산자(ex | &)을 사용하여야 한다.