通过仿真和综合认识T触发器(Verilog HDL语言描述T触发器)

举报
李锐博恩 发表于 2021/07/15 06:28:05 2021/07/15
【摘要】 这个系列的博文已经写过了两篇,分别是通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)和通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器),分析的方法是完全并行的。 这里再看一下T触发器。 Verilog HDL程序描述 //设计1为T触发器,带有异步复位信号module t_trigger(clk,t,rst,q); input...

这个系列的博文已经写过了两篇,分别是通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器),分析的方法是完全并行的。

这里再看一下T触发器。

Verilog HDL程序描述


  
  1. //设计1为T触发器,带有异步复位信号
  2. module t_trigger(clk,t,rst,q);
  3. input clk, t, rst;
  4. output q;
  5. reg q;
  6. always@(posedge clk or posedge rst)
  7. begin
  8. if(rst) //复位信号有效, 输出清零
  9. q <= 1'b0;
  10. else if(t == 1'b1) //t为1时,输出翻转
  11. q <= ~q;
  12. else //否则,输出保持
  13. q <= q;
  14. end
  15. endmodule

测试文件


  
  1. //1位T触发器的测试文件
  2. `timescale 1ns/1ps
  3. module t_trigger_tb;
  4. reg t;
  5. reg clk;
  6. reg rst;
  7. wire q;
  8. //时钟信号产生,周期为20ns
  9. always
  10. begin
  11. #10 clk = ~clk;
  12. end
  13. //初始化
  14. initial
  15. begin
  16. clk = 1'b0;
  17. rst = 1'b0;
  18. t = 1'b0;
  19. #30 rst = 1'b1;
  20. #10 rst = 1'b0;
  21. #30 t = 1'b1;
  22. #40 t = 1'b0;
  23. end
  24. t_trigger u1(.clk(clk), .rst(rst), .t(t), .q(q));
  25. endmodule

仿真波形

从波形可以看出,前30ns的输出值不确定,这也在预料之内,由于此刻没有复位,所以输出值处于未知,所以直到复位前都将是不确定状态。后面也可以看出,T触发器的作用就是,时钟上升沿触发时刻,t 为0 时,输出保持,t为1时,输出翻转。

综合后:

寄存器转换级电路(Register Transfer Level)

展开后:

这个电路比较有意思了,不复杂,由于是在FPGA中综合出来的电路,所以这个T触发器同样是由D触发器组成的,CE为使能端,CE与t相连,当t(CE)为1时,D触发器工作,由于D触发器的输出q经过一个反相器后与输入d相连,所以此时,输出q为q的前一个状态的翻转,即q^{n+1} = \sim q^{n}

同理当t为0时,时钟上升沿到来时,D触发器没有工作,所以输出保持原来的状态,即q^{n+1} = q^{n}

下面再看看Technology Schematic

时钟输入经过一个BUFGP,作用当然是全局时钟缓冲器了,这是FPGA电路里面的规矩,这个BUFGP的好处很多,相关的博文:【FPGA】IBUFG、IBUFGDS、IBUFDS...(这些到底是啥?),都是一类的东西。

这个电路的意思是,上面的RTL电路在FPGA中的实际体现。

由于FPGA中只有D触发器,所以在FPGA中也是由D触发器构成T触发器。


最后也同样给出T触发器的输入输出表格总结:

T Q^{n+1}
0 Q^{n}
1 \sim Q^{n}

 

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/81332515

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。