gpt4 book ai didi

verilog - 模内参数 模内参数

转载 作者:行者123 更新时间:2023-12-04 20:39:39 25 4
gpt4 key购买 nike

我已经阅读了有关参数以及如何在模块实例化时重新定义它们的信息,但是如果我在模块内部的模块中有一个参数,说我有一个名为 gen 的小模块

module gen(input,output);
parameter n=2;
parameter m=10;
//do something
endmodule

该模块在另一个名为 top 的模块中实例化
module top(inputs,output);
gen gen1(inputs,output);
//do something
endmodule;

我正在尝试在需要重新定义两个参数 的大模块上创建一个测试平台n
module tb;
reg input;
wire output;
top top1(input,output)
endmodule;

我怎样才能在verilog中写出来?

最佳答案

一种解决方案是重新定义每个级别的参数:

module gen(input,output);
parameter n=2;
parameter m=10;
//do something
endmodule


module top(inputs,output);
parameter n=2;
parameter m=10;
gen #(.n(n), .m(m)) gen1(inputs,output);
//do something
endmodule;

module tb;
reg input;
wire output;
top #(.n(n), .m(m)) top1(input,output)
endmodule;

另一种解决方案是保留您当前的模块定义并使用 defparam在您的测试台中分层覆盖参数的值:
module tb;
reg input;
wire output;
defparam top1.gen1.m = 4;
defparam top1.gen1.n = 5;
top top1(input,output)
endmodule;

关于verilog - 模内参数 模内参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28731371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com