摘录自:http://blog.csdn.net/jimmy2013_1_1/article/details/17075705
如何在Quartus II中设置Virtual pin及常见问题
1、基于Quartus II 8.1 版本:
为了验证FPGA工程中的某个模块的功能和时序的正确性,常常需要对其单独进行验证,但是这些模块通常都与内部的众多信号相连(如系统总线,中断信号线等),往往一个模块的对外接口引脚会多达几百个,对其单独仿真的话,可能会对目标FPGA造成IO资源不足的情况。即使IO资源满足,当众多内部信号变成IO信号时,模块内部的信号将增加额外的IO延时,增加了时序约束的复杂度。
在编译时会出现类似错误:
Error: Can’t place 108 pins with 2.5 V I/O standard because Fitter has only 81 such free pins available for general purpose I/O placement.
为了避免以上情况的出现,常常使用Virtual Pin对非IO引脚的信号进行约束,经过约束的信号,综合布线器将不对其分配IO资源。
具体方法如下:
在Quartus II中Assignments->Assignment Editor,在Category栏选择logic options,到列表中To列下添加要设置的引脚接口,将Assignment Name设置为Virtual Pin,将Value设置为On,Enabled 设置为Yes, 如果需要设置的很多,可以通过在Pin Planner中将引脚复制过来。
这样设置为Virtual Pin 就不会占用FPGA的IO资源,而且时序仿真不会增加额外的延时,更加准确。
2、用quartus设计框图时出现错误,错误信息如下:
Error: Can’t place 117 pins with LVTTL I/O standard because Fitter has only 85 such free pins available for general purpose I/O placement
Error: Can’t place pins due to device constraints
Error: Can’t fit design in device
Error: Quartus II Fitter was unsuccessful. 3 errors, 0 warnings
Error: Quartus II Full Compilation was unsuccessful. 3 errors, 0 warnings
这个问题我也碰到过,不到10分钟就解决了。
解决方法:
在你开发的时候,你在给芯片指定管脚的时候, 可能因为某些原因删除了一些管脚, 而你在ALL PIN列表中却没有删除,当你继续分配的时候,虽然你实际用到的管脚不到85, 但是你曾经分配的管脚已经有117个了。 所以解决方法很简单,就是在ALL PIN列表中删除未用管脚。
感觉这是QuartsII的一个小bug。
Error: Can’t place 98 pins with 3.3-V LVTTL I/O standard because Fitter has only 80 such free pins available for general purpose I/O placement。
提示信息表明错误: 不能够放置98个3.3LVTTL I?O标准电平引脚,因为Fitter只能有80个空余的引脚用来作为GPIO。 请检查你的工程管理的器件,不能满足你的应用,得更换更多引脚或更高性能的芯片。