我是靠谱客的博主 合适故事,这篇文章主要介绍数字电路设计之各种触发器的verilog实现,现在分享给大家,希望可以做个参考。

时序电路的基本单位就是触发器,接下来介绍几种同步寄存器的verilog HDL实现。

同步RS寄存器:有r(复位),s(置位)。它的缺点在于会有不确定状态x

module RS_Flip( clk,r,s,q,qb);

 

 input wire clk,r,s;

output reg q;

output wire qb;

assign qb = ~q;

always@(posedge clk)begin

    case({r,s})

    2'b00:  q <= q;

    2'b01:  q <= 1;

   2'b10:  q <= 0;

   2'b11:  q <= 1'bx;

   endcase

end

 

endmodule

 

同步T触发器:

在时钟沿到来的时候若T0,那么触发器输出不变。如果为1,则输出反转。

module T_Flip( clk,rst,t,q,qb);

    input wire  clk,t,rst;

    output wire qb;

    output reg  q;

 

    assign qb = ~q;

    always@(posedge clk)begin

    if(rst) 

     q <= 0;

   else if(t)

     q <= ~q;

   else;

 end  

endmodule

 

同步D触发器:这种触发器是最常用的。

它是在RS触发器的基础上改进而来。

module D_Flip( clk,rst,d,q,qb);

 input wire  clk,rst,d;

 output reg  q;

 output wire qb;

 assign  qb = ~q;

 always@(posedge clk)begin

     if(rst)

     q <= 0;

    else

     q <= d;

 end

endmodule

 

同步JK触发器:

处于时钟沿触发时当JK00,01,10时和RS触发器一样,当为11时和T触发器一样。

module JK_Flip( clk,j,k,q,qb );

input wire  clk,j,k;

output wire qb;

output reg  q;

assign qb = ~q;

always@(posedge clk)begin

    case({j,k})

    2'b00:

    q <= q;

    2'b01:

    q <= 0;

    2'b10:

    q <= 1;

    2'b11:

    q <= ~q;

    endcase

end

endmodule

最后

以上就是合适故事最近收集整理的关于数字电路设计之各种触发器的verilog实现的全部内容,更多相关数字电路设计之各种触发器内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(179)

评论列表共有 0 条评论

立即
投稿
返回
顶部