SoC芯片的DVFS技术详解

​A72训练营很多同学问DVFS技术怎么实现的,这里小编就和大家掰扯掰扯SoC芯片的DVFS技术吧。

  1. DVFS技术介绍

DVFS(Dynamic Voltage and Frequency Scaling)即动态电压频率调节技术,是一种高效的低功耗技术,它通过动态调整工作电压和时钟频率,以达到降低功耗的目的。

在CMOS电路中,功耗主要由动态功耗和静态功耗两部分组成,而DVFS技术主要通过调整这两部分来实现功耗的降低。

2. 动态功耗与静态功耗

在CMOS电路中,动态功耗由以下公式给出:

其中,C 代表负载电容的容值,V 是工作电压,f 为工作频率。从公式可以看出,动态功耗与电压的平方和频率成正比。因此,通过降低电压和频率可以有效减少动态功耗。

静态功耗主要由漏电流引起,可以用以下公式表示:

其中,I 是漏电流,V 是工作电压。由于静态功耗与电压成正比,降低电压也能显著减少静态功耗。

3. DVFS的实现方式

1)电压

为了实现DVFS,芯片的电源模块需要能够提供多级输出电压,通常是通过多个不同输出电压的LDO(Low Dropout Regulator)和选择开关来实现。DVFS控制逻辑会输出控制向量以选择所需的电压,电源管理模块会自动完成电压源的切换。

2)时钟

时钟频率的控制则是通过集成在芯片内部的CGU(Clock Generator Unit)来实现,它可以为系统提供特定频率的时钟信号,对时钟源进行分频或升频。

DVFS技术的实现主要依赖于对工作电压和频率的动态调整。具体来说,可以通过以下两种方式实现:

  • DVS (Dynamic Voltage Scaling): 通过固定电压-频率对应点来调节电压,适用于对性能要求较为稳定的应用场景。

  • AVS (Adaptive Voltage Scaling): 能够在一定范围内自由调节电压数值,适用于对性能要求更为灵活的应用场景。

4. DVFS的挑战与策略

在实际应用中,DVFS技术面临着一些挑战,主要包括:

  • 时序收敛: 由于电压和频率的变化,需要在多个工作模式和条件下进行时序收敛,增加了设计的复杂度。

  • 工作负载预测: 为了有效降低功耗,需要准确预测未来的工作负载,选择合适的供电电压和时钟频率。

针对这些挑战,可以采取以下策略:

  • 负载模型: 在一个时间窗口内统计模块工作的时间长度,并设定不同阈值,以触发DVFS转换。就是工作负载的粗略模型可以通过在一个时间窗口内统计模块工作的时间长度来建立,并设定不同的阈值。高阈值对应高电压高频率,低阈值对应低电压低频率。每当统计值穿过阈值边界时,就会触发DVFS的转换。

    在实际的系统中,每个CPU或DSP可能有自己的独立DVFS调节系统,因此可以根据本模块的特点制定出更精确的负载模型,以取得更优的功耗表现。

  • 调节顺序: 安全的调节机制是,提升功率时先提升电压再提升频率,降低功率时先降低频率再降低电压。

    在当前的芯片实现工艺下,更高的频率通常需要更高的供电电压。这是因为更高的频率意味着动态功率消耗的增加,而更高的供电电压可以提供更大的电源功率以满足需求。因此,再次强调,安全的调节机制是:

  • 当需要提升功率时,应先提升供电电压,然后提升时钟频率。

  • 当需要降低功率时,应先降低时钟频率,再降低供电电压。

    调节算法可以是软件实现,也可以是硬件实现,具体取决于资源消耗情况和DVFS响应时间的要求。

5. 总结

DVFS技术是数字后端设计中重要的低功耗技术之一。通过动态调整工作电压和频率,可以有效降低芯片的功耗,延长设备的使用寿命,并减少能源消耗。然而,DVFS技术的实施需要克服时序收敛的复杂性和工作负载预测的准确性等挑战。通过合理的策略和精确的控制,DVFS技术能够在保证性能的同时,实现功耗的优化。

"2.5GHz频率 hierarchy DVFS低功耗A72培训"

​编辑

一. 培训内容:

2.5GHz hierarchy DVFS低功耗 A72实战

  • 项目规模315万instance,2000万Gate count。

  • 工具有VCS/Fusion Compiler/VCLP

  • 工具有innovus/Starrc/PT/Voltus/formality/LEC/Calibre

  • 更详细的培训内容参见本文末尾

二. 培训形式:

  • 录播+文档+上机实践,一对一答疑!真实项目flow!

  • VPN远程连接景芯服务器,随时随地、随到随学!

  • 景芯合伙人教师皆为10年以上资深大佬!

  • 景芯合伙人不仅提供真实项目培训,也提供设计外包、design service!

  • 支持对公,可开培训、技术服务发票

三. 课程教学时间

  • 教学时间3个月,续期直接6折。

四. 适合的对象

  • 追求业界顶尖后端项目能力的后端工程师

  • 初级、中级后端工程师的进阶

  • 前端设计/验证人员(全栈芯片工程师之路)

  • 在校研究生、本科生同学,超越同龄人的法宝

  • Layout版图工程师

  • 转行的学员朋友

五. 报名方式

关注公众号全栈芯片工程师,后台私信小编。

六. 价格

  • 原价15000元,现价6999元!

  • 转发朋友圈、IC微信群立减100元!

  • 两人以上组团报名每人减500元!

  • 报名截止时间:2024年3月31日!

01

2.5GHz 12nm DVFS A72后端实战

本培训项目是真实项目,低功耗hierarchy UPF设计,价格是知名机构的1/3,全网最低价。DVFS hierarchy低功耗A72后端实战内容简介如下:

1) 根据低功耗需求,编写UPF验证UPF

掌握hierarchy UPF文件编写,掌握Flatten UPF文件编写。

本项目采用hierarchy UPF方式划分了7个power domain、voltage domain,指定power switch cell,其中包括SWITCH TRICKLE、SWITCH HAMMER。掌握低功耗cell的用法,选择合适的isolation cell、level shifter等低功耗cell。

掌握Power gating,Clock gating设计技术。

掌握Multi-VT设计技术,本项目时钟树都是ULVT,动态功耗小,skew小。

掌握DVFS技术,ss0p9 2.5GHz、ss0p72 2.0GHz,,其中sram不支持ss0p63。要做ss0p63的话,给sram vddm单独一个0p7v的电源即可。

掌握multibit cell的用法,本项目CPU里面的mb高达95%,选择合适的multibit cell得到超高的CPU利用率。INNOVUS里面一般不做mb的merge和split。所以前后一样的,一般综合做multibit的merge split。

2) 根据top floorplan def进行CPU子系统的partition以及pin assignment。

Top的Power stripe的规划及其push down。

SpecifyBlackBox,将CPU core镜像partition。

手动manual cut the BlackBox的方法,掌握复杂的floorplan设计方法经验。

VerifyPowerDomain,检查低功耗划分以及UPF的正确性。

Pin assignment,根据timing的需求进行合理的pin脚排布,并解决congestion问题。

掌握Timing budget。

掌握利用Mixplace实战CPU的自动floorplan,掌握AI的floorplan方法学。

3) 掌握Fusion compiler DCG,利用fusion compiler来完成DCG综合,进一步优化timing与congestion。

4) 掌握hierarchy ICG的设计方法学,实战关键ICG的设置与否对timing的重大影响。

5) 掌握Stapling技术,实战power switch cell的布局和特殊走线的方法学,掌握CPU子系统的powerplan规划及实现,保证CPU子系统和顶层PG的alignment。

6) 掌握CPU子系统和TOP的时序接口优化。掌握TOP isolation cell的placement以及isolation cell input电学特性检查。

7) 掌握TOP和CPU子系统的clock tree Balance优化处理,common clock path处理。时钟树结构trace和时钟树评价。

8) DRC/LVS

CPU子系统的DRC/LVS检查

TOP系统的DRC/LVS检查

Hierarchy & Flatten LVS检查原理及实现方法

9) 静态时序分析&IR-Drop

DMSA flow

根据Foundry的SOD(signoff doc)的Timing signoff标准建立PT环境。

Star RC寄生抽取及相关项检查

Timing exception分析,包括set_false_path、set_multicyle_path解析。

PT timing signoff的Hierarchical和Flatten Timing检查

PT和PR timing的差异分析、Dummy insertion和with dummy的Timing分析

IR-Drop分析

Stampling打起来真是高级手工艺术,全网唯一:

Flow:Partition Flow

时钟结构分析:

复位结构分析:

12nm 2.5GHz的A72实战训练营需要特别设置Latency,TOP结构如下,参加过景芯SoC全流程训练营的同学都知道CRG部分我们会手动例化ICG来控制时钟,具体实现参见40nm景芯SoC全流程训练项目,本文介绍下12nm 2.5GHz的A72实战训练营的Latency背景,欢迎加入实战。

时钟传播延迟Latency,通常也被称为插入延迟(insertion delay)。它可以分为两个部分,时钟源插入延迟(source latency)和时钟网络延迟(Network latency)。

大部分训练营同学表示平时都直接将Latency设置为0了,那latency值有什么用呢?其实这相当于一个target值,CTS的engine会根据你设置的latency值来插入buffer来实现你的latency target值。

下图分为1st Level ICG和2nd Level ICG,请问这些ICG为什么要分为两层?

请问,为什么不全部把Latency设置为0?2nd Level ICG的latency应该设置为多少呢?

latency大小直接影响clock skew的计算。时钟树是以平衡为目的,假设对一个root和sink设置了400ps的latency值,那么对另外的sink而言,就算没有给定latency值,CTS为了得到较小的skew,也会将另外的sink做成400ps的latency。请问,为何要做短时钟树?因为过大的latency值会受到OCV和PVT等因素的影响较大,并有time derate的存在。

分享个例子,比如,Cortex-A72低功耗设计,DBG domain的isolation为何用VDDS_maia_noncpu供电而不是TOP的VDD?

答:因为dbg的上一级是noncpu,noncpu下面分成dbg和两个tbnk。

再分享个例子,比如,Cortex-A72低功耗设计,这个switch cell是双开关吗?答:不是,之所以分trickle和hammer,是为了解决hash current大电流,先开trickle,然后再开hammer。

再分享个例子,比如,Cortex-A72进阶版本课程的低功耗例子:请问,如果iso cell输出都要放parent,输入放self,那么下面-applies_to_outputs对应的-location为何是self?

答:这个需要了解CPU的内部设计架构,tbnk掉电 VDDS_maia_noncpu也必然掉电,pst如下,所以-applies_to_outputs对应的-location是可以的,那么注意下debug domain呢?

实际上,没有tbnk到debug domain的信号,因此脚本如下:

再分享个例子,比如,Cortex-A72进阶版本课程的低功耗例子:为何non_cpu的SRAM的VDD VDDM都接的可关闭电源?SRAM的VDD VDDM分别是常开、和retention电源吧?

答:本来是VDDM作为retention电源设计的,VDD关掉后 VDDM可以供电作为retention使用,但是此处没有去做memory的双电源,sram当成单电源使用,不然sram无法彻底断电。

再分享个例子,比如,Cortex-A72基础版课程有学员的Cortex-A72 maia_cpu LVS通过, 但是MAIA顶层LVS比对不过,我们来定位一下。

以FE_OFN4326_cfgend_cpu1_o为例,点击下图FE_OFN4326_cfgend_cpu1_o:

找到calibredrv错误坐标:(1949,139)

对应到innovus去看坐标:(1949,139)

看到maia_cpu的pin脚过于密集,造成顶层连接pin脚时候会无法绕线,从而导致innovus从maia_cpu上面走线,形成short。尽管maia_cpu带了blockage,但是invs没有足够的连接pin的routing resource,也就只能在maia_cpu上面去try了。

修改办法很简单,具体操作option参见知识星球。

保存db,重新LVS,比对通过。

02

28nm Cortex-A7后端实战

此外,我们提供全网最低价的28nm A7后端设计,价格惊喜!打垮动辄1.5w-2.5w的后端培训价格!

我们再来对比下A72与A7的资源。A72 Gate数目是A7的13倍!如果都采用28nm制程,A72的面积应该是1180790um^2,实际A72采用12nm制程面积是486100um^2,1180790/486100=2.4,符合摩尔定律。

Cortex-A7单核:

Gates=240291 Cells=118421

Cortex-A72单核:

Gates=3125649 Cells=1207766

28nm Cortex-A7单核:

Area=90830.1 um^2

12nm Cortex-A72单核:

Area=486100.9 um^2

28nm A7后端设计课程采用的全国最低价格来推广,本文不做过多介绍,本文重点介绍下先进的12nm A72进阶版本课程。

03

12nm Cortex-A72---DFT实战

开发完成,全国最低价!

04

景芯SoC---全芯片UPF后端实战

景芯SoC培训的全芯片UPF低功耗设计(含DFT设计)

景芯SoC训练营培训项目,低功耗设计前,功耗为27.9mW。

低功耗设计后,功耗为0.285mW,功耗降低98.9%!

7天冲刺PR训练营有同学问如何给IO添加PAD?请思考景芯SoC的IO和PAD如何实现最佳?

7天冲刺PR训练营有同学问,同样的floorplan,有些同学很快跑完,有些同学则遇到大量DRC问题(EDA工具不停iteration)导致工具始终无法跑完,具体什么问题呢?

首先,小编发现该同学的stripe把TM2定义为了horizontal,而熟悉景芯工艺的同学知道,TM2的preference direction是VERTICAL。

查询景芯的lef库文件也可以确认:

用错方向有多大影响呢?大家上景芯SoC的后端flow实践一下吧,实践出真知。

7天冲刺PR训练营有同学问,为啥PR花了一天一夜24个小时完成布线还大量DRC错误?小编已经将设计规模尽可能减小以加速PR设计,实际上2小时就可以跑完routing,为何这么慢?原因就是低功耗单元的走线。具体原因及解决办法欢迎加入景芯训练营讨论。

其错误主要集中在M4上,请思考如何解决。

7天冲刺PR训练营有同学问,power switch cell的secondPG pin(VDDG)从M1接出的,而不是M2, 请思考有什么问题?如何解决?

7天冲刺PR训练营有同学问,景芯SoC培训营同学遇到Corner Pad LVS不过怎么处理?

完成景芯SoC培训的前端设计仿真、DFT后,我们来到后端flow,本教程教你一键式跑完数字后端flow。

生成脚本命令如下:

tclsh ./SCRIPTS/gen_flow.tcl -m flat all

生成flow脚本之前需要配置setup.tcl等相关参数,具体参见【全网唯一】【全栈芯片工程师】提供自研的景芯SoC前端工程、DFT工程、后端工程,带你从算法、前端、DFT到后端全流程参与SoC项目设计。

景芯SoC训练营的同学问,为何innovus读取做好的floorplan def文件报Error? 首先看log:

Reading floorplan file - ./data_in/DIGITAL_TOP.def (mem = 1595.0M).

#% Begin Load floorplan data ... (date=10/23 22:38:01, mem=1579.3M)

**ERROR: (IMPFP-710): File version unknown is too old.

以前EDI的时期,我们可以通过定义fp_file的方式来加载floorplan:

set vars(fp_file) "./data_in/DIGITAL_TOP.def"

但是现在innovus升级并放弃了fp_file的加载方式,当然也可以用老版本的EDI9.1及以前版本来加入fp_file,然后转存为新版本,这方式明显没有必要。正如下log提示所说,检查log是非常好的工程师习惯。

Input floorplan file is too old and is not supported in EDI 10.1 and newer.

You can use EDI 9.1 and before to read it in, then save again to create new version.

小编的直觉告诉我,先去看看同学保存的def文件是哪个def版本?

同学保存方式如下:

那么请问如何解决?请大家加入景芯训练营实践。

景芯SoC用了很多异步FIFO,关注异步RTL实现的同学,可以抓取异步FIFO出来看一下版图连线:

查看下所有异步FIFO cell的面积;

dbget [dbget top.insts.pstatus unplaced -p].area

查下所有异步FIFO的cell的名字:

dbget [dbget top.insts.pstatus unplaced -p].name

那么怎么抓出异步路径来观察版图走线呢?如何让report_timing呢?更多内容参见知识星球和SoC训练营。

芯片全流程培训

芯片培训 即将开班 ,迅速超越同龄人!报名 联系微信:13541390811

  • 景芯SoC前、中、后端低功耗全流程实战培训**(价格不到同行1/6)**

  • 景芯SoC前端视频+文档+实战+一对一终身辅导实战培训

  • 景芯SoC中端视频+文档+实战+一对一终身辅导实战培训

  • 景芯SoC后前视频+文档+实战+一对一终身辅导实战培训

  • 12nm 2.5GHz A72 低功耗DVFS实战培训**(价格不到同行1/3)**

  • 12nm 2.5GHz A72 DFT实战培训**(价格不到同行1/3)**

  • RISC-V MCU 40nm全芯片PR实战培训

  • DDR4/3项目实战培训

  • MIPI CSI2 + ISP图像处理 + HDMI实战培训(即景芯SoC前端)

  • MIPI CSI2 + ISP图像处理 + H.265 + USB + MAC实战培训(研发中)

  • 进阶Codec H.265/H.264实战培训(研发中)

芯片Design Service设计服务介绍:

  • 提供SoC、MCU、ISP、CIS等芯片设计、验证、DFT设计服务

  • 提供DDR/PCIE/MIPI/CAN/USB/ETH/QSPI/UART/I2C等IP设计

  • 提供7nm、12nm、28nm、40nm、55nm、65nm、90nm等后端设计

  • 提供高校、企业定制化芯片设计服务、设计培训业务

另外,小编知识星球分享芯片设计、验证、DFT、后端全流程知识以及大量技术文档,欢迎大家加入讨论学习,共同进步!

​编辑

景芯SoC芯片全流程设计训练营的宗旨:

【让每个学员都能设计一款SoC/MCU芯片】

【全网唯一】景芯SoC是一款用于【芯片全流程设计培训】的低功耗ISP图像处理SoC,采用低功耗RISC-V处理器,内置ITCM SRAM、DTCM SRAM,集成包括MIPI、ISP、USB、QSPI、UART、I2C、GPIO、以太网MAC控制器等IP,采用SMIC40工艺设计流片。

(一)SoC前端课程,您将学会

  • 高速接口的Verilog设计实现

  • 从图像算法到RTL设计实现

  • MIPI、ISP的Verilog实现与仿真

  • Lint、CDC检查及UVM验证

  • 后仿真

仅前端一门课程内容就抵得上其他培训机构的5-6门课程。

(二)SoC中端课程,您将学会

  • DFT设计(芯片级)

  • Synthesis逻辑综合(芯片级)

  • 低功耗UPF设计、CLP技术

  • formal验证等技术

仅中端一门课程内容就抵得上其他培训机构的4-5门课程。

(三)SoC后端课程,您将学会

  • 低功耗设计

  • 布局布线(低功耗FF flow)

  • StarRC/QRC

  • STA/Tempus

  • 功耗分析

  • DRC/LVS设计

仅后端一门课程内容就抵得上其他培训机构的3-4门课程。

加入知识星球,加入芯片设计知识宝库!

SoC培训营的知识星球

相关推荐
森旺电子16 分钟前
51单片机仿真摇号抽奖机源程序 12864液晶显示
单片机·嵌入式硬件·51单片机
不过四级不改名6772 小时前
蓝桥杯嵌入式备赛教程(1、led,2、lcd,3、key)
stm32·嵌入式硬件·蓝桥杯
小A1592 小时前
STM32完全学习——SPI接口的FLASH(DMA模式)
stm32·嵌入式硬件·学习
Rorsion3 小时前
各种电机原理介绍
单片机·嵌入式硬件
善 .5 小时前
单片机的内存是指RAM还是ROM
单片机·嵌入式硬件
超级码农ProMax6 小时前
STM32——“SPI Flash”
stm32·单片机·嵌入式硬件
Asa3196 小时前
stm32点灯Hal库
stm32·单片机·嵌入式硬件
end_SJ8 小时前
初学stm32 --- 外部中断
stm32·单片机·嵌入式硬件
gantengsheng9 小时前
基于51单片机和OLED12864的小游戏《贪吃蛇》
单片机·嵌入式硬件·游戏·51单片机
嵌入式小强工作室9 小时前
stm32 查找进硬件错误方法
stm32·单片机·嵌入式硬件