题解 | #异步复位的串联T触发器#
异步复位的串联T触发器
https://www.nowcoder.com/practice/9c8cb743919d405b9dac28eadecddfb5
T触发器的工作原理是当rst有效时(本题中高电平有效),输入T(本题中为data)= 0,输出保持不变,如果输入为1则输出在原来的状态基础上取反。
综上:
第一:定义一个中间变量(不知道为什么要定义成寄存器,请大佬指教)line。
第二:判断rst是否无效,如果无效则输出为0.
第三:如果rst有效则判断输入data,如果data = 0,则输出不变。否则输出取反。
第四:在第一个触发器的基础上重写第二个触发器。
不懂:
always @(posedge clk or negedege rst);这句什么意思?请大佬指教
`timescale 1ns/1ns module Tff_2 ( input wire data, clk, rst, output reg q ); //*************code***********// reg line; always@(posedge clk or negedge rst) if(rst == 1'b0) line <= 0; else if(data == 1'b0) line <= line; else line <= !line; always@(posedge clk or negedge rst) if(rst == 1'b0) q <= 0; else if(line == 1'b0) q <= q; else q <= !q; //*************code***********// endmodule