最近又用到FPGA,不同bank分配了很多IO,但是做PCB时候,需要重新分配引脚,于是就对pin进行swap。可以参考这个文章做swap。链接如下:
https://blog.csdn.net/JingZhe_HengJing/article/details/111715180
然后就发现一个问题,只能对同一bank的引脚进行swap,不同bank的引脚不能swap。网上搜索了一番,原来是要设置swap-info属性。
首先在打开原理图符号库中的FPGA,也就是olb文件中的这个fpga
然后options-part properties 打开器件的用户属性
检查是否有SWAP_INFO这个属性,如果没有就要添加,并且设置value值为{S1+S2+S3+S4},表示允许具有相同PinGroup属性值的PIN脚在所有4个bank之间进行交换,如果你希望限制PIN脚在部分Part之间相互交换,可以按照下面的例子设置SWAP_INFO属性值,SWAP_INFO=(S1+S2)(S3+S4)代表:允许具有相同PinGroup属性值的PIN脚在第1个bank与第2个bank之间相互交换,而不允许前两个Part里的PIN脚与后两个Part里的PIN脚进行交换。同样,具有相同PinGroup属性值的PIN脚在第3个bank与第4个bank之间可以相互交换,而不允许后两个Part里的PIN脚与前两个bank里的PIN脚进行交换。这里同样需要强调的是:只有具有相同PinGroup属性值的PIN脚才有可能进行交换。
最后点击ok,保存器件到库中,更新cache,保存原理图。重新生成网表即可,再次导入pcb中。