在使用FPGA进行捣乱后,我在分配引脚时发生了近乎心脏病的发作。
FPGA上有任意数量的引脚,有些IDE非常有用,可以让您访问封装信息,包括哪些引脚,它们属于哪个IO bank以及极性是。在广泛地挖掘制造商和竞争对手的网站后,阅读教程,信息表,指南等。我仍然没有更聪明。经过更多的讨论之后,我想我理解这意味着什么,但希望有人可以为我和其他像我这样可能同样困惑的人澄清这一点。
关于Polarity: 极性是否表明输入必须处于什么状态(IE:True还是互补)?或者是否表示极性表明输入是在<?p>中接收的
这是否意味着FPGA需要额外的资源来将输入/输出转换为所需的状态?或者这是否意味着我输入的输入极性正确,以便FPGA正确注册输入?
否则,我对极性的概念感到困惑,因为它与FPGA上的IO有关。这是我真的需要关注的吗?
在IO银行: IO银行根据它们链接到哪个FPGA部分进行分组?如果是这种情况,我会假设组合在一起的IO Bank一起运行得更快。在不同的IO上分配输入到FPGA会导致资源消耗和次优性能,或者这是一个阻碍正常运行的大问题?
我找不到任何可以解释这一点的文献,我没有太多运气。我在2014年上课的时间有助于通过编程FPGA实现突破,但课程在学习目标方面存在许多不足和差异,并且没有其他可用的东西。我希望这个问题也可以帮助其他人。
答案 0 :(得分:1)
某些IO引脚支持LVDS等差分信号。因此,一些引脚被“配对”以支持这种信令,每个引脚具有正极性或负极性。在这种情况下,哪个信号(差分对的正极或负极线)连接到哪个引脚并不重要。但是,如果你弄错了,你通常可以在逻辑上反转FPGA内的信号,至少如果你有权访问相应的HDL代码。
对于单端输入,没有极性锥,根据您的设计逻辑来定义引脚是应该处于高有效还是低有效。
关于IO银行,它们只是将多个引脚组合在一起,并且通常是FPGA的每一侧都有自己的存储区,但有时可以使用更多(或更少)的存储区。银行最重要的概念可能是每个银行都有自己的供电电压,这限制了银行可以使用的逻辑标准的数量,例如:你不能在同一个银行同时使用LVCMOS33和LVCMOS18引脚。
从时间角度来看,将相关引脚保持在同一个存储区也很重要。这是因为许多FPGA提供特殊的IO时钟网络,可以在一个存储区内分配时钟。这样可以改善时序,通常可以节省全局时钟缓冲区。