Dir*_*Bit 2 generics verilog parameter-passing
我试图找出如何使用generate函数实例化一个通用模块,同时覆盖它的两个paramateres.
我有一个通用的仲裁器,我应该向它发送两个参数(HEIGHT 和SIZE).这两个参数也被定义为"顶部"模块中的参数
以下是我在顶层中实例化PRRA模块(内部模块)的方法.
genvar i;
generate for(i=0 ; i<M ; i=i+1)
begin
PRRA arbiter (
.clk(clk),
.reset(reset),
.request(request[i]),
.grant(grant[i])
);
end
endgenerate
Run Code Online (Sandbox Code Playgroud)
使用defparam不起作用.显然我错了.
我尝试在生成之前/之后/内部使用它但它没有通过:/
任何人都可以帮忙
目前尚不清楚你是如何尝试将参数传递给下层模块的,因为提供的代码示例没有引用HEIGHT或SIZE,但这是你传递参数的方式:
PRRA #(
.HEIGHT ( HEIGHT_from_top )
.SIZE ( SIZE_from_top )
) arbiter (
.clk (clk ),
.reset (reset ),
.request (request[i]),
.grant (grant[i] )
);
Run Code Online (Sandbox Code Playgroud)
你在哪里:
module PRRA #(
parameter HEIGHT = -1,
parameter SIZE = -1
)(
//inputs ...
//outputs ...
);
//...
endmodule
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17881 次 |
| 最近记录: |