我试图通过使用生成语句来减少一些代码,但我只能通过嵌套来弄清楚如何做,但我不相信这是允许的.
我所拥有的基本上是一些for循环运行(需要生成),并且在其中我想运行三个代码段中的一个,具体取决于构建代码时设置的值(然后需要第二次生成) .有没有办法做到这一点,让工具快乐?
这是我正在尝试的快速而又脏的图片:
//TAPS_PER_CHAN is a value defined when the code is built
genvar srcNode, dstNode, tapIdx;
generate
for (dstNode=0; dstNode
begin: dstForLoop
generate
if(TAPS_PER_CHAN <= 4)
begin
call module one
end
else if (TAPS_PER_CHAN <= 8)
begin
call module two
end
else if (TAPS_PER_CHAN <= 16)
begin
call module three
end
endgenerate
end
endgenerate