【时序逻辑】-D触发器
一、设计文件
//====================================================================== // --- 名称 : D // --- 作者 : liuxiaoyan_fpga // --- 日期 : 2022-03-29 // --- 描述 : D触发器 // --- 用途 : 搞清D触发器输出和输入之间的延迟 //====================================================================== module D //---------------------<端口声明>--------------------------------------- ( input Clk , input Rst_n , input a , output reg out ); always @(posedge Clk or negedge Rst_n) begin if (Rst_n == 1'b0) out <= 1'b0; else out <= a; end endmodule
二、仿真文件
`timescale 1ns/1ns //时间精度 module D_tb; //---------------------<端口定义>--------------------------------------- reg Clk;//时钟,50Mhz reg Rst_n;//复位,低电平有效 reg a; wire letout; initial begin Clk = 1'b0; Rst_n = 1'b0; #10; Rst_n = 1'b1; a = 1'b0; end always # 10 Clk = ~ Clk; always # 20 a = {$random}%2; //---------------------------------------------------------------------- //-- 模块例化 //---------------------------------------------------------------------- D a1 ( //system signals .Clk(Clk) , .Rst_n(Rst_n) , .a(a) , .out(letout) ); endmodule
三、仿真波形
1. 异步复位信号优先级最高
2. D触发器的输入改变,需要等下一个时钟上升沿到来才改变输出
3. 输出比输入慢10ns
四、RTL图