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,
    // ...
);

你可能感兴趣的:(fpga开发)