有时在拥挤的设计中会发生冲突,导致在设计的布局布线(PAR)阶段出现无法路由的情况。
冲突可能是由于用户约束放置的组件,或者是放置工具做出的决定。设计人员可能需要指定PLL,DLL和CLKDIV的位置,以实现边沿时钟和主时钟资源的最佳性能。
PAR可能会给出错误或警告消息,指示无法直接访问主时钟或边沿时钟。
结果是PAR使用通用路由将时钟置于主时钟或边缘时钟上。
要深入了解主/时钟使用情况,请阅读您正在使用的器件系列的技术说明。
例如,LatticeSC FPGA时钟资源如下所述
LatticeSC sysCLOCK PLL / DLL用户指南 - TN1098
。
TN1098图33显示了边沿时钟可用的资源。
TN1098表10显示了主时钟可用的资源。
示例:LatticeSC设计的Edge时钟冲突。
该设计具有使用CLKOP的PLL和驱动CLKDIV的接收时钟。
设计约束或放置器可以将PLL置于PLL_ULCB,并且放置接收时钟使其驱动CLKDIV7D。。在这种情况下,PAR将警告用户(只要不使用其他边沿时钟),其中一个时钟被转移到一般路由以解决此冲突。。这种冲突的原因可以在TN1098中看到。图33显示了PLL_ULCB的主输出可以由PCLKT7_0,PCLKT7_3,CLKDIV7D和PLL_LLCB的CLKOP驱动。。主时钟路径在此实例中超额订阅,PAR可能会生成警告:
。警告 – 参数:边沿时钟/ rdclk驱动程序是PIO / IOL但未放置在甜蜜站点或边缘时钟分支被占用,将使用通用路由路由到分支,并可能遭受过度延迟或倾斜。
。在大多数情况下,您只需更改PLL输出(CLKOS至CLKOP,反之亦然)或PLL位置即可解决现有引脚排列问题。。在更拥挤的设计中,可能需要将PLL输出驱动到DLL,以便更改设计中的边沿时钟路径。 。PLL的可能配置到DLL,在TN1098的PLL / DLL级联部分给出。 。PLL,DLL和CLKDIV放置的示例:
。LOCATE COMP“”SITE“PLL_LLCB”;
。LOCATE COMP“”SITE“DLL_LRCC”;
。LOCATE COMP“”SITE“CLKDIV7A”;
。对于主时钟,您应指定使用主路由的时钟。。在大多数情况下,这些工具会根据需要自动提升这些(或其他)时钟。。在拥挤的设计中,您可能需要将时钟分成象限。。如果不允许将所需时钟路由到逻辑所在的象限,则必须小心,因为工具会出错。。将时钟定位到特定象限的示例:
。使用PRIMARY NET“clock1”QUADRANT_BL QUADRANT_BR;
。使用PRIMARY NET“clock2”QUADRANT_TL QUADRANT_TR;
没有回复内容