FPGA学习verilog编写D触发器

时序逻辑学习

设计目标:实现D触发器

框图

请添加图片描述

代码

D_FF.v代码

module D_FF (
    input wire clk,
    input wire rst_n,
    input wire D,
    output reg  Q,
    output wire Q_NOT_GATE
);

always @(posedge clk or negedge rst_n) begin
    if(~rst_n)
            Q <= 1'b0;
        else
            Q <= D;  
end
assign Q_NOT_GATE = ~Q;

endmodule

tb文件

`timescale 1ns/1ps

module D_FF_tb ();
    
reg clk;
reg rst_n;
reg D;
wire Q;
wire Q_NOT_GATE;

initial begin
    clk = 1'b0;
    rst_n = 1'b0;
    D = 1'b0;
    #5
    rst_n = 1'b1;
end


//50Mhz  20ns
always #10 clk = ~clk;
always #20.1 D = {$random} % 2;

D_FF D_FF_1(
    .clk(clk),
    .rst_n(rst_n),
    .D(D),
    .Q(Q),
    .Q_NOT_GATE(Q_NOT_GATE)
);

endmodule

仿真结果

仿真

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FPGA 429是一种可编程逻辑器件,它可以用来实现各种功能。Verilog是一种硬件描述语言,用于描述FPGA中的电路结构和逻辑功能。所以,FPGA 429 Verilog代码是用Verilog语言编写的适用于FPGA 429的代码FPGA 429是一个功能强大的FPGA板,它内置了各种资源,包括查找表、片上存储器、DSP48E等,使得实现复杂的电路变得容易。使用Verilog语言可以描述这些资源之间的连接和逻辑关系,从而实现所需的功能。 编写FPGA 429 Verilog代码的过程通常包括以下几个步骤: 1. 定义输入输出接口:根据设计需求,确定所需的输入和输出接口,并用Verilog代码定义它们的信号类型、数值范围等。 2. 设计核心逻辑:根据功能需求,设计FPGA 429的核心逻辑电路。可以使用Verilog语言描述逻辑门、触发器、多路选择器等基本逻辑组件,并将它们按照功能逻辑连接起来。 3. 实现时序控制:在设计中,可能需要控制电路的时序和时钟频率。可以使用Verilog语言编写时钟控制逻辑,使得电路按照设计要求工作。 4. 仿真和调试:通过使用仿真工具,可以验证设计的正确性,并进行必要的调试和优化。 最后,生成的FPGA 429 Verilog代码可以使用相关软件和烧录工具将代码下载到FPGA设备中,实现对应的功能。 FPGA 429的应用非常广泛,可以用于数字信号处理、通信系统、图像处理等各种领域。通过编写适合FPGA 429的Verilog代码,可以实现各种定制化的功能,满足不同应用需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值