推荐答案
测试一下
题目
下列关于 parameter 和 localparam 描述错误的是()
A. 两者均可在模块内进行参数的定义
B. 可用 defparam 改变 localparam 定义的参数值
C. 可用 defparam 改变 parameter 定义的参数值
D. parameter 定义的参数可在对模块实例化时进行定制
参考答案与知识点
参考答案
选项B描述错误。localparam是Verilog中定义的局部参数,其值在模块内部固定,不能被外部修改,包括使用defparam语句。defparam只能用于修改parameter定义的参数,而不能修改localparam。选项A正确,parameter和localparam都用于在模块内定义常量;选项C正确,defparam可以改变parameter定义的参数值(尽管这种用法在现代设计中不推荐);选项D正确,parameter定义的参数可以在模块实例化时通过#()语法进行定制。因此,错误的描述是B。
涉及知识点
- parameter与localparam的区别
- defparam的作用与限制
- 参数传递方式(实例化定制)
- localparam不可被外部修改