Verilog:非整数参数

Mik*_*old 4 verilog

我有一个参数如下:

parameter PARAM = 7'd69;
Run Code Online (Sandbox Code Playgroud)

当我尝试将该值分配给下面的寄存器时:

reg [6:0] r;
Run Code Online (Sandbox Code Playgroud)

像这样:

r <= PARAM;
Run Code Online (Sandbox Code Playgroud)

我得到综合警告:

警告(10230):...大小为32的截断值,以匹配目标大小(7)

-

我假设这是因为PARAM被解释为整数,因为它被定义为参数.有没有办法将PARAM定义为7位宽?

我总是可以将它作为7位输入传递给我的模块,但我想知道是否有更优雅的解决方案.

Qiu*_*Qiu 9

您可以定义参数如下:

parameter [6:0]PARAM = 7'd69;
Run Code Online (Sandbox Code Playgroud)

那样你告诉你的编译器PARAM大小是7位.