管脚是FPGA重要的资源之一,FPGA的管脚别离包含,电源管脚,一般I/O,装备管脚,时钟专用输入管脚GCLK等。
(1)电源管脚,一般来说FPGA内部的电压包含内核电压和I/O电压。
1.内核电压:即FPGA内部逻辑的供电。一般会较I/O电压较低,跟着FPGA的工艺的进展,FPGA的内核电压逐步下降,这也是下降功耗的大势所趋。
2.I/O电压 (Bank的参阅电压)。每个BANK都会有独立的I/O电压输入。也便是每个BANK的参阅电压设定后,本BANK上一切I/O的电平都与参阅电平同等。
是否能够经过束缚来设定IO管脚的输出电平那,答案是否定的,如下例所示
set_instance_assignment -name IO_STANDARD 3.0-V LVCMOS -to pinA
set_instance_assignment -name IO_STANDARD 3.3-V LVCMOS -to pinB
不管设定为多大的电平,IO的输出与BANK的参阅电压保持共同,也便是说,PINA和PINB的电平与其BANK的电平保持共同,而不是所束缚的那样必定会是3V或3.3V的电平。那是否意味着这种束缚没有用果?假如束缚同一BANK上的管脚为不同电平,如PINA和PINB在同一BANK,可是电平不同,则EDA东西会报错。能够起到过错查看的效果。(同一bank上电平要共同,可是类型能够是多种,例如CMOS,TTL等)。
关于杂乱的FPGA内部,一般来说PLL也会都独自的供电,而且其内部包含数字电源和模仿电源。SERDES一般也需求独立供电。一般支撑高速SERDES的FPGA器材都都有独立的供电管脚,一般也都有独立的时钟管脚(一般为差分时钟)。
(2) 装备管脚:
FPGA的装备管脚每个FPGA都需求,为了支撑多种装备方法,例如JTAG,从串、从并、主串、主并等。值得注意的是,关于其装备管脚的操控信号来说,是专用管脚,不能用做一般I/O,而其数据信号,能够用作一般I/O。在管脚资源较为严重时,能够复用装备信号的数据信号作为一般I/O来用。
(3) 一般I/O:
FPGA的I/O是FPGA管脚上较为丰厚的资源。也是做管脚束缚时最常用的资源。关于例化IP来说(例如serdes和DDR2/3等),需求运用EDA东西给出了I/O束缚。假如修正则需求预先编译进行评价。一般来说,DDR的接口信号最好能在一个BANK上束缚,假如不能则其操控信号要束缚到同一BANK上,不然导致EDA东西布局布线报错。
关于FPGA的一般I/O,能够设定包含管脚电平类型(LVTTL,LVCOMS,SSTL,HSTL等等),还包含端接巨细,驱动电流,摆率等参数。关于FPGA引脚来说,经过阻抗匹配的设置(altera的OCT,xilinx的DCI的设置)。能够有用的削减板上电阻的数目,下降BOM本钱。端接的设置能够阻挠阻抗不接连导致信号反射,确保信号完整性。
(4)时钟管脚
FPGA内部的时钟,都需求经过专用时钟管脚衔接内部PLL或许DCM等专用时钟处理单元,然后接入内部高速时钟网络。在前期的FPGA中内部时钟资源有限,专用处理单元也有限,需求严厉的规划PLL等时钟处理单元和大局时钟资源,跟着FPGA技能的开展,这个功用逐步弱化,可是前期规划也是有必要的。
值得注意的是,关于一些外部同步信号的输入,其时钟没有衔接到专用时钟管脚上,只用于采样当时的同步信号,因而不必接入大局时钟网络,规划上也是答应的,需求束缚其管脚不运用大局时钟资源。否者,EDA东西会报错,提示其作为时钟输入,而没有接在专用时钟管脚上。