问题描述
一般问题描述:
在拟合我的CoolRunner设计时,类似于以下内容的消息出现在Fitting错误消息之前:
“警告:Cpld:1081 – 无法将信号’数据<0>’分配到位置’B15 = FB1_2’。控制条款不够。”
解决/修复方法
CoolRunner XPLA3功能块包括灵活的控制项(CT),可用作本地时钟,时钟使能,异步预置/复位和输出使能。每个功能块中有八个控制项。在CoolRunner数据表中,“宏单元架构”部分中的“XPLA3宏单元架构”图显示了功能块中控制项的分布。您可以访问以下数据表:
如果同一功能块中的四个等式使用相同的异步复位,则只需要一个CT,并与四个等式共享。如果这四个方程有四个独特的异步复位,则需要四个CT。如果这四个方程也具有唯一的异步预设,则需要四个额外的CT。但是,数据表中的数字显示功能块中的8个CT中只有6个可用于异步复位和预置;这说明了为什么设计可能不合适。
在CPLD中,引脚直接连接到驱动它的宏单元。因此,如果设计具有引脚锁定,则它还将寄存器锁定到宏单元(及其相关的功能块)。
如果一个设计有五个寄存器锁定到同一个功能块,那么它必须有足够的控制条件资源来满足这个逻辑的需要才能成功。警告消息表示功能块内没有足够的CT资源来满足锁定要求。
以下是解决此问题的不同方法:
– 调整引脚输出,使注册的输出方程分成不同的功能块。
– 调整设计以删除不必要的唯一控制项使用(例如,使用同步复位或预设,而不是异步复位或预设,并使用同步加载而不是异步加载)。
– 添加缓冲器逻辑,以便可以保持引脚输出,并且寄存器成为可以放置在器件中任何位置的节点。有关创建缓冲区逻辑的示例,请参阅(Xilinx答复7595) 。
没有回复内容