位置:51电子网 » 技术资料 » 消费类电子

MBR0520LT3异步置零功能的D触发器

发布时间:2019/10/19 16:42:31 访问次数:1133

MBR0520LT3计数器的Verilog建模

下面通过3个实例介绍同步二进制计数器、异步二进制计数器和非二进制计数器的Vernog建模。

同步二进制计数器,例6.6.2中的模块描述了具有异步置零、并行置数功能的4位同步二进制计数器,完成的功能与图6.5.13所示74LVC161类似。在该模块中混合使用了assign语句和always语句,assign语句描述了组合电路中由与门产生的使能控制信号CE(中间节点)和进位输出信号TC,当计数器计数到最大值15时,TC=1。根据表6.5,6,always语句描述了计数器的逻辑功能,当CR信号跳变到低电平(由negedge CR描述)时,计数器的输出被置零;否则,当CR=1时,在CP的上升沿作用下,完成其他三种功能:同步置数、加1计数和保持原有状态不变。注意,iF-else语句隐含的优先级别与表6.5.6相同。

例6,6.2

///∶Binary counter、Vith para11el load and enable

//see Figure 6.5.13 and′rable 6.5.6

1nodule counter74x161 (CEP, CET,PE, D, CP, CR, Q,TC);

input CEP, CET,PE, CP, CR;

input[3:0]D;                //Data input

output TC;                   //C)utput carry

output[3:0]Q;              //Data。utput

reg[3:0]Q;

w1re CE;

assign CE = CEP&I CET;

assign TC=CET&(Q・==4’b1111);

always@(posedge CP or negedge CR)

iF(~CR)Q <=4’b0000;

ense if( ~PE)Q<=D.;        //PE=0, synchronous load input

else iF(~CE)Q<=Q;        //the output no change

else Q(=Q+1i bl;

endmodule

异步二进制计数器,异步计数器的结构化描述如例6.6.3所示。第一个模块通过4次调用第二个模块完成计数功能,第二个模块是带有异步置零功能的D触发器作为设计的底层。在第一个模块中,第1个触发器FFO的输出Q0经反相(用~Q0表示)后与D输入相连(在FFO中用~Q0取代D),构成r′触发器,其时钟接到外部输人CP。第2个触发器F1的输出Q1经反相后与D输人相连(在FF1中用~Q1取代D),其时钟接到前一个触发器的输出(用Q0取代CP)。类似地,将4个触发器级联在一起构成异步二进制计数器,其原理图与图6.5.8类似。需要注意的是,调用第二个模块时端口的排列顺序。

          

例6.6,3

//Ripple counter(Refer to Fig.6.5.8)

module ripplecounter(Q0,Q1,Q2,Q3,CP,CR);

output Q0,Q1,Q2,Q3;

input CP,CR;

//Instantiate D nip-n。p

D~FF FFO(Q0,~Q0,CP,~CR);

D  FF FF1

D  FF FF2

D  FF FF3

endmodule

Q1,~Q1,Q0,~CR);

Q2,~Q2,Q1,~CR);

Q3,~Q3,Q2,~CR);

l`9

//module I)~FF、vith asynchronous reset

lllodule D~FF(Q,D,CP,Rd);

output Q;

input D,CP,R-;

reg Q;

always@( negedge CP or negedge Rd)

if(~Rd)Q<=1’bO;

else Q(=D;




MBR0520LT3计数器的Verilog建模

下面通过3个实例介绍同步二进制计数器、异步二进制计数器和非二进制计数器的Vernog建模。

同步二进制计数器,例6.6.2中的模块描述了具有异步置零、并行置数功能的4位同步二进制计数器,完成的功能与图6.5.13所示74LVC161类似。在该模块中混合使用了assign语句和always语句,assign语句描述了组合电路中由与门产生的使能控制信号CE(中间节点)和进位输出信号TC,当计数器计数到最大值15时,TC=1。根据表6.5,6,always语句描述了计数器的逻辑功能,当CR信号跳变到低电平(由negedge CR描述)时,计数器的输出被置零;否则,当CR=1时,在CP的上升沿作用下,完成其他三种功能:同步置数、加1计数和保持原有状态不变。注意,iF-else语句隐含的优先级别与表6.5.6相同。

例6,6.2

///∶Binary counter、Vith para11el load and enable

//see Figure 6.5.13 and′rable 6.5.6

1nodule counter74x161 (CEP, CET,PE, D, CP, CR, Q,TC);

input CEP, CET,PE, CP, CR;

input[3:0]D;                //Data input

output TC;                   //C)utput carry

output[3:0]Q;              //Data。utput

reg[3:0]Q;

w1re CE;

assign CE = CEP&I CET;

assign TC=CET&(Q・==4’b1111);

always@(posedge CP or negedge CR)

iF(~CR)Q <=4’b0000;

ense if( ~PE)Q<=D.;        //PE=0, synchronous load input

else iF(~CE)Q<=Q;        //the output no change

else Q(=Q+1i bl;

endmodule

异步二进制计数器,异步计数器的结构化描述如例6.6.3所示。第一个模块通过4次调用第二个模块完成计数功能,第二个模块是带有异步置零功能的D触发器作为设计的底层。在第一个模块中,第1个触发器FFO的输出Q0经反相(用~Q0表示)后与D输入相连(在FFO中用~Q0取代D),构成r′触发器,其时钟接到外部输人CP。第2个触发器F1的输出Q1经反相后与D输人相连(在FF1中用~Q1取代D),其时钟接到前一个触发器的输出(用Q0取代CP)。类似地,将4个触发器级联在一起构成异步二进制计数器,其原理图与图6.5.8类似。需要注意的是,调用第二个模块时端口的排列顺序。

          

例6.6,3

//Ripple counter(Refer to Fig.6.5.8)

module ripplecounter(Q0,Q1,Q2,Q3,CP,CR);

output Q0,Q1,Q2,Q3;

input CP,CR;

//Instantiate D nip-n。p

D~FF FFO(Q0,~Q0,CP,~CR);

D  FF FF1

D  FF FF2

D  FF FF3

endmodule

Q1,~Q1,Q0,~CR);

Q2,~Q2,Q1,~CR);

Q3,~Q3,Q2,~CR);

l`9

//module I)~FF、vith asynchronous reset

lllodule D~FF(Q,D,CP,Rd);

output Q;

input D,CP,R-;

reg Q;

always@( negedge CP or negedge Rd)

if(~Rd)Q<=1’bO;

else Q(=D;




热门点击

 

推荐技术资料

中国传媒大学传媒博物馆开
    传媒博物馆开馆仪式隆童举行。教育都i国家广电总局等部门... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!