描述
一般描述:
在任何给定的设计中,资源要求和限制可能要求某些时钟或复位信号不能映射到全局缓冲器上。类似地,先前布置的PCB可以指定可以映射某些信号的引脚。
默认情况下,FPGA Express将推断出用于高扇出时钟信号的全局缓冲器,并且当它们可用时,将使用专用时钟引脚(CLKIOB或GCKIOB)。在信号被映射到专用时钟引脚并随后被用户锁定到常规IOB位置的情况下,将在实施阶段的映射阶段报告以下错误:
ViTeX器件:
2.1I
“错误:XVKMM:3 -非法LOC上的符号“重置.PAD”(PAD信号=复位)或BUFGP符号“C41”(输出信号= N13BUFGPED),IPAD-IGBFG应该只定位到GCKIOB站点。
3.1I
错误:MAPLIB:93 -非法LOC上的符号“CK4”(PAD信号=CLK4)或BUFGP符号“C48”(输出信号=CK44BUFGPED),IPAD-IFFG只应定位到GCKIOB站点。
非VIETEX器件:
2.1I
“错误:OLDMAP:56——LOC约束”PysA*”(IOB位置)对于符号“Real.Pad”(PAD信号=RESET)无效,该映射被映射到以下站点类型:CLKIOB
解决方案
如果你有基础标准Express 2.1i软件,你有能力通过FPGAExpressGUI输入某些设计约束。如果您有BASIC Express软件,则必须通过FPGA Express命令行输入约束。(有关后者的说明,请参阅第2号决议)。
要确定您使用的软件包,请打开许可证文件并查找其中的一个代码:
FND BSX-***…基地快车
FND EXP****标准快车
您必须在独立模式下通过FPGA Express编辑综合设计的约束。打开这个通过启动& GT;程序-GT;基础系列-GT;配件& FPGAExpress。表示您现有的FPGA Express项目的.EXP文件可以在MyProj/MyProj/MyProj.EXP中找到(其中MyProj’是您的基础项目的名称)。
在FPGA Express中,右键单击“芯片”窗口中的综合设计,并选择“编辑约束”。然后,选择“端口”选项卡。在标题为“全局缓冲区”的列中,选择“不使用”来表示您不希望映射到全局缓冲区的信号。
1。打开FPGAExpressGUI。
2。打开项目。
三。突出“优化”芯片。
4。选择“脚本”下拉菜单。
5。选择“导出FPGA脚本…”,并注意您导出的位置。
6。在NotePad中,从导出的位置打开脚本。
7。在脚本中,在“CurrnthPosikLab& Lt:ChIPlNeNo.Gt;”下面的行中键入以下命令(参见下面的示例):
StIdPADIH缓冲区“不要使用”/lt;CHIPNEXNET>/lt;ClcLogyPalp≫
8。通过在文件名周围加引号来保存文件以保存其扩展名:
该文件应保存为:“lt;DealthNo.G.F.ES”。
选择“是”两次保存。
9。打开FPGA Express Shell来发送脚本:
启动>程序-gt;xilinx & gt;配件& FPGAExpress外壳
10。导航到脚本的位置:
CD c://带有向前斜线的脚本路径/脚本目录
11。导出导出的FES文件:
源文件
12。现在可以使用EDIF网表,并使用Xilinx实现工具运行EDFF流。
示例脚本:
OpenSyProject & LT;PATHYTOTY项目& GT;
分析文件进展
CREATEY芯片-进步-名称和LT;CHIPIN No.GT;-目标SARTAN2 -器件2S150 FG566 -速度- 6频率200 -保存& LT;Top-Lead & Gt;
CurnEngPlice & L.;
优化芯片-No.lt;CHIPIPNEXT & GT;-优化-进展
出口芯片
列表消息
关闭项目
生成的脚本将是非常基础的,因为FPGA Express不导出您创建的任何约束。通过GUI输入的任何约束必须在脚本中重新输入。
在执行“创建程序”操作之后,输入以下命令:
CurnEngPlice & L.;
StIdPADIH缓冲区“不要使用”/lt;CHIPNEXNET>/lt;ClcLogyPalp≫
现在你可以继续脚本的其余部分。
如果你想要一个信号来利用全局路由资源,而不是通过专用时钟引脚(也许是因为先前布局的PCB),你可以通过实例化一个iBF->BUFG对来实现。还必须提供一个位置约束,以防止信号被映射(由Xilinx映射器,而不是FPGA Express)映射到专用时钟引脚。
您可以将信号锁定到常规IOB中:
1。FPGAExpress约束GUI
2。UCF
三。FPGAExpress的命令行
在UCF中有这样的条目:
NET CLK1 LOC=P120;(其中P120是常规I/O引脚)
在FPGAExpress的命令行中:
PixPosit & gt;//lt;CHIPIONNET/GT;/lt;PoTr.No.Gt;
如果您使用的是Sypple,SypLIST将推断出一个用于高扇出信号的全局时钟缓冲器。这伴随着一个LOC约束(在UCF中)到一个常规I/O,将导致“OLDMAP:56”错误。请看(赛灵思解答4084)欲了解更多信息。
没有回复内容