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

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

3天内不再提示

数字集成电路低功耗设计分析器

英诺达EnnoCAD 来源:芯华章科技 作者:黄乐天 2021-09-01 09:17 次阅读

随着登纳德缩放定律在2005年终结以后,大规模数字集成电路的功耗问题以及由功耗问题衍生而来的散热问题、可靠性问题逐步凸显出来。因此如何有效降低大规模数字集成电路的功耗成为近10年来大规模数字集成电路所面临的最重要挑战之一。

降低功耗的前提是优化设计,而优化设计的前提又是分析到底功耗高在何处。因此,分析功耗是一切的前提。如果学习过数字集成电路与系统设计相关知识的同学应该知道功耗分为静态功耗和动态功耗两部分。其中,静态功耗是由于器件中存在泄漏电流而产生的,只要上电以后就会一直存在。静态功耗可以表征为:af77b388-fe38-11eb-9bcf-12bb97331649.png也就是电源电压乘以泄漏电流。初看这个公式,相信大家觉得这不是常识嘛。但问题是泄漏电流又是怎么知道的?泄漏电流一般可以表示为:afa1ebbc-fe38-11eb-9bcf-12bb97331649.png是不是看着有点晕了?这后面这些乱七八糟的“I ”到底是什么啊……我们就说个最简单的IDS是是亚阈值泄露电流。

当栅极偏置电压很低时,沟道载流子受源端势垒的影响,泄露电流较小。当源漏端电压升高后,源端势垒降低,导致沟道电流受源漏端电压影响。看到这里,是不是觉得脑袋已经嗡嗡的了?为了避免大家看不下去而导致选手流失,就不能继续分析下去了。我们再来看看动态功耗如何计算吧:

b00cb50a-fe38-11eb-9bcf-12bb97331649.png

是不是一种看完了以后完全不想说话的感觉……如果我们依靠上面的公式来分析各种低功耗设计方案的正确性,那就太费劲了。有没有一种简单的分析方法能够明确我们设计中采用的多电压域、门控时钟、动态电压频率调节、电源门控等技术是不是有效的降低了功耗,以及是否还有进一步设计优化的空间?这种方法就是不用去直接计算再回头反馈,而是用“规则”和“状态”来判断方法是否有效。

以上提到的低功耗设计方法可以通过UPF(一组TCL命令,所以可以将其简单视为TCL语言的一个特定领域的子集)语言来描述,事实上UPF可以用在IC设计流程的不同阶段并能够完整的描述功耗设计意图。在整个低功耗设计中,电源状态表(Power State Table, PST)可被用来描述各个供电状态(Supply State)之间的相互关系。通过对PST的静态分析可以有效检查Supply State的有效性、冗余性和一致性。进而对整个电源供电网络的状态进行检查优化。

而为方便更多的同学参赛,赛题设置本身降低了相关背景知识的门槛,将赛题抽象为数学算法问题,此外芯华章会提供完整的UPF parser,modeling等相关培训,有利于参赛者能快速上手解题。

赛题要点解析

那么本题要解决的核心要点是什么呢?我们先来看一下赛题描述:

b03263f4-fe38-11eb-9bcf-12bb97331649.png

图1一种电源网络供电方案图1展示了一种常见的电源供电网络设计方案(注:仅作为参考而非实际应用电路)。低功耗设计工程师可以根据功耗设计意图来定义电路设计中的每一个供电端口(Supply Port)上的供电状态(Supply State)。

如为上述设计中的VP1, VP2, VSS, VP2, CPU_1/VP1_1, CPU_1/VP2_1, CPU_1/VSS, CPU_1/ALU/VP2_1_1, CPU_1/ALU/VSS, CPU_1/VP1_2, CPU_1/VP4_2, CPU_1/VSS, PMG/VP3_1, PMG/VSS等端口定义供电状态。可以看出,这是大规模数字集成电路中的一种常见的层次化结构。从最顶层的System到最底层的ALU,划分出来3个层次。而在每一个层次中又并列了很多模块。

模块之间的电源网络存在着不同的连接方法,层次间的电源网络又存在包含关系。层次化的方法对于大规模数字集成电路设计具有结构清晰、易于理解的优势。但是最终电源网络是一个整体,这种层次化的状态需要被“展开”为一种平铺的状态。如果说层次化是为了便于设计,那么消除层次化就是为了能够准确分析。因为在真实的电路中并没有所谓的“层次”,尤其是对于电源网络而言,连接到同一电源的所有晶体管其实都是这个电源网络的组成部分而已。因此,进行低功耗分析的第一步自然是将不同的PST进行合并,最终形成一张完整的“大表”。我们可以看到图1可以用五个PST来描述其供电状态。

b04f1882-fe38-11eb-9bcf-12bb97331649.png

表1. PST of System/PMG

b05aa7a6-fe38-11eb-9bcf-12bb97331649.png

表2. PST of System

b07c86c8-fe38-11eb-9bcf-12bb97331649.png

表3. PST of System/CPU_1

b08c02f6-fe38-11eb-9bcf-12bb97331649.png

表4. PST of System/CPU_1/ALU

b0a89c0e-fe38-11eb-9bcf-12bb97331649.png

表5. PST of System/CPU_2

低功耗设计分析器应根据电源供电网络关系,分析并合并不同设计模块下的电源状态表得到供电源(supply source)的PST。最终得到的一张描述整个设计的大表。如在本设计中,应根据表1-5可以得到表6。

b0b4b6ec-fe38-11eb-9bcf-12bb97331649.png

表6. 合并后的PST

这样从最终的表6中,我们可以看到不同模块中的几个关键性的电源网络节点的连接情况和供电状态,进而可以根据连接情况和供电状态来做低功耗分析。所以直白一点,本次赛题二的核心点就在于不同PST的解析和合并。由于芯华章已经提供了专门的Parser(解析器),各位参赛选手可以把精力集中于“合并”这一件事情。

建议解题步骤

通过对于赛题要点的分析,我们可以发现赛题二其实只做一件事情:如何将不同的PST按照其对应的连接关系合并为单一的、完整的PST。题目按理说难度并不大。但在赛题发布以后,仍然有不少同学认为题目有相当的难度。

经过分析原因后,我们认为可能主要的难点有两个:首先,除了少部分科研课题和低功耗设计有关的同学外,大部分同学对功耗的成因、计算方法、表针方式等并不是熟悉,对于题目背景的理解有一定的难度;其次,绝大部分同学应该没有接触过UPF和PST,由于对其格式不熟悉而产生了畏难情绪。因此大家在解题之前,首先需要解决的就是对于知识背景的进一步熟悉。

尤其是需要对于UPF的用法和PST的格式有足够的了解。这一点其实并不难做到,因为题目提供了相关的附件以及后续会对这一部分内容重点加强培训,帮助各位同学尽快熟悉UPF和PST。

在熟悉完UPF和PST以后各位同学应该以一个示范性的设计入手,尽快的走通从PST解析到PST合并的全部流程。在这个过程中必然涉及到部分的程序设计、函数调用、数据格式转换等问题,而解决这个问题的过程本身又是对于赛题的进一步熟悉和对UPF以及PST的更进一步的熟悉。再完成以上两步以后,参赛同学可以针对题目要求逐一核对功能是否完成。

在确保功能完备的基础上利用芯华章提供的测试集,不断的加强对所编写程序的检验。除了检验一般性的bug以外,还继续优化程序运行的速度以及占用的空间。最终达耗时更好、占用内存更少的目的。以上解题思路的本质是从简单到复杂,从确保功能到性能优化。符合我们开发软件的一般规律,也符合我们工程研究的一般进程。

其它注意事项

大家在解题时还需要注意以下几点:

不要轻易放弃,题目本身难度不大,但是前期的知识准备要花点时间;

一定要积极参加培训,很多知识其实一点就透,但是在自己没有相关背景的情况下学习还是有一定的挑战性;

要遵循循序渐进、从易到难的解题思路,切不可贪大求全让自己陷入到重重迷雾之中。

最后,预祝各位同学发挥出自己的水平,取得良好的成绩。

责任编辑:haq

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

    关注

    5317

    文章

    10678

    浏览量

    353072
  • TCL
    TCL
    +关注

    关注

    10

    文章

    1655

    浏览量

    87919
  • 分析器
    +关注

    关注

    0

    文章

    90

    浏览量

    12408

原文标题:芯华章赛题解析:数字集成电路低功耗设计分析器

文章出处:【微信号:gh_387c27f737c1,微信公众号:英诺达EnnoCAD】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数字集成芯片是什么

    数字集成芯片,即数字集成电路,是一种数字逻辑电路或系统,它将元件和连接集成在同一半导体芯片上。这种芯片基于
    的头像 发表于 03-20 15:41 160次阅读

    Verilog HDL数字集成电路设计方法概述

    电子发烧友网站提供《Verilog HDL数字集成电路设计方法概述.zip》资料免费下载
    发表于 02-03 09:27 0次下载

    集成电路按用途可分成哪两类?

    集成电路按用途可分为模拟集成电路数字集成电路两类。
    的头像 发表于 01-03 18:14 616次阅读

    数字模拟集成电路的区别和用途

    工作原理 数字模拟集成电路的工作原理有很大的区别。数字集成电路主要处理离散的二进制信号,即数字信号,而模拟集成电路则处理连续变化的模拟信号。在数字
    的头像 发表于 12-19 11:48 451次阅读

    数字集成电路的发展历程和应用

    数字集成电路(Digital IC)具有集成度极高、体积很小、功耗超低、系统可靠性高及便于电子系统(如计算机)处理等特点。数字集成电路(如 CPU 芯片、DSP芯片、SoC芯片、各种存
    的头像 发表于 11-15 09:17 545次阅读

    4000系列CMOS数字集成电路制作(1)

    CMOS也叫互补金属-氧化物-半导体集成电路,它在速度、功耗、兼容性等方面性能优越,因而得到日益广泛的应用,特别适合制作小型和便携式的电子作品。
    的头像 发表于 10-11 10:19 873次阅读
    4000系列CMOS<b class='flag-5'>数字集成电路</b>制作(1)

    集成电路低功耗乘法器的实现与设计方案

    近年来,随着集成电路设计技术的高速发展,功耗已经成为该领域中除速度、面积之外需要考虑的第三因素。如今低功耗设计从电路基本组成因素出发,在设计的各个阶段采用不同的设计以降低系统
    发表于 09-19 07:42

    集成电路是由什么组成的?集成电路由多少元器件组成?

    、结构、制作工艺等方面进行深入探究。 一、集成电路的种类 根据不同的应用场景和原理,集成电路可以划分为不同的种类,主要包括数字集成电路、模拟集成电路和混合信号
    的头像 发表于 08-29 16:14 2441次阅读

    按功能分集成电路有哪些类型 集成电路的工作速度主要取决于什么

    数字集成电路 (Digital Integrated Circuit,DIC):数字集成电路主要用于处理和操作数字信号,执行逻辑运算、计数和存储等功能。常见的数字集成电路包括逻辑门、触
    发表于 08-04 15:48 1354次阅读

    什么是集成电路

    电路,分别表示“关”和“开”或“高”和“低”。数字 IC的一个很好的例子包括拥有数百万个逻辑门和触发的微控制和微处理
    发表于 08-01 11:23

    CMOS反相器电路及其设计和分析方法

    MOSFET器件是数字集成电路的最小单位,因为MOSFET的开关特性和输出曲线特性,由PMOS和NMOS组成的CMOS门电路,则为数字集成电路最基本的电路结构。
    的头像 发表于 07-11 10:49 1w次阅读
    CMOS反相器<b class='flag-5'>电路</b>及其设计和<b class='flag-5'>分析</b>方法

    EDA集成电路设计实现流程讲解

    外部世界是一个模拟世界,故所有需要与外部世界接口的部分都需要模拟集成电路,模拟集成电路将采集到的外部信息转化成0/1 交给数字集成电路运算处理,再将数字集成电路运算处理完的信号转化成模
    发表于 06-05 11:46 730次阅读
    EDA<b class='flag-5'>集成电路</b>设计实现流程讲解

    Verilog HDL数字集成电路设计原理与应用

    Verilog HDL数字集成电路设计原理与应用(蔡觉平)西安电子科技大学出版社
    发表于 05-26 15:23 0次下载

    数字集成电路测试流程

    数字集成电路的测试主要包括直流参数测试 (DC Test)、交流参数测试(AC Test)、功能测试(Function Test)、可测性设计(DFT)测试等。典型的数字集成电路测试顺序如图所示。
    的头像 发表于 05-26 10:08 2414次阅读
    <b class='flag-5'>数字集成电路</b>测试流程

    集成电路的结构及封装形式

    模拟集成电路数字集成电路数字/模拟混合集成电路。模拟集成电路:也称为线性电路,用于生成,放大
    的头像 发表于 05-06 10:45 1578次阅读