在硬件电路设计中,每一个IC芯片都有相应的电源端口对其供电,以驱动IC进行工作。对于普通的IC芯片,极大部分都是由单电源3.3V电压供电,且输出的高电平电压也是3.3V,例如MCU和存储器等常用的芯片。但是对于FPGA则不然,可编程逻辑的特性赋予了它包容万物的能力,最终成为一个需要多电源供电的芯片,那对于FPGA的电源电压种类,到底有多少呢?
1. FPGA供电电压
一颗FPGA芯片通常需要多个电压,例如Xilinx的新一代的A7、K7、V7等系列的芯片,可以多达6个电压,分别是3.3V、2.5V、1.8V、1.5V、1.2V、1.0V。
对于FPGA,其电压类型通常是以下3种:
(1)核心电压Vccint,该电压一般较低,目前常用的是1.2V。核心电压用于给FPGA的内部各种逻辑供电,即芯片的晶体管开关是有核心电压提供。当内部逻辑工作时钟速率越高,使用逻辑资源越多,则核心电压供电电流会更大,可高达几安,此时芯片必然会发烫,需要散热装置辅助散热。另外,核心电压Vccint并非一定是1.2V,该电压随着FPGA工艺的发展从5V、3.3V、2.5V、1.5V、1.2V逐步变小,具体数值需查找对应的芯片数据手册。
(2)IO电压Vccio,该电压顾名思义,就是驱动IO管脚的电压。因为FPGA经常要与多种不同电平接口的芯片通信,所以都会支持非常多的电平标准,这也是它的灵活性表现。FPGA为了能和多种不同的电平标准接口芯片通信,Vccio通常以Bank为界,相互之间是独立的,即一个Bank块只能存在一种IO电压。一颗FPGA芯片具有多个Bank块,每个Bnak可以与一种电平接口芯片通信,如Bank34与3.3V的MCU通信,Bank35与2.5V的DDR芯片通信。
(3)辅助电压Vccaux,FPGA并非一个单纯的数字逻辑芯片,内部也带有一些模拟组件,比如Xilinx的DCM数字时钟管理组件、高档点的FPGA还有高速串并转换器serdes、温度监控器件等这些模拟器件,这些模拟器件对电源噪声要求很高,所以需要一个独立稳定的电源进行供电。Vccaux就是为这些模拟器件提供电压,另外Vccaux还可以给部分IO供电,像JTAG等,具体需要参考对应的数据手册。
2. FPGA电压监控
Xilinx的7系列芯片均提供有内部的温度、电压监控组件(IP核XADC Wizard),用户可以通过读取对应寄存器值来监控电压值,判断芯片是否工作正常。(Altera不知道有没此功能,哪位仁兄知道可以告知下哈)
如上图所示,xadc核可以设置三种电压的阈值,然后进行监控,当电压超过限定值便会报警,用户只需读取状态标志寄存器或者对应的电压寄存器便可以知道当前电压值是否正常。通过软件控制,对这三个电压进行监控可以做到故障及时反馈,起到对器件保护与故障的排除,这对项目开发是很有帮助的。
3. 总结
FPGA是一款多电源芯片,这赋予了它能与多种接口通信的优势与灵活性,但是在电源设计上却也需要更加的谨慎。如果电源电压不对应,轻则通信不成功,重则可能烧毁芯片,所以作为一名开发工程师,在设计时必须认真对待。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)