parameter ‘MAX_BYTE‘ used as named parameter override, is a localparam
在驱动模块里把常量定义的 localparam, 然后在顶层文件里面做了修改报错。改成parameter解决
1.
localparam在模块内部使用且不能实例化,parameter才可以在实例化的时候修改参数
2.
常量如果在顶层模块和其他模块的值不一样,会使用顶层模块里面的值
3.
parameter可以通过def 修改,或者在例化模块的时候修改
defparam Byte = 14'b10_000;
module test#(
parameter BYTE = 1
) (
input clk,
input rst,
// ...
);