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                  )
);
相关推荐
太爱学习了3 小时前
XILINX SRIOIP核详解、FPGA实现及仿真全流程(Serial RapidIO Gen2 Endpoint v4.1)
fpga开发·srio·dsp
HIZYUAN12 小时前
嵌入式开发踩坑记: AG32硬件设计指南(一)
stm32·单片机·嵌入式硬件·fpga开发·硬件设计·最小系统·agm ag32
上海全爱科技14 小时前
全爱科技推出 摩尔线程E300+FPGA开发板HOUYI-1000V
科技·fpga开发
扣脑壳的FPGAer15 小时前
Xilinx远程更新之axi-quad-spi IP core
fpga开发
Troke17 小时前
串行数据与并行数据转换(1)
fpga开发
s1ckrain17 小时前
数字逻辑笔记—同步时序电路
笔记·fpga开发·嵌入式
s090713617 小时前
使用xilinx的fir IP核实现LFM信号匹配滤波的详细过程及原理
fpga开发·xilinx·fir·zynq·脉冲压缩
XINVRY-FPGA18 小时前
XC2C256-7VQG100I Xilinx CoolRunner-II CPLD FPGA
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发·fpga
黄埔数据分析18 小时前
chatgpt prompt for fpga
fpga开发·prompt
黄埔数据分析18 小时前
不同prompt 对比 async fifo
fpga开发·prompt