CPLD -如何锁定引脚/控制位置?

描述

一般描述:

如何控制引脚的设计与引脚分配?

解决方案

销销控制销:

如果您已经成功地将设计适配到CPLD器件中,并且构建包含该器件的原型,您可能希望“锁定”该引脚。

在ISE的基础上,转到进程标签;在“实现设计”下,可以选择“锁定引脚”。YouTubeUCF文件。

PIN控制引脚和功能块分配:

A. Pin赋值

使用UCF文件指定LOC约束。正确的语法是:

NET网名LOC = PiNNEX名称;

对于PIN类型的包,PiNNE名称采用“PNN”的形式,其中“NN”是一个数字。例如,对于PC84包,PiNNEX的有效范围是P1到P84。对于Lattice阵列类型的包(FG和BG),PiNNI名称采用“RC”的形式,其中“R”是行字母,“C”是列号。

B.功能块/宏单元分配

您可以显式地将设计中的内部节点分配给特定的功能块,甚至指定目标器件的特定宏单元。若要将内部节点指定到特定位置,请将以下属性应用于符号或其输出网络:

LOC=FBNN[OMM];

其中“NN”是有效的功能块编号,“MM”(可选)是目标器件的有效宏单元编号。

正确的UCF文件语法是:

Int组件名称LOC= FBNN[YMN];符号的γ

例如

in MyTyFLOP LOC=FB1Y3;这将将寄存器MyBLOP锁定到功能块1,宏单元3。

和/或

NET网名LOC= FBNN[YMM];NET的α

例如

NET MyAfopopyOutLoC=FB2Y4;这将将节点/MyMyFLopopOUT锁定到功能块2宏蜂窝4。

引脚分配注意事项:

您可以将LOC属性应用到您希望的设计中的多个信号中。然而,每个引脚分配进一步限制了软件,使得fitter更难在设计中为剩余的I/O信号自动分配逻辑和I/O资源。

当您手动分配输出和I/O引脚时,软件被迫将相关逻辑功能放置到特定宏单元和特定功能块中。如果相关的逻辑不超过可用的功能块资源(宏单元、乘积项和功能块输入),则将逻辑映射到宏单元。

通常最好允许fitter根据器件中逻辑最有效的位置自动分配大部分或全部引脚。fitter自动建立一个引脚,最好允许未来的设计迭代没有引脚重新定位。在您的设计中作出的任何手动引脚分配可能不允许对与这些引脚相关联的逻辑的变化和在物理上映射到器件中的附近位置的逻辑的容忍度。

如果您将PIN位置分配到时钟中使用的信号、异步设置/复位,或者在设计中输出启用,则将它们分配给器件上的GCK、GSR和GTS引脚,如果您希望利用这些全局资源的话。fitter仍将自动分配其他时钟,设置/重置和输出使能输入到任何可用的GCK,GSR和GTS引脚仍然存在。

忽略LOC属性

如果您的示意图包含LOC属性,或者如果您使用UCF文件来指定PIN位置,并且您希望让安装工自动分配所有I/O引脚,则可以设置安装程序忽略所有LOC属性。这允许您暂时忽略您的示意图和/或UCF文件中的所有LOC属性。

如果您想测试您的设计适合不同的目标器件,而不必从您的示意图中删除所有LOC属性,那么这是非常有用的。此选项位于实现选项中,并命名为“使用设计位置约束”。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-29 14:46:20 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它