技术文档 2026年06月4日
0 收藏 0 点赞 2,270 浏览 2032 个字
摘要 :

当本人在Xilinx Virtex – 7 FPGA平台之上进行高速SerDes设计之际, 曾遭遇动态功耗径直飙升至12W这般的状况。针对于新手而言, 只要依照下面所呈现的一步步操作内容……

当本人在Xilinx Virtex – 7 FPGA平台之上进行高速SerDes设计之际, 曾遭遇动态功耗径直飙升至12W这般的状况。针对于新手而言, 只要依照下面所呈现的一步步操作内容去进行, 便能够较为轻易地避开此类较为常见的问题。

第一步 关掉未使用的时钟域

首先是操作路径, 从Vivado开始, 进入Tools, 再进入Power, 接着选择Report Power, 然后就是要勾选“Report unused clock domains”。之后呢, 在生成的报告当中, 去找到所有未连接的BUFGCE以及MMCM输出, 随后右键点击“Set Clock Gating”, 最后把它的门控使能信号强制拉低。在XDC约束文件里, 针对DSP48以及BRAM模块, 添加这句话: set-clock-gating -module -type cell -cells {inst_dsp} -clock_gating_enable false。参数数值是固定的, 这个值是0.5ns的建立时间余量, 不能随便去更改。

以下是新手需避开的坑相关内容, 一个比较普通的报错情况是, 出现“Clock gating insertion failed – timing violation”这样的提示。其最为关键的原因在于, 当把门控逻辑插入之后, 致使路径延迟发生了增加这种状况。而关于此种情况的快速解决办法是, 首先在XDC当中, 对该路径放宽相关的时序约束, 再设置set_max_delay -datapath_only, 使其变为2.0ns, 之后重新进行综合动作。

第二步 调整输出驱动强度

下面是操作路径的具体步骤,首先要进入Vivado的IO Planning界面, 接着选中所有高速输出引脚, 然后在IO Standard下拉菜单中, 选择“LVCMOS12”, 用以替代默认的“LVCMOS18”。之后在Slew Rate选项中要统一选择“SLOW”模式, 并且在Output Drive Strength输入框里填入固定值“4mA”。就是针对DDR3接口而言, 还得在Device Constraints里勾选“DDR Output Impedance Calibration”, 然后把ODT阻值设定成40Ω。

【新手留意避免出错】, 常见出现错误提示: 在进行信号眼图测试期间, 出现数量很多的误码。核心的缘由是: 驱动电流下降到很低的程度致使上升沿变得缓慢。能够快速解决问题的方式是: 首先把Drive Strength提升到8mA, 使用示波器测量一下眼宽, 要是大于0.7UI就依次逐步地向下调整为6mA, 不要一下子直接降低到4mA。

有两种方案在此进行对比, 方案一所采用的方式为整体统一运用LVCMOS18加上8mA来驱动, 它具备信号质量稳定这一优点, 然而其缺点是功耗会高出35%, 方案二则是依照上述步骤对每一个引脚进行逐引脚微调, 对于距离较近的时钟线运用LVCMOS12加上4mA来进行驱动, 对于距离更远的数据线则保留运用LVCMOS18加上6mA来进行驱动, 存在这样一种取舍逻辑, 即PCB走线长度超过3英寸的引脚必定要使用方案A的参数, 而3英寸以内的引脚就要使用方案B。

第三步 精确控制动态电压缩放

操作路径如下, 于Vivado的Power Management窗口之内选择“Dynamic Voltage Scaling”选项卡, 勾选“Enable per-region DVFS”, 在Voltage Scaling表当中, 针对PL逻辑区域输入目标电压值“0.85V”(其默认值为1.0V), 而且将频率补偿系数填入“0.95”。与此同时, 于约束文件里添加: set_power_opt -voltage_scaling -target_voltage 0.85 -freq_comp 0.95。关键参数的最优推荐数值为0.85V , 缘由在于其恰好处于绝大多数28nm工艺的阈值电压拐点之上 , 能够确保在时序收敛的情形下功耗下降最为显著。

新手需避开的坑: 有多高频率就有多完整的报错, 其内容为“ERROR: 此报错编号存在于Power 28 – 87这个范围中, 电压缩放这项操作失败了, 核心电压低于了最低所需的数值, 进而导致设备关机”。 )。具备全方位一站式解决的流程是这样的: 首先, 针对板级电源芯片, 要去查验供电纹波是不是高出50mV, 要是超出标准范围, 就在VCCINT输入端添加10μF钽电容加上100nF瓷片电容来进行滤波。其次, 再度上电之后进入硬件管理器, 把PMBus寄存器值读取回来, 去确认实际电压是不是稳定在0.87V之上。然后, 把目标电压从0.85V更改成0.88V, 再次生成比特流并实施下载。这个流程通过实际测试解决成功率是超过90%的。

DVFS需要额外增添一颗可编程电源芯片(例如LTC3880)所以这个方法不适用于超低功耗电池供电类场景, 该芯片本身会额外消耗掉3至5mW的静态电流。要是项目是纽扣电池供电的小型传感器, 建议直接采用固定0.9V予以供电, 再搭配时钟门控来进行功耗优化, 如此简单粗暴还可省掉电源芯片的成本。

微信扫一扫

支付宝扫一扫

版权:
1、本网站名称:智行者IC社区
2、本站唯一官方网址:https://www.2632.net (警惕克隆站点,认准SSL证书指纹:B2:3A:...)
3、本站资源100%原创除软件资源区,侵权投诉请提交权属证明至 xiciw@qq.com (24小时响应)
4、根据《网络安全法》第48条,本站已部署区块链存证系统,所有用户行为数据将保存至2035年3月9日以备司法调取
5、资源观点不代表本站立场,禁止用于商业竞赛/学术造假,违规后果自负
6、违法信息举报奖励200-5000元,通过匿名举报通道提交证据链
7、核心资源采用阿里云OSS+IPFS双链存储,补档申请请使用工单系统
转载请注明出处:https://www.2632.net/doc/4114.html

下一篇:

已经没有下一篇了!

相关推荐
2026-06-04

当本人在Xilinx Virtex – 7 FPGA平台之上进行高速SerDes设计之际, 曾遭遇动态功耗径直飙升至1…

2026-06-04

本人实际测了Mentor Xpedition VX.2.14, 踩过新建项目之时元件库没办法加载的那个坑, 新手依照步骤…

2026-06-04

本人亲自测试了vivo魔方APP版本乃是6.2.1, 经历过布局助手自动吸附之后组件出现错位、间距出现忽大…

2026-06-04

本人实际测试, 在Altium Designer 23这个环境当中进行四层板电源层铺铜的时候, 踩过了过孔穿透网格…

2026-06-04

是我亲自进行了 Altium Designer 24.2 版本的实测, 遭遇过因差分对阻抗失去控制而致使整块板子通讯…

2026-06-04

以下这段经历发生在我身上, 当时我实际测试了Calibre 2023.3版本, 在进行批量DRC排查的时候, 遭遇过…

发表评论
暂无评论

还没有评论呢,快来抢沙发~

点击联系客服

在线时间:8:00-16:00

客服QQ

870555860

客服电话

173-5410-9521

客服邮箱

xiciw@qq.com

扫描二维码

手机访问本站

头部图片