位置:51电子网 » 技术资料 » 通信网络

XC6220B331MR-G 触发器的次态

发布时间:2019/10/16 21:25:08 访问次数:2230

XC6220B331MR-G第三个模块描述的是具有同步置0功能的D触发器,即置0信号Rd也要在CP脉冲上升沿作用下才起作用。于是,在always语句中@符号之后的“事件控制表达式”中只有一个时钟事件,它表示只有在CP的上升沿到来时,后面的if-else语句才会被执行,此时首先检查Rd信号,如果Rd为逻辑0,则将输出Q置0;否则,将输人D传给输出Q。显然,在该语句块中,置0信号Rd仍具有优先权,只有Rd=1时,才有可能执行Q<=D语句。

例5.5.2

//Elementary D nip_n。p(see Fig.5,3.2 or Fig.5.3.5)

Inodule DFF(Q,D,CP);

ou奋put Q;

input D9CP;

reg Q:

always@(posedge CP)

Q(=D;

endmodule

Inodule async~ set~rst~ DFF(Q,QN,D,CP,sd,Rd);

output Q, QN;

input D, CP, sd, Rd;

reg Q, QN;

always@(posedge CP or negedge sd or negedge Rd)

if(~sd|| ~Rd)

if( ~sd )begin

Q(=1’b1;

QN (= 1’bO;

end

eIse      begin

Q <= 1’bO;

QN <= 1’b1;

end

else      begin

Q(=D;

QN <= ~D;

end

endmodule

//∶D nip-n。p with synchronous reset,

module sync~ rst~ DFF(Q,D,CP,Rd);

output Q;

input D,CP,Rd;

reg Q;

always@(posedge CP)

if(~Rd)Q (= 11 bO;

else Q (= D;

endInodule

例5,5,3给出了一个下降沿触发的k`K触发器模块,它应用了另一种描述方法。根据JK触发器的功能表,它使用多路分支语句case进行描述。这里,将输人变量J、K拼接起来成为一个2位二进制变量({J,K}),它的值可能是二进制数00、01、10、11,case语句后面的4条分支语句正好说明了在时钟信号CP下降沿作用后,触发器的次态。注意,case语句中所列出的各个条件是不存在优先权差别的,这种语句是直接从功能表进行电路描述的常用方法。

         

例5,5.3

//Functional description of JK~nip~n。p (see Fig・ 5・3,7)

m,odule JK~FF(Q,Qn。t,J,Κ,CP);

output Q,Qnot;

nnput J,K,cP;

reg Q;

assign Qnot = ~ Q ;

always@(negedge CP)

case({J,K})   //Switch based on concatenation of J and K signals

2i b00: Q (= Q;

2’b01: Q <= 1i bO;

2’b10: Q (= 1i b1;

2i b11:Q(=~Q;

endcase

endmodule



XC6220B331MR-G第三个模块描述的是具有同步置0功能的D触发器,即置0信号Rd也要在CP脉冲上升沿作用下才起作用。于是,在always语句中@符号之后的“事件控制表达式”中只有一个时钟事件,它表示只有在CP的上升沿到来时,后面的if-else语句才会被执行,此时首先检查Rd信号,如果Rd为逻辑0,则将输出Q置0;否则,将输人D传给输出Q。显然,在该语句块中,置0信号Rd仍具有优先权,只有Rd=1时,才有可能执行Q<=D语句。

例5.5.2

//Elementary D nip_n。p(see Fig.5,3.2 or Fig.5.3.5)

Inodule DFF(Q,D,CP);

ou奋put Q;

input D9CP;

reg Q:

always@(posedge CP)

Q(=D;

endmodule

Inodule async~ set~rst~ DFF(Q,QN,D,CP,sd,Rd);

output Q, QN;

input D, CP, sd, Rd;

reg Q, QN;

always@(posedge CP or negedge sd or negedge Rd)

if(~sd|| ~Rd)

if( ~sd )begin

Q(=1’b1;

QN (= 1’bO;

end

eIse      begin

Q <= 1’bO;

QN <= 1’b1;

end

else      begin

Q(=D;

QN <= ~D;

end

endmodule

//∶D nip-n。p with synchronous reset,

module sync~ rst~ DFF(Q,D,CP,Rd);

output Q;

input D,CP,Rd;

reg Q;

always@(posedge CP)

if(~Rd)Q (= 11 bO;

else Q (= D;

endInodule

例5,5,3给出了一个下降沿触发的k`K触发器模块,它应用了另一种描述方法。根据JK触发器的功能表,它使用多路分支语句case进行描述。这里,将输人变量J、K拼接起来成为一个2位二进制变量({J,K}),它的值可能是二进制数00、01、10、11,case语句后面的4条分支语句正好说明了在时钟信号CP下降沿作用后,触发器的次态。注意,case语句中所列出的各个条件是不存在优先权差别的,这种语句是直接从功能表进行电路描述的常用方法。

         

例5,5.3

//Functional description of JK~nip~n。p (see Fig・ 5・3,7)

m,odule JK~FF(Q,Qn。t,J,Κ,CP);

output Q,Qnot;

nnput J,K,cP;

reg Q;

assign Qnot = ~ Q ;

always@(negedge CP)

case({J,K})   //Switch based on concatenation of J and K signals

2i b00: Q (= Q;

2’b01: Q <= 1i bO;

2’b10: Q (= 1i b1;

2i b11:Q(=~Q;

endcase

endmodule



热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!