用于生成晶体管的模型的系统和方法技术方案

技术编号:25989916 阅读:27 留言:0更新日期:2020-10-20 18:58
公开用于生成晶体管的模型的系统和方法。所述方法包括:初始化超参数;根据超参数和使晶体管输入状态值与晶体管输出状态值相关的训练数据来训练神经网络;确定训练数据的晶体管输出状态值是否与神经网络的输出匹配;将神经网络移植到电路仿真代码,以生成移植的神经网络;使用移植的神经网络对测试电路进行仿真,以仿真测试电路的晶体管的行为,来生成仿真输出;确定生成仿真输出的周转时间是否令人满意;响应于确定周转时间不令人满意,基于更新的超参数重新训练神经网络;以及响应于确定周转时间令人满意,将移植的神经网络输出为晶体管的模型。

【技术实现步骤摘要】
用于生成晶体管的模型的系统和方法本申请要求于2019年4月8日在美国专利商标局提交的第62/831,038号美国临时专利申请的优先权和权益,所述专利申请的全部公开通过引用包含于此。本申请与于2019年2月12日公布的第10,204,188号美国专利有关,所述专利申请的全部公开通过引用包含于此。
本专利技术的实施例的方面涉及半导体器件领域,包括用于设计半导体器件和电路的系统、方法和计算机程序,包括对电路的晶体管进行建模。
技术介绍
对电气电路的操作进行仿真通常包括使用电路的元件或组件的行为的模型(诸如,关于晶体管的各个端子的电流-电压(I-V)特性)。电路仿真是计算密集型任务,例如,对于仿真电路时间的几分之一秒涉及数小时的实际时间,其中,各个电路元件的模型在电路仿真器的内部循环中被频繁地调用。因此,电路元件的模型的执行速度对用于运行电路仿真的周转时间具有显著影响。
技术实现思路
本专利技术的实施例的方面涉及晶体管的紧凑的、基于神经网络的模型,所述模型适合于并入到电气电路的仿真中。本专利技术的实施例的一些方面涉及对由于工艺变化引起的性能差异进行建模的晶体管的模型。根据本专利技术的一个实施例,一种用于生成晶体管的模型的方法包括:由计算系统初始化配置神经网络的结构的多个超参数;由计算系统根据所述多个超参数和使晶体管输入状态值与晶体管输出状态值相关的多个训练数据来训练神经网络,以计算多个神经网络参数;由计算系统确定训练数据的晶体管输出状态值是否与神经网络的输出匹配;响应于确定晶体管输出状态值与神经网络的输出不匹配,由计算系统更新所述多个超参数并且基于更新的所述多个超参数重新训练神经网络;响应于确定训练数据的晶体管输出状态值与神经网络的输出匹配,由计算系统将神经网络移植到电路仿真代码以生成移植的神经网络;使用移植的神经网络对测试电路进行仿真,以对测试电路的晶体管的行为进行仿真,来生成仿真输出;由计算系统确定生成仿真输出的周转时间是否令人满意;响应于确定周转时间不令人满意,由计算系统更新所述多个超参数并且基于更新的所述多个超参数重新训练神经网络;以及响应于确定周转时间令人满意,将移植的神经网络输出为晶体管的模型。所述方法还可包括:对包括晶体管的电路进行仿真,对所述电路进行仿真的步骤包括使用移植的神经网络来对晶体管的输出进行仿真。神经网络可包括:输入层,被配置为接收晶体管输入状态值;多个隐藏层,所述多个隐藏层可包括:第一隐藏层,被配置为从输入层接收激活,以及最后隐藏层;输出层,被配置为从自最后隐藏层接收的多个激活来计算输出特征;以及多个转换函数,被配置为将输出特征转换为神经网络的输出,并且所述多个神经网络参数可包括根据仿射变换在神经网络的相邻层之间进行映射的权重和偏置。所述多个超参数可包括:所述多个隐藏层的数量;对于每个隐藏层,隐藏层中的神经元的数量;以及激活函数。确定训练数据的晶体管输出状态值是否与神经网络的输出匹配的步骤可包括:确定神经网络的输出是否在晶体管输出状态值的对应值的第一阈值内;以及确定神经网络的输出的一阶导数是否在晶体管输出状态值的一阶导数的对应值的第二阈值内。响应于确定神经网络的输出不在晶体管输出状态值的对应值的第一阈值内,可更新所述多个超参数以增加所述多个隐藏层的数量或者增加神经元的数量。响应于确定神经网络的输出的一阶导数不在晶体管输出状态值的一阶导数的对应值的第二阈值内,可更新所述多个超参数以减少所述多个隐藏层的数量或者减少神经元的数量。响应于确定周转时间不令人满意,可更新所述多个超参数以减少所述多个隐藏层的数量或者减少神经元的数量。所述方法还可包括:根据多个电目标对神经网络进行重定目标,重定目标的步骤包括:更新从最后隐藏层映射到输出层的神经网络参数的多个输出权重和多个输出偏置,以将神经网络的输出拟合到所述多个电目标,其中,最后隐藏层具有比电目标的数量少的神经元。所述模型可捕获工艺变化,并且所述多个训练数据可包括:根据与多个工艺变化源对应的多个工艺变化拐角使晶体管输入状态值与晶体管输出状态值相关的数据。所述方法还可包括:训练多个工艺变化神经网络,每个工艺变化神经网络基于对应的工艺变化拐角的训练数据被训练,其中,移植的神经网络可包括所述多个工艺变化神经网络。晶体管输入状态值还可包括所述多个工艺变化源,并且训练神经网络的步骤可包括:基于根据所述多个工艺变化拐角使晶体管输入状态值与晶体管输出状态值相关的训练数据来进行训练。根据本专利技术的一个实施例,一种用于生成晶体管的模型的系统包括:处理器;以及存储器,存储指令,所述指令在由处理器执行时使处理器:初始化配置神经网络的结构的多个超参数;根据所述多个超参数和使晶体管输入状态值与晶体管输出状态值相关的多个训练数据来训练神经网络,以计算多个神经网络参数;确定训练数据的晶体管输出状态值是否与神经网络的输出匹配;响应于确定晶体管输出状态值与神经网络的输出不匹配,更新所述多个超参数,并且基于更新的所述多个超参数重新训练神经网络;响应于确定训练数据的晶体管输出状态值与神经网络的输出匹配,将神经网络移植到电路仿真代码,以生成移植的神经网络;使用移植的神经网络对测试电路进行仿真,以对测试电路的晶体管的行为进行仿真,来生成仿真输出;确定生成仿真输出的周转时间是否令人满意;响应于确定周转时间不令人满意,更新所述多个超参数,并且基于更新的所述多个超参数重新训练神经网络;以及响应于确定周转时间令人满意,将移植的神经网络输出为晶体管的模型。存储器还可存储指令,所述指令在由处理器执行时,使处理器通过使用移植的神经网络对晶体管的输出进行仿真,来对包括晶体管的电路进行仿真。神经网络可包括:输入层,被配置为接收晶体管输入状态值;多个隐藏层,所述多个隐藏层可包括:第一隐藏层,被配置为从输入层接收激活,以及最后隐藏层;输出层,被配置为从自最后隐藏层接收的多个激活来计算输出特征;以及多个转换函数,被配置为将输出特征转换为神经网络的输出,其中,所述多个神经网络参数可包括根据仿射变换在神经网络的相邻层之间进行映射的权重和偏置。所述多个超参数可包括:所述多个隐藏层的数量;对于每个隐藏层,隐藏层中的神经元的数量;以及激活函数。用于确定训练数据的晶体管输出状态值是否与神经网络的输出匹配的指令可包括用于以下操作的指令:确定神经网络的输出是否在晶体管输出状态值的对应值的第一阈值内;以及确定神经网络的输出的一阶导数是否在晶体管输出状态值的一阶导数的对应值的第二阈值内。存储器还可存储指令,所述指令在由处理器执行时,使处理器:响应于确定神经网络的输出不在晶体管输出状态值的对应值的第一阈值内,更新所述多个超参数以增加所述多个隐藏层的数量或者增加神经元的数量。存储器还可存储指令,所述指令在由处理器执行时,使处理器:响应于确定神经网络的输出的一阶导数不在晶体管输出状态值的一阶导数的对应值的第二阈值内,更新所述多个超参数以减少所述多个隐藏层的数量或者减少神经元的数量。存储器还可存储指令,所述指令本文档来自技高网...

【技术保护点】
1.一种用于生成晶体管的模型的方法,所述方法包括:/n初始化配置神经网络的结构的多个超参数;/n根据所述多个超参数和使晶体管输入状态值与晶体管输出状态值相关的多个训练数据来训练神经网络,以计算多个神经网络参数;/n确定训练数据的晶体管输出状态值是否与神经网络的输出匹配;/n响应于确定晶体管输出状态值与神经网络的输出不匹配,更新所述多个超参数并且基于更新的所述多个超参数重新训练神经网络;/n响应于确定训练数据的晶体管输出状态值与神经网络的输出匹配,将神经网络移植到电路仿真代码以生成移植的神经网络;/n使用移植的神经网络对测试电路进行仿真,以对测试电路的晶体管的行为进行仿真,来生成仿真输出;/n确定生成仿真输出的周转时间是否小于预定阈值;/n响应于确定周转时间不小于预定阈值,更新所述多个超参数并且基于更新的所述多个超参数重新训练神经网络;以及/n响应于确定周转时间小于预定阈值,将移植的神经网络输出为晶体管的模型。/n

【技术特征摘要】
20190408 US 62/831,038;20190603 US 16/430,2191.一种用于生成晶体管的模型的方法,所述方法包括:
初始化配置神经网络的结构的多个超参数;
根据所述多个超参数和使晶体管输入状态值与晶体管输出状态值相关的多个训练数据来训练神经网络,以计算多个神经网络参数;
确定训练数据的晶体管输出状态值是否与神经网络的输出匹配;
响应于确定晶体管输出状态值与神经网络的输出不匹配,更新所述多个超参数并且基于更新的所述多个超参数重新训练神经网络;
响应于确定训练数据的晶体管输出状态值与神经网络的输出匹配,将神经网络移植到电路仿真代码以生成移植的神经网络;
使用移植的神经网络对测试电路进行仿真,以对测试电路的晶体管的行为进行仿真,来生成仿真输出;
确定生成仿真输出的周转时间是否小于预定阈值;
响应于确定周转时间不小于预定阈值,更新所述多个超参数并且基于更新的所述多个超参数重新训练神经网络;以及
响应于确定周转时间小于预定阈值,将移植的神经网络输出为晶体管的模型。


2.根据权利要求1所述的方法,还包括:对包括晶体管的电路进行仿真,对所述电路进行仿真的步骤包括使用移植的神经网络来对晶体管的输出进行仿真。


3.根据权利要求1所述的方法,其中,神经网络包括:
输入层,被配置为接收晶体管输入状态值;
多个隐藏层,包括:
第一隐藏层,被配置为从输入层接收激活;以及
最后隐藏层;
输出层,被配置为从自最后隐藏层接收的多个激活来计算输出特征;以及
多个转换函数,被配置为将输出特征转换为神经网络的输出,
其中,所述多个神经网络参数包括根据仿射变换在神经网络的相邻层之间进行映射的权重和偏置。


4.根据权利要求3所述的方法,其中,所述多个超参数包括:
隐藏层的数量;
每个隐藏层中的神经元的数量;以及
激活函数。


5.根据权利要求4所述的方法,其中,确定训练数据的晶体管输出状态值是否与神经网络的输出匹配的步骤包括:
确定神经网络的输出是否在晶体管输出状态值的对应值的第一阈值范围内;以及
确定神经网络的输出的一阶导数是否在晶体管输出状态值的一阶导数的对应值的第二阈值范围内。


6.根据权利要求5所述的方法,其中,响应于确定神经网络的输出不在晶体管输出状态值的对应值的第一阈值范围内,更新所述多个超参数以增加隐藏层的数量或者增加神经元的数量。


7.根据权利要求5所述的方法,其中,响应于确定神经网络的输出的一阶导数不在晶体管输出状态值的一阶导数的对应值的第二阈值范围内,更新所述多个超参数以减少隐藏层的数量或者减少神经元的数量。


8.根据权利要求5所述的方法,其中,响应于确定周转时间不小于预定阈值,更新所述多个超参数以减少隐藏层的数量或者减少神经元的数量。


9.根据权利要求3所述的方法,还包括:根据多个电目标对神经网络进行重定目标,重定目标的步骤包括:
更新从最后隐藏层映射到输出层的神经网络参数的多个输出权重和多个输出偏置,以将神经网络的输出拟合到所述多个电目标,
其中,最后隐藏层具有比电目标的数量少的神经元。


10.根据权利要求1所述的方法,其中,所述模型捕获工艺变化,并且
其中,所述多个训练数据包括:根据与多个工艺变化源对应的多个工艺变化拐角使晶体管输入状态值与晶体管输出状态值相关的数据。


11.根据权利要求10所述的方法,其中...

【专利技术属性】
技术研发人员:王敬崔祐晟
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1