题解 | 异步复位的串联T触发器
`timescale 1ns/1ns module Tff_2 ( input wire data, clk, rst, output reg q ); //*************code***********// reg reg1; always@(posedge clk or negedge rst)begin if (!rst)begin reg1<=0; q<=0; end else begin reg1<=(data)?~reg1:reg1; //data为1 ,则翻转 q<=(reg1)?~q:q;// 因为是两个串联的T触发器,所以还需要多加一个 end end //*************code***********// endmodule
reg1<=(data)?~reg1:reg1; //data为1 ,则翻转
q<=(reg1)?~q:q;// 因为是两个串联的T触发器,所以还需要多加一个
reg1为第一个T触发器输出的中间变量,需要注意输入和输出