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                  )
);
相关推荐
9527华安4 小时前
FPGA实现40G网卡NIC,基于PCIE4C+40G/50G Ethernet subsystem架构,提供工程源码和技术支持
fpga开发·架构·网卡·ethernet·nic·40g·pcie4c
search76 小时前
写Verilog 的环境:逻辑综合、逻辑仿真
fpga开发
search712 小时前
Verilog 语法介绍 1-1结构
fpga开发
小眼睛FPGA16 小时前
【RK3568+PG2L50H开发板实验例程】Linux部分/FPGA dma_memcpy_demo 读写案例
linux·运维·科技·ai·fpga开发·gpu算力
幸运学者17 小时前
xilinx axi datamover IP使用demo
fpga开发
搬砖的小码农_Sky17 小时前
XILINX Zynq-7000系列FPGA的架构
fpga开发·架构
热爱学习地派大星1 天前
FPGA矩阵算法实现
fpga开发
热爱学习地派大星1 天前
Xilinx FPGA功耗评估
fpga开发·verilog·vivado·fpga功耗·xpe
搬砖的小码农_Sky1 天前
XILINX Ultrascale+ Kintex系列FPGA的架构
fpga开发·架构
XvnNing1 天前
【Verilog硬件语言学习笔记4】FPGA串口通信
笔记·学习·fpga开发