0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数字集成电路动态功耗优化策略分析与评估

芯华章科技 来源:芯华章科技 作者:芯华章科技 2022-08-24 14:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

芯华章持续助力第四届集成电路EDA设计精英挑战赛,并邀请华南理工大学王小航教授带来详细的赛题解析,希望能够帮助同学们更加从容应对赛事,赛出水平!

1

赛题背景分析

低功耗设计是数字系统非常重要的考虑因素。为了支持低功耗设计,首先要对功耗进行计算。功耗可分为静态功耗(漏电流引起)和动态功耗(门翻转引起)。在本赛题中,我们主要考虑动态功耗的计算方法。 动态功耗的计算公式如下: 3cd4d646-2374-11ed-ba43-dac502259ad0.png  其中,VDD为电压,C为等效电容,Tr为翻转率,即单位时间内逻辑门从0→1或从1→0的翻转次数。我们可以把电压和等效电容近似视为常数,对于不同的电路负载,统计其Tr,就可以计算动态功耗。 这道赛题的目的,就是让大家通过VCD文件来统计一个电路负载的翻转率。 如何得到翻转率呢?我们回顾一下,在电路设计的时候,先设计其RTL(如verilog)代码,并编写testbench给出激励进行测试,如下所示: 3ce78b4c-2374-11ed-ba43-dac502259ad0.png  用常见的仿真工具跑如上RTL代码和testbench,可得到如下的输出结果波形: 3cfdb4b2-2374-11ed-ba43-dac502259ad0.png信号变化波形图(芯华章科技股份有限公司-Fusion Debug 提供) 仿真工具可以把上述波形输出VCD文件,类似: 3d0db8da-2374-11ed-ba43-dac502259ad0.png  好,现在重点来了。给定VCD文件(其实就是波形的文本表示),我们就可以统计翻转率,进而利用上述的功耗公式来计算动态功耗,它们之间的逻辑关系如下图: 3d1f58f6-2374-11ed-ba43-dac502259ad0.png  在本赛题中,我们只关注如何从VCD文件(对应波形)到翻转率的解析。

2

赛题要点解析

本赛题主要就是进行VCD文件的解析,然后根据题目的要求,得到不同的统计结果(如翻转次数tc,信号逻辑值为1的时间t1, 信号逻辑值为0的时间t0,信号逻辑值为x的时间tx,以及信号逻辑值为1的概率又称静态概率sp)、某个时间窗口的统计结果、不同层次信号的统计结果。 因此,首先需要定义一些数据结构表示信号时间序列,可以用数组或者vector等,将VCD文件读取、解析为这些信号时间序列变量,再针对这些变量进行统计分析,得到所需的输出。如下图所示: 3d37b27a-2374-11ed-ba43-dac502259ad0.png  

2.1 VCD文件解析

VCD文件解析的思路如下:
  • 首先扫描文件头,建立每个信号对应的数组或者vector。

  • 将VCD文件看作是不同时间段的信号改变,对于一个时间段,扫描各个变量的值的变化,记录其变化,就构成了时间序列。

3d48bae8-2374-11ed-ba43-dac502259ad0.png  这样,扫描完一个文件之后,各个变量随时间变化的序列就存下来了。

2.2统计输出

有了信号的时间序列值,可以根据题目要求打印统计结果。主要考虑几方面:
  • 翻转率等参数的计算,需要统计1和0的时间。

  • 一个时间窗口的统计值,需要截取一个时间窗口进行计算。

  • 层次化的信号,需要从文件中读取信号间的层次关系进行计算。

对于题目中的加分项,即给定VCD文件画波形,可以尝试采用matlab或者python等工具,生成一个数组和画图脚本,调用这些外部画图工具来画图。

2.3多核加速

在题目要求中提到了多核加速,假如你的电脑有多个核,就可以用多线程方式加速。多核加速的本质是将任务划分到多个线程,让多个线程在多个核上同时运行从而提高计算速度。 加速方法有两种,一种是将文件读入到内存,然后将不同的行分配到不同的核/线程来处理,我们称之为横向划分;另外一种是将文件切分开分到不同的核,每个核处理文件的不同段,我们称之为纵向划分。 3d5a6b44-2374-11ed-ba43-dac502259ad0.png  可以采用pthread或者openMP进行并行编程,需要注意线程间的同步和锁机制。

2.4文件处理

当VCD文件很大时,为了减少一次性读入占用太多内存,可以每次读入一部分文件存在内存中,如用getline等函数每次读一行等。

3

建议解题步骤

1

对VCD的基本语法先熟悉一下,如信号名字的对应关系,每一行表示什么含义等。

2

实现VCD文件到信号时间序列变量的转换。这是一个文本逐行解析的过程。

3

写统计分析的模块,每个模块对应不同的统计需求,相对独立。

4

学习pthread或openMP多线程编程,学习如何创建线程、线程间如何同步、加锁等。

5

用pthread或openMP提高你的程序的效率,这里需要并行划分程序。

6

尝试一下不同的文件读取速度和占用内存情况,选择一个占用内存比较小的方式。

4

其它注意事项

大家在解题时还需要注意以下几点: 1)不要轻易放弃,题目本身难度不大,已经提炼成了算法题,前期的知识准备要花点时间; 2)一定要积极参加培训,很多知识其实一点就透;在没有相关背景积累的情况下学习会有一定的挑战性,但也可以补充很多知识; 3)要遵循循序渐进、从易到难的解题思路,切不可贪大求全让自己陷入到重重迷雾之中; 最后,预祝各位同学发挥出自己的水平,取得良好的成绩。 审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集成电路
    +关注

    关注

    5446

    文章

    12478

    浏览量

    372780
  • 电压
    +关注

    关注

    45

    文章

    5757

    浏览量

    121053
  • 等效电容
    +关注

    关注

    0

    文章

    18

    浏览量

    8201

原文标题:芯华章赛题解析:数字集成电路动态功耗优化策略分析与评估

文章出处:【微信号:X-EPIC,微信公众号:芯华章科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MCU时钟管理对功耗优化方向

    时仅需几μA),但精度较差。 策略: 在运行模式使用外部高速时钟,进入低功耗模式前切换到内部低速时钟。 (4) 分频器优化 原理:通过预分频器降低外设时钟频率(如定时器、ADC)。 示例: 将定
    发表于 11-24 06:16

    MDD 逻辑IC的功耗管理与优化策略

    之一。对于MDD辰达半导体逻辑IC(集成电路)而言,合理的功耗管理不仅能提升系统性能,还能有效延长设备的使用寿命。因此,作为FAE,在客户的设计过程中,协助优化功耗
    的头像 发表于 10-30 09:49 210次阅读
    MDD 逻辑IC的<b class='flag-5'>功耗</b>管理与<b class='flag-5'>优化</b><b class='flag-5'>策略</b>

    华大九天Empyrean Liberal工具助力数字集成电路设计

    数字集成电路设计中,单元库和IP库宛如一块块精心打磨的“积木”,是数字IC设计的重要基础。从标准单元库(Standard Cell)、输入输出接口(I/O Interface)、存储器单元(如
    的头像 发表于 07-09 10:14 2217次阅读
    华大九天Empyrean Liberal工具助力<b class='flag-5'>数字集成电路</b>设计

    新思科技携手深圳大学助力数字集成电路人才培养

    此前,2025年5月24日至27日, 新思科技受邀参与深圳大学电子与信息工程学院、IEEE电路与系统深圳分会联合举办的“数字集成电路中后端设计流程与EDA工具实战培训”。本次培训面向40余名集成电路
    的头像 发表于 06-14 10:44 1214次阅读

    电路设计异常要考虑:电流倒灌、热插拔、过流保护、过压保护、上电电流

    /AHCT类集成电路中无此缺陷。 2、D2是半导体集成产生的生命存在缺陷(于所有数字集成电路),其辅助功能为对线路引用的下冲信号进行限幅,提供一些电流保护功能。 3、D3用于保护CMOS电路
    发表于 05-20 14:27

    元器件及单元电路介绍-610页

    元器件及单元电路介绍放大电路基础,电源电路,正弦波振荡电路,调制与解调电路,混频电路与变频
    发表于 05-19 15:41

    中国集成电路大全 接口集成电路

    章内容,系统地介绍了接口集成电路及其七大类别,详细说明了每一类别所包括品种的特性、电路原理、参数测试和应用方法。因为接口集成电路的类别多,而旦每类之间的联系不如数字电路那样密切,所以编
    发表于 04-21 16:33

    浮思特 | CMOS技术原理与应用:从晶体管结构到反相器设计

    MOSFET在数字电路中的常见形式是互补MOS(CMOS)电路。CMOS技术将n沟道和p沟道MOSFET成对集成在同一芯片上,成为数字集成电路的主导技术,相比单独使用NMOS和PMOS
    的头像 发表于 04-16 11:55 1123次阅读
    浮思特 | CMOS技术原理与应用:从晶体管结构到反相器设计

    概伦电子集成电路工艺与设计验证评估平台ME-Pro介绍

    ME-Pro是概伦电子自主研发的用于联动集成电路工艺与设计的创新性验证评估平台,为集成电路设计、CAD、工艺开发、SPICE模型和PDK专业从业人员提供了一个共用平台。
    的头像 发表于 04-16 09:34 1570次阅读
    概伦电子<b class='flag-5'>集成电路</b>工艺与设计验证<b class='flag-5'>评估</b>平台ME-Pro介绍

    嵌入式系统存储的软件优化策略

    分析)。通过分析给 出读写数据单元大小优化建议、连续/随机读写优化建议。 ·产品部署前做最终的预估寿命评估。结合最终
    发表于 02-28 14:17

    集成电路设计中静态时序分析介绍

    Analysis,STA)是集成电路设计中的一项关键技术,它通过分析电路中的时序关系来验证电路是否满足设计的时序要求。与动态仿真不同,ST
    的头像 发表于 02-19 09:46 1323次阅读

    集成电路为什么要封胶?

    集成电路为什么要封胶?汉思新材料:集成电路为什么要封胶集成电路封胶的主要原因在于提供多重保护和增强性能,具体来说包括以下几个方面:防止环境因素损害:集成电路在工作过程中可能会受到静电、
    的头像 发表于 02-14 10:28 888次阅读
    <b class='flag-5'>集成电路</b>为什么要封胶?

    数字集成电路 Verilog 熟悉vivado FPGA微电子、电子工程

    1、计算机、微电子、电子工程等相关专业硕士; 2、熟悉数字集成电路基本原理、设计技巧、设计流程及相关EDA工具; 3、精通Verilog语言,熟悉AMBA协议; 4、有FPGA开发或SOC设计经验优先; 5、具有较强的独立工作能力、良好的团队合作精神。
    发表于 02-11 18:03

    新思科技携手深圳大学推动集成电路设计领域发展

    在当今快速发展的科技时代,数字集成电路设计作为推动人工智能(AI)、5G通信和物联网等先进技术的核心力量,正扮演着越来越重要的角色。为了帮助未来的工程师们更好地掌握这一领域的专业知识和技术,2024
    的头像 发表于 01-22 17:28 869次阅读

    集成电路电磁兼容性及应对措施相关分析(三)—集成电路ESD 测试与分析

    和成本增加等问题 。 三、集成电路ESD 测试与分析 1、测试环境与电场产生 图5 使用 ESD 发生器的测量设置l 测试环境,集成电路(IC)被放置在一个由接地平面、隔离垫圈环和场源形 成的屏蔽空间内。接地平面:可起到接地保护
    的头像 发表于 12-20 09:14 1123次阅读
    <b class='flag-5'>集成电路</b>电磁兼容性及应对措施相关<b class='flag-5'>分析</b>(三)—<b class='flag-5'>集成电路</b>ESD 测试与<b class='flag-5'>分析</b>