这个系列的博文已经写过了两篇,分别是通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)和通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器),分析的方法是完全并行的。
这里再看一下T触发器。
Verilog HDL程序描述
//设计1为T触发器,带有异步复位信号
module t_trigger(clk,t,rst,q);
input clk, t, rst;
output q;
reg q;
always@(posedge clk or posedge rst)
begin
if(rst) //复位信号有效, 输出清零
q <= 1'b0;
else if(t == 1'b1) //t为1时,输出翻转
q <= ~q;
else //否则,输出保持
q <= q;
end
endmodule
测试文件
//1位T触发器的测试文件
`timescale 1ns/1ps
module t_trigger_tb;
reg t;
reg clk;
reg rst;
wire q;
//时钟信号产生,周期为20ns
always
begin
#10 clk = ~clk;
end
//初始化
initial
begin
clk = 1'b0;
rst = 1'b0;
t = 1'