当前位置:   article > 正文

Verilog D触发器_d触发器verilog

d触发器verilog

1  通用D触发器

D触发器有数据、时钟和RST输入端以及Q和!Q两个输出端。在每一个时钟的上升沿,输出Q将与输入的D锁存,直到下一个时钟上升沿到来才继续锁存当前的D端数值!Q与Q的输出结果 相反。图1给出了D触发器的符号,图二给出了D触发器的电路,图三给出了D触发器的输入/输出时序。

图一  D触发器符号

                                                                图二  D触发器电路

                                                                图三  D触发器的时序图

2  Verilog 描述D触发器

2.1  代码描述

  1. `timescale 1ns / 1ps
  2. // Create Date: 2023/09/20 16:51:54
  3. // Design Name: Mr-pn-junction
  4. // Module Name: D_tragger
  5. module D_tragger(
  6. input wire d,
  7. input wire clk,
  8. input wire rst_n,
  9. output reg q,
  10. output wire q_n
  11. );
  12. always @(posedge clk or negedge rst_n) begin
  13. if(rst_n == 1'b0) begin
  14. q<=0;
  15. end
  16. else begin
  17. q<=d;
  18. end
  19. end
  20. assign q_n = ~q;
  21. endmodule

2.2  testbench

  1. `timescale 1ns / 1ps
  2. // Create Date: 2023/09/21 08:15:04
  3. // Design Name: Mr-pn-junction
  4. // Module Name: tb_D_tragger
  5. module tb_D_tragger();
  6. reg clk;
  7. reg rst_n;
  8. reg d;
  9. wire q;
  10. wire q_n;
  11. initial begin
  12. clk = 1'b0;
  13. rst_n = 1'b0;
  14. d = 1'b0;
  15. #20
  16. rst_n = 1'b1;
  17. end
  18. always #10 clk = ~clk;
  19. always #24 d = ~d;
  20. D_tragger tb(
  21. .clk(clk),
  22. .rst_n(rst_n),
  23. .d(d),
  24. .q(q),
  25. .q_n(q_n)
  26. );
  27. endmodule

3  时序仿真图

图4  Verilog时序仿真

参考文献

[1]  Verilog高级数字系统设计技术与实例分析. Kishore Mishra. 电子工业出版社.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/609443
推荐阅读
相关标签
  

闽ICP备14008679号