CN109791627A - 使用输入预处理和转换目标用于训练深度神经网络的半导体器件建模 - Google Patents
使用输入预处理和转换目标用于训练深度神经网络的半导体器件建模 Download PDFInfo
- Publication number
- CN109791627A CN109791627A CN201880001122.9A CN201880001122A CN109791627A CN 109791627 A CN109791627 A CN 109791627A CN 201880001122 A CN201880001122 A CN 201880001122A CN 109791627 A CN109791627 A CN 109791627A
- Authority
- CN
- China
- Prior art keywords
- neural network
- data
- input
- drain current
- transistor
- 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.)
- Granted
Links
Landscapes
- Insulated Gate Type Field-Effect Transistor (AREA)
Abstract
一种深度神经网络模拟半导体器件。通过对测试晶体管的测量来收集训练数据,所述训练数据包括栅极和漏极电压、晶体管宽度和长度、以及目标数据如在输入条件下测量的漏极电流。所述训练数据通过输入预处理器进行转换,所述输入预处理器可采用对输入数据求对数或执行主成分分析(PCA)的方法。在训练深度神经网络时,不是将测量漏极电流用作目标,而是目标转换器将漏极电流转换为转换漏极电流,例如漏极电流关于栅极或漏极电压的导数,或其导数的对数。通过将深度神经网络的输出与转换漏极电流进行比较,并产生在训练数据上最小化的损失函数,在训练期间对深度神经网络的权重进行调整。
Description
【技术领域】
本发明涉及半导体器件建模,特别涉及使用人工神经网络来对器件进行建模。
【背景技术】
单个集成电路(IC)可能包含一百万个晶体管。每个晶体管通常是形成在半导体衬底上的金属氧化物半导体场效应晶体管(MOSFET) 或其变体。在IC设计过程中,会创建一个网表或原理图来详细说明这些晶体管与其他元件如电容和电阻之间的连接。然后可以使用电路仿真器来仿真网表,电路仿真器使用器件模型来仿真每个晶体管的运行。
器件模型估计晶体管的电特性,例如随栅极和漏极电压变化的漏极电流。更精确的仿真可以使用更精确的模型来估计其他参数如寄生电容,以更好地估计延迟和电路时序。
一个重要的模拟器是集成电路重点仿真程序(SPICE),最初由加利福尼亚大学伯克利分校于1975年开发。自那时以来,SPICE得到了扩展和增强,并有多种变体。伯克利短沟道IGFET模型(BSIM)是另一种特别适用于晶体管器件的建模模型。
测试电路(例如集成电路带有的可以手动用探针探测测试焊盘的晶体管)允许器件工程师手动探测和测试这些器件,以测量随电压变化的电流。使用这些测试结果,器件工程师可以确定器件参数用于SPICE或 BSIM器件模型,并将这些参数用于仿真更大规模的IC。尽管这些手动测量被自动测量取代,但提取供SPICE或BSIM模型使用的器件参数仍然非常耗时。
随着器件尺寸缩小,基本的一阶器件模型未能准确地估计较小器件的电流。短沟道长度、埋层和亚微米几何形状所引起的二阶效应需要新的参数和更复杂的器件建模方程。需要添加并测试更多具有不同尺寸和形状的测试设备,以获得这些附加参数的值。自动测量设备允许更快地提取器件模型参数。
随着器件尺寸不断缩小,栅长仅为10纳米或更小的器件对器件建模提出了额外的挑战,因为器件尺寸接近半导体衬底中的原子尺寸。正在使用的新半导体材料,如氮化镓(GaN)、砷化镓(GaAs)和碳化硅 (SiC),其物理性质与硅不同。特殊器件,如鳍式场效应晶体管(FinFET) 和绝缘体上硅(SOI),有三维电流流动,使用较旧的二维电流模型不能精确建模。测量不同尺寸和形状的测试器件的实际电流,对创建有用的器件模型至关重要。
最近,人工神经网络(ANN)被用于生成器件模型和选择模型的参数。人工神经网络特别适用于以复杂方式处理大量数据,这些方式很难通过使用传统计算机程序来定义。不是利用指令进行编程,而是将训练数据输入到神经网络,并与预期输出进行比较,然后在神经网络内进行调整,接着再次处理训练数据并进行比较,以产生对神经网络的进一步调整。在经历多次这样的训练周期之后,神经网络被改变以有效地处理类似于训练数据和预期输出的数据。神经网络是机器学习的一个例子,因为神经网络学习如何生成训练数据的预期输出。接着,可以将与训练数据相似的实际数据输入到神经网络来处理实时数据。
图1显示一个现有技术的神经网络。输入节点102、104、106、 108接收输入数据I1、I2、I3、...、I4,而输出节点103、105、107、109输出神经网络的运行结果,输出数据O1、O2、O3、...、O4。在这个神经网络中执行三层运行。节点110、112、114、116、118,各自从输入节点102、 104、106、108中的一个或多个获取输入,执行一些诸如加、减、乘或更复杂运算之类的操作,并发送和输出到第二层的节点。第二层节点120、 122、124、126、128、129也接收多个输入,合并这些输入以生成输出,并将输出发送到第三层节点132、134、136、138、139,其类似地合并输入并生成输出。
通常对每层输入会进行加权,因此在每个节点处产生了加权后的总和(或其他加权运算结果)。对节点上的每个输入分配一个权重,该权重与该输入相乘,然后由该节点将所有加权后的输入一起相加、相乘或其他运算,以产生该节点的输出。这些权重可以被指定为W31、W32、W32、 W33、...、W41等,并在训练过程中调整其值。通过反复试验或其他训练程序,最终对于产生预期输出的路径,可以给出更高的权重,而将更小的权重分配给不产生预期输出的路径。机器会学习哪些路径产生期望输出并将高权重分配给这些路径的输入。
这些权重可以存储在权重存储器100中。由于神经网络通常具有许多节点,因此权重存储器100中存储有许多权重。每个权重可能需要多个二进制比特来表示该权重可能值的范围。权重通常需要8到16比特。
图2显示一个晶体管器件模型。栅极电压Vg和漏极电压Vd 被施加到晶体管,而源极电压Vs通常被接地。衬底或体电压Vb可以接地,或是另一电压如反向偏置。器件模型使用各种参数来预测漏极电流Id,其是Vg、Vd、Vb、Vs的函数。其他输入如温度T、栅宽W和栅长L也会影响预测漏极电流,特别是当L非常小时。
图3显示对器件建模时的过度拟合问题。测量数据204、206、 208被输入到一个神经网络中以产生最适合测量数据204、206、208的模型参数。模型电流202是测量数据204、206、208的最佳拟合模型。测量数据206、208是两个异常数据点,其可能是某种或者测量误差的结果。使用神经网络来拟合包括异常测量数据206、208在内的所有数据点,导致模型电流202尖峰向下到异常测量数据208,然后急剧上升到异常数据点206,再向下到测量数据204。异常测量数据206、208导致模型电流202在异常数据点周围有一个负电导。而且,超出测量数据204的模型电流202可能是不可靠的,倾向于不稳定的行为。可扩展性差。
图4A-4B显示在达到下限时的较差建模。在图4A,绘制了测量的漏极电流是漏极-源极电压的函数。训练数据214和测试数据212是测量数据点,但训练数据214被输入到神经网络以生成权重值,而测试数据 212用于测试神经网络权重值的准确性。对于栅极电压Vg的差值生成模型 218。尽管模型218的精度如图4A所示在电流较大时看起来较好,但如图4B所示在电流较小时的模型218的精度很差。模型218的线不是收敛在原点(0,0),而是原点附近。对亚阈值电压和电流而言,模型218是失败的。
图5显示使用漏极电流作为目标来训练神经网络以产生一个器件模型。对测试晶体管进行测量,并记录输入电压、温度、沟道宽度W和沟道长度L作为训练数据34,将测量得到的漏极电流Ids记录为与输入数据组合相对应的目标数据38。神经网络36接收训练数据34和一个当前权重集,并对训练数据34进行操作以产生一个结果。神经网络36产生的结果通过损失函数42与目标数据38进行比较,损失函数42产生一个损失值,其是显示所产生的结果距目标的误差。损失函数42产生的损失值被用来调整权重,施加到神经网络36。通过损失函数42应用到训练数据34上,权重进行多次迭代,直到找出一个最小损失值,并将最终权重集用于建模晶体管。
器件模型期望在一个在更宽广的范围(从亚阈值到强反型区) 上准确。但是,使用神经网络会导致图3的过度拟合问题和图4B的亚阈值问题。此外,某些电路仿真器使用模型的导数或斜率如电导(Gds)和跨导(Gm),但模型收敛问题可能会使提取的电导(Gds)和跨导(Gm) 值出现失真。模型的一阶导数可能精度较差。单调性可能很差。为了避免过度拟合和不好的单调性问题,可能需要限制隐藏层的尺寸,这使得深度神经网络的使用变得困难。但是,浅层神经网络不能应用于更复杂的模型,仍可以得到较精确的建模。
所期望的是有一种用于半导体集成电路(IC)的器件模型,其准确地模拟一个宽范围内的电流,包括亚阈值区。神经网络产生的器件模型是令人期望的,但不要有过度拟合的问题。一种能够精确建模电导(Gds) 和跨导(Gm)值的器件模型是令人期望的。
【附图说明】
图1显示一个现有技术的神经网络。
图2显示一个晶体管器件模型。
图3显示器件建模时的过度拟合问题。
图4A-4B显示在达到下限时的较差模拟。
图5显示使用漏极电流作为目标训练神经网络,以产生一个器件模型。
图6是对半导体漏极电流进行转换的人工神经网络的示意图。
图7显示对预处理输入进行操作并使用转换目标的损失函数来调整权重的一个深度神经网络。
图8显示使用转换的漏极电流作为深度神经网络的目标解决器件建模时的过度拟合问题。
图9A-9B显示使用转换漏极电流作为目标可以使得深度神经网络能够更好地对模拟原点附近的亚阈值条件。
图10显示一种晶体管仿真器,其是基于预处理输入运算并以转换漏极电流为目标的深神经网络而获得模型和参数。
【具体实施方式】
本发明涉及使用人工神经网络对半导体器件建模的改进。以下描述使本领域普通技术人员能够制造和使用在特定应用及其要求的上下文中所提供的本发明。对本领域技术人员而言,对优选实施例的各种修改将是显而易见的,本发明所定义的一般原理可以应用于其他实施例。因此,本发明并非旨在受限于所示和所述的特定实施例,而是应被赋予与本发明公开的原理和新颖特征一致的最宽范围。
图6是以经过变换的半导体漏极电流的人工神经网络的示意图。虽然漏极电流在某些范围内近似线性,但漏极电流可能在某些更大的范围的运行条件下是非线性的。发明人认识到,与通常用于可视化晶体管运行的一阶模型不同,漏极电流是非线性的。发明人相信,使用漏极电流作为神经网络优化的目标,将会产生亚阈值电流的模型精度问题、过度拟合、较差的单调性和收敛性问题。
发明人已经发现,通过对目标的转换会允许有更好的模型生成和所得模型的更好精度。不使用漏极电流Ids作为目标,而是转换漏极电流,并由损失函数42使用转换的漏极电流来生成损失函数并调整权重。
目标数据38中的测量的漏极电流被目标转换器44转换为转换漏极电流X_Ids。目标转换器44通过求导的方式对漏极电流进行转换。该导数可以与栅极、漏极或体输入电压、晶体管尺寸、温度等有关。该导数的对数也可以用作转换漏极电流。损失函数42计算神经网络输出与其预期输出之间的差值,预期输出就是转换漏极电流X_Ids。应用于深度神经网络50的权重通过一些优化算法如随机梯度下降算法来调整,以使由损失函数42计算的差值越来越小。由损失函数42计算的转换后漏极电流与神经网络输出之间差值,可能会比漏极电流与神经网络输出之间损失更小的损失。
训练数据34包括漏极至源极电压Vds、栅极至源极电压Vgs、体至源极电压Vbs、温度、晶体管沟道宽度W和长度L的组合,其产生一个测量的漏极至源极电流Ids。这些输入电压和条件由输入预处理器40进行处理以生成预处理输入数据,并以此作为深度神经网络50的输入。
输入预处理器40可以对训练数据34进行多种预处理,如求输入电压的自然对数-ln(Vgs),ln(Vgs)。输入预处理器40可以在训练数据34 上进行主成分分析(PCA),以获得最能够影响漏极电流转换的主变量。PCA 检测哪个输入变量对漏极电流影响最大。PCA可以使用协方差矩阵的特征向量来减小变量维数。
深度神经网络50可以是由工程师针对特定应用产生的一个神经网络、或针对特定应用而调整的一个通用神经网络。例如,可以针对特定应用调整神经网络中的中间或隐藏层的数量,可以针对某些应用或需要解决的问题例如半导体器件建模来调整节点中执行的运算类型和节点间连接方式,虽然通常用浅层神经网络建模漏极电流Ids,但具有至少5层的深层神经网络也用于深层神经网络50。有更多中间层的深层神经网络50,会允许更好地模拟二阶效应,如在半导体器件中的埋层和复杂器件中的三维电流流动。
深度神经网络50中使用的初始权重,可以被设置为初始范围如(-1.0至1.0)内的随机值。训练数据34由输入预处理器40进行预处理,在执行训练例程时输入到深度神经网络50,使得深度神经网络50的输出被评估。
评估深度神经网络50的输出质量的一种方法是计算成本。损失函数42可以产生精度成本,其可以衡量当前循环的输出有多接近预期结果。通过将单个输出差值(输出与期望值之间的差值)进行平方,并对所有输出的这些平方进行平均或求和,可以产生一个均方误差(MSE)。
训练的目标是找到使网络输出(预测值)与拟合目标(数据) 相同或接近的权重值。这个过程很复杂,所以不可能用数学方法来计算权重。但是计算机可以从数据中学习。经过预处理或转换之后,数据被分成输入和目标。首先权重被设置为随机初始值。当一个输入向量呈现给神经网络时,该值通过神经网络逐层向前传播,直到它到达输出层。然后使用损失函数将神经网络的输出与目标进行比较。单输出的损失函数是 1/2|y-y’|2,其中y是神经网络输出,y'是目标。n个输入数据的损失函数E 是单个输入的损失的平均值:E=1/2n*∑|y-y’|2。在确定n个输入的损失之后,可以使用优化算法来调整权重并使损失最小化。优化算法重复该两阶段周期,正向计算(传播)和权重更新。前向计算用于计算总损失。在第二阶段,优化方法如梯度下降用于更新权重以尝试减少损失。当总损失降低到可接受值以下时,停止这些循环。
损失函数42产生的损失函数也可以包括复杂性成本,该复杂性成本包括一个权重衰减函数(在调整权重范围时防止过拟合)、和一个稀疏函数(用于改善深度神经网络50内结构和规律性)。复杂性成本可以防止模型过拟合,例如包括测量数据206、208(图3),因为与排除了异常测量数据206、208的更平滑的模型相比,包含异常测量数据206、208的模型更加复杂。
准确性成本和复杂性成本都可以生成作为损失函数42的一部分,损失函数42在训练过程中调整下一个训练周期的权重。更新的权重应用于深度神经网络50,输入预处理器40预处理的训练数据34再次输入到深度神经网络50,深度神经网络50产生一组有成本的新结果,该成本通过损失函数42比较输出结果与转换漏极电压产生。在多次循环中调整权重和重新计算成本,直到达到预期的终点。然后,应用于深度神经网络50 的最终权重可以用来构建最终器件模型。
图7显示了对预处理输入的操作和利用转换后的目标的损失函数来调整权重的一个深度神经网络。测量输入条件如栅极、漏极、体电压、温度和晶体管尺寸之类被输入为训练数据34。输入预处理器40处理训练数据34产生的预处理数据被输入到深神经网络50。这些预处理输入可以包括漏源电压的对数、栅源电压的对数、以及通过主成分分析(PCA)选择或组合的其他输入。
深度神经网络50使用由损失函数42通过优化算法调整的一组权重,对来自输入预处理器40的预处理后的输入进行操作。深度神经网络 50可以正向操作,其中每组预处理输入由深度神经网络50内的每个节点 (权重介于-1和1)操作,以产生一个或多个输出,这些输出由损失函数 42分析以生成一组新权重。新权重组被反向传送到深度神经网络50,使得当深度神经网络50的输入保持固定时,其输出随着权重的改变而改变。
损失函数42并不将预期输出与测量的漏极电流进行比较。相反,目标数据38中测量的漏极电流被目标转换器44转换,以产生转换漏极电流。损失函数42比较转换漏极电流与神经网络输出。
如图7所示,由目标转换器44产生的、并被损失函数42用来与深度神经网络50的输出进行比较的转换漏极电流,可以是漏极电流的导数。这些漏极电流的转换可以包括漏极电流关于漏源电压的导数d(Ids)/d(Vds)、漏极电流关于于栅源电压的导数d(Ids)/d(Vgs)、漏极电流关于衬源极电压的导数d(Ids)/d(Vbs)、漏极电流关于温度的导数d(Ids)/dT、漏极电流关于晶体管沟道长度的导数d(Ids)/dL、以及漏极电流关于晶体管沟道宽度的导数d(Ids)/dW。
目标变换器44对漏极电流的转换,也可以是这些导数中的任一导数的对数。例如,漏极电流关于漏源电压的导数的自然对数ln [d(Ids)/d(Vds)]、漏极电流关于栅源电压的导数的对数ln[d(Ids)/d(Vgs)]等。
使用有更多层(更深)的深度神经网络50允许更精确地建模多个因子,这些因子可能出现在亚10-nm晶体管和三维晶体管,如鳍式场效应晶体管(FinFET)和绝缘体上硅(SOI)。深度神经网络50提供一个框架为更复杂的未来半导体工艺建模。
图8显示了使用转换的漏极电流作为深度神经网络的目标解决器件建模时的过度拟合问题。测量数据204、206、208由输入预处理器40 预处理,并输入到深度神经网络50中,以及通过损失函数42与转换的漏极电流进行比较,来产生最拟合测量数据204、206、208的模型参数。建模电流302是测量数据204、206、208的最佳拟合模型。
测量数据206、208是两个异常数据点,其可能是某种错误或者测量误差的结果。在测量数据206、208的数据点上的漏极电流值,与其他测量数据204的漏极电流没有显著差异。但是,采用漏极电流的导数,增加了由损失函数42产生的误差。虽然数据点的y值没有太大的差异,但连接数据点的线的斜率在测量数据206、208(参见图3线202)的较差拟合点附近有急剧跳跃。因此,转换漏极电流扩大由损失函数42产生的误差。正则化方法可能检测不到漏极电流的较小误差,但可以检测漏极电流的导数的增大误差。
尽管有异常测量数据206、208,但出现平滑曲线的模型302。在异常数据点周围没有负电导。而且,超出测量数据204的建模电流302 是可靠的。可扩展性很好。
图9A-9B显示了使用转换漏极电流作为目标,使得深度神经网络能够更好地模拟原点附近的亚阈值条件。在图9A中的212
在图9A,绘制了测量的漏极电流与漏源电压关系的函数。训练数据214和测试数据212是测量数据点,但训练数据214被预处理并输入到深度神经网络50以生成权重,而测试数据212被目标转换器44转换,并用于测试神经网络权重的精度。
模型308是针对不同的栅极电压Vg而产生的。对图9A中的较大电流,模型308的精度是很好的,对于图9B中的较小电流,模型308 的精度也是很好的。模型308的线在原点(0,0)收敛。模型308适用于亚阈值电压和电流。
通过以转换漏极电流而不是漏极电流本身为目标,可以导出包含更宽范围输入电压的模型308。可以更好地建模亚阈值区域以便它收敛在原点。
图10显示一种晶体管仿真器,其是基于预处理输入运算并以转换漏极电流为目标的深神经网络而获得模型和参数。在使用深度神经网络50来获得最佳模拟转换漏极电流的一组权重之后,可将这些最终权重应用于深度神经网络50。仿真输入数据54包括在电路设计过程中由设计工程师输入的电压、温度、以及晶体管宽度和长度。仿真输入数据54由输入预处理器40操作来预处理输入数据,以获得预处理输入X1、X2、X3、 X4、...。例如,栅极和漏极电压的对数可以由输入预处理器40获得,并输入到深度神经网络50。
深度神经网络50根据预处理输入和最终权重而产生转换漏极电流X_Ids。反向目标转换器58执行的操作是目标转换器44(图6)的反向转换。例如,当目标转换器44产生漏极电流关于栅极电压的导数时,反向目标转换器58可以将转换漏极电流在栅极电压上积分。
反向目标转换器58可以使用黎曼和、牛顿-科特斯公式、或使用线性插值或多项式插值来进行积分。当目标转换器44执行漏极电压的导数的对数时,反向目标转换器58可以产生转换漏极电流的指数函数,然后进行积分。反向目标转换器58产生由目标转换器44转换之前的漏极电流值。这是仿真器60所预测的仿真漏极电流。
在仿真期间,不需要损失函数42和目标转换器44,因为最终权重保持恒定且不被调整。仿真器60可以由输入预处理器40、深度神经网络50和反向目标转换器58构成。深度神经网络50的尺寸可以减小,例如通过删除接收零值最终权重的节点。当在仿真器60内部使用时,深神经网络50可以是正向神经网络。在更大规模的电路仿真器中,SPICE、BSIM 或其他器件模型可以由模拟器60替换。对于每个仿真中的晶体管,上述更大的电路仿真器将产生输入电压,查找晶体管W和L,读取模拟的指定温度,然后调用仿真器60来仿真该晶体管的漏极电流。
通过使用有目标转换器44和输入预处理器40的深度神经网络 50,可以显著降低产生可用器件模型的时间和所需人力。可以从使用新工艺制造的测试芯片上的器件获取测量数据,并将这些测量数据用作训练数据34(Vgs,Vds,...)和目标数据38(Ids)。深层神经网络50可以正向和反向操作以调整权重,直到损失函数42找到可接受的低损失或最小值。然后,可以将最终权重应用于深度神经网络50并与损失函数42和反向目标转换器58一起对新工艺制造的晶体管进行仿真。
【其它实施方式】
发明人还想到若干其他实施例。例如,目标转换器44、输入预处理器40和反向目标转换器58可以共享相同的计算硬件,或各自可以有专用硬件。转换漏极电流可以是漏极电流的导数、这些导数的对数、电导 g(ds)、跨导g(m)、电导或跨导的对数、或漏极电流的其它转换。可以对这些转换中的几个进行测试,以找到一个最佳转换来用作产生最低损失函数的目标。类似地,输入预处理器40可以以各种方式预处理一些或全部输入。对数可以是自然对数、或基数为10的对数、或使用其他基数。转换或预处理函数的各种组合也可以被替换。
一些实施例可以不使用全部组件。可以添加其他组件。损失函数42可以使用各种误差/损失和成本生成器,诸如在多个训练优化循环中防止权重增长过大的权重衰减项,鼓励节点将其权重归零的稀疏性惩罚,使得只有一小部分节点被有效地使用。剩余的这小部分节点是最相关的。虽然在原理中已经描述了各种损失和成本函数,但许多替代、组合和变化是可能的。其他变化和类型的损失或成本项可以添加到损失函数42。不同成本函数的相对缩放因子的值可以调整以平衡各个函数的影响。
浮点值可以被转换为定点值或二进制值。尽管已经显示了二进制值权重,但可以使用各种编码,如二进制补码、霍夫曼编码、截断二进制编码等。表示权重值所需的二进制比特数目可以是指比特的数目,而不管编码方法,无论是二进制编码、灰码编码、定点、偏移量等。
权重可以被限制在一个范围值内。尽管已经描述了-1到1的范围,但范围不一定必须包括0,例如512到1的范围。权重值可以被偏移以适合一个二进制范围,如范围为10511到10000的权重,其可以存储为一个9比特二进制字,在该二进制字上添加10000的偏移量以产生实际权重值。在优化期间可以调整范围。偏移量可以被存储或者可以硬件连线到深度神经网络50的逻辑中。
对于运行深度神经网络50的训练例程,多种变化是可能的。优化可以首先确定隐藏或中间层节点的数量,然后继续优化权重。权重可以通过将一些权重归零以切断节点之间的连接来确定节点的布置或连接性。当结构被优化时,稀疏成本可以用于优化的初始循环,但是当权重值被微调时,稀疏成本不适用于后期的优化循环。可以使用S型函数来训练深度神经网络50内的隐藏层。查找表可以用来实现较复杂的函数而不是使用算术逻辑单元(ALU)以加速处理。每个节点的激活函数可能不同,例如sigmoid、tanh和relu。
对不同应用和训练集可能发生不同量的成本降低。各式各样的结构、不同的数量和隐藏层布置可以用于深度神经网络50。被建模的特定应用和半导体过程可以建议某些种类的神经网络或深度神经网络50的配置,或通用深度神经网络50可以充当起点。深神经网络50可以具有至少 7个中间层,并具有至少一万个权重。
Autoencoders、automax和softmax分类器以及其他种类的层可以插入到神经网络中。整个优化过程可以重复多次,例如针对不同的初始条件,如不同比特数的量化浮点值或其他参数、不同精度、不同缩放因子等。可以为各种条件组合设置终点,如期望的最终精度、精度-硬件成本积、目标硬件成本等。
虽然深度神经网络50的实际成本取决于多种因素,例如节点数、权重、互连、控制和接口,但发明人将成本近似为与权重总和成比例。用于表示深度神经网络50中所有权重的二进制比特总数是硬件成本的一个度量,即使仅仅是一个近似值。可以使用硬件复杂度成本梯度的梯度或斜率。在比较之前或之后,可以缩放和改变梯度值。
IC半导体制造工艺可能会有多种变化。光掩模可以用各种特殊机器和工艺,包括直接书写以烧掉金属化层而不是光致抗蚀剂。扩散、氧化物生长、蚀刻、沉积、离子注入以及其他制造步骤的多种组合可以使得在由光掩模控制的IC上产生其结果图案。尽管已经描述了建模晶体管,以及特别地建模了漏电流,但可以建模其他电流,例如二极管电流、衬底泄漏电流等,并可以用于其他器件如电容器、电阻器等的建模。
深度神经网络50、损失函数42、目标转换器44、反向目标转换器58和其他部件可以使用软件、硬件、固件、程序、模块、函数等各种组合以各种技术来实现。最终产品,有最终权重的深度神经网络50以及输入预处理器40和反向目标转换器58,可以在专用集成电路(ASIC)或其他硬件中实施,以在仿真器60用于仿真大电路时提高处理速度并降低功耗。
本发明的背景部分可以包含有关本发明问题或环境的背景信息,而不是由其他人描述现有技术。因此,在背景部分中包含材料并不是申请人对现有技术的承认。
在此所述的任何方法或过程是机器实施的或计算机实施的,并且旨在由机器、计算机或其它装置执行,不是没有这种机器辅助的情况下仅由人执行。所生成的有形结果可以包括报告或者在显示器设备(诸如计算机监视器、投影装置、音频生成装置和相关媒体装置)上的其它机器生成的显示,并且可以包括也是机器生成的硬拷贝打印输出。计算机控制其它机器是另一个有形结果。
所述任何优点和益处可能不适用于本发明的所有实施例。当在权利要求要素中陈述用语“装置”(means)时,申请人意图使权利要求要素落入35USC第112章第6段的规定。在用语“装置”之前的一个或多个用语,是旨在便于对权利要求要素的引用,并且不旨在传达结构限制。这种装置加功能的权利要求旨在不仅覆盖这里描述的用于执行功能及其结构等同物的结构,而且覆盖等效结构。例如,虽然钉子和螺钉具有不同的构造,但是它们是等同的结构,因为它们都执行紧固的功能。不使用“装置”一词的权利要求不属于35USC第112章第6段的规定。信号通常是电信号,但可以是光信号,如可以通过光纤线路传送的信号。
为了说明和描述,以上已经呈现了本发明实施例的描述。其并不旨在穷举或将本发明限制为所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。旨在本发明的范围不受该详细描述的限制,而是由所附的权利要求限制。
Claims (20)
1.一种半导体器件建模系统,包括:
包含多个节点的深度神经网络,每个节点使用权重缩放节点输入,产生的节点输出传输到所述多个节点中的其他节点;
输入,用于接收训练数据,所述训练数据表示晶体管的栅极电压和漏极电压,所述训练数据还包括所述晶体管的晶体管宽度和晶体管长度;
输入预处理器,其从所述输入接收所述训练数据,所述输入预处理器将所述训练数据转换为预处理后的训练数据;
其中所述预处理后的训练数据被应用于所述深度神经网络的输入;
目标输入,其接收目标数据,所述目标数据表示,当所述训练数据表示的栅极电压和漏极电压被施加到所述晶体管时、测量的所述晶体管的漏极电流,而所述晶体管具有所述训练数据表示的晶体管宽度和晶体管长度;
目标转换器,其从所述目标输入接收所述训练数据,所述目标转换器将表示漏极电流的目标数据转换为一个转换漏极电流值;
损失函数发生器,其根据所述预处理训练数据并使用所述权重,将所述目标转换器产生的经过转换的漏极电流与所述深度神经网络产生的输出进行比较,其中所述损失函数发生器通过调整所述权重,将所述转换漏极电流值与所述深度神经网络产生的输出之间的损失函数值最小化;
其中在所述深度神经网络的训练期间输入并处理多个所述训练数据和多个所述目标数据,以产生多个权重和损失函数值;
其中在完成训练之后,选择最后一组权重,所述最后一组权重产生最小损失函数值;
其中所述最后一组权重界定了所述晶体管的器件模型,所述晶体管使用所述深度神经网络进行仿真。
2.根据权利要求1所述的半导体器件建模系统,其中所述目标转换器将表示漏极电流的训练数据转换为所述漏极电流的导数;
其中所述漏极电流的导数是所述转换漏极电流值,也是由所述损失函数发生器评估的评估的所述深度神经网络的训练目标。
3.根据权利要求2所述的半导体器件建模系统,其中所述漏极电流的导数是有关栅极电压的导数。
4.根据权利要求2所述的半导体器件建模系统,其中所述漏极电流的导数是有关漏极电压的导数。
5.根据权利要求2所述的半导体器件建模系统,其中所述漏极电流的导数是有关晶体管长度的导数。
6.根据权利要求2所述的半导体器件建模系统,其中所述训练数据还包括温度:
其中所述漏极电流的导数是有关所述温度的导数。
7.根据权利要求2所述的半导体器件建模系统,其中所述目标转换器将表示漏极电流的训练数据转换为所述漏极电流的导数的对数;
其中所述漏极电流的导数的对数是所述转换漏极电流值,也是所述损失函数发生器评估的所述深度神经网络的训练目标。
8.根据权利要求2所述的半导体器件建模系统,其中在仿真过程中,将所述最后一组权重应用于所述深度神经网络,表示模拟电压的模拟训练数据由所述输入预处理器应用和进行预处理、继而由所述深度神经网络处理,通过使用最终的权重值产生仿真输出结果;
反向目标转换器,其在仿真期间从所述深度神经网络收到所述仿真输出,并产生漏极电流的仿真值,所述反向目标转换器的操作是所述目标转换器的逆转换操作;
由此,使用所述最后一组权重从所述深度神经网络产生漏极电流的仿真值。
9.根据权利要求8所述的半导体器件建模系统,其中所述反向目标转换器包括积分器,所述积分器对所述深度神经网络的仿真输出在一定电压范围上进行积分,以生成所述漏极电流的仿真值。
10.根据权利要求2所述的半导体器件建模系统,其中所述输入预处理器产生栅极电压的对数或漏极电压的对数,作为预处理训练数据应用到所述深度神经网络输入,
由此,将对数电压输入应用到所述深度神经网络。
11.根据权利要求2所述的半导体器件建模系统,其中所述输入预处理器对所述训练数据执行主成分分析PCA,以选择主数据,其中所述主数据是应用于深度神经网络输入的预处理训练数据,
由此,执行PCA后再应用于所述深度神经网络。
12.一种用于仿真模拟晶体管的计算机实施方法,包括:
接收输入数据,所述输入数据表示通过电路模拟器施加到所述模拟晶体管的栅极电压和漏极电压,所述输入数据还包括所述模拟晶体管的晶体管宽度和晶体管长度;
通过产生栅极电压的对数或漏极电压的对数,对所述输入数据进行预处理以产生预处理输入数据;
将所述预处理输入数据作为输入应用于深度神经网络;
向所述深度神经网络应用一组模型权重,并在所述预处理输入数据上操作所述深度神经网络以产生一个神经网络输出;
在栅极电压范围或漏极电压范围上对所述神经网络输出进行积分,以产生所述仿真晶体管的漏极电流值;
将所述漏极电流值输出到所述电路仿真器,所述电路仿真器使用所述漏极电流值来仿真电路中所述晶体管的操作;
其中所述深度神经网络接收对数电压,并在模拟期间产生所述漏极电流值的导数。
13.根据权利要求12所述的计算机实施方法,其中所述深度神经网络有至少七个中间层,其中所述深度神经网络有至少一万个权重。
14.根据权利要求12所述的计算机实施方法,其中所述神经网络输出是电导值。
15.根据权利要求12所述的计算机实施方法,其中所述神经网络输出是跨导值。
16.一种用于存储计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由处理器执行时实施一种方法,所述方法包括:
将初始权重应用于神经网络中节点之间的连接,权重指定所述神经网络中节点之间连接的强度;
接收输入数据,所述输入数据表示施加到测试晶体管的栅极电压和漏极电压,所述输入数据还包括所述测试晶体管的晶体管宽度和晶体管长度;
预处理所述输入数据以生成预处理输入数据;
执行训练例程,将所述预处理训练数据输入到所述神经网络;
接收目标数据,所述目标数据表示在测试期间当所述栅极电压和所述漏极电压施加到所述测试晶体管时,在所述测试晶体管上测量到的漏极电流;
将所述目标数据转换为转换目标数据;
当所述预处理训练数据通过所述训练例程应用于所述神经网络的输入时,根据所述转换目标数据与所述神经网络输出的比较来产生一个损失函数;
通过使用所述损失函数来调整所述初始权重以生成更新权重;
当尚未达到目标终点时,将所述更新权重应用于所述神经网络,执行另一次迭代,并更新所述更新权重;
当达到所述目标终点时,输出所述神经网络和所述更新权重,作为所述测试晶体管的一个模型。
17.根据权利要求16所述的非暂时性计算机可读介质,其中预处理所述输入数据以产生预处理输入数据还包括:产生栅极电压的对数或产生漏极电压的对数;
其中电压的对数被应用为所述神经网络的输入。
18.根据权利要求17所述的非暂时性计算机可读介质,其中将所述目标数据转换为转换目标数据还包括:
产生漏极电流的导数作为所述转换目标数据。
19.根据权利要求16所述的非暂时性计算机可读介质,其中将所述目标数据转换为转换目标数据还包括:
产生漏极电流的导数的对数作为所述转换目标数据。
20.根据权利要求16所述的非暂时性计算机可读介质,其中所述方法还包括:
在已经达到所述目标终点之后;
将更新权重应用于所述神经网络;
接收输入数据,所述输入数据表示施加到模拟晶体管的栅极电压和漏极电压,所述输入数据还包括所述模拟晶体管的晶体管宽度和晶体管长度;
预处理所述输入数据以生成预处理输入数据;
将所述预处理输入数据输入到所述神经网络,并使用所述神经网络和所述更新权重对所述预处理输入数据进行操作,以产生一个神经网络输出;
对所述神经网络输出进行积分以产生所述模拟晶体管的模拟漏极电流。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/011,787 US11176447B2 (en) | 2018-06-19 | 2018-06-19 | Semiconductor device modeling using input pre-processing and transformed targets for training a deep neural network |
US16/011,787 | 2018-06-19 | ||
PCT/CN2018/092038 WO2019241937A1 (en) | 2018-06-19 | 2018-06-20 | Semiconductor device modeling using input pre-processing and transformed targets for training a deep neural network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109791627A true CN109791627A (zh) | 2019-05-21 |
CN109791627B CN109791627B (zh) | 2022-10-21 |
Family
ID=66499472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880001122.9A Active CN109791627B (zh) | 2018-06-19 | 2018-06-20 | 使用输入预处理和转换目标用于训练深度神经网络的半导体器件建模 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109791627B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580288A (zh) * | 2020-12-03 | 2021-03-30 | 复旦大学 | 基于多梯度神经网络的半导体器件特性建模方法和系统 |
CN112710907A (zh) * | 2019-10-24 | 2021-04-27 | 苏州华太电子技术有限公司 | 功率放大器的测试方法、测试系统及计算机可读存储介质 |
CN116151174A (zh) * | 2023-04-14 | 2023-05-23 | 四川省华盾防务科技股份有限公司 | 一种通用器件模型优化方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040084727A1 (en) * | 2002-05-10 | 2004-05-06 | Michihito Ueda | Semiconductor device and learning method thereof |
US20080221854A1 (en) * | 2007-03-05 | 2008-09-11 | Fujitsu Limited | Computer aided design apparatus, computer aided design program, computer aided design method for a semiconductor device and method of manufacturing a semiconductor circuit based on characteristic value and simulation parameter |
CN102663495A (zh) * | 2012-02-22 | 2012-09-12 | 天津大学 | 一种用于非线性器件建模的神经网络数据生成方法 |
US20130144821A1 (en) * | 2011-12-05 | 2013-06-06 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Digital-to-Analogue Converter and Neuromorphic Circuit Using Such a Converter |
CN103310285A (zh) * | 2013-06-17 | 2013-09-18 | 同济大学 | 可用于半导体生产线动态调度的性能预测方法 |
CN103745273A (zh) * | 2014-01-06 | 2014-04-23 | 北京化工大学 | 一种半导体制造过程的多性能预测方法 |
CN105138741A (zh) * | 2015-08-03 | 2015-12-09 | 重庆大学 | 基于神经网络的igbt模型参数校准系统及方法 |
CN106446310A (zh) * | 2015-08-06 | 2017-02-22 | 新加坡国立大学 | 基于人工神经网络的晶体管及系统建模方法 |
CN106777620A (zh) * | 2016-12-05 | 2017-05-31 | 天津工业大学 | 一种用于功率晶体管的神经网络空间映射建模方法 |
CN107748809A (zh) * | 2017-09-20 | 2018-03-02 | 苏州芯智瑞微电子有限公司 | 一种基于神经网络技术的半导体器件建模方法 |
-
2018
- 2018-06-20 CN CN201880001122.9A patent/CN109791627B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040084727A1 (en) * | 2002-05-10 | 2004-05-06 | Michihito Ueda | Semiconductor device and learning method thereof |
US20080221854A1 (en) * | 2007-03-05 | 2008-09-11 | Fujitsu Limited | Computer aided design apparatus, computer aided design program, computer aided design method for a semiconductor device and method of manufacturing a semiconductor circuit based on characteristic value and simulation parameter |
US20130144821A1 (en) * | 2011-12-05 | 2013-06-06 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Digital-to-Analogue Converter and Neuromorphic Circuit Using Such a Converter |
CN102663495A (zh) * | 2012-02-22 | 2012-09-12 | 天津大学 | 一种用于非线性器件建模的神经网络数据生成方法 |
CN103310285A (zh) * | 2013-06-17 | 2013-09-18 | 同济大学 | 可用于半导体生产线动态调度的性能预测方法 |
CN103745273A (zh) * | 2014-01-06 | 2014-04-23 | 北京化工大学 | 一种半导体制造过程的多性能预测方法 |
CN105138741A (zh) * | 2015-08-03 | 2015-12-09 | 重庆大学 | 基于神经网络的igbt模型参数校准系统及方法 |
CN106446310A (zh) * | 2015-08-06 | 2017-02-22 | 新加坡国立大学 | 基于人工神经网络的晶体管及系统建模方法 |
CN106777620A (zh) * | 2016-12-05 | 2017-05-31 | 天津工业大学 | 一种用于功率晶体管的神经网络空间映射建模方法 |
CN107748809A (zh) * | 2017-09-20 | 2018-03-02 | 苏州芯智瑞微电子有限公司 | 一种基于神经网络技术的半导体器件建模方法 |
Non-Patent Citations (2)
Title |
---|
LINING ZHANG等: ""Artificial neural network design for compact modeling of generic transistors"", 《J COMPUT ELECTRON》 * |
QUAN CHEN等: ""Artificial Neural Network Compact Model for TFTs"", 《2016 7TH INTERNATIONAL CONFERENCE ON COMPUTER AIDED-DESIGN FOR THIN-FILM TRANSITOR TECHNOLOGIES》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112710907A (zh) * | 2019-10-24 | 2021-04-27 | 苏州华太电子技术有限公司 | 功率放大器的测试方法、测试系统及计算机可读存储介质 |
CN112580288A (zh) * | 2020-12-03 | 2021-03-30 | 复旦大学 | 基于多梯度神经网络的半导体器件特性建模方法和系统 |
CN112580288B (zh) * | 2020-12-03 | 2022-04-12 | 复旦大学 | 基于多梯度神经网络的半导体器件特性建模方法和系统 |
CN116151174A (zh) * | 2023-04-14 | 2023-05-23 | 四川省华盾防务科技股份有限公司 | 一种通用器件模型优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109791627B (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11176447B2 (en) | Semiconductor device modeling using input pre-processing and transformed targets for training a deep neural network | |
JP6962263B2 (ja) | 3次元点群ラベル学習装置、3次元点群ラベル推定装置、3次元点群ラベル学習方法、3次元点群ラベル推定方法、及びプログラム | |
CN109791627A (zh) | 使用输入预处理和转换目标用于训练深度神经网络的半导体器件建模 | |
CN111797581A (zh) | 用于生成晶体管的模型的系统和方法 | |
CN113544711A (zh) | 用于使用聚类收缩的混合算法系统和方法 | |
Singh et al. | Pi-lstm: Physics-infused long short-term memory network | |
Guo et al. | Toward the optimal design and FPGA implementation of spiking neural networks | |
US11720727B2 (en) | Method and system for increasing the resolution of physical gridded data | |
WO2007091359A1 (ja) | ばらつきシミュレーション・システム、ばらつき決定モデル方法と装置ならびにプログラム | |
US6687887B1 (en) | Method and apparatus for performing extraction using a model trained with Bayesian inference using a hybrid monte carlo method | |
US20220114317A1 (en) | Systems, methods, and computer program products for transistor compact modeling using artificial neural networks | |
KR20190141581A (ko) | 데이터 예측을 위한 인공신경망을 학습하는 방법 및 장치 | |
Wu et al. | Local and global Bayesian network based model for flood prediction | |
CN116432543A (zh) | 功率半导体模块剩余寿命预测方法、终端设备及存储介质 | |
CN112580288B (zh) | 基于多梯度神经网络的半导体器件特性建模方法和系统 | |
KR20210023641A (ko) | 기계 학습 모델 및 규칙 기반 모델을 포함하는 혼성 모델을 위한 방법 및 시스템 | |
Yilmaz | Artificial neural networks pruning approach for geodetic velocity field determination | |
CN114792078A (zh) | 一种提取集成电路器件模型参数的方法和装置 | |
JP2005038216A (ja) | パラメータ調整装置 | |
Choubey et al. | Time series data mining in real time surface runoff forecasting through support vector machine | |
Cai et al. | NeurFill: Migrating full-chip CMP simulators to neural networks for model-based dummy filling synthesis | |
CN114781207A (zh) | 基于不确定性和半监督学习的热源布局温度场预测方法 | |
JP2008242927A (ja) | 遺伝的アルゴリズム実行装置および遺伝的アルゴリズム実行方法 | |
JPWO2006107025A1 (ja) | パラメータ調整装置 | |
Choo | Learning hyperparameters for neural network models using Hamiltonian dynamics |
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 |