PULLUP/PULLDOWN(上拉/下拉),就是说,你是否需要将该IO端口在FPGA内部进行上拉或者下拉。比如有些芯片它的输入口是开漏(open-drain)结构的话,你的FPGA的IO口与它连接,那么就一定要设定为上拉。这样它才可以正确的驱动下游的那个芯片。当然,最好的方法是在电路上直接增加上拉电阻,这样可以降低FPGA的功耗。FPGA IO口本身无所谓上拉或者下拉的,主要取决与它所连接的芯片的IO口特性,所以使用之前,要查清那些芯片的手册上输入输出口的说明。
IOSTANDARD主要规定了FPGA IO的电平幅度,比如TTL,COMS,LV-COMS,LDVS等,相关标准你可以查阅数字电路,或者一般FPGA的手册中也会有说明。同样,这是为了匹配FPGA外围电路或者所连接的芯片的标准的。依据你的需要来设定。比如你的下游芯片是TTL电平(5v)的,你如果不设这个约束,FPGA一般会默认为CMOS(3.3v),那么当然就无法正确的驱动下游芯片了。
DRIVE(驱动电流)就是FPGA IO能输出的最大的电流。一般约定了IOSTANDARD,这个就不要进行约束。除非你一个IO的驱动(或者吸入)了太多的外部信号,需要额外增加它的电流。但这样会影响IO的翻转时间的。所以绝对不推荐一个IO驱动多个芯片。如果确实是多个芯片需要相同的驱动,那么你可以用多个IO来分别驱动,在FPGA内部把它们编写成一样的功能就可以了。 |