发布信息

在设计自动化平台上进行电压规则检查的计算机实施方法与流程

作者:admin      2022-08-02 20:41:04     793



计算;推算;计数设备的制造及其应用技术area,soa)设定的虚拟(pseudo)元件及其模型,以此来达到检查特定电路区段的电压规则的效果,进而克服已知技术无法标记或检查后段布局绕线之间或是不同电压域或电路区块之间的跨压的问题。8.本发明的目的为提出一种在电子设计自动化平台上进行电压规则检查的计算机实施方法,包含在一由电子设计自动化平台所生成的网表中或是一工艺设计套件的电路图中插入具有安全操作区域设定的虚拟元件与该虚拟元件的模型,并设定该虚拟元件与该模型的参数,使得该虚拟元件不会对该网表或该电路图的原有电路造成影响、在该电子设计自动化平台上对该网表或该电路图进行安全操作区域检查、以及检视在该安全操作区域检查中由该虚拟元件与该模型所触发的违反该安全操作区域设定的警示讯息,以得知违反该安全操作区域设定的布局位置。9.本发明的这类目的与其他目的在本领域技术人员读过下文中以多种图示与绘图来描述的优选实施例的细节说明后应可变得更为明了显见。附图说明10.本说明书含有附图并在文中构成了本说明书的一部分,从而使本领域技术人员对本发明实施例有进一步的了解。这些图示描绘了本发明一些实施例并连同本文描述一起说明了其原理。在这些图示中:11.图1描绘出了用来执行本发明计算机实施方法的一般用途型计算机架构;12.图2为程序界面上的一网表范例;13.图3为一安全操作区域(safe operating area,soa)的数据图范例;14.图4为程序接口上五种虚拟元件的一安全操作区域检查的输出数据讯息;15.图5为根据本发明实施例在一网表中插入虚拟元件(pseudo device)的范例;16.图6为根据本发明实施例在一电路图中插入虚拟元件的范例;17.图7为根据本发明实施例在一电路图中插入虚拟元件的另一范例。18.图8与图9为根据本发明实施例以的soa语法以及电路符号类型存在的数种虚拟元件及其模型;19.图10至图12分别为根据本发明实施例在电路图与网表中的实体元件之间插入虚拟元件以及其执行soa检查后所触发的警示讯息;20.图13至图15分别为根据本发明实施例在电路图与网表中的不同电压域之间插入虚拟元件以及其执行soa检查后所触发的警示讯息;21.图16为根据本发明实施例在电子设计自动化平台上进行电压规则检查的计算机实施方法的流程;以及22.图17为根据本发明实施例在硬件层与软件层上执行本发明电压规则检查方法的系统方块图。23.须注意本说明书中的所有图示皆为图例性质,为了清楚与方便图示说明之故,图示中的各部件在尺寸与比例上可能会被夸大或缩小地呈现,一般而言,图中相同的参考符号会用来标示修改后或不同实施例中对应或类似的元件特征。24.【符号说明】25.101ꢀꢀꢀꢀ处理器26.102ꢀꢀꢀꢀdram27.103ꢀꢀꢀꢀ磁盘机28.104ꢀꢀꢀꢀ用户接口29.105ꢀꢀꢀꢀ输入/输出装置30.501,502ꢀꢀꢀ执行式31.901ꢀꢀꢀꢀ模型档32.1001ꢀꢀꢀꢀ反相器33.1101ꢀꢀꢀꢀ虚拟元件模型34.1201ꢀꢀꢀꢀ警示讯息35.1401ꢀꢀꢀꢀ虚拟元件模型36.1501ꢀꢀꢀꢀ警示讯息37.1601-1611ꢀꢀꢀꢀ步骤38.1700ꢀꢀꢀꢀ硬件层39.1702ꢀꢀꢀꢀ处理器40.1704ꢀꢀꢀꢀdram41.1706ꢀꢀꢀꢀ用户界面42.1708ꢀꢀꢀꢀ输出装置43.1710ꢀꢀꢀꢀ磁盘机44.1720ꢀꢀꢀꢀ软件层45.1722ꢀꢀꢀꢀ电路仿真器46.1724ꢀꢀꢀꢀ电压规则47.1726ꢀꢀꢀꢀ模型档48.1728ꢀꢀꢀꢀ虚拟元件49.1730ꢀꢀꢀꢀ执行迭50.1732ꢀꢀꢀꢀ警示判定结果51.1734ꢀꢀlog档52.1736ꢀꢀꢀꢀ测试报告53.1738ꢀꢀꢀꢀ电路修改54.1740ꢀꢀꢀ电路数据库55.cvrc1,cvrc2ꢀꢀꢀ虚拟电容模型具体实施方式56.本发明的一或多个实施例属于一种以数字计算机文件形式来检查集成电路(ic)设计的方法,此类文件会描绘出多个特征以及其在一遮罩层上的位置。此检查的操作会判定这类ic设计是否有遵循制造技术相关的设计规则(例如判定特征间预定的间距关系)或是判定这类ic设计是否有遵循电性规则(例如检测ic布局层级间潜在的对位失准或是超出安全操作区域)。较佳来说,本发明一或多个这类实施例在一计算机实施的设计规则检查或电性规则检查程序或电路仿真程序上实作。下文的描述中会提出许多特定的细节让本领域技术人员对本发明有更全面的了解。然而,须了解到对本领域技术人员而言,其不需要本发明的一些或所有这类的特定细节也可以实施本发明的一些实施例。在其他例子中将不会详细说明已知的流程操作,避免模糊本发明的焦点。57.图1描绘出了用来执行本发明计算机实施方法的一般用途型计算机架构100。用户通过包含显示器、键盘、鼠标等设备的用户接口104来输入执行本发明计算机实施方法的指令。处理器101会读取来自动态随机存取存储器(dram)102的计算机可读取式编码与数据并对其进行运算与处理。高容量存储装置,如磁盘机103,可提供与本发明计算机实施方法相关的程序代码与数据来载入dram 102。输入/输出装置105,可提供数据连接将数据传输到其他设备,如网络、数据机、打印机等。58.本发明的计算机实施方法大体上是通过使用上述计算机架构100上所安装的一电子设计自动化(electronic design automation,eda)平台来实行,例如包含公司的或公司的或是公司的等商用电路仿真器(circuit simulator)。须注意对于本发明而言,在电路设计流程中,只要是包含有以元件模型(device model)为输入基础的电路仿真工具、布局工具或是检验工具等,例如可使用网表(netlist)或是电路图(schematics)等文件或格式来进行运算、修改或处理的电路设计程序,都可以应用本发明所提出的电压规则检查方法,并不限于上述的商用软件。59.在本发明实施例中,其有部分会使用网表来说明本发明具体的实作方式。如图2所示,其为以程序界面为例的一环型振荡器的网表范例。一般情况下,在进行电路仿真设计的相关操作时,首先要输入仿真的电路图。电路仿真器中提供了晶体管、ic、电容、二极管、电阻、电感等元件模型,用户选择相应零件并连接它们而构成了电路。在实际的仿真中,所创建的电路图会被电子设计自动化平台转换成称为“网表”(netlist,也可称为串接档)的文件,其以文字与数字格式描述了该电路图中不同的元件、节点、或区块之间的互连关系以及其所要仿真或检查的条件设定等信息,以供电路仿真器进行读取、运算、处理等动作。网表中会有多行由文字与数字构成的叙述,基本上,每行叙述都定义了一个特定的实体元件,例如图中的c2_9112就代表该电路布局中一特定的实体电容。此外,行中的文字也可能叙述了其所要执行的动作与路径。一般而言,网表根据电路设计流程阶段可分为布局前(pre-layout)网表与布局后(post-layout)网表,本发明的电压规则检查方法可以应用在这两类网表中。60.另一方面,本发明的电压规则检查方法需要搭配安全操作区域(safe operating area,soa)的功能才可以实作。此处所指的安全操作区域是指功率半导体元件,如双极性晶体管、场效应晶体管、栅流体以及绝缘栅双极晶体管等元件,能够进行预期正常的操作而不会造成损坏时的电压-电流等条件的范围。如图3所示,其为一安全操作区域(soa)的数据图范例,其中详细描绘了一晶体管元件在不同脉冲时间(100微秒至1毫秒)的瞬时操作条件下达到故障或热失控的漏极至源极电压(vds)对漏极至源极电流(ids)关系图,图中包含了漏极至源极导通电阻(rds(on))限值、电流限值、最大功率限值、漏极至源极电压(bvdss)限值、以及散热不稳定性限值等曲线,安全操作区域的范围即为图中这些曲线与坐标轴所包围的区域。这个范围结合了该元件在最大电压、最大电流、最大耗散电功率等方面上的操作限制。安全操作区域的规格一般是由电压、电流或是频率来界定,其也可以设定成较为复杂的函数,视用户与检查的需求而定。例如,一条金属线或其上节点的电压限值(vmax)可能为金属线之间间距的函数,该电压限值的下限可能为金属线之间的最小间距。61.对于业界现行的电路仿真器而言,如前述的或是等商用电路仿真程序,其在仿真程序中当有个别的电路元件的端电压超过用户所设定的安全操作区域时,系统都可以对元件发出警告讯息来提醒用户注意,为其内建的安全操作区域检查功能。仿真分析的输出结果通常会以二进位或是文字文件的形式保存起来。如图4所示,其为以程序界面为例的一安全操作区域检查的输出数据讯息,图中示出了某特定实体元件或节点的电压在仿真中超出其设定的最大电压限值(模型参数,如bv_max)的警示讯息。62.尽管现行的商用电路仿真软件可提供安全操作区域检查功能,其检查只能局限在网表或电路图中单一元件自身的参数值(如电压)是否超出安全操作区域,无法实现多个元件之间或是金属绕线之间的跨压检查,也无法标记出属于不同电压域的金属线。对此,本发明立意通过在上述电子设计自动化平台的安全操作区域检查中加入虚拟元件及其模型的方式,来实现多个元件、电压域、或是金属线之间自由度高、涵盖范围广、可用户自定义的电压规则检查。63.其中,本发明所称的虚拟元件(pseudo device)为一哑巴物件(dummy objects),其不对应任何集成电路实体元件,但赋有安全操作区域(soa)相关的参数设定的虚拟元件的模型可以执行本发明所需的电压规则检查(vrc,voltage rule check)。上述物件可由网表文字、电路符号(schematic symbol)或布局(layout)所构成,其安全操作区域的各种设定被以抽象层(abstraction layer)的方式参数化在该虚拟元件的模型之中。多个相同的虚拟元件可以共用一个模型。特别地,若为布局物件,则由非实际的物理层(non-physical drawing layer)布局表示。64.现在请参照图5,其为根据本发明实施例在一网表中插入虚拟元件模型(pseudo device model)的范例。图5所示的网表范例为在程序界面上的一布局后网表,其中的每一行都代表了电路图中不同的实体元件、节点或区块,如c2_9112即代表电路布局中一特定的实体电容。图5所示网表基本上与图2相同,其差异处在于图5的网表中插入了两行执行式501,502,分别代表了本发明实施例中两个虚拟电容元件cvrc100,cvrc200。执行式501,502中的某些引脚文本(pin text,该“引脚文本”也可称为“字元”)或标签(label),例如cvrc100 vddcore en,cvrc200 vsscore en,可让程序识别,以在安全操作区域(此处由“bv_max=2”设定为2伏特)检查时执行该虚拟元件模型的检查,并在违反安全操作区域设定时触发警示讯息,并藉由这些引脚文本或标签得知违反该安全操作区域设定的布局位置或网表区段。该识别的引脚文本或标签也可以是属于不同的子网表(subnet)名下,可藉以发现子电路或功能方块之间(例如1.8v与6v两不同电压域之间)的电压警示。根据此实施例,在网表中想要检查的节点之间(例如两条导线之间)插入虚拟电容模型,可以在安全操作区域检查中检查该节点之间的压差。当压差超过用户对这些虚拟元件模型所定义的安全操作区域设定时,例如压差超过2v(bv_max=2),此检查就会在后续的输出数据中列出警示讯息。65.本发明所提出的虚拟元件及其模型可包括多种不同、可通过电路仿真器输入的元件,包含虚拟电容、虚拟电阻、虚拟金属氧化物半导体晶体管、虚拟双极性接面晶体管或虚拟二极管等。要在一网表中插入虚拟元件模型,其可预先将所要的虚拟元件模型设定在一模型档(model card)中。模型档是多个模型的集合,可以通过直接调用该模型档的方式将这些虚拟元件模型插入至网表中执行迭(run deck)之间的特定位置,也可以通过程序预设的soa接口来从网表馈入实例参数(instance parameter),或是通过程序界面手动修改网表的方式添加具有安全操作区域设定的虚拟元件。66.另一方面,除了网表以外,本发明的虚拟元件模型也可在电路图的环境下插入。请参照图6,其为根据本发明实施例在一电路图中插入虚拟元件模型的范例。在前文网表的例子中,虚拟元件模型是以引脚文本与数字所构成的执行式形态存在于网表之中并加以施作。在本实施例中,虚拟元件模型是以电路符号的形态直接插入在所要检查的电路图中,特别是与工艺设计套件(process design kit,pdk)相容的电路符号。例如,在图6的例子中,通过工艺设计套件,用户可以直接在用户界面上看到布局的电路图,如图中所示串联的nand1,inv2,inv3,inv4,inv5等实体元件。用户也可以通过直接调用该工艺设计套件中的安全操作区域符号来在该电路图的特定节点上或节点之间插入虚拟元件模型。例如,同样是以虚拟电容模型cvrc1为例,其通过工艺设计套件插入至电路图中节点out2与节点out5之间的位置,如此在执行安全操作区域检查中可以检查该两节点out2与out5之间的电压差是否超出规范。同样地,请参照图7,以虚拟电容模型cvrc2为例,其通过工艺设计套件插入至电路图中节点vdd与节点vss之间的位置,如此在执行安全操作区域检查中可以检查该vdd与vss之间的电压差是否超出规范。67.在本发明中,安全操作区域检查中可以插入的虚拟元件及其模型不仅限于上述实施例所示的虚拟电容及其模型,也可包含虚拟电阻、虚拟金属氧化物半导体场效应晶体管(mosfet)、虚拟双极性晶体管(bjt)以及虚拟二极管(diode)。现在请参照图8,其以hspice的soa语法以及电路符号类型来说明本发明数种虚拟元件模型。68.对于虚拟电容模型而言,其在计算直流操作点时视为断路(open),电容值c可以设定的非常小(如1*10-20f),如此,此虚拟电容模型的插入不会对原有电路的电性造成影响。soa检查中,虚拟电容模型的两端点电压限值可以预设为一数值,如16v(bv_max=16v),此电压限值也可以是一组实例参数(instance parameter)的函数,例如电压限值等于金属线间距乘以一个比例常数k,可经由网表的接口输入参数来计算并设定soa限值。69.对于虚拟电阻及其模型而言,其连接方式有分为串联和并联两种形式。对于串联的虚拟电阻模型而言,其电阻值r可以设定的非常小(如1*10-20ohm),而对并联的虚拟电阻模型而言,其电阻值r可以设定的非常大(如1*1020ohm),如此,不论串联或并联,此虚拟电阻模型的插入都不会对原有电路的直流电性造成显著影响。soa检查中,虚拟电阻模型的两端点电压限值可以预设为一数值,如16v(bv_max=16v),此电压限值也可以是一组实例参数的函数。70.对于虚拟mosfet及其模型而言,mosfet是一种四端元件,其共有vgs,vgd,vgb,vbd,vbs,vds等六种端电压可供监控检查。如图9所示,可以通过手动修改或调用仿真mosfet的模型档(model card)901的方式来将该六种端电压的安全操作区域设定插入到网表中的执行迭(run deck)之间,如图中所设定的六种端电压的最大值都设定为1v。虚拟mosfet元件的临界电压vth可以设定的非常大(如100v),避免虚拟元件被开启而干扰原有电路。虚拟双极性晶体管与虚拟二极管等虚拟元件的端电压,如veb,vec,vbc等,也可通过同样的方式设定到网表或电路图中来达到soa检查的效果。71.现在请参照图10至图12,其将以一级反相器的实体元件为例来说明插入本发明虚拟元件及其模型来执行soa检查的实际做法与结果。首先在图10中,其示出了由数个反相器1001所串联而成的环形振荡器的电路图。每个反相器1001的输入端与输出端之间都被插入一虚拟电容元件cvcr来检测环形振荡器每级的输出/输入电压差值,其设定的最大电压限值为1v(bv_max=1v)。当给定的电源电压为1.2v时,输出端与输出端之间的跨压(1.2v)会超过所设定的电压限值(1v),如此,在执行soa检查时,其会跳出soa警示讯息。在图11中,可以看到对应虚拟电容cvcr、具有soa设定(bv_max=1)的虚拟元件模型1101被插入在网表的执行迭中。在图12中,可以看到由该虚拟元件模型1101所触发的警示讯息1201出现在soa检查的输出结果中。藉由检视在该soa检查中由该虚拟元件模型1101所触发的警示讯息1201可以得知违反该安全操作区域设定的布局位置,即所插入的该虚拟电容cvcr的位置。72.现在请参照图13至图15,其为利用本发明所提出的虚拟元件及其模型来执行不同电压域之间的soa检查的实际做法与结果。首先在图13中,其示出了包含0~1.1v、0~8v以及0~32v等三个不同电压域的电路图,其中通过本发明上述方法在电压域0~1.1v与电压域0~8v之间插入一虚拟电容cvcr1,以及在电压域0~8v与电压域0~32v之间插入一虚拟电容cvcr2,以此来检测这些电压域之间的电压差值,其中两个虚拟电容cvcr1与cvcr2所设定的最大电压限值分别为7v(bv_max=7v)与24v(bv_max=24v),而电容值皆设定为1*10-20f,不会显著影响到原有电路的表现。在图14中,可以看到对应虚拟电容cvcr1与cvcr2、具有soa设定(bv_max=7与bv_max=24)的虚拟元件模型1401被插入在网表的执行迭中。在图15中,可以看到由该虚拟元件模型1401所触发的警示讯息1501出现在soa检查的仿真结果中。73.除了前面提到的布局前网表、布局后网表与工艺设计套件(pdk)的电路图等环境,本发明的插入虚拟元件及其模型的动作也可以在布局阶段中进行,例如通过布局阶段中所使用的自动布局布线工具(auto place and route tool,apr)来将虚拟元件插入到布局图案中,并可以在gds(绘图数据系统)文件中的文本或标签形式存在。74.现在请参照图16。综合上述各实施例说明,图16总结绘示出了根据本发明实施例在电子设计自动化平台上进行电压规则检查的计算机实施方法的流程。首先在步骤1601,在一电子设计自动化平台上执行电压规则检查,其可藉由平台的安全操作区域功能来实作。接着在步骤1602,用户根据所要执行的电压规则检查建置所需的虚拟元件与其模型,其可包含网表文字、电路符号或布局等特征,所对应的安全操作区域的各种设定被参数化赋予在该虚拟元件的模型之中。接着在步骤1603,使用电路仿真器将所建置、带有安全操作区域参数设定的虚拟元件与其模型插入到网表或是电路图中,此时会进入电压规则检查的循环中(1604)。此电压规则检查的循环可在各种电路设计阶段中进行,包括在布局前网表中插入(1605)、在电路图中插入(1606)、在gds档中插入(1607)、或是在布局后网表中插入(1608)。接着在步骤1609,通过电路仿真器进行安全操作区域检查,其过程中也会执行前述所特别设定的电压规则检查。如果通过电压规则检查,则继续进行电路设计流程(1610)。如果未通过电压规则检查,则检视由该虚拟元件与该模型所触发的违反该安全操作区域设定的警示讯息,以得知违反该安全操作区域设定的布局位置,并修改其电路设计(1611)。75.现在请参照图17,其为根据本发明实施例在硬件层与软件层上执行本发明电压规则检查方法的系统方块图。其中,硬件层1700代表用来执行本发明计算机实施方法的所有实体部件,其部件大致与图1所述的一般用途型计算机架构100相同。软件层1720则是以数据或数据形态存储在计算机可读式介质中并且可让计算机对其进行运算与处理的非实体部件。首先,整个电压规则检查方法以电路仿真器1722为基础来运行,电路仿真器1722可为市面上可得的各种spice类的商用电路仿真器软件,其可进行模拟或混和信号电路仿真。电路仿真器1722所输出的各种指令与数据都将传送到硬件层1700并由处理器1702来对其进行运算与处理。硬件层1700的动态随机存取存储器(dram)1704则可对所要处理的数据或数据进行暂存的动作,并在方法过程中可供系统存。76.再参照图17,方法中所要执行的电压规则1724会在电路仿真器1722中通过输入具有前述电压规则检查(vrc)参数的模型档(model card)1726来实作。电路仿真器1722中会先输入所要仿真的电路设计的文件,其可能包含从电路图和/或布局衍生出的网表。模型档1726或者是工艺设计套件(pdk)的文件则描述将要被整合在此电路设计中的个别实体元件的特性,此处将所要的虚拟元件1728模型预先设定在该模型档中,并可通过直接调用该模型档的方式将这些虚拟元件模型输入或插入至网表中执行迭(run deck)1730之间的特定位置。上述输入模型档与输入执行迭的动作皆可通过硬件层1700的用户接口1706,如键盘、鼠标等输入装置以及程序操作接口来完成,并执行所欲的电压规则检查。方法中将通过输出装置1708,如显示器、网络、数据机、打印机等装置来传输并展示电压规则检查的警示判定结果1732。此时log档1734可以以文字形式存储违反电压规则检查的错误讯息。如果通过电压规则检查,整个测试报告1736将会被系统生成并通过输出装置1708展示出来,其也可包含相容逗号分隔值(csv)格式的文件。如果未能通过电压规则检查,则可通过输出装置1708检视由虚拟元件与模型触发的违反电压规则检查的警示讯息,以得知违反该安全操作区域设定的布局位置,并在后续针对该位置进行电路修改1738。修改后的电路数据将输入至电路数据库1740,并存储在硬件层1700的高容量存储装置中,如磁盘机1710。磁盘机1710在整个方法执行阶段复可提供与本发明计算机实施方法相关的程序代码与数据来载入dram 1704中并供系统进行相关的运算与处理。77.根据上述的各项实施例,本发明所提出的电压规则检查方法可以通过在网表与电路图中插入带有安全操作区域设定的虚拟元件及其模型的方式来在安全操作区域检查中自由地检查各个节点、多个节点之间、或是电压域之间等特定电路区段的电压的效果,如此能克服已知技术无法标记或检查后段布局绕线之间或是不同电压域或是电路区块之间的跨压的问题,且其范围可涵盖但不限于绕线之间、元件之间、层与层之间、或功能区块之间,并可藉以与电路仿真器的外部工具进行设计最佳化等动作。78.以上所述仅为本发明的优选实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部