|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一下是对一个模块的例化:
/ ~- W" m: @$ B! t" p K2 H' a" vm1 #(`UART_FIFO_REC_WIDTH) m1_inst(
. N6 [! P( W4 _" p. S0 J.clk( clk ),
& D/ {; i3 V5 k y }, {3 o ..........
2 j, s# Z: f. E8 C. w);. f- ^- a: R, M/ z9 K: M, i
7 m ~ Q2 g Z% p该模块中定义的第一个参数是 parameter fifo_width = `UART_FIFO_WIDTH;
8 C% \0 i7 r v: ]* l+ o. p0 {! b5 E5 x! C# @: D0 R+ m1 A) k0 Q
在另一个专门的文件里定义了:
7 U, H$ \. u5 w+ y9 S# l`define UART_FIFO_WIDTH 8' ^- y. h9 p# _: y( w& a$ I- G
`define UART_FIFO_REC_WIDTH 11
; r) ]: K1 ~8 k
* M4 T' G+ o3 U/ c一开始我以为#(`UART_FIFO_REC_WIDTH)的意思是延时那么多,方便仿真。。。后来觉得不对,不是延时,因为又不是在做赋值。。。, c7 [4 a3 S- e r+ e. a
+ {" v9 e5 Y* M2 c
编译后看RTL图发现,该模块UART_FIFO_WIDTH的值全部替换成了UART_FIFO_REC_WIDTH的值,到这里我大概明白这里的用意了。觉得很奇怪,以前从没遇到过。。。 |
|