CN107506526B - 一种片上供电网络优化方法 - Google Patents

一种片上供电网络优化方法 Download PDF

Info

Publication number
CN107506526B
CN107506526B CN201710588905.9A CN201710588905A CN107506526B CN 107506526 B CN107506526 B CN 107506526B CN 201710588905 A CN201710588905 A CN 201710588905A CN 107506526 B CN107506526 B CN 107506526B
Authority
CN
China
Prior art keywords
node
chip
decoupling
power supply
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710588905.9A
Other languages
English (en)
Other versions
CN107506526A (zh
Inventor
蔡懿慈
王晨光
闫明
周强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201710588905.9A priority Critical patent/CN107506526B/zh
Publication of CN107506526A publication Critical patent/CN107506526A/zh
Application granted granted Critical
Publication of CN107506526B publication Critical patent/CN107506526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种片上供电网络优化方法,包括:建立包括供电网络和负载的芯片电路模型,根据芯片电路模型验证芯片是否满足预设的抗旁路攻击能力的安全性约束;若否,则根据芯片电路模型确定供电网络各个节点的瞬态电压;根据瞬态电压和供电引脚模型确定需要添加去耦合电容的节点位置;根据瞬态电压以及去耦合电容的离散化模型确定需要添加的去耦合电容的电容值;确定需要添加去耦合电容的各个节点与各自的相邻节点之间的电导,利用随机行走的算法生成需要添加去耦合电容的各个节点对应的各个子电路;根据获得的去耦合电容的电容值和生成的各个子电路,为子电路内的每个节点分配去耦合子电容,以提高该优化方法的通用性并减小面积和功耗等代价。

Description

一种片上供电网络优化方法
技术领域
本发明涉及集成电路技术领域,尤其涉及一种片上供电网络优化方法。
背景技术
近年来,各种不同层次的攻击手段,使芯片面临着越来越严重的安全性挑战。其中,旁路攻击通过对芯片泄露的功耗等旁路信号进行统计学分析,从中获取芯片内部处理的数据,从而对芯片进行破解。为了提高芯片抵御旁路攻击的能力,需要进行针对旁路攻击的设计优化。
现有的针对旁路攻击的设计优化方案为:通过片上供电网络,芯片内部产生的功耗等旁路信号被传导到芯片外部,在与外部电路的连接点(供电引脚)处,被外界所监测。片上供电网络会给外界的监测带来非线性的失真或噪声,降低了旁路信号和芯片处理的数据之间的相关性,从而提高了芯片抵御旁路攻击的能力。可以看出,片上供电网络对芯片的抗旁路攻击能力有着重要的影响作用。该方案的根本目的是通过降低外界监测的旁路信号和芯片处理的数据之间的相关性,增加获取芯片内部数据的难度,从而提高芯片的抗旁路攻击能力。
现有的针对旁路攻击的片上供电网络设计优化方法主要包括噪声注入、电压调整、去耦合标准单元、双通道逻辑器件等。然而,这些方法都是针对某种特定的芯片设计或工艺库,难以应用到一个任意的芯片设计中;同时,这些方法和现有的芯片设计优化方法差异较大,二者不能有机结合,导致增加的面积、功耗等代价较大,甚至可能影响电路的正常工作。
发明内容
为了解决上述技术问题,本发明提供了一种片上供电网络优化方法,其特征在于,包括以下步骤:
S10,建立包括供电网络和负载的芯片电路模型,根据所述芯片电路模型来验证芯片是否满足预设的抗旁路攻击能力的安全性约束;
S20,若所述芯片不满足预设的抗旁路攻击能力的安全性约束,则根据所述芯片电路模型确定所述供电网络各个节点的瞬态电压;
S30,根据所述供电网络各个节点的瞬态电压以及供电网络的供电引脚模型确定需要添加去耦合电容的各个节点位置;
S40,根据所述供电网络各个节点的瞬态电压以及去耦合电容的离散化模型,确定需要添加的去耦合电容的电容值;
S50,确定当前需要添加去耦合电容的节点与相邻节点之间的电导,利用随机行走的算法,根据确定的电导以所述当前需要添加去耦合电容的节点为起始点向周围扩展生成子电路;
S60,根据获得的各个去耦合电容的电容值和生成的各个子电路,为所述各个子电路内的每个节点分配去耦合子电容。
在一个实施例中,所述步骤S10包括以下步骤:
S10.1,对芯片执行运算的逻辑过程进行模拟,得到负载的电流波形文件;
S10.2,建立包括供电网络和负载的芯片电路模型,根据芯片电路模型、负载的电流波形文件对芯片执行运算的物理过程进行仿真,得到芯片的监测功耗和实际功耗,进而确定所述芯片的功耗噪声;
S10.3,根据所述芯片的实际功耗和功耗噪声确定所述芯片的信噪比;
S10.4,将所述信噪比与预设的抗旁路攻击能力的安全性约束进行对比来验证所述芯片是否满足预设的抗旁路攻击能力的安全性约束。
在一个实施例中,在步骤S10.3中,所述信噪比通过表达式一确定,
表达式一:
Figure BDA0001354249760000021
其中,cSNR表示所述信噪比,Q表示所述芯片的实际功耗,N表示所述芯片的功耗噪声,var(Q)表示所述芯片的实际功耗的方差,var(N)表示所述芯片的功耗噪声的方差,ρ(Q,N)表示所述芯片的实际功耗和功耗噪声的相关系数。
在一个实施例中,所述步骤S30包括以下步骤:
S30.1,将所述供电网络中满足节点的瞬态电压超过预设的阈值电压的节点的位置确定为第一组需要添加去耦合电容的节点位置;
S30.2,根据所述供电网络的供电引脚模型,将与供电引脚直接连接的节点的位置确定为第二组需要添加去耦合电容的节点位置。
在一个实施例中,所述步骤S40包括以下步骤:
S40.1,根据所述供电网络各个节点的瞬态电压确定在预设时间步长内的开关电流平均值;
S40.2,根据所述开关电流平均值和去耦合电容的离散化模型,确定需要添加的去耦合电容的电容值。
在一个实施例中,在步骤S40.1中,所述开关电流平均值通过表达式二确定,
表达式二:
Figure BDA0001354249760000031
其中,h表示预设时间步长,
Figure BDA0001354249760000032
表示在预设时间步长内的开关电流平均值,I(t)表示开关电流随时间变化的函数;
在步骤S40.2中,在需要添加去耦合电容的x节点位置添加的去耦合电容的电容值通过表达式三确定,
表达式三:
Figure BDA0001354249760000033
其中,Cx表示在需要添加去耦合电容的x节点位置添加的去耦合电容的电容值,h'表示离散化的预设时间步长,Vx表示需要添加去耦合电容的x节点的瞬态电压。
在一个实施例中,所述步骤S50包括以下步骤:
S50.1,根据芯片电路模型,建立供电网络中当前需要添加去耦合电容的节点与相邻节点的电路模型,确定当前需要添加去耦合电容的节点与相邻节点之间的电导;
S50.2,根据获得的电导,确定在随机行走算法中将相邻节点作为下一节点的概率;
S50.3,根据将相邻节点作为下一节点的概率和预设的步数上限,采用随机行走的算法,从当前需要添加去耦合电容的节点向周围扩展,在扩展过程中所经过的节点组成当前需要添加去耦合电容的节点的子电路,同时记录子电路内每个节点的访问次数。
在一个实施例中,在步骤S50.2中,所述当前节点x的下一节点为相邻节点i的概率Px→i通过表达式四确定,
表达式四:
Figure BDA0001354249760000034
其中gx,i表示节点x与节点i之间的电导,degree(x)表示节点x的相邻节点数。
在一个实施例中,在步骤S60中,根据子电路内每个节点的被访问次数,确定子电路内每个节点处应当分配的去耦合子电容的电容值,为子电路内每个节点分配去耦合子电容。
在一个实施例中,在步骤S60中,在所述子电路内j节点位置应当分配的去耦合子电容的电容值通过表达式五确定,
表达式五:
Figure BDA0001354249760000041
其中,Cj表示所述子电路内j节点位置应当分配的去耦合子电容的电容值,Cx表示在所述需要添加去耦合电容的x节点位置添加的去耦合电容的电容值,visitj表示所述子电路内j节点的被访问次数。
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
1)本发明模拟芯片的逻辑运算过程以及仿真芯片的物理运算过程,获得芯片的实际功耗和功耗噪声,并计算考虑芯片的实际功耗和功耗噪声的相关系数的信噪比,能够快速验证芯片的抗旁路攻击能力。
2)本发明获得需要添加去耦合电容的节点位置,以在周围添加去耦合电容,对外界监测的旁路信号进行调整。由于现有的供电网络优化方法也是以去耦合电容为实现基础,提高了通用性。
3)本发明确定在需要添加去耦合电容的各个节点位置添加的去耦合电容的电容值,以抵消快速变化的电流,使节点电压和旁路信号更加稳定。
4)本发明利用芯片上的空白区域放置去耦合电容,与现有的供电网络优化方法类似,从而减小优化代价。
5)本发明根据去耦合子电容的电容值和生成的子电路,将去耦合电容添加至子电路内相应的节点位置,以进一步减小面积和功耗等代价。
6)本发明采用了一种新的评估芯片的抗旁路攻击能力的参数,即考虑芯片的实际功耗和功耗噪声相关性的信噪比,提高了本发明的供电网络优化方法的运行速度和自动化程度。
7)本发明适用于各种类型的芯片设计和工艺库,适用范围广。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1示出了本发明第一实施例的片上供电网络优化方法的流程图;
图2示出了本发明第一实施例的建立包括供电网络和负载的芯片电路模型的流程图;
图3示出了本发明第一实施例的包括供电网络和负载的芯片电路模型示意图;
图4示出了本发明第一实施例的供电网络的供电引脚模型示意图;
图5示出了本发明第一实施例的去耦合电容的离散化模型示意图;
图6示出了本发明第一实施例的当前需要添加去耦合电容的节点与相邻节点的电路模型示意图;
图7示出了本发明第一实施例的从当前需要添加去耦合电容的节点向周围扩展生成子电路的示意图;
图8示出了本发明第一实施例的子电路内的每个节点分配去耦合子电容的示意图;
图9示出了本发明第二实施例的片上供电网络优化方法的流程图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
需要说明的是,图1仅是本发明方法的主要步骤的流程图。本发明在具体实施时,可以根据具体要求在此基础上进行添加、修改或替换(如下文所描述的实施例),只要在本发明所述的技术范围内,都应在本发明的保护范围之内。
第一实施例
图1是本发明第一实施例的片上供电网络优化方法的流程图。如图1所示,该方法可以包括如下步骤S10至S60。
S10,建立包括供电网络和负载的芯片电路模型,根据芯片电路模型来验证芯片是否满足预设的抗旁路攻击能力的安全性约束。
需要注意的是,本领域技术人员可以根据实际情况来设定抗旁路攻击能力的安全性约束,在此不作具体限定。
在步骤S10中,建立包括供电网络和负载的芯片电路模型的流程图如图2所示,该芯片电路模型的建立方法可以包括如下步骤S1和S2。
S1,对芯片的寄存器传输级网表文件进行逻辑级和电路级综合,获得晶体管级网表文件。
在步骤S1中,优选地,逻辑级综合使用新思科技设计编译器(SYNOPSYS DesignCompiler),电路级综合使用铿腾Encounter(CADENCE Encounter)。
上述步骤S1又可以分为以下小步骤:
S1.1,读入芯片的寄存器传输级网表文件和标准单元库文件,对芯片的寄存器传输级网表文件进行逻辑综合,获得门级网表文件和设计约束文件;
S1.2,读入门级网表文件、设计约束文件以及工艺库文件,对门级网表文件进行晶体管级综合,获得晶体管级网表文件。
S2,根据获得的晶体管级网表文件,建立包括供电网络和负载的芯片电路模型。该步骤又可以分为以下小步骤:
S2.1,读入晶体管级网表文件和工艺库文件,提取电路寄生参数,寄生参数包括电阻、电容和电感;
在步骤S2.1中,优选地,提取电路寄生参数使用铿腾QRC(CADENCE QRC)以及新思科技StarRC(SYNOPSYS StarRC)。
S2.2,读入晶体管级网表文件,提取负载之间的连接关系,根据负载之间的连接关系将负载等效为供电网络的电源线和地线之间的动态电流源;
S2.3,根据提取出的寄生参数和负载之间的连接关系,建立如图3所示的包括供电网络和负载的芯片电路模型。
步骤S10又可以分为以下小步骤:
S10.1,对芯片执行运算的逻辑过程进行模拟,得到负载的电流波形文件。
在步骤S10.1中,具体地,根据随机生成的测试用例对芯片执行运算的逻辑过程进行模拟,获得负载的电流波形文件。优选地,负载的电流波形文件中,负载等效为分段线性(Piecewise Linear,PWL)类型的动态电流源。
S10.2,建立包括供电网络和负载的芯片电路模型,根据芯片电路模型、负载的电流波形文件对芯片执行运算的物理过程进行仿真,得到芯片的监测功耗和实际功耗,进而确定芯片的功耗噪声。
在步骤S10.2中,仿真采用新思科技编译型Verilog模拟器(SYNOPSYS VCS)以及新思科技用于集成电路性能分析的电路模拟程序(SYNOPSYS HSPICE)。
S10.3,根据芯片的实际功耗和功耗噪声确定芯片的信噪比。
在步骤S10.3中,信噪比通过表达式一确定,
表达式一:
Figure BDA0001354249760000071
其中,cSNR表示信噪比,Q表示芯片的实际功耗,N表示芯片的功耗噪声,var(Q)表示芯片的实际功耗的方差,var(N)表示芯片的功耗噪声的方差,ρ(Q,N)表示芯片的实际功耗和功耗噪声的相关系数。
S10.4,将信噪比与预设的抗旁路攻击能力的安全性约束进行对比来验证芯片是否满足预设的抗旁路攻击能力的安全性约束。
在步骤10.4中,判断芯片是否满足预设的抗旁路攻击能力的安全性约束,若否,则执行步骤S20,根据芯片电路模型进行瞬态分析,确定供电网络各个节点的瞬态电压;若是,则执行步骤S70,片上供电网络优化结束,片上供电网络满足预设的抗旁路攻击能力的安全性约束。
通过上述步骤S10.1至S10.4,可以模拟芯片的逻辑运算过程以及仿真芯片的物理运算过程,获得芯片的实际功耗和功耗噪声,并计算考虑芯片的实际功耗和功耗噪声的相关系数的信噪比,能够快速验证芯片的抗旁路攻击能力。另外,采用了一种新的评估芯片的抗旁路攻击能力的参数,即考虑芯片的实际功耗和功耗噪声相关性的信噪比,提高了运行速度和自动化程度。
S20,若芯片不满足预设的抗旁路攻击能力的安全性约束,则根据芯片电路模型确定供电网络各个节点的瞬态电压。
在步骤S20中,根据芯片电路模型进行瞬态分析,确定供电网络各个节点的瞬态电压。具体地,根据芯片电路模型建立矩阵方程,然后采用主流的矩阵方程求解算法计算供电网络节点的瞬态电压。
S30,根据供电网络各个节点的瞬态电压以及如图4所示的供电网络的供电引脚模型确定需要添加去耦合电容的各个节点位置,需要添加去耦合电容的各个节点位置又可以称为违反约束点。该步骤又可以分为以下小步骤:
S30.1,将供电网络中满足节点的瞬态电压超过预设的阈值电压的节点的位置确定为第一组需要添加去耦合电容的节点位置,也即第一组违反约束点。
S30.2,根据供电网络的供电引脚模型,将与供电引脚直接连接的节点的位置确定为第二组需要添加去耦合电容的节点位置,也即第二组违反约束点。
通过上述步骤S30.1和S30.2,获得两组需要添加去耦合电容的节点位置,以在周围添加去耦合电容,对外界监测的旁路信号进行调整。由于现有的供电网络优化方法也是以去耦合电容为实现基础,提高了通用性。
S40,根据供电网络各个节点的瞬态电压以及如图5所示的去耦合电容的离散化模型,确定需要添加的去耦合电容的电容值。该步骤又可以分为以下小步骤:
S40.1,根据供电网络各个节点的瞬态电压确定在预设时间步长内的开关电流平均值。
在步骤S40.1中,开关电流平均值通过表达式二确定,
表达式二:
Figure BDA0001354249760000081
其中,h表示预设时间步长,
Figure BDA0001354249760000082
表示在预设时间步长内的开关电流平均值,I(t)表示开关电流随时间变化的函数。
S40.2,根据开关电流平均值和如图5所示的去耦合电容的离散化模型,确定需要添加的去耦合电容的电容值。
在步骤S40.2中,在需要添加去耦合电容的x节点位置添加的去耦合电容的电容值通过表达式三确定,
表达式三:
Figure BDA0001354249760000083
其中,Cx表示在需要添加去耦合电容的x节点位置添加的去耦合电容的电容值,h'表示离散化的预设时间步长,Vx表示需要添加去耦合电容的x节点的瞬态电压。
通过上述步骤S40.1和S40.2,确定在需要添加去耦合电容的各个节点位置添加的去耦合电容的电容值,以抵消快速变化的电流,使节点电压和旁路信号更加稳定。
S50,确定当前需要添加去耦合电容的节点与相邻节点之间的电导,利用随机行走的算法,根据确定的电导以所述当前需要添加去耦合电容的节点为起始点向周围扩展生成子电路。该步骤又可以分为以下小步骤:
S50.1,根据芯片电路模型,建立供电网络中如图6所示的当前需要添加去耦合电容的节点与相邻节点的电路模型,确定当前需要添加去耦合电容的节点与相邻节点之间的电导。
S50.2,根据获得的电导,确定在随机行走算法中将相邻节点作为下一节点的概率。
在步骤S50.2中,当前节点x的下一节点为相邻节点i的概率Px→i通过表达式四确定,
表达式四:
Figure BDA0001354249760000091
其中gx,i表示节点x与节点i之间的电导,degree(x)表示节点x的相邻节点数。
S50.3,根据将相邻节点作为下一节点的概率和预设的步数上限,采用随机行走的算法,如图7所示,从当前需要添加去耦合电容的节点向周围扩展,在扩展过程中所经过的节点组成当前需要添加去耦合电容的节点的子电路,同时记录子电路内每个节点的访问次数。
S60,根据获得的各个去耦合电容的电容值和生成的各个子电路,如图8所示,为各个子电路内的每个节点分配去耦合子电容。
在步骤S60中,根据子电路内每个节点的被访问次数,确定子电路内每个节点处应当分配的去耦合子电容的电容值,为子电路内每个节点分配去耦合子电容。
在步骤S60中,在子电路内j节点位置应当分配的去耦合子电容的电容值通过表达式五确定,
表达式五:
Figure BDA0001354249760000092
其中,Cj表示子电路内j节点位置应当分配的去耦合子电容的电容值,Cx表示在需要添加去耦合电容的x节点位置添加的去耦合电容的电容值,visitj表示子电路内j节点的被访问次数。
利用芯片上的空白区域放置去耦合电容,与现有的供电网络优化方法类似,从而减小优化代价。根据去耦合子电容的电容值和生成的子电路,将去耦合电容添加至子电路内相应的节点位置,以进一步减小面积和功耗等代价。
需要注意的是,在步骤S60执行完成后,继续执行步骤S10,直到芯片满足预设的抗旁路攻击能力的安全性约束,执行步骤S70,片上供电网络优化结束。
综上所述,采用本实施例的片上网络优化方法,确定在需要添加去耦合电容的各个节点位置添加的去耦合电容的电容值,以抵消快速变化的电流,使节点电压和旁路信号更加稳定。由于现有的供电网络优化方法也是以去耦合电容为实现基础,提高了通用性。根据去耦合子电容的电容值和生成的子电路,将去耦合电容添加至子电路内相应的节点位置,以进一步减小面积和功耗等代价。
第二实施例
本实施例针对中芯国际集成电路制造有限公司(Semiconductor ManufacturingInternational Corporation,SMIC)的180nm工艺,使用主流的电子设计自动化软件,进行四种常见的加密算法的芯片设计。这四种加密算法包括:高级加密标准算法(AdvancedEncryption Standard,AES)、RSA加密算法、数据加密标准算法(Data EncryptionStandard,DES)、三重数据加密标准算法(Triple DES,TDES)。另外,芯片电压噪声的阈值设置为供电电压的5%。
首先针对高级加密标准算法的片上供电网络优化设计方案进行详细说明,具体如下:
图9是本发明第二实施例的片上供电网络优化方法的流程图。如图9所示,该方法可以包括如下步骤S910至S990。
S910,基于高级加密标准算法的加密芯片的寄存器传输级网表文件,采用中芯国际集成电路制造有限公司的180nm标准单元库和工艺库文件,完成逻辑级和电路级综合,获得晶体管级网表文件。
S920,从步骤S910中获得的晶体管级网表文件中提取电路的电阻、电容和电感等寄生参数,以及负载的连接关系,来建立如图3所示的芯片电路模型。
S930,根据芯片电路模型验证芯片是否满足预设的抗旁路攻击能力的安全性约束,若满足则执行步骤S990,片上供电网络优化结束,若不满足则继续。
步骤S930又可以分为以下小步骤:
S931,对芯片执行运算的逻辑过程进行模拟,得到负载的电流波形文件。
S932,建立包括供电网络和负载的芯片电路模型,根据芯片电路模型、负载的电流波形文件对芯片执行运算的物理过程进行仿真,得到芯片的监测功耗和实际功耗,进而确定芯片的功耗噪声。
S933,根据芯片的实际功耗和功耗噪声确定芯片的信噪比。该信噪比考虑了芯片的实际功耗和功耗噪声的相关性。
S934,将信噪比与预设的抗旁路攻击能力的安全性约束进行对比来验证芯片是否满足预设的抗旁路攻击能力的安全性约束。
S940,根据芯片电路模型进行瞬态分析,确定供电网络节点的瞬态电压。
S950,根据如图4所示的供电引脚模型,确定需要添加去耦合电容的节点位置,即违反约束点。
需要说明的是,在步骤S950中,违反约束点不仅包括违反阈值电压约束的节点,也包括与供电引脚直接连接的节点。
S960,根据供电网络节点的瞬态电压,采用如图5所示的去耦合电容的离散化模型,计算需要在违反约束点添加的去耦合电容的值。
S970,根据如图6所示的违反约束点与相邻节点之间的电路模型,计算电导,如图7所示,采用随机行走的算法,生成各个违反约束点的子电路。
S980,根据各个去耦合电容的值和生成的各个子电路,如图8所示,将去耦合子电容分配放置于各个子电路内的每个节点处。
对于RSA加密算法、数据加密标准算法、三重数据加密标准算法的片上供电网络优化设计方案,与高级加密标准算法的片上供电网络优化设计方案的执行步骤类似,在此不作赘述。
可以看出,本发明实施例的优化方法适用于各种类型的芯片设计和工艺库,适用范围广。
为了避免本发明提出的新的评估参数(考虑相关性的信噪比)带来的误差,采用直接对芯片进行旁路攻击的方法来验证设计方案的抗旁路攻击能力。现有的供电网络优化方法,其目标仅是保证供电噪声在设计阈值以内。针对上述四种加密算法的加密芯片,分别采用现有的供电网络优化方法和本发明实施例的供电网络优化方法进行优化,并对比同一加密芯片的两种优化方案的抗旁路攻击能力。
对应不同数量的功耗曲线,进行差分功耗分析的成功率如表1所示。优选地,差分功耗分析算法基于DPA Contest attack_wrapper-2.2.0工具包。
表1对不同的供电网络优化方法进行差分功耗分析的攻击成功率
Figure BDA0001354249760000121
从表1中可以看出,本发明实施例的供电网络优化方法的抗旁路攻击能力明显强于现有的供电网络优化方法。因此,本发明实施例的供电网络优化方法可以显著提高芯片的抗旁路攻击能力。
表1中的现有的供电网络优化方法和本发明实施例的供电网络优化方法的运行时间、面积和功耗等如表2所示。
表2不同的供电网络优化方法的优化代价
Figure BDA0001354249760000122
Figure BDA0001354249760000131
可以看出,相比于采用现有的供电网络优化方法,本发明实施例的供电网络优化方法的代价增加很小,在合理范围内。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种片上供电网络优化方法,其特征在于,包括以下步骤:
S10,建立包括供电网络和负载的芯片电路模型,根据所述芯片电路模型来验证芯片是否满足预设的抗旁路攻击能力的安全性约束,其中,所述预设的抗旁路攻击能力的安全性约束为预设的信噪比;
S20,若所述芯片不满足预设的抗旁路攻击能力的安全性约束,则根据所述芯片电路模型确定所述供电网络各个节点的瞬态电压;
S30,根据所述供电网络各个节点的瞬态电压以及供电网络的供电引脚模型确定需要添加去耦合电容的各个节点位置;
S40,根据所述供电网络各个节点的瞬态电压以及去耦合电容的离散化模型,确定需要添加的去耦合电容的电容值;
S50,确定当前需要添加去耦合电容的节点与相邻节点之间的电导,利用随机行走的算法,根据确定的电导以所述当前需要添加去耦合电容的节点为起始点向周围扩展生成子电路;
S60,根据获得的各个去耦合电容的电容值和生成的各个子电路,为所述各个子电路内的每个节点分配去耦合子电容。
2.根据权利要求1所述的方法,其特征在于,所述步骤S10包括以下步骤:
S10.1,对芯片执行运算的逻辑过程进行模拟,得到负载的电流波形文件;
S10.2,建立包括供电网络和负载的芯片电路模型,根据芯片电路模型、负载的电流波形文件对芯片执行运算的物理过程进行仿真,得到芯片的监测功耗和实际功耗,进而确定所述芯片的功耗噪声;
S10.3,根据所述芯片的实际功耗和功耗噪声确定所述芯片的信噪比;
S10.4,将所述信噪比与预设的抗旁路攻击能力的安全性约束进行对比,来验证所述芯片是否满足预设的抗旁路攻击能力的安全性约束。
3.根据权利要求2所述的方法,其特征在于,
在步骤S10.3中,所述信噪比通过表达式一确定,
表达式一:
Figure FDA0002399449390000011
其中,cSNR表示所述信噪比,Q表示所述芯片的实际功耗,N表示所述芯片的功耗噪声,var(Q)表示所述芯片的实际功耗的方差,var(N)表示所述芯片的功耗噪声的方差,ρ(Q,N)表示所述芯片的实际功耗和功耗噪声的相关系数。
4.根据权利要求1所述的方法,其特征在于,所述步骤S30包括以下步骤:
S30.1,将所述供电网络中满足节点的瞬态电压超过预设的阈值电压的节点的位置,确定为第一组需要添加去耦合电容的节点位置;
S30.2,根据所述供电网络的供电引脚模型,将与供电引脚直接连接的节点的位置确定为第二组需要添加去耦合电容的节点位置。
5.根据权利要求1所述的方法,其特征在于,所述步骤S40包括以下步骤:
S40.1,根据所述供电网络各个节点的瞬态电压确定在预设时间步长内的开关电流平均值;
S40.2,根据所述开关电流平均值和去耦合电容的离散化模型,确定需要添加的去耦合电容的电容值。
6.根据权利要求5所述的方法,其特征在于,
在步骤S40.1中,所述开关电流平均值通过表达式二确定,
表达式二:
Figure FDA0002399449390000021
其中,h表示预设时间步长,
Figure FDA0002399449390000022
表示在预设时间步长内的开关电流平均值,I(t)表示开关电流随时间变化的函数;
在步骤S40.2中,在需要添加去耦合电容的x节点位置添加的去耦合电容的电容值通过表达式三确定,
表达式三:
Figure FDA0002399449390000023
其中,Cx表示在需要添加去耦合电容的x节点位置添加的去耦合电容的电容值,h'表示离散化的预设时间步长,Vx表示需要添加去耦合电容的x节点的瞬态电压。
7.根据权利要求1所述的方法,其特征在于,所述步骤S50包括以下步骤:
S50.1,根据芯片电路模型,建立供电网络中当前需要添加去耦合电容的节点与相邻节点的电路模型,确定当前需要添加去耦合电容的节点与相邻节点之间的电导;
S50.2,根据获得的电导,确定在随机行走算法中将相邻节点作为下一节点的概率;
S50.3,根据将相邻节点作为下一节点的概率和预设的步数上限,采用随机行走的算法,从当前需要添加去耦合电容的节点向周围扩展,在扩展过程中所经过的节点组成当前需要添加去耦合电容的节点的子电路,同时记录子电路内每个节点的访问次数。
8.根据权利要求7所述的方法,其特征在于,
在步骤S50.2中,当前节点x的下一节点为相邻节点i的概率Px→i通过表达式四确定,
表达式四:
Figure FDA0002399449390000031
其中gx,i表示节点x与节点i之间的电导,degree(x)表示节点x的相邻节点数。
9.根据权利要求7所述的方法,其特征在于,
在步骤S60中,根据子电路内每个节点的被访问次数,确定子电路内每个节点处应当分配的去耦合子电容的电容值,为子电路内每个节点分配去耦合子电容。
10.根据权利要求9所述的方法,其特征在于,
在步骤S60中,在所述子电路内j节点位置应当分配的去耦合子电容的电容值通过表达式五确定,
表达式五:
Figure FDA0002399449390000032
其中,Cj表示所述子电路内j节点位置应当分配的去耦合子电容的电容值,Cx表示在所述需要添加去耦合电容的x节点位置添加的去耦合电容的电容值,visitj表示所述子电路内j节点的被访问次数。
CN201710588905.9A 2017-07-19 2017-07-19 一种片上供电网络优化方法 Active CN107506526B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710588905.9A CN107506526B (zh) 2017-07-19 2017-07-19 一种片上供电网络优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710588905.9A CN107506526B (zh) 2017-07-19 2017-07-19 一种片上供电网络优化方法

Publications (2)

Publication Number Publication Date
CN107506526A CN107506526A (zh) 2017-12-22
CN107506526B true CN107506526B (zh) 2020-06-12

Family

ID=60678935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710588905.9A Active CN107506526B (zh) 2017-07-19 2017-07-19 一种片上供电网络优化方法

Country Status (1)

Country Link
CN (1) CN107506526B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338540B (zh) * 2022-03-17 2022-07-15 上海国微思尔芯技术股份有限公司 信号分流方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872377B (zh) * 2010-06-12 2011-11-09 清华大学 使用去耦合电容抑制集成电路供电网络噪声的方法
CN102663166B (zh) * 2011-12-08 2015-10-28 清华大学 一种片上供电网络仿真方法及系统
CN105095567B (zh) * 2015-07-01 2018-02-16 清华大学 电容参数提取方法
CN106817215B (zh) * 2016-12-07 2019-09-20 清华大学 一种针对旁路攻击的片上供电网络验证方法

Also Published As

Publication number Publication date
CN107506526A (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
US9501593B2 (en) Semiconductor device design method, system and computer program product
US6405348B1 (en) Deep sub-micron static timing analysis in the presence of crosstalk
US8463587B2 (en) Hierarchical order ranked simulation of electronic circuits
US6378109B1 (en) Method of simulation for gate oxide integrity check on an entire IC
CN101539958B (zh) 一种标准单元库和集成电路的设计方法和装置
US6807656B1 (en) Decoupling capacitance estimation and insertion flow for ASIC designs
CN103577625B (zh) 设计半导体器件、制造器件的系统以及使用系统的方法
US8468479B2 (en) Consistent hierarchical timing model with crosstalk consideration
Slpsk et al. Karna: A gate-sizing based security aware EDA flow for improved power side-channel attack protection
CN103207941A (zh) 集成电路供电网络全参数模型下瞬态分析方法及系统
US7240304B2 (en) Method for voltage drop analysis in integreted circuits
CN107506526B (zh) 一种片上供电网络优化方法
CN116227410A (zh) 电路仿真方法及设备
CN103870617A (zh) 低频芯片自动布局布线方法
US7076749B2 (en) Method and system for improving integrated circuit manufacturing productivity
Raja et al. Transistor level gate modeling for accurate and fast timing, noise, and power analysis
US20110185327A1 (en) Delay calculating method in semiconductor integrated circuit
CN103378849A (zh) 芯片输入输出设计的方法
US10635770B1 (en) Methods, systems, and computer program products for implementing an electronic design with hybrid analysis techniques
Chhabria et al. XT-PRAGGMA: Crosstalk pessimism reduction achieved with GPU gate-level simulations and machine learning
KR101135056B1 (ko) 전력 분석 공격을 대비한 스위칭 로직
US7689953B1 (en) Method and apparatus for determining cell-based timing elements from a transistor-level design
US7747425B1 (en) System and method for peak current modeling for an IC design
US20030074643A1 (en) Unified database system to store, combine, and manipulate clock related data for grid-based clock distribution design
Kim et al. An early-EMI analysis method for the LPDDR interface

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant