TA的每日心情 | 开心 2024-12-19 15:41 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一下是对一个模块的例化:
" e- [: Y9 p) G9 `7 R' w6 F* n7 om1 #(`UART_FIFO_REC_WIDTH) m1_inst(( a, i9 }% h. n! F6 g
.clk( clk ),
- |; T4 j$ n A. o/ v( }) Q ..........0 U* I1 j6 x) n: k4 L
);0 O( y* H% u( c+ }1 q- ~8 P9 v& q% _
) }, `6 [- D6 q* e4 \5 O: w该模块中定义的第一个参数是 parameter fifo_width = `UART_FIFO_WIDTH;
( Z7 I5 V2 T: }
% m# g( E3 D; U; C ~在另一个专门的文件里定义了:
v$ O/ V; Z- d) o( _`define UART_FIFO_WIDTH 8
. w5 {) V" M0 n- ~; p8 p`define UART_FIFO_REC_WIDTH 11
/ S& g- Q4 ?% e) ~2 p* y. n
( l) y1 ~4 ?9 W& S) B0 F* ~一开始我以为#(`UART_FIFO_REC_WIDTH)的意思是延时那么多,方便仿真。。。后来觉得不对,不是延时,因为又不是在做赋值。。。
7 B+ f" r7 t) T: B" o, ^) |: {% J6 }0 q" K6 `3 J; V: r
编译后看RTL图发现,该模块UART_FIFO_WIDTH的值全部替换成了UART_FIFO_REC_WIDTH的值,到这里我大概明白这里的用意了。觉得很奇怪,以前从没遇到过。。。 |
|