题解 | #异步复位的串联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