微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > ‘define 和 parameter 的区别

‘define 和 parameter 的区别

时间:10-02 整理:3721RD 点击:
最近看了些状态机的代码,状态的定义 有些使用 ’define,有些使用 parameter 好,到底哪种好一点,两者有什么区别?

define是全局的,parameter是局部的。好像是这样。

最好使用parameter,

两者在某些应用时效果是一样的,例如你上面提到的状态机定义,使用define要多一个`符号。另外parameter可以直接在参数化模块的端口定义前定义参数,上层例化比较方便。如果是定义状态机参数,可以使用localparam来定义局部参数,即只在本模块内使用。

understood, thanks.

谢谢,现在明白了,书看了一遍很多细节的问题都不知道

同问,

如果是状态机,建议使用localpara

逻辑使用的少,就是这样了哦
得看看设计的内容了哦

define是全局的,当编译器碰到define定义的参量直到碰到undef解定义该参量之间,该参量的定义一直存在。一般而言,全局性的参量可以使用define定义在一个单独的文件中,然后使用include引入,如数据位宽等全局性参数;
parameter是模块内部的,是层次化设计中模块之间传递参数的一个重要手段。
小编这里的状态机参量最好还是定义成parameter。

这篇blog文章讲得不错,
http://www.cnblogs.com/jianyungs ... /01/22/1942067.html

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

网站地图

Top