크리에이티브 커먼즈 라이선스
Creative Commons License
postive edge triggered D flip-flop

1
2
3
4
5
6
7
8
9
module d_ff(
          input     wire    clock
        , input     wire    d
        , output    reg     q
);
    always @(posedge clock)
        q <= d;

endmodule

`include "timescale.v"

module tb();
    reg clock;
    reg d;
    wire q;

    initial begin
    	clock = 0;
    	d = 0;
    end

    always begin
    	#5	clock = ~clock;
    end

    initial begin
    	$dumpfile("sim.vcd");
    	$dumpvars(0, tb);

    	$monitor("TIME=%d clock=%d d=%d q=%d", $time, clock, d, q);

    	#60		d = 1;			
    	#60		d = 0;
    	#60		$finish;
    end

    d_ff Ud_ff(
    	  .clock(clock)
    	, .d(d)
    	, .q(q)
    );

endmodule



negative edge triggered D flip-flop

1
2
3
4
5
6
7
8
9
module d_ff(
    	  input 	wire	clock
    	, input		wire	d
    	, output	reg	q
);
    always @(negedge clock)
    	q <= d;

endmodule



끵끵
저작자 표시 비영리 동일 조건 변경 허락

댓글을 달아 주세요