报错提示如下:
本人错误代码大致如下:
在实例化中,直接确定了A,B两个值,并在后面定义了C = B/A
uart_rx
#
(
.A ('d9600),
.B ('d50_000_000)
)
parameter C = B/A;
在仿真文件下,想将C的值重定义为52,编译通过,但仿真报错
defparam .uart_rx_inst.C = 52;
错误的整体代码:
uart_rx
#
(
.A ('d9600),
.B ('d50_000_000)
)
parameter C = B/A;
defparam .uart_rx_inst.C = 52;//此句代码在仿真文件中
修改方法:
1.在.v文件中,对A,B进行常量定义,并将他们实例化
parameter A = 'd9600,
B = 'd50_000_000;
parameter C = B/A;
uart_rx
#
(
.A (A),
.B (B)
)
2.在仿真文件中,通过修改B的值来间接修改C的值,将B缩小,即是将C缩小
defparam .uart_rx_inst.B = 500_000;
修改后整体代码如下:
parameter A = 'd9600,
B = 'd50_000_000;
parameter C = B/A;
uart_rx
#
(
.A (A),
.B (B)
)
defparam .uart_rx_inst.B = 500_000;//此句代码在仿真文件中
即可通过仿真,并将C的值修改完成