close
D型閂鎖器
En | D | Q的下一個狀態 |
0 | X | 未改變 |
1 | 0 | Q=0 |
1 | 1 | Q=1 |
En為0時,不改變;
En為1時,將D值給Q;
D型閂鎖器--design bench
module D_latch (Q, D, En); output Q; input D, En; reg Q; always @ (En, D) if (En) Q <= D; //若En==1時,把D輸給Q endmodule
D型正反器
輸入方程式 :DA=A⊕x⊕y
D型正反器--design bench
第一種
module D_flip_flop_AR (Q, D, Clk, rst); output Q; input D, Clk, rst; reg Q; always @ (posedge Clk, negedge rst) //clk為正緣或rst為負緣觸發 if (rst == 0) Q <= 1'b0; //看rst:若rst為0,就輸入0給Q; else Q <= D; // 若rst為1,就輸入D給Q; endmodule
D型正反器--design bench
第二種
module D_flip_flop (Q, D, Clk);
output Q;
input D, Clk;
reg Q;
always @ (posedge Clk) 當clk為正緣時觸發
Q <= D; //將D輸給Q
endmodule
D型正反器--test bench
module t_D_flip_flops;
wire Q, Q_AR;
reg D, Clk, rst;
D_flip_flop M0 (Q, D, Clk);
D_flip_flop_AR M1 (Q_AR, D, Clk, rst);
initial #300 $finish;
always #5 Clk = ~Clk;
initial begin
D = 1;
rst = 1;
Clk = 0;
#20 D = 0;
#30 D = 1;
#12 rst = 0;
#30 D = 0;
#30 D = 1;
#12 rst = 1;
#30 D = 0;
#30 D = 1;
end
endmodule
文章標籤
全站熱搜
留言列表