‘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
