当我们将一个数字系统设计烧入FPGA时,会有一部分管脚没有被分配,它们在系统工作的时候会处于什么状态呢?
实际上,这个状态是可配置的,在ISE里的Generate Programming File流程的流程属性里,有一个Configure Option,里面有规定Unused IOB Pins的默认值,分别为:
1.Pull Down
2.Pull Up
3.Float
Pull Down可以理解为该管脚既输入了0,也输出了0,实际上是用一个下拉电阻来实现这样的功能的。
Pull Up 则反过来,既输入了1,也输出了1,实际上是用一个上拉电阻来实现这样的功能的。
Float 则是将该管脚悬空,不建议这么做,因为悬空会造成管脚状态不稳定,不知道输入输出0还是1。
至于上拉电阻和下拉电阻的原理,不懂的话请看这里Very Basic Circuits。
在实践中,如果不注意这些没用到的管脚,它们很可能会输出一些非法的数字信号到其它器件,导致其它器件不工作。