html input触发器类型,几种触发器的Verliog语言描述

来源:CSDN

作者:fzhykx

1. D触发器:

module D_flip_flop(

input [1:0] d,

input clk,

output reg[1:0] q,

output reg[1:0] qb

);

always @(posedge clk)            //时钟上升沿触发D触发器

begin

q<= d ;

qb<= ~d ;

end

endmodule

2. RS触发器:

module SY_RS_FF ( R, S, CLK, Q, QB ); //模块名及参数定义,范围至endmodule。

input R, S, CLK;         //输入端口定义

output Q, QB;          //输出端口定义

reg Q;              //寄存器定义

assign QB = ~Q;         //assign语句,QB=/Q。

always @( posedge CLK )     //在CLK的上跳沿,执行以下语句。

case ({ R ,S })         //case语句,至于endcase为止。

1:Q <= 1;          //当R,S的组合为01,则令Q=1。

2:Q <= 0;          //当R,S的组合为01,则令Q=1。

3:Q <= 1'bx;         //当R,S的组合为11,则令Q为1bit的数,数值为不定(x)。

endcase             //case语句结束

endmodule              //模块结束

3. JK触发器:

module JK(clk,j,k,q,r,s,seg); input clk,j,k,r,s; output q;

output [7:0]seg; reg q=0; reg [7:0]seg;

always @(posedge clk)

begin

if(r==1 && s==0)

begin

q<=0;

end

if(r==0 && s==1)

begin

q<=1;

end

if(r==0 && s==0)

begin

if(j==1 && k==1)

begin

q<=~q;

end

if(j==1 && k==0)

begin q<=1;

end

if(j==0 && k==0)

begin

q<=q;

end

if(j==0 && k==1)

begin q<=0;

end

end

end

endmoudle

4. T 触发器:

input T,

input clk,

output Q,

output  QB,

always@(posedge clk)

begin

if(~reset)

begin

Q<=1'b0;

end

else

begin

if(T)

Q<=~Q;

QB<=~Q;

else

begin

Q<=Q;

QB<=~Q;

end

end

end

版权声明:本文为CSDN博主「fzhykx」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/fzhykx/article/details/80169078

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值