用以调整电路符号的方法及系统与流程

文档序号:11134227阅读:760来源:国知局
用以调整电路符号的方法及系统与制造工艺

本发明通常涉及电路的电脑辅助设计,尤其涉及可用于以第二电路符号替代电路原理图中的第一电路符号的情境中的方法及系统。



背景技术:

在电子电路的电脑辅助设计中,可使用电子设计自动化工具。电子设计自动化工具可以软件形式提供,该软件包括指令,该指令可由计算机执行以处理表示电路原理图的数据。该电路原理图可包括表示例如晶体管、二极管、电阻器、电容器及电感的电路元件的电路符号。另外,该电路原理图可包括表示该些电路元件之间的电性连接的导线。

表示电路原理图的数据可定义电路符号、导线和/或其元素的位置及取向,其定义例如在电脑显示器和/或电路原理图的打印输出上所绘制的电路符号、导线和/或其元素的位置及取向。这些位置通常不同于在电路实际物理实施时所设置的电路元件及电性连接的位置及取向。

各电路符号可包括一个或多个所谓的引脚,该些引脚可用以定义与电路元件的部分的连接。例如,场效应晶体管的电路符号通常可具有栅极、源极、漏极以及可选的块体引脚。该些引脚可用以定义电路中与该电路元件的电性连接,其中,当在引脚的位置设置表示电性连接的导线的端部时,尤其是当该导线的该端部与位于引脚的位置的中心的引脚形状(例如矩形或圆形)接触时,可认为已经与电路元件的部分形成电性连接。

除引脚外,电路符号还可包括作为表示电子装置的图标绘制的原图(artwork),以及参数和/或文本。

电路符号及其元素的位置,尤其引脚的位置,可被定义于网格上,该网格确定其布置的最小粒度(granularity)。

在半导体工业中,制程设计套件(process design kits;PDKs)可由晶圆代工厂提供。除设计规则、晶体管的仿真模型及布局信息以外,制程设计套件可定义电路符号以用于电子设计自动化工具中。尽管已尝试提供制程设计套件中所使用的电路符号的标准化,例如OpenPDK原理图符号标准(见例如文档“OpenPDK Schematic Symbol Standard”,V1.0,2012年5月24日,由Silicon Integration Initiative(Si2TM)组织公布,ISBN:1-882750-63-2),但其中采用专有电路符号的制程设计套件仍在使用。这些专有电路符号可不同于标准电路符号,尤其就引脚的位置、以及电路符号的尺寸、原点、旋转和/或反射而言。

当电路原理图从第一制程设计套件(process design kit)被转换为第二制程设计套件时,例如从其中使用专有电路符号的制程设计套件转换为其中使用标准电路符号(例如依据OpenPDK V1.0标准的电路符号)的制程设计套件时,可能发生问题,该些问题尤其可能与引脚的不同位置有关。如上所述,由于引脚的位置与确定装置的连接相关,因此用具有不同引脚位置的第二制程设计套件的电路符号替代第一制程设计套件的电路符号可能导致连接性丧失。因此,除电路符号的替代以外,进一步的调整可能是必要的。

美国专利公开号2014/0039846披露一种信息处理方法,其包括:当接收到用第二类别的第二组件替代第一组件的第一指令时,由电脑识别包括于包括多个组件的电路数据中的第一类别的第一组件;生成将要在其上布置该第二组件的层;获取该第一组件的引脚与该第二组件的引脚之间的关联性;以及基于该关联性用布置于该些层上的该第二组件替代该第一组件。

将电路原理图从第一制程设计套件转换为第二制程设计套件的已知方法通常依赖经验用户定义的映射文件或类似查表机制,这些文件或机制的提供可能需要较大量的工作。而且,在一些情况下,对于替代、旋转、移动和/或重新布线电路符号,可能需要用户手动输入。

本发明提供有助于基本克服或至少减轻上述问题的其中一些或全部的方法及系统。



技术实现要素:

下面提供本发明的简要总结,以提供本发明的一些态样的基本理解。本发明内容并非详尽概述本发明。其并非意图识别本发明的关键或重要元件或划定本发明的范围。其唯一目的在于提供一些简化的概念,作为后面所讨论的更详细说明的前序。

本文中所述的一种示例方法包括获得表示第一电路符号的第一数据。该第一电路符号具有多个第一引脚。各第一引脚具有与其关联的第一位置向量。获得表示第二电路符号的第二数据。该第二电路符号具有多个第二引脚。各第二引脚具有与其关联的第二位置向量。各该多个第二引脚与该多个第一引脚的其中相应一个对应。确定将位置向量映射至变换位置向量的调整变换。该调整变换最大限度地降低基于一个或多个偏差的误差测量。各偏差是变换位置向量与关联该第一引脚的其中一个的该第一位置向量之间的偏差。通过将该调整变换应用于与对应该第一引脚的该第二引脚关联的该第二位置向量可获得该变换位置向量。

本文中所述的另一种示例方法包括获得表示第一电路符号的第一数据。该第一电路符号具有多个第一引脚。各第一引脚具有与其关联的第一位置向量。获得表示第二电路符号的第二数据。该第二电路符号具有多个第二引脚。各第二引脚具有与其关联的第二位置向量。各该多个第二引脚与该多个第一引脚的其中相应一个对应。确定将位置向量映射至变换位置向量的调整变换。该调整变换的该确定包括计算调整取向矩阵。该调整取向矩阵的该计算包括形成第一引脚位置矩阵及第二引脚位置矩阵。各该第一引脚位置矩阵及该第二引脚位置矩阵具有等于或大于该多个第一引脚的数目及该多个第二引脚的数目的行数。该第一引脚位置矩阵的各该行包括通过自第一组位置向量的相应成员减去包括该多个第一位置向量以及如果该第一引脚位置矩阵及该第二引脚位置矩阵的行数大于该多个第一引脚的数目及该多个第二引脚的数目时,该多个第一位置向量的至少其中一个的至少一个副本的第一组位置向量的平均数所获得的相应向量的分量。该第二引脚位置矩阵的各该行包括通过自第二组位置向量的相应成员减去包括该多个第二位置向量以及如果该第一引脚位置矩阵及该第二引脚位置矩阵的行数大于该多个第一引脚的数目及该多个第二引脚的数目时,该第二位置向量的至少其中一个的至少一个副本的第二组位置向量的平均数所获得的相应向量的分量。该调整取向矩阵的该计算还包括计算该第一引脚位置矩阵及该第二引脚位置矩阵的其中一个的伪逆,以及将该第一引脚位置矩阵及该第二引脚位置矩阵的该其中一个的该伪逆与该第一引脚位置矩阵及该第二引脚位置矩阵的其中另一个相乘。

本文中所披露的一种示例系统包括存储器以及调整变换计算器。该存储器包括第一数据及第二数据。该第一数据表示第一电路符号。该第一电路符号具有多个第一引脚。各该多个第一引脚具有与其关联的第一位置向量。该第二数据表示第二电路符号。该第二电路符号具有多个第二引脚。各该多个第二引脚具有与其关联的第二位置向量,且各该多个第二引脚与该多个第一引脚的其中相应一个对应。该调整变换计算器确定将位置向量映射至变换位置向量的调整变换。该调整变换最大限度地降低基于一个或多个偏差的误差测量。各偏差是变换位置向量与关联该第一引脚的其中一个的该第一位置向量之间的偏差。通过将该调整变换应用于与对应该第一引脚的该第二引脚关联的该第二位置向量可获得该变换位置向量。

本文中所披露的另一种示例系统包括用以获得表示第一电路符号的第一数据的构件。该第一电路符号具有多个第一引脚。各该多个第一引脚具有与其关联的第一位置向量。该系统另外包括用以获得表示第二电路符号的第二数据的构件。该第二电路符号具有多个第二引脚。各该多个第二引脚具有与其关联的第二位置向量,且各该多个第二引脚与该多个第一引脚的其中相应一个对应。该系统还包括用以确定调整变换的构件。该调整变换将位置向量映射至变换位置向量,其中,该调整变换最大限度地降低误差测量。该误差测量基于一个或多个偏差。各偏差是变换位置向量与关联该第一引脚的其中一个的该第一位置向量之间的偏差。通过将该调整变换应用于与对应该第一引脚的该第二引脚关联的该第二位置向量可获得该变换位置向量。

本文中所述的示例电脑可读储存媒体包括代码以使电脑获得第一数据、获得第二数据以及确定调整变换。该第一数据表示第一电路符号。该第一电路符号具有多个第一引脚。各第一引脚具有与其关联的第一位置向量。该第二数据表示第二电路符号。该第二电路符号具有多个第二引脚。各该多个第二引脚具有与其关联的第二位置向量。各该多个第二引脚与该多个第一引脚的其中相应一个对应。该调整变换将位置向量映射至变换位置向量。该调整变换最大限度地降低基于一个或多个偏差的误差测量。各偏差是变换位置向量与关联该第一引脚的其中一个的该第一位置向量之间的偏差。通过将该调整变换应用于与对应该第一引脚的该第二引脚关联的该第二位置向量可获得该变换位置向量。

附图说明

参照下面的说明并结合附图可理解本发明,这些附图中类似的附图标记代表类似的元件,以及其中:

图1及2示意显示晶体管符号;

图3示意显示电路原理图;

图4显示图1及2的晶体管符号相对电路符号主坐标系统的布置;

图5示意显示图1及2的晶体管符号在对其中一个晶体管符号应用调整变换以后相对该电路符号主坐标系统的布置;

图6显示晶体管符号替代以后的图3的电路原理图;

图7及8示意显示电阻器符号;

图9示意显示电路原理图;

图10显示对其中一个电阻器符号应用调整变换以后图7及8的电阻器符号;

图11显示电路符号替代以后的图9的电路原理图;

图12示意显示本文中所述的系统;以及

图13显示本文中所述的方法的流程图。

尽管本文中所披露的发明主题容许各种修改及替代形式,但附图中以示例形式显示本发明主题的特定实施例,并在此进行详细说明。不过,应当理解,本文中对特定实施例的说明并非意图将本发明限于所披露的特定形式,相反,意图涵盖落入由权利要求定义的本发明的精神及范围内的所有修改、等同及替代。

具体实施方式

下面说明本发明的各种示例实施例。出于清楚目的,不是实际实施中的全部特征都在本说明书中进行说明。当然,应当了解,在任意此类实际实施例的开发中,必须作大量的特定实施决定以满足开发者的特定目标,例如符合与系统相关及与商业相关的约束条件,该些约束条件因不同实施而异。而且,应当了解,此类开发努力可能复杂而耗时,但其仍然是本领域技术人员借助本发明所执行的常规程序。

现在将参照附图来说明本发明。附图中示意各种结构、系统及装置仅是出于解释目的以及避免使本发明与本领域技术人员熟知的细节混淆,但仍包括该些附图以说明并解释本发明的示例。本文中所使用的词语和词组的意思应当被理解并解释为与相关领域技术人员对这些词语及词组的理解一致。这里的术语或词组的连贯使用并不意图暗含特别的定义,亦即与本领域技术人员所理解的通常或惯用意思不同的定义。若术语或词组意图具有特定意思,亦即不同于本领域技术人员所理解的意思,则此类特别定义会以直接明确地提供该术语或词组的特定定义的定义方式明确表示于说明书中。

本文中披露的实施例提供用于包括具有不同电路符号足印(footprint)的实例主符号的制程设计套件之间的电路原理图转换的系统及方法。本文中所述的技术可包括电路符号的实例的反射(镜像)、旋转及平移的自动更正,重新定位的实例的重新布线以重新建立正确的电路连接性,以及/或者网表的比较以验证连接性保持的其中一种或多种。利用引脚位置矩阵的奇异值分解可自动确定制程设计套件的电路符号足印之间的调整变换。可将坐标取整为对齐网格(snap grid)。所得的误差向量可被计算并转换成导线坐标。

在一些实施例中,储存于数据库(例如OpenAccess)中的电路原理图可包含具有实例变换信息的电路符号的实例。电路原理图中的独立电路元件的符号可以作为实例主符号的电路符号的实例的形式提供,其中,电路符号的各实例包括实例变换信息,该实例变换信息可定义应用于实例主符号以提供电路符号的相应实例的旋转、反射和/或平移(位移)。

对于第一电路符号的各实例,实例变换信息可经储存及恢复以将该第一电路符号的该实例反射、旋转和/或移动至原点。接着,针对该电路符号的该实例的实例主符号所确定的调整变换可应用于将要替代该第一电路符号的该实例的第二电路符号的实例,其可包括执行该实例的反射、旋转和/或平移。接着,所储存的实例变换信息可用以将已应用调整变换的该第二电路符号的该实例变换至电路原理图中的目标位置。另外,基于针对主符号计算的导线坐标可提供导线,且利用针对该第一电路符号的该实例所储存的实例变换,可将该些导线变换至电路原理图中的位置。在这些原理图处理操作之前及之后,可将电路原理图转换成网表,并可使用标准的网表比较工具来验证电路的连接性的保持状况。

在一些实施例中,在调整变换的确定以及任意原理图处理操作之前,可执行电路原理图及电路符号的缩放以及/或者对齐网格(snap grid)的缩放。在一些实施例中,替代使用符号主坐标中的调整变换,以及该调整变换及重新布线以后的所储存及重新应用的实例变换,在电路原理图坐标中可确定该第二电路符号的各实例的实例变换。

下面将参照附图说明有关将电路原理图从第一制程设计套件转换为第二制程设计套件的技术的实施例。

图1显示作为N沟道场效应晶体管的实例主符号由第一制程设计套件提供的第一晶体管符号100的示意视图。第一晶体管符号100包括源极引脚101、漏极引脚102、栅极引脚103以及本体引脚104。各引脚101、102、103、104可具有中心点及尺寸。在图1中,引脚101、102、103、104的尺寸由方块示意显示,其中,引脚101、102、103、104的中心点通常位于该些方块的中心,是该些方块的对角线相交的点。

引脚101、102、103、104的中心点可位于对齐网格106的多个网格点处。对齐网格106可为多个网格点的规则方形点阵。在图1中,附图标记107示例表示对齐网格106的多个网格点的其中一个。在图1的绘制平面中,对齐网格106的第一网格轴(本文中有时表示为“x轴”)沿水平方向延伸,且对齐网格106的第二网格轴(本文中有时表示为“y轴”)沿垂直方向延伸。图1中所示的对齐网格106的多个网格点之间的间距仅为示例性质,在一些实施例中,可使用更大或更小的间距。

在图1中,附图标记105表示电路符号主坐标系统的原点,该原点可位于对齐网格106的网格点107的其中一个之处。附图标记108、109分别表示该电路符号主坐标系统的x轴及y轴,它们与对齐网格106的x轴及y轴对应。

引脚101、102、103、104的中心点的位置可由位置向量表示,其中,相应位置向量与各引脚101、102、103、104关联。该些位置向量可为二维向量,各位置向量具有x分量及y分量,其中,x分量表示沿x轴108的引脚的中心点与原点105之间的距离,且y分量表示沿y轴109的引脚的中心点与原点105之间的距离。例如,与源极引脚101及漏极引脚102关联的位置向量可分别具有为0的x分量以及与引脚101、102的中心点与原点105之间的相应距离对应的y分量。与栅极引脚103及本体引脚104关联的位置向量具有为0的y分量以及非零的x分量。

下面,为方便起见,有时会将引脚101、102、103、104的中心点的位置表示为“引脚的位置”。

除引脚101、102、103、104以外,第一晶体管符号100可包括原图,该原图用以表示该N沟道场效应晶体管的图标的绘制。另外,依据已知电子设计自动化工具中所使用的已知电路符号,第一晶体管符号100可包括其它元件(图1中未显示),例如,实例边界、参数和/或文本。

为提供第一晶体管符号100,该第一制程设计套件可包括表示第一晶体管符号100的数据。

第一晶体管符号100可用以提供电路原理图。图3示意显示电流镜电路的电路图300。电路图300包括第一晶体管符号100的两个实例,该两个实例由附图标记100a及100b表示,并代表该电流镜电路的两个N沟道场效应晶体管。

在图3中,第一晶体管符号100的实例100a、100b的源极引脚分别由附图标记101a及101b表示,漏极引脚分别由附图标记102a及102b表示,栅极引脚分别由附图标记103a及103b表示,以及本体引脚分别由附图标记104a及104b表示。电路原理图300可以表示电路原理图300的数据形式提供,该数据可通过作为电子电路的电脑辅助设计的工具的电脑程序的方式创建。为提供第一晶体管符号100的实例100a、100b,表示电路原理图300的数据可包括针对各实例100a、100b定义第一晶体管符号100的实例将被列入该电路原理图中的数据,以及将上面参照图1所述的电路符号主坐标系统(其包括原点105及坐标轴108、109)中的位置向量映射至电路原理图300的原理图坐标系统中的位置向量的实例变换。在图3中,附图标记301表示该原理图坐标系统的原点。另外,该原理图坐标系统可具有x轴320及y轴321。在图3的绘制平面中,x轴320沿水平方向延伸,且y轴沿垂直方向延伸。

与第一晶体管符号100的实例100a关联的实例变换定义原理图坐标系统中的实例100a的元件(例如引脚101a、102a、103a、104a)与作为电路符号主坐标系统中的实例100a的实例主符号的第一晶体管符号100的相应元件的位置之间的关系。实例变换可为二维刚性变换,该变换可包括反射、旋转和/或平移(位移)。类似地,第一晶体管符号100的实例100b可具有与其关联的实例变换,该变换定义原理图坐标系统中的实例100b的元件的位置(例如实例100b的引脚101b、102b、103b、104b的位置)与电路符号主坐标系统中的第一晶体管符号100的相应元件(例如引脚101、102、103、104)的位置之间的关系。与实例100b关联的实例变换可为二维刚性变换,其包括通常不同于与实例100a关联的实例变换的反射、旋转和/或平移。如此,实例100a、100b可设于电路原理图300中的不同位置,且它们可具有不同的取向,如图3中所示。在图3的示例中,与实例100a关联的实例变换可定义平移以及在y坐标轴321的反射。与实例100b关联的实例变换可仅定义平移。

在一些实施例中,实例变换可依据下面的式子以实例取向矩阵Ri及实例平移向量ti的形式提供:

qk=Ripk+ti (1)

其中,pk表示电路符号主坐标系统中的第一晶体管符号100的引脚101、102、103、104的第k个的位置向量,且qk表示原理图坐标系统中第i个实例的引脚的第k个的位置向量。ti表示与第一晶体管符号100的第i个实例关联的二维实例平移向量,且Ri表示与第一晶体管符号100的第i个实例关联的2×2实例取向矩阵,其可定义旋转和/或反射。实例取向矩阵Ri可表示为反射矩阵si与旋转矩阵Ri,θ的积Ri=siRi,θ

在图1及3的示例中,实例100a可由索引i=1表示,且实例100b可由索引i=2表示。源极引脚101、101a、101b可由索引k=1表示,漏极引脚102、102a、102b可由索引k=2表示,栅极引脚103、103a、103b可由索引k=3表示,以及本体引脚104、104a、104b可由索引k=4表示。

在提供包括不同于晶体管符号的电路符号的电路原理图的实施例中,该电路原理图中的该些电路符号也可以实例主符号的实例形式提供,其中,各实例具有与其关联的实例变换,该实例变换将电路符号主坐标系统中的位置向量映射至原理图坐标系统中的位置向量,其中,该实例变换以取向矩阵及平移向量的形式提供。下面将详细说明其中使用不同于晶体管符号的电路符号的示例实施例。

电路原理图300中的位置可设于具有预定间距的多个网格点107的对齐网格上,与上面参考图1所述的对齐网格106类似。为方便起见,在图3中已略去该对齐网格。实例变换的平移向量的分量可限于对齐网格的间距的倍数,且实例变换的取向矩阵可限于定义旋转角度为90°的倍数的旋转以及围绕x轴及y轴的反射的矩阵。如此,可确保实例100a、100b的引脚101a、101b、102a、102b、103a、103b、104a、104b的位置位于对齐网格的网格位置。

旋转矩阵Ri,θ可为具有旋转角度θ的如下形式的矩阵。

反射矩阵可为定义在x轴的反射的一个矩阵定义在y轴的反射的一个矩阵以及无反射的二维单位矩阵的其中一个。

因此,当旋转限于旋转角度θ为90°的倍数时,实例取向矩阵Ri的各元素具有值-1、0及1的其中一个,从而可避免三角函数sin(θ)及cos(θ)的高代价计算。

针对上述限制可允许的取向的变化可通过总的八个不同的实例取向矩阵说明,这些矩阵可表示为R0、R90、R180、R270、MY、MYR90、MX以及MXR90,其中,后面跟着一个数字的字母R表示旋转与该数字对应的旋转角度,MX表示在x轴的反射,以及MY表示在y轴的反射。因此,在图3中所示的电路原理图300中,与实例100a关联的实例变换可由实例取向矩阵MY及平移向量表示。与实例100b关联的实例变换可由实例取向矩阵R0及平移向量表示。

在一些实施例中,电路原理图300、第一晶体管符号100以及可选的其它电路符号可以OpenAccess数据库格式储存,该格式可由电子设计自动化工具(例如Cadence Virtuoso或Synopsys Custom Designer)读取。在此类实施例中,对于电路符号的各实例,实例变换可以OpenAccess字符串属性orient(包括实例取向矩阵名称R0、R90、R180、R270、MY、MYR90、MX、MXR90的其中一个以指定实例取向矩阵Ri)以及OpenAccess列表属性xy(包括实例平移向量ti的x及y分量)的形式储存。与字符串属性orient的值对应的矩阵可预先定义于OpenAcess数据库中。

除第一晶体管符号100的实例100a、100b以外,电路原理图300还可包括输入节点302、输出节点303、导线308至315,以及源极电位连接304、305,该源极电位连接表示电流镜电路与源极电位VSS的连接,该源极电位VSS可约等于体电位(mass potential)。源极电位连接304、305可具有引脚306、307,该引脚具有与第一晶体管符号100的实例100a、100b的引脚101a至104b的特征类似的特征。

依据此类电路符号储存的已知技术可储存输入节点302、303,源极电位连接304、305以及导线308至315。

在一些实施例中,可执行缩放以提供电路原理图300中所有对象的坐标的放大,该些对象包括输入节点302、输出节点303、导线308至315,以及源极电位连接304、305。而且,可执行第一晶体管符号100的所有坐标(包括其引脚101、102、103、104的坐标)的缩放以及电路符号100的实例100a、100b的实例平移向量ti的缩放,以提供实例100a、100b的坐标的放大。通过将各坐标与共同缩放因子相乘可执行坐标的缩放。该因子可为对齐网格106的间距及电路原理图300的对齐网格的整数倍,以保持电路原理图300的对象在对齐网格上的布置以及电路的连接性。

如果第一制程设计套件的实例主符号(包括第一晶体管符号100)的足印的平均尺寸与第二制程设计套件的实例主符号(包括下面将作说明的第二晶体管符号200)的足印的平均尺寸之间有相对地较大差别,则可执行缩放。电路符号的足印区域是包括电路符号的引脚的区域。

例如,如果第一制程设计套件的电路符号的足印的平均尺寸是第二制程设计套件的电路符号的足印的平均尺寸的大约一半,则可执行因子为2的缩放。

在其它实施例中,通过缩放因子的方式可执行网格的调整。例如,在一些实施例中,坐标可内部储存于存储器中,作为数据库单元中的整数加上定义数据库单元与用户单元之间的转换的共同缩放因子。在此类实施例中,可调整该共同缩放因子,以执行电路原理图及电路符号的缩放。

在另外的实施例中,可省略缩放,即使在第一与第二制程设计套件的实例主符号的足印的平均尺寸之间有差别。

为方便起见,下面将省略缩放的详细说明,且下面提到的坐标可表示已缩放的坐标以及未缩放的坐标。

图2显示第二晶体管符号200的示意视图。为方便起见,在图1中(一方面)以及在图2中(另一方面),类似的附图标记用以表示类似的组件。除非另外明确说明,否则图1及2中由类似的附图标记表示的组件可具有相应的特征,且有时将省略其详细说明。

第二晶体管符号200可为由第二制程设计套件提供的N沟道场效应晶体管的符号,其中,该第二制程设计套件是与提供上面参照图1所述的第一晶体管符号100的第一制程设计套件不同的制程设计套件。例如,该第一制程设计套件可为提供专有电路符号的制程设计套件,且该第二制程设计套件可为依据标准(例如OpenPDK V1.0标准)提供电路符号的制程设计套件。

第二晶体管符号200包括源极引脚201、漏极引脚202、栅极引脚203以及本体引脚204,它们分别与第一晶体管符号100的源极引脚101、漏极引脚102、栅极引脚103以及本体引脚104对应。各引脚201、202、203、204可具有尺寸(其在图2中示意显示为矩形)以及中心点(其可具有与表示该引脚的尺寸的方块的中心对应的位置)。为方便起见,本文中有时会将引脚201、202、203、204的中心点的位置表示为引脚的位置。

引脚201、202、203、204的位置可由具有原点105及坐标轴108、109的主坐标系统中的位置向量定义,且引脚201、202、203、204的中心点可位于对齐网格106的网格点上,其中,该些网格点的其中一个由图2中的附图标记107示意表示。

图1中所示的第一晶体管符号100及图2中所示的第二晶体管符号200都可用以表示提供于电子电路的物理实施中的相同或相似类型的场效应晶体管。不过,晶体管符号100、200可具有不同的特征,该些特征尤其与相对电路符号主坐标系统的相应引脚的位置有关,通过图4作进一步说明。

图4中显示第一晶体管符号100及第二晶体管符号200,其中,第一晶体管符号100由虚线表示,以更清楚地区分第一晶体管符号100与第二晶体管符号200。如图4中所示,在第二晶体管符号200中,引脚201、202、203、204的位置通常沿x轴108相对第一晶体管符号100的引脚101、102、103、104的其中相应一个偏移。另外,晶体管符号100、200的引脚的相对布置也相互不同。尽管在第一晶体管符号100与第二晶体管符号200中,沿x方向的栅极引脚与本体引脚之间的距离基本相等,但在第二晶体管符号200中,本体引脚204设于与源极引脚201及漏极引脚202相同的x坐标,而在第一晶体管符号100中,本体引脚104设于比源极引脚101及漏极引脚102大的x坐标。

为了将电路原理图例如图3中所示的电路原理图300自提供第一晶体管符号100的第一制程设计套件转换为提供第二晶体管符号200的第二制程设计套件,如果仅用第二晶体管符号200替代为用于实例100a、100b的提供实例主符号的第一晶体管符号100,并将实例100a、100b的实例变换应用于第二晶体管符号200,则如此获得的第二晶体管符号200的实例将在与第一晶体管符号100的实例100a、100b的引脚101a至104b不同的位置具有引脚。如此,第二晶体管符号200的实例的引脚的位置以及向其提供连接的导线308至315的端部的位置(见图3)将不再匹配。

在一些实施例中,可确定调整变换,该调整变换将位置向量映射至变换位置向量。在一些实施例中,该调整变换可经调整以将电路符号主坐标系统中的位置向量变换为电路符号主坐标系统中的变换位置向量,且它可经调整以于利用该调整变换进行变换时,使第二电路符号(例如第二晶体管符号200)的引脚的位置与第一电路符号(例如第一晶体管符号100)的相应引脚的位置接近或者基本相等。在一些实施例中,针对表示特定电路元件的第一制程设计套件与第二制程设计套件的每对电路符号,可分别确定一次调整变换。

为将电路原理图自包括第一电路符号的第一制程设计套件转换为包括第二电路符号的第二制程设计套件,对于第一电路符号的各实例,通过将调整变换与第一电路符号的实例的实例变换联系,可确定将要替代第一电路符号的实例的第二电路符号的实例的实例变换。第二电路符号的实例的实例变换可与调整变换及第一电路符号的实例的实例变换的组合对应,其中,在第一电路符号的实例变换之前执行调整变换。如此,可提供第二电路符号的实例,其中,电路原理图中的第二电路符号的实例的引脚至少接近原始电路图中第一电路符号的实例的引脚。

如果第二电路符号中的如此获得的实例的引脚位置与第一电路符号的原始实例的引脚位置之间有差别,则可包括线段于该电路原理图内,以保持电路的电性连接性。在一些实施例中,针对电路符号主坐标系统中的每个电路符号,可确定一次表示一条或多条线段的数据,并可接着提供其实例,其中,对于各实例,通过第一电路符号的实例变换的方式,将电路符号主坐标系统中所确定的线段的位置变换入原理图坐标系统中。

而且,在一些实施例中,可执行由电路原理图表示的电路的连接性的检查,以确保由电路原理图表示的电路的连接性不受用第二电路符号的实例替代第一电路符号的实例以及提供线段的实例的负面影响。

下面将参照图12及13详细说明此类技术。

图12显示依据一个实施例的系统1200的示意视图。系统1200可以一台电脑或者通过网络连接的多台电脑形式提供,该一台或多台电脑配置有一个或多个电脑程序,该电脑程序包括代码以使该一台或多台电脑依据实施例执行方法。该一个或多个电脑程序可以有形的电脑可读储存媒体(例如CD-ROM、DVD-ROM、硬盘和/或固态储存媒体)的形式提供,或者它们可通过网络连接被提供给该一台或多台电脑。在一些实施例中,该一个或多个电脑程序可利用编程语言(例如Cadence SKILL)实施,以针对电路原理图的各实例操作于OpenAccess原理图设计数据库上。可以C++或者例如TCL、Python和/或Perl等脚本语言实施的较低级别的OpenAccess功能也可用以操作于原理图设计数据库上。在一些实施例中,矩阵计算(下面将作详细说明)可以例如GNU Octave和/或Matlab等特别适于矩阵计算的编程语言实施。经计算的取向矩阵、平移向量和/或误差向量可被格式化为例如Cadence SKILL语言中的程序指令,以向主原理图转换过程输出子程序、链接和/或插件。

系统1200可包括存储器1201,其中,例如通过OpenAccess数据库的方式可储存表示电路符号及电路原理图的数据。

系统1200还可包括调整变换计算器1202、导线插入器1203以及电路原理图修改器1204。另外,系统1200可包括连接性检查器1205。调整变换计算器1202、导线插入器1203、电路原理图修改器1204以及连接性检查器1205可以如上所述实施的电脑程序和/或电脑程序的模块形式提供。

下面将参照图13说明可通过系统1200的方式执行的依据实施例的方法,图13显示依据一个实施例的方法的示意流程图1300。

在1301,可提供第一及第二制程设计套件。各该第一及第二制程设计套件可包括电路元件的一个或多个实例主符号。在一些实施例中,该第一制程设计套件可包括图1中所示的第一晶体管符号100,且该第二制程设计套件可包括图2中所示的第二晶体管符号200。另外,各该第一及第二制程设计套件可包括其它电路元件的实例主符号,下面将说明其例子。该些制程设计套件可储存于系统1200的存储器1201中。

在1302,依据本文中所披露的至少某些方法可计算调整变换,其中,可针对电路元件的一对或多对的每个计算调整变换,其中,各对电路元件包括第一电路元件(其可为来自该第一制程设计套件的实例主符号)以及第二电路元件(其可为来自该第二制程设计套件的实例主符号)。尤其,第一晶体管符号100与第二晶体管符号200可形成一对电路符号。通过系统1200的调整变换计算器1202可执行调整变换的计算。针对属于共同符号足印类的电路元件对,例如场效应晶体管、电阻器及电容器,可执行一次调整变换的计算,且无需针对具有不同符号名称(可用以进一步指定由电路符号所表示的电路元件)的相同符号足印类的电路符号独立执行调整变换的计算。

在一个实施例中,调整变换可包括反射、旋转和/或平移,其中,反射和/或旋转可由取向矩阵Ra表示,且平移可由平移向量ta表示。与上述实例变换的取向矩阵Ri及平移向量ti类似,调整变换的取向矩阵Ra可为2×2矩阵,且调整变换的平移向量ta可为二维向量。

如此,在一个例子中,依据下面的式子可获得变换位置向量rk’:

r′k=Rap′k+ta (2)

其中,pk’表示应用调整变换的位置向量,其可为定义第二电路符号的引脚的第k个的位置的位置向量。在该例子中,其中第二电路符号是第二晶体管符号200,位置向量pk’可定义引脚201、202、203、204的位置,其中,各引脚201、202、203、204由索引k表示。在一些实施例中,索引k=1可表示源极引脚201,索引k=2可表示漏极引脚202,索引k=3可表示栅极引脚203,以及索引k=4可表示本体引脚204。对于晶体管符号100、200的引脚的索引k的分配可经选择以使晶体管符号100、200的相应引脚具有相同的索引k。本文中,如果引脚表示与具有相同功能的电路符号所表示的电路元件的连接,则将引脚表示为“对应引脚”。例如,第二晶体管符号200的源极引脚201可对应第一晶体管符号的源极引脚101,漏极引脚202可对应漏极引脚102,栅极引脚203可对应栅极引脚103,以及本体引脚204可对应本体引脚104。

取向矩阵Ra及平移向量ta可经调整以最大限度地降低误差测量E,其中,可依据下式计算误差测量E:

这里,n表示第一电路符号及第二电路符号的引脚的数目。在第一电路符号为第一晶体管符号100且第二电路符号为第二晶体管符号200的实施例中,n=4。ek是第一电路符号与第二电路符号的引脚的第k个的误差向量,是变换位置向量rk’与定义第一电路符号的第k个引脚的位置的位置向量pk之间的差。因此,误差测量E包括多个第一引脚的在通过将调整变换应用于与对应第一引脚的第二引脚关联的第二位置向量所获得的变换位置向量与关联第一引脚的第一位置向量之间的偏差之和。该偏差包括在变换位置向量与关联第一引脚的第一位置向量之间的差的向量范数的平方。

与上述实例变换的取向矩阵及平移向量类似,取向矩阵Ra及平移向量ta可经调整以使变换位置向量rk’与对齐网格106匹配。平移向量ta的分量可为对齐网格106的间距的倍数,且取向矩阵Ra可经调整以提供旋转角度为90度的倍数的旋转与在x轴108及y轴109的其中之一上的反射的组合。

因此,调整变换可经调整以在变换位置向量rk’与对齐网格匹配的约束条件下,最大限度地降低误差测量E。

下面将说明可用以计算调整变换并基于奇异值分解的示例技术。如下面详细所述,这些技术无需包括误差测量E的明确计算。不过,这些方法可产生调整变换,该调整变换在变换位置向量rk’与对齐网格匹配的约束条件下最大限度地降低误差测量E。因此,如下所述计算的调整变换将被理解为最大限度地降低上式3中所定义的误差测量E的调整变换。

可依据下式计算向量ak

其中,表示第一位置向量pk的平均数。

另外,可依据下式计算向量bk

其中,表示位置向量pk'的平均数。

接着,依据下式可使用向量ak及bk形成第一引脚位置矩阵A及第二引脚位置矩阵B:

引脚位置矩阵A及B可为具有两列以及与第一电路符号及第二电路符号的引脚的数目相等的行数的矩阵。第一引脚位置矩阵A的行包括通过从位置向量pk减去位置向量pk的平均数所获得的向量的分量,且第二引脚位置矩阵B的行包括通过从第一位置向量pk减去位置向量pk’的平均数所获得的向量的分量。

在一些实施例中,矩阵A及B可具有大于第一电路符号及第二电路符号的引脚的数目的行数,例如行数等于一加上第一电路符号及第二电路符号的引脚的数目。在全对称电路符号的某些情况下,对于取向矩阵Ra(旋转及反射)可具有两个解,导致相同的误差测量。在此类情况下,这些解的其中一个,例如,降低电路原理图中导线的电性短路的风险的解可通过复制引脚的至少其中一个的位置向量来加强,这可改变位置向量的平均数,从而打破对称性。

可计算矩阵A及B的其中一个的伪逆,尤其是矩阵A的伪逆A+。在一些实施例中,这可通过矩阵A的奇异值分解的方式来达成,其中,可计算矩阵U、W及V,以使:

A=UWVT (8)

其中,U为具有n列及两行的正交矩阵,W为具有两行及两列的对角矩阵,以及其中,矩阵W的对角线元素是矩阵A的奇异值,且V是具有两列及两行的正交矩阵。

利用计算奇异值分解的已知数值技术可计算矩阵A的奇异值分解。

根据矩阵A的奇异值分解,可依据下式计算伪逆A+

A+=VW+UT (9)

其中,W+是具有两行及两列的对角矩阵,其中,通过计算基本不同于零的矩阵W的各对角线元素的逆并提供该逆作为矩阵W+的一个对角线元素,以及针对基本等于零的矩阵W的各对角线元素提供矩阵W+的对角线元素,可从矩阵W的对角线元素计算矩阵W+的对角线元素。通过矩阵的奇异值分解的方式计算矩阵的伪逆的技术是已知的。

接着,依据下式可计算预调整取向矩阵Ra,p以及预平移向量ta,p

Ra,p=A+B (10)

接着,通过将预调整取向矩阵Ra,p取整为多个预定约束取向变化的其中一个并通过将预调整平移向量ta,p取整为对齐网格106可计算调整变换的调整取向矩阵Ra及调整平移向量ta(见式2)。该多个预定约束取向变化可包括角度为90度的倍数的旋转以及在x轴108及y轴109的其中一个的反射。

如上详细所述,当旋转限于角度为90度的倍数的旋转时,实例旋转矩阵的各元素具有值-1、0及1的其中一个。在此类实施例中,通过将预调整取向矩阵Ra,p的各元素取整为与值-1、0及1中最接近的一个可获得调整取向矩阵Ra。接着,如此获得的调整取向矩阵Ra可被映射至OpenAccess字符串属性orient的八个预定义取向名称R0、R90、R180、R270、MY、MYR90、MX、MXR90的其中一个,以储存于OpenAccess数据库中。

通过将预调整平移向量ta,p的各分量取整为对齐网格的间距的整数倍数,可自预调整平移向量ta,p获得调整平移向量ta

图5显示第一晶体管符号100及第二晶体管符号200,其中,第一晶体管符号100显示于相对具有原点105及坐标轴108、109的电路符号主坐标系统的原始位置,而依据本文中所述的调整变换,相对于该电路符号主坐标系统的第二晶体管符号200的布置已被改变。与图4类似,在图5中,第一晶体管符号100通过虚线显示,且第二晶体管符号200通过实线显示,以更清楚地区分晶体管符号100、200。

通过图5与图4(其中,两个晶体管符号100、200都显示于其相对电路符号主坐标系统的原始位置)的比较可看出,在该示例中,调整变换不包括旋转但包括与x轴108的方向相反的方向的平移。在相对于电路符号主坐标系统的第二晶体管符号200的原始布置中,栅极引脚203位于原点105。在将调整变换应用于第二晶体管符号200的元件(包括引脚201、202、203、204)的位置以后,第二晶体管符号200的本体引脚204位于原点105。

如图5中所示,该调整变换将定义第二晶体管符号200的源极引脚201及漏极引脚202的位置的电路符号主坐标系统中的位置向量映射至基本等于分别定义第一晶体管符号100的源极引脚101及漏极引脚102的位置向量的变换位置向量。因此,在应用该调整变换以后,源极引脚201的中心点的位置与源极引脚101的中心点的位置匹配,且漏极引脚202的中心点的位置与漏极引脚102的中心点的位置匹配。

不过,由于在第二晶体管符号200中,相对于源极引脚201及漏极引脚202的栅极引脚203及本体引脚204的布置不同于相对于源极引脚101及漏极引脚102的栅极引脚103及本体引脚104的布置,因此即使在应用该调整变换以后,栅极引脚103与栅极引脚203的中心点的位置也不匹配。而且,本体引脚104与本体引脚204的中心点的位置不匹配。

第一晶体管符号100的引脚101、102、103、104的布置与通过调整变换的方式变换定义其位置的位置向量以后所获得的第二晶体管符号200的引脚201、202、203、204的布置之间的匹配可由误差向量ek表示(见式(2)及(3))。在图5中所示的例子中,源极引脚101、201的误差向量e1及漏极引脚102、202的误差向量e2可具有等于零的分量。栅极引脚103、203的误差向量e3是自栅极引脚103的位置指向在应用调整变换后所获得的栅极引脚203的调整位置的向量,该误差向量可具有为零的y分量以及与图5中所示的引脚203、103之间的距离对应的x分量。本体引脚104、204的误差向量e4是自本体引脚104的位置指向在应用调整变换后所获得的本体引脚204的调整位置的向量,该误差向量可具有为零的y分量以及与图5中所示的引脚204、104之间的距离对应的x分量。在图5中所示的示例中,误差向量e3及e4的x分量可具有负值。

进一步参照图13,在1303,在一个示例实施例中,基于在应用调整变换以后所获得的第二电路符号的引脚的位置与第一电路符号的引脚的位置之间的匹配的误差可形成表示线段的数据。这可通过系统1200的导线插入器1203来达成。对于包括第一电路符号的一个引脚以及第二电路符号的一个相应引脚的每对引脚,可依据式(2)及(3)计算误差向量ek。如果误差向量ek的所有分量都约为零,则无需提供线段。如果误差向量的分量的至少其中一个不为零,则可针对该对引脚提供导线。该导线可将由变换位置向量(通过将调整变换应用于与第二电路元件的引脚关联的位置向量获得)表示的位置与由与第一电路元件的引脚关联的位置向量表示的位置连接。该导线可具有位于第一电路元件的引脚的位置的第一端点(具有对应于与第一电路元件的引脚关联的位置向量的坐标)以及位于第二电路元件的引脚的位置的第二端点(具有通过向与第一电路元件的引脚关联的位置向量添加针对该对引脚计算的误差向量所获得的坐标)。该导线可以一条或两条线段的形式提供,其中,如果误差向量的仅其中一个分量不同于零,则可提供连接导线的端点的一条线段;如果误差向量的两个分量都不同于零,则可提供两条线段,其中一条线段沿x轴108的方向延伸且另一条沿y轴109的方向延伸。如此,可提供正交(曼哈顿)布线。

如果提供两条线段,则具有两种可能性来提供布线。其中一种是在导线的第一端点提供沿x轴的方向延伸的线段,并将该线段与沿y轴的方向延伸的线段连接,使其延伸至导线的第二端点。另一种可能性是在导线的第一端点提供沿y轴的方向延伸的线段,并将该线段与沿x轴的方向延伸的线段连接,以使其延伸至第二端点。在一些实施例中,可提供用户的手动输入以选择这两种可能性的其中一种,例如,为了基本避免或减少线段与引脚及导线相交的风险,该相交可能造成电性短路以及电路的连接性的不良变化。

在图5的示例中,可提供连接栅极引脚103、203的位置的导线501,且可提供连接本体引脚104、204的位置的导线502。由于栅极引脚103、203及本体引脚104、204的误差向量e3及e4分别仅具有一个非零分量,因此各导线501、502可包括沿x轴108的方向延伸的单条线段。

请进一步参照图13,在1304,可由系统1200接收电路原理图,例如上面参照图3所述的电路原理图300。如上所述,电路原理图300可以数据形式提供,该数据针对第一晶体管符号100的各实例100a、100b定义可包括实例取向矩阵Ri及实例平移向量ti的实例变换。

在一个示例实施例中,在1305,可提取电路原理图300的第一网表。这可通过系统1200的连接性检查器1205来达成。第一网表可说明电路原理图的组件之间的连接性,例如,由电路原理图300说明的电流镜电路的组件,该电路原理图300包括两个N沟道场效应晶体管(由第一晶体管符号100的实例100a、100b表示)、电性连接(由导线308及315表示),以及该电流镜电路与其它电路的连接(由输入302、输出303以及源极电位连接304、305表示)。不同于电路原理图300,第一网表不需要包括定义表示电路元件的电路原理图300的元件的位置的信息。因此,自定义相同电路的两个不同电路原理图提取网表可产生基本相同的网表。

在一个示例实施例中,在1306,可用第二晶体管符号1200的相应实例替代第一晶体管符号100的各实例100a、100b。这可通过系统1200的电路原理图修改器1204来达成。图6显示用第二晶体管符号200的实例200a替代第一晶体管符号100的实例100a且用第二晶体管符号200的实例200b替代第一晶体管符号100的实例100b以后的电路原理图300。在图6中,附图标记201a、202a、203a、204a表示与第二晶体管符号200的引脚201、202、203、204对应的实例200a的引脚,且附图标记201b、202b、203b、204b表示分别与第二晶体管符号200的引脚201、202、203、204对应的实例200b的引脚。

为执行用第二晶体管符号200的实例200a、200b对第一晶体管100的实例100a、100b的替代,可向第二晶体管符号200的各实例200a、200b提供实例变换。各该实例变换可包括实例取向矩阵Ri’及实例平移向量ti’,其中,索引i表示第二晶体管符号200的实例。例如,依据用以表示第一晶体管符号100的实例100a、100b的索引i,索引i=1可用以表示实例200a,且索引i=2可用以表示实例200b。依据下式,基于在1302计算的调整变换以及第一晶体管符号100的相应实例的实例变换可提供该实例变换:

R′i=RiRa (12)

t′i=Rita+ti (13)

这可通过首先储存并恢复第一晶体管符号100的实例的实例变换,对第二晶体管符号200的实例应用调整变换,并接着对其应用第一晶体管符号100的实例的储存实例变换来达成。在这样做时,可获得调整变换与储存实例变换的联系。

通过使用第二晶体管符号200的实例的实例变换的实例取向矩阵Ri’及实例平移向量ti’,表示包括原点301及坐标轴320、321的原理图坐标系统中的第二晶体管符号200的实例的引脚的位置的位置向量qk’可依据下式计算:

q′k=R′ip′k+t′i (14)

在第二晶体管符号200的实例200a对第一晶体管符号100的实例100a的替代中,表示实例100a的数据可由表示实例200a的数据(其可包括将要提供第二晶体管符号200的实例的信息)以及实例200a的实例变换(其可包括依据式(12)及(13)的实例取向矩阵及实例变换向量)替代。

类似地,在第二晶体管符号200的实例200b对第一晶体管符号的实例100b的替代中,可移除表示实例100b的数据,并可提供表示实例200b的数据,该数据可包括实例200b的实例变换。另外,对于第二晶体管符号200的各实例200a、200b,可在电路原理图300中提供导线501、502的实例。在图6中,附图标记501a及502a表示与第二晶体管符号200的实例200a关联的导线501、502的实例,且附图标记501b、502b表示与实例200b关联的导线501、502的实例。

为提供导线501、502的实例501a、502a,针对第一晶体管符号100的实例100a所储存的实例变换可应用于定义电路符号主坐标系统中的线段导线501、502的端点的位置的位置向量,以获得定义原理图坐标系统中的实例501a、502a的线段的端点的位置向量。接着,可基于该位置向量提供定义实例501a、502a的线段的数据。类似地,为提供导线501、502的实例501b、502b,针对第一晶体管100的实例100b所储存的实例变换可应用于定义电路符号主坐标系统中的导线501、502的端点的位置的位置向量,以获得定义原理图坐标系统中的实例501b、501b的线段的端点的位置向量。接着,可基于该位置向量提供定义实例501b、502b的线段的数据。

实例501a、501b可提供引脚203a、203b与导线310之间的连接。导线502a可提供本体引脚204a与导线312之间的连接,且导线502b可提供本体引脚204b与导线313之间的连接。与源极引脚101a、101b设于基本相同的位置的源极引脚201a、201b可分别与导线314及315直接连接。类似地,与漏极引脚202a、202b设于基本相同的位置的漏极引脚102a、102b可分别与导线308、311直接连接。

因此,第二晶体管符号200的实例200a、200b可以与第一晶体管符号100的实例100a、100b基本相同的方式与电路原理图300的导线连接,以保持电路的连接性。

请再次参照图13,在用第二晶体管符号200的实例200a、200b替代第一晶体管符号100的实例100a、100b以后并在插入导线501a、501b、502a、502b以后,在一些实施例中,在1307,可执行电路原理图300的清理。电路原理图300的清理可包括移除仅于一端连接的浮接(外延)线头。线头通常不改变电路的连接性。不过,移除线头可有助于提升用户对电路原理图的可读性。为移除线头,线头可通过传统电子设计自动化工具(例如Cadence SKILL)所提供的功能的方式来标记,并通过电子设计自动化工具所提供的删除功能来移除。在其它实施例中,电路原理图300的清理可省略。

请再次参照图13,在1308,可提取电路原理图300的第二网表,其中,该第二网表提取自在用第二晶体管符号200的实例200a、200b替代第一晶体管符号100的实例100a、100b以后且插入导线501a、501b、502a、502b以后且(如果已执行电路原理图300的清理)在清理电路原理图300以后所获得的电路原理图300。这可通过系统1200的连接性检查器1205来达成。

随后,在1309,可比较第一网表与第二网表,以确定是否已在电路原理图300中引入错误或者电路原理图300是否仍正确地表示电流镜电路,例如通过连接性检查器1205的方式。错误可由例如电路原理图中所插入的导线的相交,或者在清理电路原理图300时意外移除提供电性连接的导线引起。如果存在错误,则可执行电路原理图300的手动编辑,以更正该错误。作为附加和/或替代,包括第一晶体管符号100的实例100a、100b的原始电路原理图300(作为来自第一制程设计套件的第一电路符号的示例)可通过电子设计自动化工具的方式修改,以在实例100a、100b之间提供较大距离。在这样做时,该电子设计自动化工具可利用传统方法自动移动与实例100a、100b连接的导线,以保持电路的连接性。接着,基于所修改的电路原理图可再次执行在1304至1309执行的动作。在实例100a、100b之间提供较大的距离可有助于减少与引起短路发生的导线相交有关的错误风险。

下面将参照图7至11说明电路符号及电路原理图的另外例子,其中,可依据实施例的方法执行电路符号的实例的替代。为处理该电路符号及电路原理图,可使用上面参照图1至6、12及13所述的系统及方法。为方便起见,在图1至6中(一方面)且在图7至11中(另一方面),类似的附图标记有时用以表示类似的组件,且有时会省略其详细说明。

图7示意说明电阻器符号700的一个示例实施例。电阻器符号700包括原图以及引脚701、702、703。针对各引脚701、702、703可提供位置向量,该位置向量定义相对具有原点105、x轴108及y轴109的电路符号主坐标系统的相应引脚的中心点的位置。引脚701、702、703以及可选的第一电阻器符号700的其它元件的中心点的位置可定义于对齐网格106的网格点上。第一电阻器符号700可通过第一制程设计套件提供。

图8显示第二电阻器符号800的一个示例实施例的示意视图。第二电阻器符号800(可通过第二制程设计套件提供)可包括原图以及引脚801、802、803。各引脚801、802、803可具有位于对齐网格106的网格点上的中心点。第二电阻器符号800可表示与第一电阻器符号700的类型相同的电阻器。引脚801可与引脚701对应,引脚802可与引脚702对应,以及引脚803可与引脚703对应。各引脚801、802、803可具有与其关联的位置向量,该位置向量定义相对具有原点105、x轴108及y轴109的电路符号主坐标系统的相应引脚的中心点的位置。

图9示意说明低通滤波器的电路原理图900的一个示例实施例。电路原理图900可包括第一电阻器符号700的实例700a,其中,第一电阻器符号700为实例700a提供实例主符号。实例700a可具有与其关联的实例变换,该实例变换将电路符号主坐标系统中的位置向量映射至具有原点301、x轴320及y轴321的原理图坐标系统中的位置向量。在图7及9中所示的例子中,与实例700a关联的实例变换可包括x轴320的方向及y轴321的方向二者的平移,其可由具有非零x分量及非零y分量的实例平移向量表示。另外,实例变换可包括实例取向矩阵。在图7及9中所示的例子中,该实例取向矩阵可为二维单位矩阵,以使引脚701a、702a、703a的相对取向与第一电阻器符号700的引脚701、702、703的相对取向基本相同。

电路原理图900还可包括具有引脚2001a、2002a以及2003a的电容器符号(未图示)的实例2000a。与电阻器符号700的实例700a类似,该电容器符号的实例2000a可具有与其关联的实例变换。

另外,电路原理图900可包括导线906、907、908、909、910、911、输入902、输出903以及具有引脚905的源极电位连接904。

在一些实施例中,可提供第一及第二制程设计套件。该第一制程设计套件可包括第一电阻器符号700及其它实例主符号,例如针对电容器的实例2000a的实例主符号。在一个示例实施例中,该第二制程设计套件可包括第二电阻器符号800以及其它实例主符号,例如与电容器符号的实例2000a所表示的电容器的类型相同的电容器的实例主符号。这可依据上面参照图13的流程图1300所述的方法中在1301所执行的动作来达成。

接着,在一个示例实施例中,可针对包括来自第一制程设计套件的电路元件的实例主符号以及针对来自第二制程设计套件的电路元件的相应实例主符号的每对电路符号计算调整变换。尤其,可针对电阻器符号700、800和/或来自第一及第二制程设计套件的电容器的实例主符号计算调整变换。这可依据图3的流程图1300所示的方法中在1302执行的动作来达成。另外,对于每对电路符号,依据流程图1300所示的方法中在1303执行的动作,基于调整变换的误差可形成表示线段的数据。

图10显示电阻器符号700、800,其中,通过针对电阻器符号700、800确定的调整变换的方式已变换第二电阻器符号800的元件的位置。为更清楚地区分电阻器符号700、800,通过虚线的方式显示第一电阻器符号700。

在所示的例子中,调整变换可包括270度的角度的旋转以及平移,以将第二电阻器符号800的引脚802移至原点105,而在原始第二电阻器符号800中,引脚801位于原点105,如图8中所示。在应用调整变换以后,引脚801与701基本处于相同的位置。类似地,引脚702、802基本处于相同的位置。由于引脚703相对第一晶体管符号700的引脚701、702(一方面)以及引脚803相对第二电阻器符号800的引脚801、802(另一方面)的不同的相对布置,引脚703、803可处于不同的位置。因此,依据图13的流程图1300所示的方法中在1303执行的动作,可提供连接引脚703、803的中心点的位置的导线1001。

接着,在1304,可接收电路原理图900以及可选择地,在1305可提取电路原理图900的第一网表。

然后,如图11中所示,可用第二电阻器符号800的实例800a替代第一电阻器符号700的实例700a,且导线1001的实例1001a可被包括于电路原理图900中。如上所述,通过将调整变换与第一电阻器符号700的实例700a的实例变换联系,可获得第二电阻器符号800的实例800a的实例变换。类似地,可用具有引脚3001a、3002a、3003a的来自第二制程设计套件的第二电容器符号的实例3000a替代第一电容器符号的实例2000a,且导线4001a、4002a的实例可被包括于电路原理图900中。

接着,可选择地,在1307可清理电路原理图,在1308可提取第二网表,以及在1309可比较该些网表。

本发明不限于实施例,其中,如上所述,在符号主坐标中针对包括来自第一制程设计套件的电路元件的符号以及来自第二制程设计套件的电路元件的符号的每对符号确定一次调整变换以及将要包括于电路原理图中的主导线。在其它实施例中,对于来自第一制程设计套件的第一电路符号的各实例,通过将关联该第一电路符号的该实例的实例变换应用于定义电路符号主坐标系统中的引脚的位置的电路主坐标系统中的位置向量可提供该实例的各引脚的位置向量。

接着,通过使用与上述技术对应的技术计算调整变换,可计算将要替代该第一电路符号的实例的第二电路符号的实例的实例变换,其中,使用表示第一电路符号的实例的引脚的位置的位置向量来替代定义电路符号主坐标系统中第一电路符号的引脚的位置的位置向量。

由于本领域的技术人员借助这里的教导可以很容易地以不同但等同的方式修改并实施本发明,因此上面披露的特定实施例仅为示例性质。例如,可以不同的顺序执行上述制程步骤。而且,本发明不限于这里所示架构或设计的细节,而是如权利要求所述。因此,显然,可对上面披露的特定实施例进行修改或变更,所有此类变更落入本发明的范围及精神内。要注意的是,用于说明本说明书以及权利要求中的各种制程或结构的“第一”、“第二”、“第三”或者“第四”等术语的使用仅用作此类步骤/结构的快捷参考,并不一定意味着按排列顺序执行/形成此类步骤/结构。当然,依据准确的权利要求语言,可能要求或者不要求此类制程的排列顺序。因此,权利要求书规定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1