`timescale 1ns/1ns module Tff_2 ( input wire data, clk, rst, output reg q ); //*************code***********// reg q_reg ; always@(posedge clk or negedge rst) begin if(~rst) begin q_reg <= 0; q <= 0; end else begin q_reg <= data ^q_reg; q <= q_reg ^ q ; end end //*************code***********// endmodule
首先我们来分析题目, 异步复位的T 触发器,那T触发器是什么呢 ? T -flip-flop的基本原理 , T 为控制信号 , 当T=1时, 触发器输出翻转 , 当T=0时,输出保持不变 。
T 触发器的实现逻辑 , Q<=T XOR Q ;
第一级则实现TFF基础功能 , 由T控制翻转;
第二级以第一级输出作为自己的控制信号,相当于TFF的级联结构 !