[verilog] D,T,SR,JK 플립플롭,카운터,Johnson Counter,shift register 구현
- 최초 등록일
- 2007.12.06
- 최종 저작일
- 2007.05
- 32페이지/ 한컴오피스
- 가격 3,500원
소개글
D,T,SR,JK플립플롭을 verilog로 구현
동기 카운터,비동기 카운터를 구현
Johnson Counter구현
shift register 구현
목차
① D, SR, JK, T 플립플롭 Coding
② clr, preset이 있는 D, SR, JK, T 플립플롭 Coding
③ Tri-state-bus register를 D F/F으로 작성
④ 12.1-그림 4bit짜리로 구현
⑤ 그림 12.2 - shift registers (parallel-in, parallel-out)
⑥ Johnson Counter
⑦ Synchronous Binary Counter
⑧ Binary counter with D-F/F
⑨ Binary counter with D-F/F
본문내용
① D, SR, JK, T 플립플롭 Coding
D플립플롭
-입력값이 그대로 출력값으로 나오는 특징을 지님
<D_FF.v>
module D_FF(q,q_bar,clk,d);
input d,clk;
output q,q_bar;
reg q,q_bar;
always@(posedge clk)
begin
case(d)
0: begin
q<=d;
q_bar<=~d; // 상승에지에서 d값이 0 일 때 q=0,q_bar=1
end
1: begin
q<=d; // 상승에지에서 d값이 1 일 때 q=1,q_bar=0
q_bar=~d;
end
endcase
end
endmodule
<tb_D_FF.v>
`timescale 1ns/10ps
module tb_D_FF;
reg d,clk;
wire q,q_bar;
D_FF u0(q,q_bar,clk,d);
always
#5 clk=~clk; // clk주기를 10으로 줌
always@ (posedge clk);
initial
begin
d=1`b0;
clk=1;
// 플립플롭의 동작을 명확히 하기 위해
#2 d=1`b1; // 시간차이를 2ns주었음
#10 d=1`b0;
#10 d=1`b1;
#10 d=1`b0;
#10 d=1`b0;
참고 자료
없음