TA的每日心情 | 开心 2024-12-19 15:41 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一下是对一个模块的例化:. u1 |, Z. i% Z b
m1 #(`UART_FIFO_REC_WIDTH) m1_inst(
( ]/ C' ?# ?# O! f- A.clk( clk ), $ f3 \0 d( \/ I0 Y7 I% _' ^+ E
..........: H: ?/ A: H/ D& s4 x
);/ [2 F: F ]: Q7 j5 u! b. j
+ l# l6 N. Q6 J( E该模块中定义的第一个参数是 parameter fifo_width = `UART_FIFO_WIDTH;/ F* L7 \9 n, v+ X [& _& w3 ^
9 v4 S1 m, ~$ P
在另一个专门的文件里定义了:. I8 h( c2 I& x. h: F
`define UART_FIFO_WIDTH 8
: @: A" w+ `) q1 c; y+ ?8 E. |9 A( ]`define UART_FIFO_REC_WIDTH 11
4 p, w' p' y3 u: K$ F
$ _! r9 R# r1 N0 U9 A一开始我以为#(`UART_FIFO_REC_WIDTH)的意思是延时那么多,方便仿真。。。后来觉得不对,不是延时,因为又不是在做赋值。。。
% D: l0 {; X) e, T( x7 y0 h, l/ a2 Y% K* m Z5 I
编译后看RTL图发现,该模块UART_FIFO_WIDTH的值全部替换成了UART_FIFO_REC_WIDTH的值,到这里我大概明白这里的用意了。觉得很奇怪,以前从没遇到过。。。 |
|