购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1.10 parameter、localparam和const有什么联系和差别?

相比于localparam,parameter可以在实例例化时从外部修改。parameter值的修改,可以在实例例化时通过#以order list或name list的方式来完成,也可以通过defparam赋值语句来实现。

localparam是局部参数,无法再次修改,自然也不能通过在实例例化时从外部修改。localparam在赋值时可以引用parameter。

parameter与localparam都是在elaboration时确定的,而const常量则是在仿真时确定的。与localparam类似的地方在于,const一旦定义和初始化也就无法再修改它的值。

关键词:

parameter,localparam,const

避坑指南:

parameter的值除了在设计代码中给定,也可以在编译时通过添加与参数修改有关的选项来给定(也可以覆盖设计代码中的给定parameter值),但它们的特征都会在elaboration阶段确定下来,与parameter有关的设计结构、数据位宽、逻辑行为等也因此都会在编译阶段确定下来。

const常量虽然在代码中不能再次对其进行赋值,但仍然可以通过在仿真时的force处理来修改它的值,继而影响与其相关的逻辑行为。需要注意的是,不能通过force来修改parameter和localparam的数值。

参考代码: sv_para_localpara_const_diff.sv

阅读手记: iRgUg+ANdVAdfNOh/2azmcCF5oy/2jSTadNcMWFVDbZkCoa/LEpTWYARcxTJsOTn

点击中间区域
呼出菜单
上一章
目录
下一章
×