为了验证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资源,而且时序仿真不会增加额外的延时,更加准确
|