D触发器Verilog描述
发布时间:2016-5-10 09:53
发布者:designapp
//基本D触发器 module D_EF(Q,D,CLK) input D,CLK; output Q; reg Q; //在always语句中被赋值的信号要声明为reg类型 寄存器定义 always @ (posedge CLK) //上升沿,下降沿用negedge表示,^_^ 需要记忆 begin Q D触发器 module D_EF(q,qn,d,clk,set,reset) input d,clk,set,reset; output q,qn; reg q,qn;//寄存器定义 always @ (posedge clk or negedge set or negedge reset) begin if(!reset) begin qD触发器 module D_EF(q,qn,d,clk,set,reset) input d,clk,set,reset; output q,qn; reg q,qn; always @ (posedge clk) begin if(reset) begin q<=0;qn<=1;end//同步清0,高有效 else if(set) begin q<=1;qn<=1;end //同步置1,高有效 else begin q<=~d;qn<=~d;end end endmodule 附:D触发器二分频 module dff_2(clk,rst,clk_out); input clk,rst; output clk_out; wire clk,rst; reg clk_out; always @(posedge clk or negedge rst) if(!rst) begin clk_out<=0; end else begin clk_out<=~clk_out; end endmodule 因为器件有时延所以可以这样,也因为时延所以多个D触发器可以组合成多位寄存器。 |
网友评论