Verilog学习笔记简单功能实现(一)...............D触发器
1 module D_flop(data,clk,clr,q,qb); 2 input data,clk,clr; 3 output q,qb; 4 wire a,b,c,d,e,f,ndata,nclk; 5 nand nand1(a,clr,data,clk), 6 nand2(b,ndata,clk), 7 nand4(d,c,b,clr), 8 nand5(e,c,nclk), 9 nand6(f,d,nclk), 10 nand8(qb,f,clr,q); 11 nand nand3(c,a,d), 12 nand7(q,e,qb); 13 not not1(ndata,data), 14 not2(nclk,clk); 15 endmodule
上图就是门级Verilog语言描述的对应的网表,由图可以看出这是一个带异步置零的D触发器。
同样我们也可以采用行为描述来定义D触发器。
普通D触发器:
1 module D_EF(Q,D,CLK) 2 input D,CLK; 3 output Q; 4 reg Q; //在always语句中被赋值的信号要声明为reg类型寄存器定义 5 always @ (posedge CLK) 6 begin Q <= D; end 7 endmodule