题解 | #异步复位的串联T触发器#
异步复位的串联T触发器
http://www.nowcoder.com/practice/9c8cb743919d405b9dac28eadecddfb5
解题思路
首先明确T触发器的作用电路结构、逻辑表达式。 电路结构:
逻辑表示:
然后明确是时序逻辑还是组合逻辑:
T触发器的时序逻辑,并且异步复位,(复位信号不受时钟控制)
画出真值表:
从表中看出,T触发器的作用是:T触发器的输入端控制输出端口,
当T=1:输出在下一时钟触发后,取反
当T=0:输出在下一时钟触发后,保持
代码:
`timescale 1ns/1ns
module Tff_2 (
input wire data, clk, rst,
output reg q
);
//*************code***********//
reg q1;
wire q1_out;
assign q1_out = q1;
assign q2_out = q;
// tff1
always @(posedge clk,negedge rst)begin
if(rst==0)
q1 <= 0;
else begin
q1 <= (data) ? (~q1_out):(q1_out);
end
end
// tff2
always @(posedge clk,negedge rst)begin
if(rst==0)
q <= 0;
else begin
q <= (q1_out) ? (~q2_out):(q2_out);
end
end
//*************code***********//
endmodule
