gpt4 book ai didi

conditional-statements - verilog模块的条件实例化

转载 作者:行者123 更新时间:2023-12-02 03:00:23 24 4
gpt4 key购买 nike

是否可以在 verliog 中有条件地实例化模块?

示例:

if (en==1)  
then module1 instantiation
else
module2 instantiation

最佳答案

来自 IEEE 标准 1364-2001:

12.1.3.3 generate-conditional A generate-conditional is an if-else-if generate construct that permits modules, user defined primitives, Verilog gate primitives, continuous assignments, initial blocks and always blocks to be conditionally instantiated into another module based on an expression that is deterministic at the time the design is elaborated.

LRM 中给出的示例:

module multiplier(a,b,product);
parameter a_width = 8, b_width = 8;
localparam product_width = a_width+b_width; // can not be modified
// directly with the defparam statement
// or the module instance statement #
input [a_width-1:0] a;
input [b_width-1:0] b;
output [product_width-1:0] product;

generate
if((a_width < 8) || (b_width < 8))
CLA_multiplier #(a_width,b_width) u1(a, b, product);
// instantiate a CLA multiplier
else
WALLACE_multiplier #(a_width,b_width) u1(a, b, product);
// instantiate a Wallace-tree multiplier
endgenerate
// The generated instance name is u1

endmodule

关于conditional-statements - verilog模块的条件实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15240591/

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