|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一下是对一个模块的例化:
1 C8 P, u) r. j ]* V1 P& Lm1 #(`UART_FIFO_REC_WIDTH) m1_inst(
2 u' E5 u: {5 V- N* N8 n.clk( clk ),
/ b* P6 \! k& G; w4 ?2 j ..........
. T$ n% d1 S. {. V' Z, r. K* ^6 s);- n3 b9 l1 P ^6 A' ~
. \6 `# h+ M: P, [! [/ d6 \该模块中定义的第一个参数是 parameter fifo_width = `UART_FIFO_WIDTH;5 N& N( c) x+ @5 O# y! c5 r/ H
5 z6 X! K- u$ O& B: Q在另一个专门的文件里定义了:
- I7 q% ^( D+ y6 |) w) \, [& W5 i) m`define UART_FIFO_WIDTH 8 x+ A. \3 G) H; q) P3 X! U
`define UART_FIFO_REC_WIDTH 11
2 F1 e0 P+ C4 ?: N
8 Q. e* F& ]# {/ q) Y! L: u6 m4 ^一开始我以为#(`UART_FIFO_REC_WIDTH)的意思是延时那么多,方便仿真。。。后来觉得不对,不是延时,因为又不是在做赋值。。。8 T9 u! z! G) N9 I' u$ G
/ j3 p' r, L! D- g
编译后看RTL图发现,该模块UART_FIFO_WIDTH的值全部替换成了UART_FIFO_REC_WIDTH的值,到这里我大概明白这里的用意了。觉得很奇怪,以前从没遇到过。。。 |
|