问题描述
PAR无法将逻辑放置在三个相邻的时钟区域内,从而导致未布线的时钟网络。发出以下警告:
“警告:布线:436 – 布线器检测到一个或多个连接的不可布线状况。”
用于Virtex-4器件的PCI 66 MHz设计需要使用区域时钟输入。由该时钟计时的所有逻辑必须落在三个相邻的时钟边界内。
有关区域时钟使用的更多信息,请参阅“Virtex-4用户指南”。在ISE 8.1i中工作的设计可能在8.1iSP2中失败,因为PAR并未将所有由PCI输入时钟计时的逻辑放入三个相邻区域。
解决/修复方法
要解决此问题,必须在逻辑上放置区域组约束,以强制PAR将由PCI时钟计时的逻辑放入三个相邻的时钟区域。以下示例使用AREA_GROUP约束来实现此目的。
请注意,这些示例适用于随CORE Generator提供的核心提供的UCF文件。对于由PCI UCF生成器生成的UCF文件或其他放置,您必须创建有效约束,以便正确放置逻辑。
对于使用4vfx20ff672_32_33r.ucf或4vfx20ff672_32_66r.ucf的32位设计:
INST“*”AREA_GROUP =“AG_FIX”;
AREA_GROUP“AG_FIX”RANGE = SLICE_X36Y64:SLICE_X59Y127;
对于使用4vfx20ff672_64_33r.ucf或4vfx20ff672_64_66r.ucf的64位设计:
INST“*”AREA_GROUP =“AG_FIX”;
AREA_GROUP“AG_FIX”RANGE = SLICE_X36Y32:SLICE_X59Y127;
对于使用4vlx25ff668_32_33r.ucf或4vlx25ff668_32_66r.ucf的32位设计:
INST“*”AREA_GROUP =“AG_FIX”;
AREA_GROUP“AG_FIX”RANGE = SLICE_X28Y128:SLICE_X55Y191;
对于使用4vlx25ff668_64_33r.ucf或v4lx25ff668_64_66r.ucf的64位设计:
INST“*”AREA_GROUP =“AG_FIX”;
AREA_GROUP“AG_FIX”RANGE = SLICE_X28Y96:SLICE_X55Y191;
对于使用4vsx35ff668_32_33r.ucf或4vsx35ff668_32_66r.ucf的32位设计:
INST“*”AREA_GROUP =“AG_FIX”;
AREA_GROUP“AG_FIX”RANGE = SLICE_X40Y128:SLICE_X79Y191;
对于使用4vsx35ff668_64_33r.ucf或4vsx35ff668_64_66r.ucf的64位设计:
INST“*”AREA_GROUP =“AG_FIX”;
AREA_GROUP“AG_FIX”RANGE = SLICE_X40Y96:SLICE_X79Y191;
在应用上述约束之后,PING设计导致未布线的时钟网络
PING示例设计中的三个端口与核心一起未明确锁定到提供的UCF文件中的引脚。这些是PING_DONE,PING_REQUEST32和PING_REQUEST64。 PAR必须将这三个引脚放在三个相邻时钟区域中的有效IOB上。 8.1iSP2中的PAR不会始终正确执行此操作。
要解决此问题,请将三个LOC约束添加到用于将这些引脚放置在有效站点上的UCF文件中。 4vlx25ff668_64_33r.ucf或v4lx25ff668_64_66r.ucf的示例如下:
NET“PING_DONE”LOC =“D10”;
NET“PING_REQUEST32”LOC =“C10”;
NET“PING_REQUEST64”LOC =“D9”;
没有回复内容