题解 | #异步复位的串联T触发器#
异步复位的串联T触发器
http://www.nowcoder.com/practice/9c8cb743919d405b9dac28eadecddfb5
//用case语句代替else if来实现异步复位的串联T触发器
由T触发器的真值表可知,T=1时, Qn+1 = ~ Qn ,T=0时, Qn+1 = Qn
即:输入为1时,输出0到1到0不断翻转,输入为0锁存上一个时序结果
`timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output reg q
);
//**code//
reg q1;
always @(posedge clk or negedge rst)
begin
if(!rst)
begin
q <=0;
q1<=0;
end
else
begin
case(data)
1:q1<=!q1;
0:q1<=q1;
default:q1<=0;
endcase
case(q1)
1:q<=!q;
0:q<=q;
default:q<=0;
endcase
end
end
//**code//
endmodule