微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Verilog语法高手请进。关于例化的一个问题。谢谢了!

Verilog语法高手请进。关于例化的一个问题。谢谢了!

时间:10-02 整理:3721RD 点击:
一下是对一个模块的例化:
m1 #(`UART_FIFO_REC_WIDTH) m1_inst(
.clk(  clk  ),
   ..........
);
该模块中定义的第一个参数是 parameter fifo_width = `UART_FIFO_WIDTH;
在另一个专门的文件里定义了:
`define UART_FIFO_WIDTH 8
`define UART_FIFO_REC_WIDTH  11
一开始我以为#(`UART_FIFO_REC_WIDTH)的意思是延时那么多,方便仿真。后来觉得不对,不是延时,因为又不是在做赋值。
编译后看RTL图发现,该模块UART_FIFO_WIDTH的值全部替换成了UART_FIFO_REC_WIDTH的值,到这里我大概明白这里的用意了。觉得很奇怪,以前从没遇到过。

顶一下 虽然推断出来了 但是在语法书上从来没有看到过 高手说说在哪本书上有讲啊

啊?这是典型的模块间的参数传递,一般的语法书上都有。

看看标准什么都知道了
大惊小怪的

?

你可以看看这本作为参考: Verilog HDL Synthesis -- A Practical Primer 作者: J. Bhasher
其中的2.24 Parameterized Designs 在P103

1# psd0208
基础的参数传递方法,不需要高手,稍微有点点编码经验的应该都知道

定一个

小编难道不知道参数传递么=。=....

参数传递,网上有一个很著名的cordic的例子,就是这么做的^_^


多谢

这个是Verilog 里面的Parameter.

没事,见多了就不怪了

用作传递参数。

参数化设计,灵活获得不同size的design

基本的例化参数传递,大多数的语法书上应该都有。

顶一下!

努力学习中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top