Verilog中#的2种作用

在Verilog中,#有2种作用。

第一种作用是指定时间延时,如#10,表示延时10个时间单位;

第二种作用在模块定义时指定常量型参数的默认值,在模块实例化时传递常量型参数的指定值。

cs 复制代码
module uart_tx
//采用#()形式定义常量型参数,为模块的默认值
#(
	parameter CLK_FRE = 50,      //时钟频率
	parameter BAUD_RATE = 115200 //波特率
)
(
	input                        clk,              //clock input
	input                        rst_n,            //asynchronous reset input, low active 
	input[7:0]                   tx_data,          //data to send
	output reg                   tx_data_ready,    //send ready
	output                       tx_pin            //serial data output
);

localparam                       CYCLE = CLK_FRE * 1000000 / BAUD_RATE;
#10  //延时10ns

endmodule



uart_tx
//采用#()形式传递常量型参数,不传递时模块将采用默认值,传递则采用指定值
#
(
.CLK_FRE(50),
.BAUD_RATE(9600)
) uart_tx_inst
(
.clk                        (sys_clk                  ),
.rst_n                      (rst_n                    ),
.tx_data                    (tx_data                  ),
.tx_data_ready              (tx_data_ready            ),
.tx_pin                     (uart_tx                  )
);
相关推荐
zlinear数据采集卡1 小时前
基准电压电路深度解析:从理论参数到ZLinear采集卡的精准参考实战
c语言·单片机·嵌入式硬件·fpga开发·自动化
ALINX技术博客9 小时前
【黑金云课堂】FPGA技术教程Vitis开发:PS端SD读写
fpga开发·vitis·sd读写
尤老师FPGA10 小时前
LVDS系列50:Xilinx Ultrascale系 ADC LVDS接口参考方法(十二)
fpga开发
zlinear数据采集卡10 小时前
模拟输入限流保护电路深度解析:从理论原理到ZLinear采集卡的实战设计
c语言·单片机·嵌入式硬件·fpga开发·自动化
Dillon Dong1 天前
【风电控制】FPGA采集Vdc的ADC增益系数解析——从数字码到实际电压的桥梁
算法·fpga开发·变流器·风电控制
ALINX技术博客1 天前
【黑金云课堂】FPGA技术教程FPGA基础:FIFO与Uart通信
fpga开发·uart·fpga·fifo
zlinear数据采集卡1 天前
定时器电路深度解析:从经典555到STM32定时器,从ZLinear采集卡的工程化设计实战
stm32·单片机·嵌入式硬件·fpga开发·自动化
逻辑诗篇1 天前
FT-M6678+JFM7VX690T互联调试
fpga开发
szxinmai主板定制专家1 天前
基于 ARM+FPGA精密多轴实时运动控制卡设计方案,适用于半导体设备等高精度领域(一)
arm开发·人工智能·嵌入式硬件·fpga开发·架构·语音识别
2301_809049421 天前
blog_vitis_platform_system_application
fpga开发