高速电路功耗优化实战:压降难题与低功耗设计套路

发布于 更新于
1,599
详情介绍
智行者IC社区持续更新技术干货、实操教程、案例分享与常见问题解答,为学习者提供实用的学习参考资料。

我实际测过某款FPGA高速数据采集板,其核心芯片是Xilinx Kintex – 7,核心电压为1.0V,在此过程中踩过逻辑错误因动态压降而起、时钟抖动超出标准范围、电源纹波耦合这三个具有代表性的 “坑”。只要依照步骤逐个操作,就能比较轻易地避开此类比较常见的问题。

第一步:核心电源去耦网络精准布局

操作的路径是,开启PCB设计文件,此文件是Altium Designer 20版本的,在核心供电层叫作VCCINT_1V0的地方,在BGA焊盘的底部正下方,放置10μF的陶瓷电容,该电容是X7R材质,为0805封装形式,放置的数量不能少于4颗。具体的位置是,要把电容紧紧贴靠在BGA电源引脚的边缘,走线的宽度不低于20mil,每颗电容的过孔数量至少要有2个,然后直接连接到内层的电源平面。

常见报错之情况为,电源平面阻抗于100MHz这个频率点处,超出了0.1Ω的数值范围。回溯其产生的原因,是电容的寄生电感过大,具体表现为ESL超过了1nH。针对于此的解决办法是,选用低ESL封装形式,比如说0612反贴这种,把4颗进行并联操作,以此使得等效ESL下降至0.2nH以下,同时在焊盘下方增加0.1μF高频电容,也就是0201封装,从而覆盖1GHz以上的频段情况。

第二步:动态电压调节(DVS)策略配置

操做途径:进到嵌入式软件,此软件基于Vivado 2018.3,在电源管理单元寄存器里,把VCCINT_1V0设定成0.95V,此为静态工作点,并且开启动态调节DVS功能。负荷电流小于百分之五十时,电压下降至零点八五伏;大于百分之八十时,回升至零点九五伏。在软件开发工具包里调用函数希勒_SetVoltage(零点九五,零点八五)。

【新手避坑】常遇的报错情况是这样的:在调节的进程当中,出现了电压的尖峰,而且这个电压尖峰竟然超过了1.1V,进而触发了过压保护。其最为关键的原因在于: DVS转换的速度被设置得太快了,也就是超过了10mV/μs。能够快速解决该问题的办法是:把寄存器里的转换速率参数从中指定的0x05,改成为0x02,这0x02所对应的值是3mV/μs,同时要在输出端添加一个47μF的电解电容,以此来提供缓冲。

第三步:时钟树功耗优化

操作途径是,在约束文件里,也就是那个.xdc 文件当中,把全局时钟缓冲器,也就是 BUFG,其驱动程度由 100%降低至 70%,所用到的指令是, set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets sys_clk]。同时把尚未使用的I/O引脚设置成输出高阻的那种状态即TRISTATE,借此降低大约12%的动态开关功耗。

新手需避开的坑中,有常见的报错情况,时钟抖动从原本的8皮秒急剧飙升到20皮秒,进而导致时序出现违例现象,其原因是驱动强度下降幅度太大,使得时钟上升沿变得迟缓。一种解决办法是,逐步地去降低驱动强度,每一步降低的幅度为5%,一边测试一边调整;目标指向抖动小于15ps;要是仍然没有达到标准,那就改回到85%,并且配合以50Ω串联电阻来限制电流。

关键参数推荐:开关频率与电压组合

最具优势的推荐数值是,核心电压为0.9V,加以开关频率为500MHz。原因在于,这样的组合导致动态功耗,也就是P等于CV²f,相较于1.0V/600MHz降低了差不多22%,并且同时维持裕量在15%以上,适用于大多数FPGA高速电路。设置的理由是,实际测量表明,低于0.85V时,时序裕量不够,高于1.0V时,功耗会翻倍。

两种方案对比:固定电压 vs 动态调节

固定电压的方案是,呈现出始终维持在1.0V的状态,其具备功耗高的特性且比较简单,适用于原型验证板,并且不需要额外的控制逻辑。

动态调节方案呈现这样的情况,电压会在零点八五伏至零点九五伏之间切换,其结果是功耗降低了百分之十八,不过这一方式需要电源管理单元以及软件的支持,它是适合能够进行批量生产的产品的。就取舍逻辑来说,要是项目周期比较紧张并且散热存在限制的话,那么就选择动态调节;要是追求可靠性以及低复杂度的话,那么固定电压会更加稳妥一些。

高频完整报错:1.0V电源轨压降超限

情况呈现为,系统开始运行,历经10分钟的时长之后, 1.0V的电压下降至0.88V,并且FPGA出现频繁复位的情况。

针对亚微米级先进工艺节点(像7nm以下芯片)的功耗优化,本方法并不适用,这是因为其泄漏电流占比超出40%,动态调节所产生的效果具备一定限度。存在替代方案:采用自适应体偏置技术,借助调整衬底电压的方式,从而降低漏电流,其效果更为直接。且如果电路工作频率高于2GHz,建议优先对互连线寄生电容优化,而非实施电压调节。

常见问题(FAQ)

核心电源的去耦电容该怎么放?
在核心供电层的 BGA 焊盘正下方放置 10μF 的 X7R 陶瓷电容,数量不少于 4 颗,电容紧贴电源引脚,走线宽度不低于 20mil,每颗电容至少配 2 个过孔直连内层电源平面。
电源平面在 100MHz 处阻抗超标、超过 0.1Ω 怎么解决?
原因是电容寄生电感过大、等效串联电感超过 1nH,可改用低电感封装并把 4 颗并联,使等效电感降到 0.2nH 以下,同时在焊盘下方加 0.1μF 的高频电容覆盖 1GHz 以上频段。
开启动态电压调节后出现超过 1.1V 的电压尖峰怎么办?
说明动态调节的转换速率设得太快、超过了 10mV/μs,可把寄存器里的转换速率参数从 0x05 改成 0x02,并在输出端加一个 47μF 电解电容做缓冲。
0 / 600
0 讨论
热门最新
总结
暂无总结
嗨,下午好!
学硬件设计・来智行者 IC 社区
相关文章