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开发·集成电路
爱吃羊的老虎3 小时前
【verilog】Verilog 工程规范编码模板
fpga开发
爱吃羊的老虎4 小时前
【verilog】在同一个 always 块中写了多个“看起来独立”的 if / if-else,到底谁先谁后,怎么执行?会不会冲突?
fpga开发
肯德基疯狂星期四-V我506 小时前
【FPGA】【DE2-115】DDS信号发生器设计
fpga开发·de2-115
子墨城西9 小时前
DSP、MCU、FPGA 的详细总结
单片机·嵌入式硬件·fpga开发
XINVRY-FPGA9 小时前
XC6SLX100T-2FGG484I 赛灵思 XilinxFPGA Spartan-6
c++·人工智能·嵌入式硬件·阿里云·ai·fpga开发·fpga
9527华安9 小时前
紫光同创FPGA实现HSSTLP光口视频点对点传输,基于Aurora 8b/10b编解码架构,提供6套PDS工程源码和技术支持
fpga开发·pds·紫光同创fpga·hsstlp·aurora 8b/10b
hahaha601610 小时前
ARINC818协议-持续
网络·fpga开发
尤老师FPGA19 小时前
LVDS系列8:Xilinx 7系可编程输入延迟(一)
fpga开发
szxinmai主板定制专家1 天前
基于STM32+FPGA的地震数据采集器软件设计,支持RK3568+FPGA平台
arm开发·fpga开发