关于FPGA逻辑引脚分配错误:Can't place multiple pins assigned to pin location Pin ...
今天无聊,分享一下最近遇到的问题,解决方法,供大家遇到同样的问题时,快速解决。
调试485板卡,编写逻辑,用的控制芯片是EP3C16F484I7,当时硬件的原理图不是我画的,但是我需要编写FPGA逻辑,编写一部分逻辑后,我想简单调试一下,所以分配了一下引脚,运行逻辑的时候。

开始以为是引脚分配有问题,后来仔细核对硬件后发现硬件引脚分配并没有出现错误。排除了引脚非配错误的情况,我们仔细看上边的报错信息,意思是除了io_id[30]用到了引脚Pin_K22外,同时nCEO也用到了这个引脚Pin_K22,为什么会出现这样的情况,我们知道FPGA基本上都是由SDRAM组成的,使用的时候必须将.sof当成proram进FPGA才能够使用,所以FPGA保留了一些pin作为programming用,一旦FPGA经过program之后,这些pin就可以当成一般的I/O来使用,这些pin就是dual-purpose pin,所以遇到的问题就是我们用到的这个引脚是dual-purpose pin。
那么nCEO有什么用,每个FPGA都有nCE与nCEO两个pin,在多个FPGA级联的系统中,第一个FPGA的nCE接GND,而第一个FPGA的nCEO将连接到下一个FPGA的nCE,如此连接下来,直到最后一个FPGA时,可以将nCEO floating 或者当成普通I/O pin使用。而单片FPGA中, nCE直接接GND, nCEO可以直接floating或者直接当I/O pin使用。
既然我们用的是单片FPGA为什么当成普通pin会报错呢,主要是需要进行一下设置。
将nCEO设置为普通I/O pin这样我们使用的时候,就不会报错了。
|