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                  )
);
相关推荐
博览鸿蒙2 天前
FPGA开发使用的语言
fpga开发·fpga
明德扬2 天前
机器人多摄像头如何做FPGA多路视频聚合?
学习·fpga开发·fpga
JoYER_cc3 天前
FPGA 调试实录:LED 闪烁程序从踩坑到仿真验证的完整经验总结
fpga开发
ktd0073 天前
复旦微开发环境搭建流程备忘录
fpga开发
ERROR:993 天前
陈工,试试Agent开发FPGA
fpga开发
威嵌神州3 天前
复旦微 FMQL100TAI 开发 8 问:仿真器、系统、接口高频问题解答
人工智能·嵌入式硬件·fpga开发
北京青翼科技3 天前
青翼基于PCIe的VU13P FPGA信号处理板
fpga开发·fpga开发板·图像处理卡·pcie板卡
szxinmai主板定制专家3 天前
NXP LS1046A 硬件方案: LS1046A+FPGA 异构加速架构实践
大数据·图像处理·人工智能·嵌入式硬件·fpga开发
Riwuarua4 天前
从近似0基础开始FPGA开发 -- part.14 JESD204协议、IP核与嵌入式初始化
fpga开发·jesd
第二层皮-合肥5 天前
Vivado 自动生成的 AXI‑Lite 从机 IP 的操作步骤
fpga开发