题解 | #异步复位的串联T触发器#

异步复位的串联T触发器

http://www.nowcoder.com/practice/9c8cb743919d405b9dac28eadecddfb5

T触发器: 输入是1,输出翻转; 输入是0,输出保持;

两个这种T触发器串联起来,第一个的输出作为第二个的输入。

`timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output reg q  
);
    
   // 1. 复位
    //2. T触发器,D触发器
//*************code***********//
    reg q1;
    always @ (posedge clk or negedge rst)
        begin
            if(!rst) begin
                q1 <= 1'b0;
            end 
            else begin
                if( data )
                    q1 <= ~q1;
                else 
                    q1 <= q1;
            end 
        end 
    
        always @ (posedge clk or negedge rst)
        begin
            if(!rst) begin
                q <= 1'b0;
            end 
            else begin
                if( q1 )
                    q <= ~q;
                else 
                    q <= q;
            end 
        end 

//*************code***********//
endmodule
全部评论
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞 回复 分享
发布于 2022-04-20 16:08

相关推荐

练习JAVA时长两年半:qps 30000
点赞 评论 收藏
分享
评论
14
1
分享

创作者周榜

更多
牛客网
牛客企业服务