混合信号电路模拟器的制作方法

文档序号:6561327阅读:240来源:国知局
专利名称:混合信号电路模拟器的制作方法
技术领域
本发明涉及一种混合信号电路模拟器,更具体地说,涉及一种在设计含有大量电路元件的半导体电路时分析电路元件的电特征并反馈给设计数据的混合信号电路模拟器。
背景技术
在近几年的半导体设计中,随着在同一芯片上混合设计数字电路、模拟电路、存储器电路和RF电路的SOC(芯片上系统)的进步,由于半导体元件的尺寸缩小和低电压,漏电流、线路寄生电容以及工艺波动可靠性等问题已经变得越来越重要了。
对于被要求进行复杂而高级设计的电路设计者而言,模拟所设计的电路是不可避免的。
另一方面,在传统的设计流程中,模拟电路和数字电路是在完全不同的环境中分别开发的。在创建物理布图的阶段之前,并没有把它们一起集合在单个电路上。然而,在当前的SOC设计中,这样的方法不能事先避免系统级别的故障,在当前的SOC设计中,由于模拟电路和数字电路具有复杂的相互作用,因此,需要频繁地要求相当的劳力和时间来进行修改。
为了避免这样的情况,必须在设计的可能的早期阶段进行系统级别的检验并发现问题,从而采取措施进行改进。因此,要求当前的电路模拟器具有高级功能,不仅为了“后布图检验(Post Layout Verification)”,而且也为了能够在“前布图检验”中执行系统级别的检验。已开发出了广泛的电路模拟器,其能够处置作为模拟电路主流的SPICE(带有集成电路重点的模拟程序)、作为数字电路主流的VHDL(甚高速集成电路硬件描述语言)、以及包含Verilog的晶体管级别或高频电路。
然而,与数字电路相比,模拟电路常常不能准确地产生波形,因此,难以实现其模拟自动化。实际上,在常规的模拟电路模拟器中,对所设计的电路进行检验和修改也大部分是人工进行的。下面将要说明常规技术的例子。
常规上,已经提出了各种不同的电路模拟系统。图19示出了电路模拟系统的例子的配置(见JP-A-8-63507(第7页,图1))。由图19可知,在此系统中,通过使用由设计者创建并存储在文件E1中的输入数据E101,输入处理装置E2创建网表数据E102的存储文件E3和图形定义数据E103的存储文件E4。然后,电路模拟器E5创建分析结果数据的存储文件E6。根据文件E4和文件E6,一组数据E110产生并存储在文件E8之中。通过波形显示装置E9将文件E8显示在显示设备E11上。此外,使用图形选择装置E10,仅仅能够选择或重新安排希望的图形。
现在参照图20,说明电路模拟器E5的操作过程。图20是电路模拟器SPICE的暂态分析的执行流程图,在诸如EWS(工程工作站)或PC(个人计算机)之类的计算机中广泛地采用了电路模拟器SPICE。在步骤F1中,进行初始化。通过此初始化,读入网表数据(net list data),从而获得存储在计算机存储器内的、初始状态下每个电路元件的所有端子上的电压和电流。然后,在步骤F2中,用“0”来代替模拟时间“T”。模拟时间“T”随着模拟处理的进行而增加。
在完成一系列的处理操作之后,处理就转移到在步骤F3和其后的循环处理部分之中。首先,在步骤F3,将存储在计算机存储器中的每个节点上的电压值和电流值输出到文件中。在此情况下,如果指定特定节点而不限于所有节点,则仅为此指定的节点执行输出。
然后,在步骤F4中,确定当前模拟时间T是否是模拟终止时间。如果是模拟终止时间,则处理结束。如果不是,则继续进行处理并进入步骤F5。在步骤F5,用步进值的初始恒定值T0来代替时间步进值T0。将步进值Td和模拟时间T的和(T+Td)设置为临时的新模拟时间,从而计算在每个节点上的电压值和电流值。
此后,在步骤F7,确定所有的计算结果是否收敛,以便能够得到所述值。如果收敛,在步骤F8,将模拟时间T更新为T+Td。然后,处理过程回到循环开始处的步骤F3。电路模拟器重复这些系列的操作,直到达到模拟终止时间。
另一方面,在步骤F7,如果计算结果没有收敛,那么,在步骤F9中,减少步进值Td。在步骤F10中,将减少的Td与预定值Tf相比较。如果步进值Td较大,处理过程回到步骤F6,并由此进行计算。然而,如果步进值Td小于预定值Tf,则强制终止模拟处理。
模拟处理的强制终止相当于这样的一种情况,在此情况下,存在有过多的影响模拟准确性的计算误差,或者计算结果没有完全收敛,以致不能得到值。
在上述的常规技术中,通过输出网表数据和图形定义数据,并将这些数据输入到波形显示装置中,则能够在显示设备上显示自动处理的波形图形。然而,波形仍然是由设计者来确认、检验并反映在所设计的电路上的。尚未实现它们的完全自动化。
然而,在设计对象的电路规模增大并且复杂的今日,采用这样的技术则大大增加设计者的工作量,并使得难以有效进行大规模集成电路的设计。
此外,在设计模拟电路的情况下,电路元件的特征会显著地影响整个电路。而且,由于不能容易地改变电路元件的尺寸,因此,难以实现减小电路面积并节省功率。
此外,混合信号电路模拟器与数字电路模拟器相比,操作速度慢,并且开发效率也显著劣化。

发明内容
鉴于上述的情况,完成了本发明。本发明的目的在于,在使用电路模拟器来设计电路时,提供一种混合信号电路模拟器,通过由设计者对显示在显示设备上的波形进行直接操作,其能够容易地修改或变更电路,并实现所希望的电路设计。
此外,除了上述的目的以外,本发明的另一个目的是提供一种混合信号电路模拟器,其能够设计面积更小、功率消耗低的电路。
除了这些目的以外,本发明的另一个目的是提供一种电路模拟器,其能够容易地创建硬件描述语言,并以较高的速度进行模拟。
为了达到上述的目的,根据本发明的混合信号模拟器的特征在于包括网表(net list)输出装置,用于从所创建的电路图的电路信息数据中输出网表数据;电路模拟器,用于根据网表数据和输入信号数据来输出波形数据;输入装置,用于输入具有所希望的值的数据;以及波形分析装置,用于分析波形数据、和由输入装置产生的输入数据,以产生电路参数更新信息。
根据此配置,在不直接修改电路图上的电路参数的情况下,设计者就能够创建生成波形的电路,该波形经过所希望的输入值的附近,因此,能够容易地修改此电路,从而迅速地创建最优的电路。
根据本发明的混合信号电路模拟器的特征在于,波形分析装置在从波形数据选择的波形上选择点,以便分析输入数据和波形数据,从而产生电路参数更新信息。
根据此配置,波形分析装置在从波形数据选择的波形上选择点,以便分析输入数据和波形数据,从而产生电路参数更新信息。因此,在不直接在电路图上修改电路参数的情况下,设计者能够创建生成波形的电路,该波形经过所希望的输入值附近,因此,能够容易地修改该电路,从而迅速地生成最优的电路。
根据本发明的混合信号电路模拟器的特征在于,波形分析装置包括波形编辑装置,用于编辑从波形数据中选择的波形;波形编辑结果分析装置,用于分析由波形编辑装置产生的波形编辑数据,以产生电路参数更新信息。
根据此配置,在不直接在电路图上修改电路参数的情况下,设计者就能够创建具有所希望的波形的电路,因此,能够通过更为直观的操作并且容易地修改电路,从而能够迅速地生成最优的电路。
根据本发明的混合信号电路模拟器的特征在于包括网表变更装置,用于根据电路参数更新信息来改变网表数据;电路信息变更装置,用于根据电路参数更新信息来改变电路信息数据。
根据此配置,在不直接在电路图上修改电路参数的情况下,设计者能够改变网表数据来创建具有所希望的波形的电路,因此,能够通过更为直观的操作并且容易地修改电路,从而迅速地创建最优的电路。
根据本发明的混合信号电路模拟器的特征在于,包括波形显示装置,用于在预定的显示设备上显示从波形数据中选择的波形,并且其中,波形分析装置根据显示在波形显示装置上的波形来执行分析。
根据此配置,不直接修改电路图上的电路参数,设计者就能通过更为直观的操作容易地修改电路,从而,迅速地创建最优的电路。
根据本发明的混合信号电路模拟器,其中,电路信息变更装置根据电路参数更新信息并基于设计规则将电路信息数据改变为固定值。
根据此配置,设计者能够在没有感觉到设计规则的情况下更新电路参数。此外,限制所创建的电路参数更新信息的项目组,以便能够缩短电路模拟的重复时间。
根据本发明的混合信号电路模拟器的特征在于,如果存在能够创建经过由输入装置产生的输入数据附近的波形、或由波形编辑装置编辑的波形的多个项目的电路参数更新信息,那么,最好能选择电路面积最小或电路功率消耗最少的电路参数更新信息。
根据此配置,能够抑制由输入装置或波形编辑装置造成的电路面积和功率消耗的过度增加,从而减少整个半导体集成电路的生产成本和功率消耗。
根据本发明的混合信号电路模拟器的特征在于,波形编辑装置适合于显示正常情况下的波形以及在最好和最坏情况下的波形;以及对于从上述波形中选择的波形,输入装置或波形编辑装置可接受,并且,根据电路参数更新信息,将所有的波形都作为候选,以供重新显示或重新编辑。
根据此配置,可以使设计容限达到最优化,从而,可以设计出具有高质量的半导体集成电路。
根据本发明的混合信号电路模拟器的特征在于,如果没有由波形分析装置或波形编辑结果分析装置创建的电路参数更新信息的项目组,并且,通过改变输入信号数据,电路参数能够存在,则此输入信号数据的着重强调的相关部分显示在显示设备上。
根据此配置,如果没有生成所希望的波形,则能够缩短搜索不能生成的部分所需的时间。
根据本发明的混合信号电路模拟器的特征在于,如果从输入数据输入的波形部分、或从波形编辑数据编辑的波形部分是接连重复的波形的一部分或全部,那么,能从波形数据中得到在重复中的重复的最初模拟时间,并且,在网表变更装置改变了网表之后的电路模拟中,从重复的最初模拟时间或其先前的模拟时间,执行电路模拟。
根据此配置,能够缩短在数值输入之后和波形编辑之后的电路模拟时间,从而可以迅速地重新设计电路。
根据本发明的混合信号电路模拟器的特征在于,还包括网表置换装置,用于使用输入信号数据和库数据从网表数据中输出网表置换数据。
根据本发明的混合信号电路模拟器的特征在于,该电路模拟器包括波形显示装置,用于在预定的显示设备上显示从波形数据中选择的波形;波形选择装置,用于选择显示在显示设备上的波形;波形语言转换装置,用于将由波形选择装置选择的波形转换成硬件描述语言以及库注册装置,用于把由波形语言转换装置产生的硬件描述语言注册在库数据。
根据此配置,可以通过简单操作来产生硬件描述语言,从而能够高速执行重新模拟。
根据本发明的混合信号电路模拟器的特征在于,给出了依赖于硬件描述语言的输出信号作为输入信号映像。
根据此技术,能够创建能够为输入信号产生高质量输出信号的硬件描述语言。
根据权利要求12的混合信号电路模拟器,其中,给出了依赖于硬件描述语言的输出信号作为模拟时间的映像。
根据此技术,能够创建能够为模拟时间产生高质量输出信号的硬件描述语言。
根据本发明的混合信号电路模拟器的特征在于,根据输入信号的上升和下降二者来描述依赖于硬件描述语言的输出信号。
根据此配置,即使输出信号在其上升和下降时的变化程度不同,也能够创建高质量的硬件描述语言。
根据本发明的混合信号电路模拟器的特征在于,通过网表置换装置的置换来注册和使用在正常情况下的硬件描述语言以及在最好和最坏情况下的硬件描述语言。
根据此配置,不仅在正常情况下而且在最好和最坏的情况下,都能实现加速电路模拟,从而缩短电路设计周期。
根据本发明,不直接修改电路图上的电路参数,设计者即能够创建生成经过所希望的输入值附近的波形的电路,使得能够容易地修改电路,从而迅速地创建最优的电路。
此外,能够减少所创建的电路的面积和功率消耗,并进而使设计容限达到最优化。
此外,能够通过简单操作来创建硬件描述语言,从而能够高速地进行重新模拟。


图1是方块图,该图示出了本发明的第一实施例的配置。
图2是波形图,该图示出了模拟时间和Y-G电压。
图3是示意图,该图示出了由设计者输入的显示。
图4是方块图,该图示出了本发明的第二实施例的配置。
图5是用于说明具体例子的恒压产生电路图。
图6是波形图,该图说明了恒压产生电路中的响应方式。
图7是波形图,该图说明了恒压产生电路中的响应方式(此图示出了由电路模拟器进行的收敛处理)。
图8示出了在实际电路设计中的配置,向该电路设计中加入了根据本发明第二实施例的配置(在图4中加入了电路图编辑器、设计规则定义数据和设备库)。
图9是示意图,该图示出了设计规则定义数据的内容。
图10是在波形编辑前后和在电路参数更新后的波形图。
图11是方块图,该图示出了根据本发明第三实施例的配置。
图12说明了电路和网表数据的分级结构。
图13示出了本发明第三实施例中的波形选择方式。
图14示出了通过波形选择得到的数据。
图15示出了从图14所示的数据转换的数据。
图16示出了作为输入电压的映像而注册在库中的程序代码。
图17示出了作为模拟时间的映像而注册在库中的程序代码。
图18是流程图,该图示出了在本发明第三实施例中的库注册过程。
图19示出了模拟电路模拟的现有技术。
图20示出了在模拟电路模拟中的操作处理的执行流程。
具体实施例方式
以下,参照附图来详细说明本发明的各实施例。
实施例1图1是方块图,该图示出了本发明的第一实施例的配置。此实施例的特征在于包括网表输出装置,用于从所创建的电路图的电路信息数据中输出网表数据;电路模拟器,用于根据网表数据和输入信号数据输出波形数据;输入装置,用于输入所希望的值;波形分析装置,用于分析波形数据和由输入装置产生的输入数据,以产生电路参数更新信息。根据此配置,不直接修改电路图上的电路参数,设计者就能创建生成通过所希望的输入值附近的波形的电路,因此能够容易地修改电路,从而迅速地创建最优的电路。
具体地说,如图1所示,根据本实施例的混合信号电路模拟器包括网表输出装置2,用于从保持所设计的电路的信息的电路信息数据1的输入数据中输出网表数据3;电路模拟器5,用于根据网表数据3和输入信号数据4来产生波形数据6;波形显示装置7,用于在显示设备上图形显示波形数据6和由图形选择装置9选择的波形;输入装置10,用于选择显示在显示设备8上的波形的点,输入所希望的值,并向输入数据11输出其结果;波形分析装置12,用于分析输入数据11和波形数据6,以产生电路参数更新信息13;网表变更装置14,用于根据电路参数更新信息13来改变网表数据;以及电路信息数据变更装置15,用于根据电路参数更新信息13来改变电路信息数据1。
由网表输出装置2处理含有由设计者创建的电路信息的电路信息数据1,从而产生含有电路元件信息和电路元件的连接信息的网表数据。根据描述了电路模拟所需的施加电压和施加电流的网表数据3和输入信号数据4、以及模拟条件等来操作电路模拟器5。从而,进行实际电路模拟,以便分析要分析的集成电路。将电路模拟结果输出给波形数据6。将波形数据6输入到波形显示装置7中。波形显示装置7给波形数据6绘图,并将由图形选择装置9选择的图形显示在诸如显示器之类的显示设备上。利用输入装置10,设计者能够选择所选择的图形的波形的点,并将选择的结果存储在输入数据中。利用波形分析装置12来分析输入数据11和波形数据6,以产生电路参数更新信息13。网表变更装置14利用电路参数更新信息13来改变网表数据3的电路参数分量,并进而操作电路模拟器5。用波形分析装置12来分析由此操作产生的波形数据,以便与由设计者输入的输入数据相比较。如果误差在可允许的误差范围内,就用电路信息数据变更装置15来改变电路信息数据1。然而,如果误差不在可允许的误差范围内,就创建与先前模拟中的电路更新信息不同的新的电路更新信息13,并更新网表数据。重复这样的一系列操作。继续此重复,直到误差停留在可允许的误差范围内并且不再能产生电路参数更新信息时。
下面将要说明上述的一系列的操作。
现将参照图2来说明输入装置。图2是波形图,X轴是某块中的模拟时间T,Y轴是输出端子Y-G电压。当输入装置使用指示设备(pointing device)或其替代设备在图2的波形上选择点时,显示图3所示的输入指定屏幕Z1。在此输入指定屏幕上,用t0和V0(分别为实数)来表示在波形上选择的X轴和Y轴上的值。分别为两个轴输入诸如图3中的Z2和Z3的值。应当注意的是,并不需要输入两个值,前述波形上的值用作不输入的值。现在,如果将“V1”(实数)作为Y轴上的值输入,那么,将t0、V1和在t0的波形W2的梯度记录在输入数据中。
如上所述,电路模拟器进行离散模拟,因此,代表波形的数据是离散值。通过使用诸如线性最小二乘方法或增强的(robust)最小二乘方法之类的参数拟合方法、以及诸如插值或平滑样条之类的非参数方法来推导曲线拟合函数,就能够知道在t0的波形梯度。或者,从t0附近经受电路模拟的两个点简单得到该波形梯度。可由如下事实来确定根据电路参数更新信息通过电路模拟而得到的波形(图2中的W5)逼近输入值,上述事实是,输入数据的点(t0,V1)在距离上接近于波形W5,并且波形W5的梯度接近于在t0的波形W2的梯度。通过上面的确定,如果多个项目的电路参数更新信息是候选,那么,在这些候选中,所要选择的是具有最小电路面积和最小功率消耗的候选,其中,最小电路面积通过电路参数计算,最小功率消耗通过电路模拟推导。
实施例2图4是方块图,该图示出了本发明的第二实施例的配置。该实施例的特征在于,在第一实施例中,电压V是作为点的信息由输入装置10输入的,而在此实施例中,由波形编辑装置19输入波形,并由波形编辑结果分析装置21来编辑这样输入的波形。在此实施例中,由于编辑的是波形而不是一个点,因此有利于实现最优化。具体地说,由图4可见,根据本实施例的混合信号电路模拟器包括网表输出装置2,用于从保持所设计电路的信息的电路信息数据1的输入数据中输出网表数据3;电路模拟器5,用于根据网表数据3和输入信号数据4产生波形数据6;波形显示装置7,用于在显示设备8上用图形显示波形数据6和由图形选择装置9选择的波形;波形编辑装置19,用于编辑显示在显示设备8上的波形,并向波形编辑数据20输出结果;波形编辑结果分析装置21,用于分析波形编辑数据20和波形数据6,以产生电路参数更新信息13;网表变更装置14,用于根据电路参数更新信息13来改变网表数据;以及电路信息数据变更装置15,用于根据电路参数更新信息13来改变电路信息数据1。
用网表输出装置2来处理含有由设计者创建的电路的信息的电路信息数据1,并由此产生含有电路元件信息和电路元件的连接信息的网表数据。根据描述电路模拟所需的施加电压和施加电流的网表数据3和输入信号数据4、以及模拟条件等,来操作电路模拟器5。从而,进行实际的电路模拟,以分析要分析的集成电路。并将电路模拟结果输出到波形数据6中。
将波形数据6输入到波形显示装置7中。该波形显示装置7对波形数据6绘图,并在显示器之类的显示设备上显示由图形选择装置9选择的图形。利用波形编辑装置19,设计者在显示设备8上在该设计者所希望的方向上对所选图形的波形的一部分执行诸如移动、放大、复制和置换之类的操作。将结果存储在波形编辑数据20中。对因上述操作而消失的曲线的部分,通过诸如样条之类的曲线插值;在X轴或Y轴上加倍的(doubled)部分中,最好采用设计者设置的波形,并用诸如样条之类的曲线将设计者设置的波形与现有曲线部分相连接。
此外,通过设计者的操纵,能够在曲线上提供任何操纵点。通过操纵该操纵点也能对波形进行编辑。利用诸如键盘或鼠标之类的指示设备及其替代设备也能够进行这些操纵。利用波形编辑结果分析装置21来分析波形编辑数据20和波形数据6,以产生电路参数更新信息13。网表变更装置14使用电路参数更新信息13来改变网表数据3的电路参数分量,并进而操作电路模拟器5。分析由此操作产生的波形数据,以便通过波形编辑结果分析装置21与根据设计者的波形相比较。如果误差在可允许的误差范围内,就用电路信息数据变更装置15来改变电路信息数据1。然而,如果误差不在可允许的误差范围内,就创建与先前模拟中的电路更新信息不同的新的电路更新信息13,并更新网表数据。重复这样的一系列的操作。并继续此重复,直到误差停留在可允许的误差范围内并且不再能产生电路参数更新信息。
现在,将要参照具体的例子来解释上述的一系列的操作。图5是一般公知的恒压产生电路。在图5所示的电路中,如果在端子A和G之间施加电压,并在端子Y和G之间输出对电源电压波动和工艺波动非常稳定的电压。例如,在此图中,假设电阻R1和R2共同具有10μm的长度和1μm的宽度,通过电路模拟显示在显示设备上的波形如图6所示。在图6中,波形W1代表在端子A和G之间的电压(以下称为A-G电压);波形W2代表在端子Y和G之间的电压(以下称为Y-G电压)。在此情况下,在模拟时间t0波形W1产生1.8V的电压,在相同的模拟时间波形W2产生1.1V的电压。在以X轴作为模拟时间、以Y轴作为A-G电压的图形上,波形编辑装置能够规定波形上的任何间隔或任何点,从而修改波形W2。利用波形编辑装置,Y-G电压的波形从W2修改成W3,即,对此波形进行编辑以便在模拟时间t0产生1.4V的电压,波形编辑结果分析装置临时分析由波形编辑装置创建的波形编辑数据。
现在,通过为每个参数添加变量δ,来对图5中的电路元件的电路参数进行多变量分析。下面将参照简单具体的例子来说明此分析。假设图5中的电阻R2的宽度W是(1μ+0.1μ)m,用网表变更装置来更新网表并操作电路模拟器。如图6中的W4所示出的那样,由此电路模拟得到的波形在模拟时间t0产生1.05V的Y-G电压。这个值所显示出的方向与从1.1V到1.4V的意图方向相反。
由此,可以知道,添加在电阻R2的宽度W上的变量δ为δ<0。进而所需要做的事情是循环地操作波形编辑结果分析装置、网表变更装置和电路模拟器,并由此计算出足够接近波形编辑数据的变量δ。为此,收敛算法可以是已知的最大梯度法(SD)、共轭梯度法(CG)或牛顿-拉普森(Newton-Raphson)方法(TN)。在此例子中,由于存在单个变量,例如,根据逐次二分树(serial bisecting tree)方法,假设该变量是具有足够大的绝对值的δ1而且在电阻R2上的电路参数是(1μ+δ1),如果在由电路模拟得到的波形上,在模拟时间t0的Y-G电压超过1.4V,则在0>δ>1的范围中,存在能够获得足够近似于波形编辑数据的波形的电路参数δ。
然后,假设电路参数为(1μ+δ1/2),并获取模拟时间t0的Y-G电压。如果超过1.4V,要获取的电路参数存在于0>δ>δ1/2的范围内。在除上述情况的情况下,电路参数位于δ1/2>δ>δ1的范围内。此后,按照同样的方式,通过继续二分δ1,就能够得到能实现波形编辑数据的电路参数。
在存在单个变量时,上述技术是简单例子。然而,不难以将此技术推广到多变量的情况。例如,在关于电阻R2的L和W的两个变量的分析中,在模拟时间t0的Y-G电压为1.4V,则可以得到L=16μm,W=0.5μm的解。在关于每个电阻R1和R2的L和W的四个变量的分析中,也可以得到解,其给出R1的L=6μm、W=0.25μm和R2的L=14μm,W=0.5μm。
进而,就上述的技术而言,参见图7,将要说明在根据波形编辑数据和电路参数更新数据来执行电路模拟时,与波形数据的一致性。图7是垂直扩展图6的Y-G电压对模拟时间T的图形的图。在图7中,波形W2和W3与图6中的波形一样;波形W5是在根据电路参数更新信息进行电路模拟时的波形。通常,在作为具有参数t的函数而得到Y-G电压的情况下,即表示波形W3的函数为f(t)及表示波形W5的函数为g(t)的情况下,有通过获取互相关函数Rfg(t)并进而计算互相关系数来检测一致性的技术。此外,在实际的协变关系弱的情况下,就可能需要采用部分相关系数。
然而,如上所述,由于波形W2和W5是由电路模拟而得到的波形,因此,它们提供离散值。由于这个缘故,可以推导出上述的曲线拟合函数,并可以推导出离散数据的相关系数。有效的是,波形编辑结果分析装置在赋予与每个电路参数相对应的、具有大绝对值的相关函数优先权的同时,产生电路参数更新信息,并使所产生的信息接近于编辑波形。就每个波形而言,如果由于在图5中未示出的外部电路而有噪声分量,就可以通过其傅利叶变换,并适当地执行低通、中通或高通滤波来抑制其影响。根据信号理论可知的是,上述操作对于改进检测一致性的准确性是有用的(Donald B.Percival,andAndrew T. Walden.Spectral Analysis for Physical ApplicationsMultitaper andConventional Univariate Techniques.CambridgeCambridge University Press,1993)。
由此得到的电路参数更新信息反映在电路信息数据上。在此情况下,可以在电路图编辑器上确认在改变前后的电路信息的值,并可将所述值显示为变化表。
在此实施例中,将X轴设置为模拟时间并将Y轴设置为端子电压。然而,无需说明的是,对于X轴和Y轴的每个,能够设置其它的物理量,诸如电压、电流和频率。
此外,在有多个电路参数更新信息项目组的情况下,可以通过优先选择电路面积最小、且由电路模拟得到的功率消耗最少的组,来设计具有较小面积和较少功率消耗的半导体。
现在参照图8来说明混合信号模拟。在图8中,将电路图编辑器16、设计规则定义数据17和设备库18添加到图4。设计规则定义数据包含用在电路图编辑器中的每个元件的物理限制信息。该物理限制信息很大地取决于制造工艺,例如晶体管元件的栅极的最小尺寸、最小导线宽度、以及导线间的最小尺寸,此外还包括其增加的宽度、元件间的最小间隔、以及在抽出设备模型时由线性度和误差范围决定的每个元件的最大尺寸。参照图9来说明在图5中说明的电阻器。用步进值1μm为单位来表示L和W。设计规则定义数据包括电阻设备模型res_areal 1,其中,(L,W)位于由左下方点(1μm,1μm)和右上方点(4μm,4μm)表示的区域1的范围中;以及电阻设备模型res_areal 2,其中,(L,W)位于由左下方点(4μm,3μm)和右上方点(7μm,6μm)表示的区域2的范围中。在创建布图或输出网表数据时将要应用这些信息项目。进而,将设备模型res_area 1和res_area 2存储在设备库中。
除了上述的实施例外,通过将设计规则定义数据作为对波形编辑结果分析装置的输入而参照,可以将电路参数更新信息组限于离散值,进而能够设置电路参数的上限和下限。此外,由于使用了适合的设备模型,因而能够缩短不必要的重新模拟时间,并且能够生成由设计规则驱动的电路参数。
进而,设备库依据工艺和温度来存储在最好情况、最坏情况和正常情况下的设备模型。因此,通过在正常情况下得到电路参数更新信息之后,在最好情况和最坏情况下执行电路模拟,并通过在相同的显示设备上显示由编辑前后的波形和更新的电路参数实现的上述情况下的波形,设计者能够容易地知道电路参数对最好情况和最坏情况的影响。此外,如果波形分析装置适合于编辑从正常、最好和最坏情况下的波形中选择的一个波形,那么,除了使用编辑的波形外,设计者还能够进行适合于工艺波动的电路设计。
除了上述的配置外,通过将关于禁止电路参数变化的电路元件或电路块的信息添加到上述的设计规则定义数据中,并通过防止与此信息相对应的电路参数通过波形编辑结果分析装置而被添加到电路参数更新信息中,就可以不针对例如寄生电容或寄生电阻分量而更新电路参数。因此,该电路参数也能用于后布图检验。
下面将说明不能得到满足波形编辑数据的电路参数更新信息的情况。在此情况下,不能在由设计规则定义数据表明的电路参数范围中实现电路设计。这相当于强制终止图20中的电路模拟器的情况。因此,不能用现有的电路配置来实现电路设计。在此情况下,临时改变输入信号数据以便确定是否有满足波形编辑数据的电路参数。在上述的实施例中,通过固定输入波形,得到满足波形编辑数据的电路参数。现在,固定波形编辑数据,并对电路参数进行多变量分析,以得到最近似于输入波形的电路参数。通过在相同的显示设备上显示这样得到的输入波形和输入信号数据,设计者能够容易地确定输入信号的有效性和改变规格的必要性,以缩短设计周期。
在上述的实施例中,针对只编辑单个波形的情况说明了上述方法。然而,此方法也适用于同时编辑在同一端子上或不同端子上的多个物理量的情况。
图10示出了在此实施例中的编辑周期性波形的情况。在图10中,波形W6表示编辑前的波形,波形W7表示编辑后的波形。在此情况下,波形编辑结果分析装置能够根据自相关函数计算编辑前的波形的周期性。如果识别了此周期性并能临时保存在电路模拟中每个节点上的收敛电压和电流,就能够中途执行电路模拟,而不从模拟时间t0开始执行。例如,在图10中,如果将收敛电压和电流临时保存在文件之中,并从模拟时间t3识别上述周期性的第一周期,从模拟时间t2进行重新模拟,则能获得波形W8。因此,能够缩短模拟时间。
实施例3图11是方块图,该图示出了根据本发明第三实施例的配置。如图11所示,此实施例包括网表输出装置2,用于从所创建的电路图的电路信息数据1中输出网表数据3;网表置换装置22,用于利用输入信号数据4和库数据26从网表数据3中输出网表置换数据;电路模拟器5,用于根据网表置换数据27和输入信号数据4来输出波形数据6;波形显示装置7,用于在显示设备上用图形来显示波形数据6和由图形选择装置9选择的波形;波形显示装置7,用于在预定的显示设备8上显示由波形数据6选择的波形;波形选择装置23,用于选择显示在显示设备8上的波形;波形语言转换装置24,用于将由波形选择装置23选择的波形转换成硬件描述语言;以及库注册装置25,用于通过波形语言转换装置24在库数据26中注册硬件描述语言。
本实施例与第一和第二实施例的不同之处在于,在使用输入信号数据4和库数据26将网表数据3转换成网表置换数据27之后,执行电路模拟;此外还提供了波形语言转换装置24,用于将由波形选择装置23选择的波形转换成硬件描述语言;以及库注册装置25,用于在库数据26上注册由波形语言转换装置24创建的硬件描述语言、和输入信号数据4。
首先,参照图12来说明电路块的分级结构。图12示出了在各层中具有电路块TOP、电路块A、B以及电路块C、REF的分级结构。通常,设计者先开始创建低层,即电路块C、REF,最后创建电路块TOP。在各层之间有内涵关系。具体地说,电路块TOP包含电路块A和B;而电路块A包含电路块C和REF。因此,能够重复使用所述电路块,以便有效地进行电路设计。如图12所示,网表数据也能具有相同的分级结构。具有这种结构的网表数据称为分级网表数据。另一方面,将没有这种结构的网表数据称为平面网表数据。此外,将与所包含的电路块相对应的网表数据分量称为子电路。一般的电路模拟器能够处置分级网表数据。进而,对于每个子电路,混合信号电路模拟器不仅能够使用SPICE,而且能够使用诸如VHDL或Verilog之类的硬件描述语言或系统语言。
下面将说明库26的注册方法。图13示出了在图5所示的电路中的响应波形,用X轴作为模拟时间,用Y轴作为输入端子A的电压和输出端子B的电压(两者都接地到端子G)。图18是注册到库数据上的执行流程图。现在,在显示设备上显示在端子A上的电压波形W1和在端子B上的电压波形W2,在使用例如指示设备的具体模式中,选择波形W2上的点Z4。在响应于此操作时,波形选择装置23在最大值和最小值方向上从波形W2的点Z4附近获取波形上模拟时间和端子Y电压表示的点组。可以通过上述波形的拟合来得到波形的最大值和最小值。在此例子中,假设单调上升和单调下降,则继续进行点组的获取,直到附近点上的电压进入预定的误差范围为止。然后,波形选择装置23要求指定要作为输入信号处理的节点。现在,假定所指定的是端子A。这样,波形选择装置23扫描波形W1上点Z4的模拟附近的点,从而像在波形W2中那样,得到由模拟时间和端子A的电压表示的点组。继续此操作,直到附近点的电压进入预定的误差范围为止。照此方式,能够得到两类点组。去除或补充在两组之间的电压值的过剩/不足量。图14示出了由此得到的点表。
然后,指定作为映像源的轴。在此情况下,能够指定代表模拟时间的X轴和代表端子A电压的Y轴。现在,假设指定了X轴。这样,利用在模拟时间T0上设置的在端子A上的第一电压变化来产生一系列数据。这就是说,将图14的表转换成图15的表。利用上述的技术,通过曲线拟合此表上的第一和第三行,就能使用作为参数的、在端子A的上升侧上的模拟时间来得到端子Y的响应函数R(t)。在端子A的下降侧上进行同样的操作,以得到端子Y的响应函数F(t)。
随后,波形语言转换装置产生由图17表示的硬件描述语言。现在,从顶部开始的数字和冒号“”代表相应的行号。0002行表示端子A,0003行表示端子Y,在0012行中的RMAXTIME代表在图15中的第一行上的最大值,即在上升侧上的曲线拟合函数中的模拟时间的最大值。FMAXTIME相当于在下降侧上的最大值。在0035行,嵌入所得到的响应函数R(t);在0040行,嵌入所得到的响应函数F(t)。
最后,库注册装置注册作为同一组的硬件描述语言、创建日期和输入数据4,并根据与子电路名称相关的唯一名称来标识这个组。
上述的说明与创建硬件描述语言的方法相关,而此硬件描述语言是作为模拟时间的映像给出的。
上面的情况针对在端子Y上的波形从在端子A上的波形延迟的情况。然而,对于没有延迟、或使用子电路之外的延迟元件等效表示的端子Y,能够将它直接表达为端子A的映像。例如,在将波形W1的函数表示为Va=I(t)时,如果用Vy=H(t)来表示在端子Y上的模拟时间的波形,那么,就能够用函数H(I-1(Va))来表示对于端子A的端子Y的波形。图6示出了在此情况下的库注册数据。在图16的0020行中,嵌入了所得到的函数。
进而,通过在最好和最坏情况下执行此操作,能够生成具有较高准确度的库数据,并能通过网表置换装置22的置换来使用该库数据。在此情况下,通过用电源电压来规范化图14的表,能在大范围内将库数据用于电源电压。
在下一模拟中,用图11的网表置换装置22在子电路单元中置换这样产生的库数据。随后,执行电路模拟。为了确认兼容性,网表置换装置关于下列情况(1)和(2)向设计者询问存在或不存在置换(1)输入信号4不同于在库中所注册的输入信号;以及(2)在包括电路信息数据1中的相关电路的分级关系中,在库注册之后存在电路更新。照此方式,即使在端子A上有突变电压,仍然能够安全地执行电路模拟。
在上述的实施例中,在显示设备8上显示波形数据。然而,无需说明的是,并非一定需要包含显示设备的波形显示装置,而是可以通过运算处理校正波形数据6以产生所希望的值。
本发明能够用于设计使用混合信号电路模拟器的电路,不仅适合于模拟电路和数字电路的复合电路,而且也适合于只有模拟电路的情况。
权利要求
1.一种混合信号模拟器,包括网表输出单元,从所产生的电路图的电路信息数据中输出网表数据;电路模拟器,根据网表数据和输入信号数据来输出波形数据;输入单元,输入具有所希望的值的数据;以及波形分析器,分析波形数据和由输入单元产生的输入数据,以产生电路参数更新信息。
2.根据权利要求1的混合信号电路模拟器,其中,波形分析器在根据波形数据选择的波形上选择点,以分析输入数据和波形数据,从而产生电路参数更新信息。
3.根据权利要求1的混合信号电路模拟器,其中,波形分析器包括波形编辑器,编辑从波形数据中选择的波形;波形编辑结果分析器,分析由波形编辑器产生的波形编辑数据,以产生电路参数更新信息。
4.根据权利要求2的混合信号电路模拟器,还包括网表变更器,根据电路参数更新信息来改变网表数据;电路信息变更器,根据电路参数更新信息来改变电路信息数据。
5.根据权利要求2的混合信号电路模拟器,还包括波形显示器,在预定的显示设备上显示从波形数据中选择的波形,其中,波形分析器根据在波形显示器上显示的波形来进行分析。
6.根据权利要求4的混合信号电路模拟器,其中,电路信息变更器根据电路参数更新信息并基于设计规则将电路信息数据改变为固定值。
7.根据权利要求2的混合信号电路模拟器,其中,如果存在多个项目的能够生成通过由输入单元产生的输入数据附近的波形或由波形编辑器编辑的波形的电路参数更新信息,则能够优先选择具有最小电路面积或最小电路功率消耗的电路参数更新信息。
8.根据权利要求5的混合信号电路模拟器,其中,波形编辑器适合于显示在正常情况下的波形、以及在最好和最坏情况下的波形;以及对于从上述波形中选择的波形,输入装置或波形编辑器可接受,并且,根据电路参数更新信息,所有的波形作为重新显示或重新编辑的候选。
9.根据权利要求5的混合信号电路模拟器,其中,如果没有由波形分析器或波形编辑结果分析器创建的电路参数更新信息的项目组,并且,通过改变输入信号数据,电路参数能够存在,则所述输入信号数据的着重强调的相关部分显示在显示设备上。
10.根据权利要求5的混合信号电路模拟器,其中,如果从输入数据输入的波形部分、或从波形编辑数据编辑的波形部分是连续重复的波形的一部分或全部,则从波形数据中得到在重复中的重复的最初模拟时间,并且,在网表变更器改变了网表之后的电路模拟中,在重复的最初模拟时间或其先前的模拟时间,执行电路模拟。
11.根据权利要求1的混合信号电路模拟器,还包括网表置换单元,使用输入信号数据和库数据从网表数据中输出网表置换数据。
12.根据权利要求1的混合信号电路模拟器,所述电路模拟器包括波形显示器,在预定的显示设备上显示从波形数据中选择的波形;波形选择器,选择显示在显示设备上的波形;波形语言转换器,将波形选择器选择的波形转换为硬件描述语言;以及库注册器,在库数据上注册由波形语言转换器产生的硬件描述语言。
13.根据权利要求12的混合信号电路模拟器,其中,根据硬件描述语言的输出信号作为输入信号的映像而给出。
14.根据权利要求12的混合信号电路模拟器,其中,根据硬件描述语言的输出信号作为模拟时间的映像而给出。
15.根据权利要求14的混合信号电路模拟器,其中,关于输入信号的上升和下降二者描述了根据硬件描述语言的输出信号。
16.根据权利要求13的混合信号电路模拟器,其中,通过网表置换装置的置换来注册和使用在正常情况下的硬件描述语言以及在最好和最坏情况下的硬件描述语言。
全文摘要
选择由电路模拟器产生的波形。对波形上的点或波形,获取由输入装置输入的输入数据(11)。用波形分析装置(12)分析所选择的波形和输入数据(11),以产生电路参数更新信息(13)。根据电路参数更新信息(13),更新网表数据并循环地操作电路模拟器(5)。这样,就能够实现能产生所希望的波形的电路设计。
文档编号G06F17/50GK1959684SQ20061012166
公开日2007年5月9日 申请日期2006年8月28日 优先权日2005年10月31日
发明者冈本吉永 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1