掌桥专利:专业的专利平台
掌桥专利
首页

基于机器学习的SRAM位单元的优化设计方法、装置、介质及终端

文献发布时间:2024-04-18 19:59:31


基于机器学习的SRAM位单元的优化设计方法、装置、介质及终端

技术领域

本申请涉及芯片设计领域,特别是涉及基于机器学习的SRAM位单元的优化设计方法、装置、介质及终端。

背景技术

SRAM(Static Random-Access Memory)是一种静态随机存取存储器,用于存储和读取数据。与动态随机存取存储器(DRAM)相比,SRAM具有更快的访问速度和更低的功耗。当SRAM接收到写入指令时,数据被写入到目标存储单元中。写入操作通过控制线路将数据传输到目标存储单元的触发器电路中,触发器的状态被更新为写入的数据值。当需要读取存储单元中的数据时,读取操作通过控制线路将目标存储单元的数据传输到输出线路上,供外部电路读取。读取操作不会改变存储单元的内容。SRAM的输入包括写入数据、写入地址和写入使能信号,用于将数据写入到目标存储单元。输出包括读取数据和读取使能信号,用于从目标存储单元读取数据。

SRAM位单元的设计是根据制造厂所提供的参数自动编译生成的,制造厂商设计的参数进包括功耗、速度等性能,但对SRAM中器件本身的参数并不关注。在SPICE模型中也无法针对SRAM的器件参数进行设置,因此无法提供SRAM器件的参数值。不同厂家的SRAM由不同的IP供应商所提供,这就导致位单元的尺寸之间存在较大差别。在设计过程中,为了节省面积,位单元大量使用设计规则中的最小尺寸,然而最小尺寸的参数对于工艺的波动较为敏感,因此每个制造厂都使用特殊的工艺条件和工艺控制以匹配SRAM参数的要求,特别在产品转线时需对SRAM中的器件提出明确的参数要求,否则无法确定工艺流程,这大大提升了设计的复杂度,降低了设计的灵活性。并且无法满足用户的个性化需求。同时若需要对SRAM的位单元进行设计,人为的经验调优会产生较大偏差,从而降低调优效率。

发明内容

鉴于以上所述现有技术的缺点,本申请的目的在于提供基于机器学习的SRAM位单元的优化设计方法、装置、介质及终端,用于解决现有技术中SRAM位单元设计的过程中所存在的复杂独高、灵活性差、无法满足用户的个性化需求并且人工调优偏差大、效率低的问题。

为实现上述目的及其他相关目的,本申请的第一方面提供一种基于机器学习的SRAM位单元的优化设计方法,包括,采集工艺节点的SRAM位单元参数集;将所述SRAM位单元参数集输入至仿真软件中进行仿真,以生成性能指标集;基于机器学习算法,通过所述性能指标集和SRAM位单元参数集构建参数预测模型;将待设计SRAM位单元的预期性能集输入至所述参数预测模型中,以输出得到待设计SRAM位单元的优化参数集。

于本申请的第一方面的一些实施例中,基于机器学习算法,通过所述性能指标集和SRAM位单元参数集构建参数预测模型,包括:将所述性能指标集和所述SRAM位单元参数集划分为训练集和测试集;将所述训练集输入至所述参数预测模型中进行模型训练;将所述测试集输入至经过训练的所述预测模型中,以评估所述预测模型的性能。

于本申请的第一方面的一些实施例中,将所述训练集输入至所述参数预测模型中进行模型训练,包括:将所述训练集中的性能指标集输入至所述参数预测模型中,以生成预测SRAM位单元参数集;基于预测SRAM位单元参数集和所述训练集中的性能指标集所对应的SRAM位单元参数集,构建损失函数;基于所述损失函数,对所述参数预测模型进行训练并优化。

于本申请的第一方面的一些实施例中,将所述SRAM位单元参数集输入至仿真软件中进行仿真,以生成性能指标集,包括:将所述SRAM位单元参数集中包含的多种类型的参数进行排列组合,并将每个组合输入至仿真软件中进行仿真,以生成多个组合的性能指标构成的所述性能指标集。

于本申请的第一方面的一些实施例中,所述机器学习算法包括:K邻近算法、决策树算法、回归算法、支持向量机算法以及神经网络。

于本申请的第一方面的一些实施例中,所述SRAM位单元参数集中包括的以下参数类型有中的至少一种:工艺角参数、阈值电压参数、晶体管尺寸参数中的一种或多种。

于本申请的第一方面的一些实施例中,所述性能指标集中的性能指标包括:读静态噪声容量、读速度、读功耗、写静态噪声容量、写速度、写功耗中的一种或多种。

为实现上述目的及其他相关目的,本申请的第二方面提供一种基于机器学习的SRAM位单元的优化设计装置,包括:数据采集模块:用于采集工艺节点的SRAM位单元参数集;将所述SRAM位单元参数集输入至仿真软件中进行仿真,以生成性能指标集;模型建立模块模型建立模块:用于基于机器学习算法,通过所述性能指标集和SRAM位单元参数集构建参数预测模型;自动设计模块:用于将待设计SRAM位单元的预期性能集输入至所述参数预测模型中,以生成得到待设计SRAM位单元的优化参数集。

为实现上述目的及其他相关目的,本申请的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于机器学习的SRAM位单元的优化设计方法。

为实现上述目的及其他相关目的,本申请的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述基于机器学习的SRAM位单元的优化设计方法。

如上所述,本申请涉及芯片设计领域的基于机器学习的SRAM位单元的优化设计方法、装置、介质及终端,具有以下有益效果:通过本发明,提升了SRAM位单元储存设计的可靠性、一致性,同时降低了设计的时间和人工成本,加速了SRAM位单元的开发过程,提高了设计性能以及产品竞争力,并且能够根据用户的需求对SRAM的位单元进行个性化定制。

附图说明

图1显示了本申请基于机器学习的SRAM位单元的优化设计方法一实施例中的流程示意图。

图2显示了本申请基于机器学习的SRAM位单元的优化设计方法一实施例中仿真性能数据采集的流程示意图。

图3显示了本申请基于机器学习的SRAM位单元的优化设计方法一实施例中模型训练过程的流程示意图。

图4显示了本申请基于机器学习的SRAM位单元的优化设计装置一实施例中的结构示意图。

图5显示了本申请基于机器学习的SRAM位单元的优化设计的电子终端一实施例的结构示意图。

具体实施方式

以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。

在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”、“固持”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。

为解决上述背景技术中的问题,本发明提供一种,旨在解决现有技术中SRAM位单元设计的过程中所存在的复杂独高、灵活性差、无法满足用户的个性化需求并且人工调优偏差大、效率低的问题。与此同时,为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。

在对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释:

<1>SRAM(静态随机存取存储器):静态随机存取存储器(Static Random-AccessMemory,SRAM)是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。当电力供应停止时,SRAM储存的数据还是会消失(被称为volatile memory)。

<2>SRAM电路组成:静态随机存取存储器(Static Random-Access Memory,SRAM)是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。当电力供应停止时,SRAM储存的数据还是会消失(被称为volatilememory)。

<3>SRAM存储单元:SRAM的存储单元通常由6个晶体管组成,其中4个是用于存储数据的传输门,另外2个是用于控制读写操作的选通门。传输门由两个互补的MOSFET(金属氧化物半导体场效应晶体管)组成,分别连接到存储单元的两个节点。选通门由两个MOSFET组成,一个用于读操作,一个用于写操作。

<4>位单元:在计算机中,位单元是最小的存储单位,用于存储一个二进制位(0或1)的值。

<5>工艺角:在半导体制造中,工艺角是指芯片上的不同区域或层次之间的角度或边缘。

<6>管子阈值电压:在半导体器件中,管子阈值电压是指控制管子导通或截止的电压阈值。

<7>读/写静态噪声容限:在存储器中,读/写静态噪声容限是指在读取或写入数据时,存储单元能够容忍的噪声或干扰的程度。

<8>k值邻近算法:k值邻近算法是一种用于分类和回归的机器学习算法,它通过计算样本之间的距离,并选择k个最近的邻居来进行预测或分类。

本发明实施例提供基于机器学习的SRAM位单元的优化设计方法、基于机器学习的SRAM位单元的优化设计方法的系统、以及存储用于实现基于机器学习的SRAM位单元的优化设计方法的可执行程序的存储介质。就基于机器学习的SRAM位单元的优化设计方法的实施而言,本发明实施例将对基于机器学习的SRAM位单元的优化设计的示例性实施场景进行说明。

如图1所示,展示了本发明实施例中的一种基于机器学习的SRAM位单元的优化设计方法的流程示意图。本实施例中的基于机器学习的SRAM位单元的优化设计方法主要包括如下各步骤:

步骤S11:采集工艺节点的SRAM位单元参数集。

在本发明一实施例中,所述SRAM位单元参数集中包括的参数类型有:工艺角参数、阈值电压参数、晶体管尺寸参数中的一种或多种。具体地,采集特定工艺节点的SRAM位单元,并针对其中地驱动管(PU)、负载管(PG)、传输管(SP)中的MOSFET晶体管提供多组尺寸。本发明对采集到的MOSFET尺寸地数量不做限定。

在本发明一实施例中,从历史数据中采集所述特定工艺节点的SRAM位单元的阈值电压参数。值得说明的是,SRAM单元中设置不同的阈值电压会影响存储器的可靠性和功耗。较高的阈值电压可以提高存储器的可靠性,减少存储器中的位翻转和误码率。然而,较高的阈值电压也会增加存储器的功耗。较低的阈值电压可以降低存储器的功耗,但会降低存储器的可靠性。

在本发明一实施例中,所述SRAM位单元参数集中包括有多种类型的工艺角,包括但不限于:SS工艺角、TT工艺角、FF工艺角、SF工艺角以及FS工艺角。

步骤S12:将所述SRAM位单元参数集输入至仿真软件中进行仿真,以生成性能指标集。

在本发明一实施例中,将所述SRAM位单元参数集输入至仿真软件中进行仿真,以生成性能指标集,包括:将所述SRAM位单元参数集中包含的多种类型的参数进行排列组合,并将每个组合输入至仿真软件中进行仿真,以生成多个组合的性能指标构成的所述性能指标集。

进一步地,所述性能指标集中的性能指标包括:读静态噪声容量、读速度、读功耗、写静态噪声容量、写速度、写功耗中的一种或多种。

如图2展示了本发明一实施例中,将采集到的工艺角参数、阈值电压参数、晶体管尺寸参数进行排列组合,以生成多组参数组合并输入至仿真软件中进行仿真,以获得性能值指标集。

步骤S13:基于机器学习算法,通过所述性能指标集和SRAM位单元参数集构建参数预测模型

在本发明一实施例中,基于机器学习算法,通过所述性能指标集和SRAM位单元参数集构建参数预测模型,包括:将所述性能指标集和所述SRAM位单元参数集划分为训练集和测试集;将所述训练集输入至所述参数预测模型中进行模型训练;将所述测试集输入至经过训练的所述预测模型中,以评估所述预测模型的性能。

进一步地,将所述训练集输入至所述参数预测模型中进行模型训练,包括:将所述训练集中的性能指标集输入至所述参数预测模型中,以生成预测SRAM位单元参数集;基于预测SRAM位单元参数集和所述训练集中的性能指标集所对应的SRAM位单元参数集,构建损失函数;基于所述损失函数,对所述参数预测模型进行训练并优化。其中,所述机器学习算法包括但不限于:K邻近算法、决策树算法、回归算法、支持向量机算法以及神经网络等。

如图3所示,展示了本发明一实施例,在收集到训练数据后,将数据划分为训练集和测试集,进行模型建构,并根据训练的过程选择合适聚类效果较好且能够自由调整权重的模型,在使用训练集经过多次迭代的训练后,确定模型中各项系数的数值。将获取训练好的模型后,将测试数据输入至预测模型中,输入预测尺寸参数。将预测尺寸参数与实际尺寸参数进行比较,以求出所述预测模型的准确率。

示例性地,当采用K均值聚类算法时,首先从训练集中的性能指标集中获取K个距离带预测样本距离最近的K个样本数据,根据获取得到的K个样本数据所对应的SRAM位单元参数进行统计,将所对应的SRAM位单元参数类型数量最多的SRAM位单元参数作为当前预测的性能指标样本的预测结果。

步骤S14:将待设计SRAM位单元的预期性能集输入至所述参数预测模型中,以输出得到待设计SRAM位单元的优化参数集。

在本发明一实施例中,根据用户需求,获取带设计的SRAM的预期性能参数,其中,所述预期性能参数包括但不限于:读静态噪声容量、读速度、读功耗、写静态噪声容量、写速度、写功耗中的一种或多种。将预期性能参数输入值所述参数预测模型中,以输出得到待设计SRAM位单元的优化参数集。针对得到的优化参数集进行人工挑选,以保留能够符合版图设计规范的优化参数集。

如图4所示,展示了本发明实施例中的一种基于机器学习的SRAM位单元的优化设计装置的结构示意图。本实施例中,基于机器学习的SRAM位单元的优化设计装置400包括:

数据采集模块401:用于采集工艺节点的SRAM位单元参数集;将所述SRAM位单元参数集输入至仿真软件中进行仿真,以生成性能指标集。

模型建立模块402:用于基于机器学习算法,通过所述性能指标集和SRAM位单元参数集构建参数预测模型。

自动设计模块403:用于将待设计SRAM位单元的预期性能集输入至所述参数预测模型中,以生成得到待设计SRAM位单元的优化参数集。

在本发明一实施例中,基于机器学习算法,通过所述性能指标集和SRAM位单元参数集构建参数预测模型,包括:将所述性能指标集和所述SRAM位单元参数集划分为训练集和测试集;将所述训练集输入至所述参数预测模型中进行模型训练;将所述测试集输入至经过训练的所述预测模型中,以评估所述预测模型的性能。

在本发明一实施例中,将所述SRAM位单元参数集输入至仿真软件中进行仿真,以生成性能指标集,包括:将所述SRAM位单元参数集中包含的多种类型的参数进行排列组合,并将每个组合输入至仿真软件中进行仿真,以生成多个组合的性能指标构成的所述性能指标集。

在本发明一实施例中,所述SRAM位单元参数集中包括的参数类型有:工艺角参数、阈值电压参数、晶体管尺寸参数中的一种或多种。

在本发明一实施例中,所述性能指标集中的性能指标包括:读静态噪声容量、读速度、读功耗、写静态噪声容量、写速度、写功耗中的一种或多种。

需要说明的是:上述实施例提供的基于机器学习的SRAM位单元的优化设计装置在进行基于机器学习的SRAM位单元的优化设计时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的基于机器学习的SRAM位单元的优化设计装置与基于机器学习的SRAM位单元的优化设计方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本发明实施例提供的基于机器学习的SRAM位单元的优化设计方法可以采用终端侧或服务器侧实施,就基于机器学习的SRAM位单元的优化设计终端的硬件结构而言,请参阅图5,为本发明实施例提供的基于机器学习的SRAM位单元的优化设计终端500的一个可选的硬件结构示意图,该终端500可以是移动电话、计算机设备、平板设备、个人数字处理设备、工厂后台处理设备等。基于机器学习的SRAM位单元的优化设计终端500包括:至少一个处理器501、存储器502、至少一个网络接口504和用户接口506。装置中的各个组件通过总线系统505耦合在一起。可以理解的是,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统。

其中,用户接口506可以包括显示器、键盘、鼠标、轨迹球、点击枪、按键、按钮、触感板或者触摸屏等。

可以理解,存储器502可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,StaticRandom Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static RandomAccess Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类别的存储器。

本发明实施例中的存储器502用于存储各种类别的数据以支持基于机器学习的SRAM位单元的优化设计终端500的操作。这些数据的示例包括:用于在基于机器学习的SRAM位单元的优化设计终端500上操作的任何可执行程序,如操作系统5021和应用程序5022;操作系统5021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序5022可以包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例提供的基于机器学习的SRAM位单元的优化设计方法可以包含在应用程序5022中。

上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器501可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器501可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的配件优化方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。

在示例性实施例中,基于机器学习的SRAM位单元的优化设计终端500可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device),用于执行前述基于机器学习的SRAM位单元的优化设计方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。

综上所述,本申请提供基于机器学习的SRAM位单元的优化设计方法、装置、终端及介质。本发明提供了一种全新的SRAM位单元的尺寸设计方法,通过自动化流程降低了人为调参过程出现误差的可能性,并且提高了设计的可靠性和一致性,为SRAM位单元设计提供了高效、准确的设计工具,从而大幅降低了设计的时间成本、人力成本和经济成本,加速了SRAM位单元的开发过程,同时提高了SRAM位单元设计的灵活性。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

相关技术
  • 一种升降式3D兼容自动贴膜机
  • 一种可自动清洁的化妆品生产用纯水过滤装置
  • 一种3D自动化妆机
  • 一种具有喷墨3D打印功能的化妆机
技术分类

06120116518337