FPGAs:引脚及其极性

3
在处理FPGA时,我在分配引脚时几乎心脏病发作。
FPGA上有许多引脚,一些IDE非常有用,可以让您访问包含引脚信息的软件包,例如:有哪些引脚,它们属于什么IO bank以及极性是什么。经过广泛搜索制造商和竞争对手的网站、阅读教程、信息表、指南等资料后,我仍然不明白。经过更多的尝试,我认为我理解了这意味着什么,但希望有人能为我和其他可能感到困惑的人澄清这一点。
关于极性: 极性是否表示输入必须处于何种状态(即真或补码)?还是表示输入接收的极性?
这是否意味着FPGA需要额外的资源来将输入/输出转换为所需的状态?还是说我已经按正确的极性输入数据,以便FPGA正确地注册输入?
否则,我完全不理解与FPGA上的IO相关的“极性”概念。这是我真正需要关注的问题吗?
关于IO bank: IO bank是否根据其连接到FPGA的哪个部分进行分组?如果是这样,我会认为被分组在一起的IO bank一起操作速度更快。将输入分布到FPGA的不同IO是否会导致资源消耗和次优性能,或者这是一个阻止正确操作的大问题?
我没有找到任何解释这一点的文献。2014年上课的时间有助于打破编程FPGA的冰,但该课程在学习目标方面存在许多缺陷和差异,并且几乎没有其他资料可用。我希望这个问题也能帮助其他人。
1个回答

1
一些IO引脚支持差分信号,如LVDS。因此,某些引脚是“成对的”,以支持这种类型的信号传输,每个引脚都具有正极性或负极性。在这种情况下,连接哪个信号(差分对的正极性或负极性线)到哪个引脚并不无关紧要。但是,如果您将其连接错误,通常可以在FPGA内部逻辑地反转信号,至少如果您可以访问相应的HDL代码。
对于单端输入,不存在极性概念,由设计逻辑定义引脚应该是高活跃还是低活跃。
关于IO bank,它们只是将多个引脚组合在一起,并且通常每个FPGA侧面都有自己的bank,但有时可用的bank数量可能更多(或更少)。银行最重要的概念可能是每个银行都有自己的供电电压,这限制了可以在银行上使用的逻辑标准的数量,例如,您不能同时在同一银行上使用LVCMOS33和LVCMOS18引脚。
从时间的角度来看,将相关的引脚保持在同一个bank中也很重要。这是因为许多FPGA提供了特殊的IO时钟网络,可以在银行内分配时钟。这改善了时间性能,并且通常可以节省全局时钟缓冲器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接