T flip-flop

项目场景:

You are given a T flip-flop module with the following declaration:

module tff (
    input clk,
    input reset,   // active-high synchronous reset
    input t,       // toggle
    output q
);

Write a testbench that instantiates one tff and will reset the T flip-flop then toggle it to the “1” state.


问题描述

给定一个T型触发器模块,具有以下声明:

module tff (
    input clk,
    input reset,   // active-high synchronous reset
    input t,       // toggle
    output q
);

编写一个测试工作台,实例化一个tff,并将重置T触发器,然后将其切换到“1”状态


原因分析:

请添加图片描述
请添加图片描述

请添加图片描述
当T=0的时候状态保持,当T=1的时候状态反转。


解决方案:

`timescale 1ps/1ps
module top_module ();
	reg			clk	;
    reg			reset;
    reg			t;
    
    wire		q;
    

    initial
        begin
            clk <= 1'b0;
            reset <= 1'b0;
            #2
            reset <= 1'b1;
            #5
            reset <= 1'b0;     
        end
    always@(posedge clk)
        if(reset)
            t <= 1'b0;
    	else
        	t <= 1'b1;
    
        
    always	#5 clk <= ~clk;
   tff tff_inst
    	(
            .clk	(clk	),
            .reset	(reset	),   
            .t		(t		),       
            .q		(q		)
		);  
    
endmodule

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值