EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Quartus II 虚拟引脚Virtual pin的使用
% W) ]7 S% ]; r# U5 l3 F一个比较大的FPGA项目往往由许多模块组合而成,开发时我们可能要一个一个模块地验证,有时候一个模块可能会有非常多的模块之间的接口信号或者有些大工程会有好几百个引脚,这样FPGA提供的引脚接口就可能不够,而我们在进行单一功能验证时有些引脚可能没用到,可以通过添加虚拟引脚解决这一问题。 $ c. ^! I3 w8 g8 ~8 F# D" n! F# x
在编译时会出现类似错误:
8 r' r$ u: g' }) _4 u3 @) y4 Z! r: ^7 ~$ H+ X8 Q
1、 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.' v8 E/ Z7 T. W4 \; R
这就是模块引脚超过FPGA 的IO资源的错误,解决这种问题,常常使用Virtual Pin对非IO引脚的信号进行约束,经过约束的信号,综合布线器将不对其分配IO资源。
j5 q2 v8 K8 y" M/ p6 x6 u 具体方法如下:
7 b7 `' l9 y, @6 l: K ~ 在Quartus II中Assignments->Assignment Editor,在Category栏选择logic options,到列表中To列下添加要设置的引脚接口,将Assignment Name设置为Virtual Pin,将Value设置为On,Enabled 设置为Yes, 如果需要设置的很多,可以通过在Pin Planner中将引脚复制过来。
! u' _: U& l6 ~+ |- f 这样设置为Virtual Pin 就不会占用FPGA的IO资源,而且时序仿真不会增加额外的延时,更加准确。) w" M @2 {! p2 t0 l ^) N: q: e
9 f6 u* b) S( Q8 ?2 x2 _$ {( J
2、用quartus设计框图时出现错误,错误信息如下:
) I# S" {5 ^9 W3 x* y3 }1 V" R/ hError: 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
: X3 X X/ S9 Y" T Error: Can't place pins due to device constraints# y/ ~7 y( F/ k" k3 u$ E* p
Error: Can't fit design in device' T* U, _# ]8 B/ B+ \# c$ @
Error: Quartus II Fitter was unsuccessful. 3 errors, 0 warnings
' Z6 x! e C1 {3 [9 ]% e: I/ @ Error: Quartus II Full Compilation was unsuccessful. 3 errors, 0 warnings) ^+ b) @7 S" Y& q5 L# Z" D, y
解决方法:# h, F) K6 o; p H0 ^1 \( T
在开发的时候,你在给芯片指定管脚的时候, 可能因为某些原因删除了一些管脚, 而你在ALL PIN列表中却没有删除,当你继续分配的时候,虽然你实际用到的管脚不到85, 但是你曾经分配的管脚已经有117个了。 所以解决方法很简单,就是在ALL PIN列表中删除未用管脚。
$ e* Y2 r* C# J* W8 h U# B2 F9 G, H |