所以我使用一种算法来创建一个类似于链接中的结构(http://ars.els-cdn.com/content/image/1-s2.0-S0140366499000031-gr1.gif)。所以我创建了一个函数来决定下一步跳转到哪里。在我的 VHDL 交换机架构中,我尝试使用生成语句来定义节点并适当地映射它们的端口,但是当我合成它时说““banyan”不能在这个表达式中使用”(banyan 是库中的一个函数)。下面是一些示例代码:
INPUT: IF ( l = 1 ) GENERATE
NODE_Element : BN PORT MAP(
clk, reset,
Input((2*n)-1),
Input((2*n)),
SyncIn,
con(l+1,Banyan(l,n),BanyanPort(l,n)),
con(l+1,Banyan(l,n),BanyanPort(l,n)),
sync(l+1,n)
); --GENERIC MAP(...)
END GENERATE INPUT;
有没有人知道如何解决这个问题......这似乎很重要,但我可以找到解决方案。