#()的用法【FPGA】

用法2种:

1预处理参数。

2时间延时。

在Verilog中,#()是一个参数化的模块声明,用于定义模块的参数。这些参数可以在模块实例化时被传递,以便在模块内部使用。#()中的参数可以是数字、字符串或其他参数化模块。具体说明如下:

  1. #()中的参数可以是数字、字符串或其他参数化模块。

  2. 参数可以在模块实例化时被传递,以便在模块内部使用。

  3. #()中的参数可以有默认值 ,如果没有传递参数,则使用默认值。

  4. #()中的参数可以在模块内部使用,例如用于计算延迟时间等。

下面是一个简单的Demo,展示了如何在Verilog中使用#()声明一个参数化模块:

默认参数:

cs 复制代码
module sleep_led #
(
    parameter CNT_1US_MAX = 6'd49,// 有默认值的,实例化时可以传入新值
    parameter CNT_1MS_MAX = 10'd999,// 没有新值传入,就使用默认值
    parameter CNT_1S_MAX = 10'd999
)
(
    input clk,
    input rst,
    input button,
    output reg led
);

reg [9:0] cnt_1us;
reg [9:0] cnt_1ms;
reg [9:0] cnt_1s;

always @(posedge clk or posedge rst)
begin
    if (rst)
    begin
        cnt_1us <= 0;
        cnt_1ms <= 0;
        cnt_1s <= 0;
    end
    else
    begin
        if (cnt_1us == CNT_1US_MAX)
        begin
            cnt_1us <= 0;
            cnt_1ms <= cnt_1ms + 1;
        end
        else
        begin
            cnt_1us <= cnt_1us + 1;
        end

        if (cnt_1ms == CNT_1MS_MAX)
        begin
            cnt_1ms <= 0;
            cnt_1s <= cnt_1s + 1;
        end

        if (cnt_1s == CNT_1S_MAX)
        begin
            cnt_1s <= 0;
            if (button)
            begin
                led <= ~led;
            end
        end
    end
end

endmodule

时间延时:

cs 复制代码
`timescale  1ns/1ns

module  led 
(
    input   wire    key_in  ,   //输入按键

    output  wire    led_out     //输出控制led灯
);

#10  //延时10ns

assign  led_out = ~key_in ;

endmodule
相关推荐
Riwuarua19 小时前
从近似0基础开始FPGA开发 -- part.6 逻辑设计与状态机
fpga开发
LCG元20 小时前
【实战】Vivado FPGA 从零实现 UART 串口收发:波特率生成、状态机设计与仿真调试
fpga开发
郭郭的柳柳在学FPGA20 小时前
紫光DDR3工程仿真遇到的坑
fpga开发
国科安芯1 天前
ASC8T245S:把 8 位并行总线稳稳“跨过“电压域的双电源收发器
网络·分布式·单片机·嵌入式硬件·fpga开发·架构
HUSTCH20211 天前
DW IP详解
fpga开发
明德扬1 天前
Xilinx下载文件里的BIT、BIN、MCS有什么区别?先分清JTAG配置和Flash启动
fpga开发·fpga
IT信息时代1 天前
FPGA技术未来竞争发展出路
fpga开发
昆山森启智能科技有限公司1 天前
FPGA控制器
fpga开发
昆山森启智能科技有限公司1 天前
基于深度学习GPU(ORIN NX)+FPGA双光谱视频处理模块
人工智能·深度学习·fpga开发
LCMICRO-133108477461 天前
国产长芯微LD151完全P2P替代ADP151,是一款超低噪声、低压差线性稳压器
单片机·嵌入式硬件·fpga开发·硬件工程·电子工程师·线性稳压器·adp151