问题描述
更改XAUI UCF文件中的MGT LOC约束后,PAR在实现期间返回以下错误:
“错误:布局:651 – Placer无法为GT11组件创建RPM
xaui_block / rocketio_wrapper_i / MGT3和GT11组件
xaui_block / rocketio_wrapper_i / MGT2连接
COMBUSIN [0-15],COMBUSOUT [0-15]总线由于以下原因。
这个问题的原因:
与此结构相关的所有逻辑都是锁定的并且是相对的
逻辑的放置违反了结构。问题发现之间
GT11的相对位置
站点GT11_X1Y5和GT11的xaui_block / rocketio_wrapper_i / MGT2
位于GT11_X1Y4的xaui_block / rocketio_wrapper_i / MGT3。
以下组件是此结构的一部分:
GT11 xaui_block / rocketio_wrapper_i / MGT2
GT11 xaui_block / rocketio_wrapper_i / MGT3“
解决/修复方法
在Virtex-4器件中,每个RocketIO模块由两个瓦片组成,每个瓦片有一个MGT。通过将GT11_MODE属性设置为“A”或“B”,为代码中的MGT实例化分配了一个区块。如果更改引脚输出,则会生成此错误,以便它尝试强制在具有特定GT11_MODE设置的代码中实例化的MGT到器件上的错误磁贴。
对于给定的MGT瓦片,GT11_XnYeven与MGT B相关联,并且GT11_XnYeven + 1与MGT A相关联。这意味着B收发器在偶数Y坐标上并且A收发器在奇数Y坐标上。有关更多信息,请参阅“Virtex-4 RocketIO MGT用户指南”:
http://www.xilinx.com/support/mysupport.htm#Virtex-4
要解决此错误,必须在VHDL设计的<core_name> _block.vhd文件和Verilog设计的rocketio_wrapper.v文件中更改校准块的GT11_MODE设置和MGT_ID。
在VHDL中,设置作为<core_name> _block.vhd中的组件rocketio_wrapper的泛型传递:
MGT0_GT11_MODE_P:string:=“B”; – 默认位置
MGT0_MGT_ID_P:整数:= 1; – 0 = A,1 = B.
MGT1_GT11_MODE_P:string:=“A”; – 默认位置
MGT1_MGT_ID_P:整数:= 0; – 0 = A,1 = B.
MGT2_GT11_MODE_P:string:=“B”; – 默认位置
MGT2_MGT_ID_P:整数:= 1; – 0 = A,1 = B.
MGT3_GT11_MODE_P:string:=“A”; – 默认位置
MGT3_MGT_ID_P:整数:= 0-0 = A,1 = B.
在Verilog中,这些设置在rocketio_wrapper.v中设置,包含以下参数:
参数MGT0_GT11_MODE_P =“B”; //默认位置
参数MGT0_MGT_ID_P = 1; // 0 = A,1 = B.
参数MGT1_GT11_MODE_P =“A”; //默认位置
参数MGT1_MGT_ID_P = 0; // 0 = A,1 = B.
参数MGT2_GT11_MODE_P =“B”; //默认位置
参数MGT2_MGT_ID_P = 1; // 0 = A,1 = B.
参数MGT3_GT11_MODE_P =“A”; //默认位置
参数MGT3_MGT_ID_P = 0; // 0 = A,1 = B.
没有回复内容