FPGA开发——D触发器的设计

1、概述

锁存器和触发器有时组合在一起,因为它们都可以在其输出上存储一位(1或0)。与锁存器相比,触发器是需要时钟信号(Clk)的同步电路。D 触发器仅在时钟从0 到 1(上升沿)或 1 到 0(下降沿)时存储来自 D 输入的新值。我们在FGPA开发中对D触发器进行设计,不同考虑其内部结构,只要根据需求实现当时钟信号上升沿或者下降沿到来时,输出的值等于输入D的值就行。

2、测试文件的编写

因为D触发器设计非常简单,这里就不多做介绍,直接上代码,新建一个d_ff.v文件(这里建立的.v文件必须和模块名一致,否则会报错)

 

//异步复位的D触发器
module d_ff(
  input clk,
  input rst_n,
  input d   ,
  output reg q
);

always@(posedge clk or negedge rst_n) begin 
    if(!rst_n)
      q<=1'b0;
    else 
      q<=d;
end 
endmodule

这里开始用到了时序电路,所以在后面的仿真中我们需要注意时序电路慢一拍输出的特性。

3、测试文件的编写

 新建一个d_ff_tb.v文件,如下:

//定义时间尺度
`timescale 1ns/1ns
module d_ff_tb;

reg clk;
reg rst_n;
reg d;
wire q;

d_ff dff(
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电子小芯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值