CN1316412C - 半导体集成电路的设计数据的处理方法 - Google Patents

半导体集成电路的设计数据的处理方法 Download PDF

Info

Publication number
CN1316412C
CN1316412C CNB200410068389XA CN200410068389A CN1316412C CN 1316412 C CN1316412 C CN 1316412C CN B200410068389X A CNB200410068389X A CN B200410068389XA CN 200410068389 A CN200410068389 A CN 200410068389A CN 1316412 C CN1316412 C CN 1316412C
Authority
CN
China
Prior art keywords
circuit
clock
logic
logic element
wiring
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.)
Expired - Fee Related
Application number
CNB200410068389XA
Other languages
English (en)
Other versions
CN1607657A (zh
Inventor
松村阳一
大桥贵子
藤村克也
伊藤千寻
谷口博树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1607657A publication Critical patent/CN1607657A/zh
Application granted granted Critical
Publication of CN1316412C publication Critical patent/CN1316412C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

显示去掉缓冲器和反相器而不改变逻辑的电路。该电路通过第一或第二方法得到。对于第一种方法,从时钟电路中去掉所有不改变逻辑的缓冲器,并且当时钟通路在布线的分支点分开时,去掉在每个分开的时钟通路上的所有反相器对。对于第二种方法,复制在多个时钟通路上的逻辑元件,并且添加到时钟电路上,去掉所有不改变逻辑的缓冲器以及除上述缓冲器之外位于两个逻辑元件之间的所有反相器对,若有的话,去掉实现相同逻辑并且在多个时钟通路上的冗余的局部电路。由此,可以显示时钟电路,从而有利于设计人员理解逻辑。

Description

半导体集成电路的设计数据的处理方法
发明背景
发明领域
本发明涉及半导体集成电路的设计数据的处理方法,更特别地,涉及包括在半导体集成电路中的时钟电路等的设计数据的处理方法。
背景技术介绍
许多半导体集成电路具有与从外部源提供的或者基于从外部源提供的信号在内部产生的时钟信号同步操作的逻辑电路。通常,半导体集成电路包括多个触发器和基于所提供的时钟信号产生要提供给每个触发器的时钟信号的电路(下文中称作时钟电路)。为了正确地操作半导体集成电路,必须为每个触发器提供适当的时钟信号。而且,为了降低半导体集成电路的功耗,停止对不工作的电路模块提供时钟信号是有效的。因此,已经认识到,时钟电路的结构和时钟信号的提供方法对半导体集成电路的设计人员提出了重大的挑战。
时钟电路的分析通常通过分析时钟电路的一部分来进行,该部分包括传输时钟信号的通路(下文中称作时钟通路)和时钟通路上的逻辑单元,作为时钟树。通过这种时钟树分析,例如计算所加时钟信号到达每个触发器所需的时间。然后,根据时钟树的分析结果对时钟电路进行添加/去除缓冲器等的处理以及修改版图结果的处理,从而时钟偏移(clock skew)(为不同触发器提供的时钟到达时间的差)小于预定可接受的值。
已知设计包括在半导体集成电路中的时钟电路的各种技术。例如,在随后的文献中介绍的技术与本申请中的发明相关。日本待审专利公开No.H10-31688公开了一种验证编辑器件,用于提出以可视化形式的语言写出的电路,从而有利于电路的设计验证。日本待审专利公开No.H2-110672公开了一种电路图版图产生器件,当输入电路图时能够指定与网表(net list)相关的布线宽度。日本待审专利公开No.H9-74138公开了一种版图验证方法,用于识别通过修改改变了网表的哪一部分,并对改变的部分进行设计验证。
但是,随着要设计的半导体集成电路变得大而复杂,时钟电路也变得大而复杂了,从而设计时钟电路变得越来越困难。例如,由于大而复杂的时钟电路,设计人员不得不花费相当多的时间学习时钟电路的结构和功能。而且,难以分析选择性地提供多个时钟信号的时钟电路。而且,由于要设计大而复杂的电路,所以当根据时钟电路的分析结果对电路施加设计约束时会出现更多的错误。此外,在设计过程中对电路进行修改的情况下,进行电路比较来识别改变了哪一部分电路。但是,如果在修改电路时改变了触发器的名字,则不能仅仅通过比较触发器的名字来进行逻辑比较。
发明概述
因此,本发明的一个目的是提供一种时钟电路等的设计数据的处理方法,该方法与常规方法相比具有改善的特性。
本发明具有如下特征,以获得上述目的。
本发明的第一方面涉及通过去掉缓冲器和反相器而不改变时钟电路的逻辑得到用于显示的电路的方法,并且显示得到的用于显示的电路。为了得到用于显示的电路,可以从时钟电路中去掉所有不改变逻辑的缓冲器以及当时钟通路在布线的分支点分开时,在每个分开的时钟通路上的反相器对。或者,为了得到用于显示的电路,可以复制在多个时钟通路上的逻辑元件并且将其加到时钟电路上,可以去掉所有不改变逻辑的缓冲器以及除缓冲器之外位于逻辑元件之间不改变逻辑的所有反相器对,可以去掉实现相同逻辑并且位于多个时钟通路上的冗余局部电路(partial circuit),若有的话。
基于上述第一方面,显示去除了对理解逻辑没有用的缓冲器和反相器的电路,从而设计人员可以更容易理解该逻辑。
本发明的第二方面涉及指定传送一个时钟信号的布线的显示颜色和传送多个时钟信号的布线的显示颜色、区别传送一个时钟信号的布线与传送多个时钟信号的布线以及当使用指定的显示颜色显示每个布线时显示时钟电路的方法。
基于上述第二方面,当设计人员分析时钟电路并且施加电路设计约束时,容易理解时钟信号的流程。
本发明的第三方面涉及指定在一个时钟通路上的逻辑元件与在另一个时钟通路上的逻辑元件之间的关联,并且显示包括上述两种时钟通路的时钟电路从而指定的逻辑元件沿水平或垂直穿过屏幕的直线对齐的方法。
基于上述第三方面,当设计人员分析时钟电路并且施加电路设计约束时,容易理解时钟电路的结构。
本发明的第四方面涉及一种方法,用于指定要作为一个组件显示的局部电路的结构,从要显示的电路中搜索指定的局部电路,以及显示要显示的电路,同时将作为搜索结果得到的局部电路显示为一个组件。在这种情况下,为了指定局部电路,可以使用逻辑元件的实例或逻辑元件的类型。
基于上述第四方面,具有特定意义的局部电路指定为显示为一个组件的电路,并且指定的电路显示为一个组件,从而当设计人员分析电路并且施加电路设计约束时,容易理解时钟电路的结构。
本发明的第五方面涉及从包括要显示的电路的版图结果的设计数据得到每条布线的属性信息,并且显示要显示的电路,同时以对应于所得到的属性信息的方式显示每条布线的方法。
基于上述第五方面,每条布线以对应于布线的属性信息的方式显示,从而设计人员容易检查逻辑电路和布线信息。
本发明的第六方面涉及指定局部电路的结构和要施加在局部电路上的设计约束,从要处理的电路中搜索指定的局部电路,并且对从搜索结果中得到的局部电路施加指定的设计约束的方法。而且,通过确定指定的设计约束是否施加在由搜索结果得到的局部电路上,并且输出确定结果代替施加设计约束能够得到验证设计约束的方法。
基于上述第六方面,能够减少在施加设计约束中的错误和施加设计约束所需的步骤数量。
本发明的第七方面涉及比较电路的方法。通过该方法,从要比较的两个电路中分别提取时钟电路,从每个时钟电路得到被施加逻辑上等效时钟信号的存储元件组,根据属于每个组的存储元件的数量,包括在一个时钟电路中的组与包括在另一个时钟电路中的组相关联;根据每个存储元件的实例名(instance name),属于包括在一个时钟电路中的组的存储元件与属于与上述组关联并且包括在另一个时钟电路中的组的存储元件关联,以及对使用得到的存储元件之间的关联作为约束的两个电路进行逻辑比较的方法。在这种情况下,可以对每个时钟电路进行逻辑化简,并且可以从进行了逻辑化简的每个时钟电路得到由被施加逻辑等效时钟信号的所有存储元件构成的组。或者,可以从每个时钟电路得到由相同的逻辑元件输出的时钟信号直接提供到的所有存储元件构成的组。
基于上述第七方面,即使电路不包括完全相同数量的触发器,并且包括在电路中的一部分触发器具有不同的实例名,也能够有效地比较电路。
本发明的第八方面涉及,通过从时钟电路得到被提供逻辑等效时钟信号的存储元件组来得到时钟电路的简化设计数据,并且用一个存储元件代替全部存储元件的方法,该存储元件具有包括属于每个组的存储元件数量的实例名。在这种情况下,可以对时钟电路进行逻辑化简,并且从进行逻辑化简的时钟电路可以得到由被提供了逻辑等效时钟信号的全部存储元件构成的组。或者,从该时钟电路可以得到被直接提供了从相同的逻辑元件输出的时钟信号的所有存储元件构成的组。
基于上述第八方面,能够产生反映触发器数量的简化的设计数据,从而容易使用产生的设计数据进行电路比较等。
结合附图,对本发明下述的详细介绍,本发明的这些和其它目的、特征、方面和优点将变得更加明显。
附图简要介绍
图1示出了用于执行根据本发明的每个实施例的方法的EDA系统的结构框图;
图2示出了根据本发明的第一实施例的时钟电路显示方法(第一方法)的流程图;
图3A和3B示出了执行图2所示的时钟电路显示方法的一个例子;
图4示出了根据本发明的第一实施例的时钟电路显示方法(第二方法)的流程图;
图5A到5D示出了执行图4所示的时钟电路显示方法的一个例子;
图6A和6B示出了执行去掉冗余电路的步骤的一个例子,该步骤包括在图4所示的时钟电路显示方法中;
图7示出了根据本发明的第二实施例的时钟电路显示方法的流程图;
图8A和8B示出了执行图7所示的时钟电路显示方法的一个例子;
图9A到9C分别示出了在图7所示的时钟电路显示方法中指定布线的显示颜色的方法;
图10示出了根据本发明的第三实施例的时钟电路显示方法的流程图;
图11A和11B示出了执行图10所示的时钟电路显示方法的一个例子;
图12A到12C分别示出了在图10所示的时钟电路显示方法中指定逻辑元件之间的关联的方法;
图13示出了根据本发明的第四实施例的电路显示方法的流程图;
图14A到14D示出了执行图13所示的电路显示方法的一个例子;
图15A到15G分别示出了在图13所示的电路显示方法中使用逻辑元件的实例指定要成为黑盒子的电路(to-be-black boxed circuit)的方法;
图16A到16G分别示出了在图13所示的电路显示方法中使用逻辑元件的类型指定要成为黑盒子的电路的方法;
图17示出了根据本发明的第五实施例的电路显示方法的流程图;
图18A到18D示出了执行图17所示的电路显示方法的一个例子;
图19示出了根据本发明的第六实施例施加设计约束的方法的流程图;
图20A和20B示出了执行图19所示的设计约束施加方法的一个例子;
图21A到21C示出了在图19所示的设计约束施加方法中得到多个搜索结果的情况;
图22示出了根据本发明的第六实施例验证设计约束的方法的流程图;
图23示出了根据本发明的第七实施例的电路比较方法(第一方法)的流程图;
图24A到24D示出了执行图23所示的电路比较方法的一个例子;
图25A到25D示出了执行图23所示的电路比较方法的另一个例子;
图26示出了根据本发明的第七实施例的电路比较方法(第二方法)的流程图;
图27A到27D示出了执行图26所示的电路比较方法的一个例子;
图28A到28D示出了执行图26所示的电路比较方法的另一个例子;
图29示出了根据本发明的第八实施例得到时钟电路的设计数据的方法(第一方法)的流程图;
图30A和30B示出了执行图29所示的得到时钟电路的设计数据的方法的一个例子;
图31示出了根据本发明的第八实施例得到时钟电路的设计数据的方法(第二方法)的流程图;以及
图32A和32B示出了执行图31所示的得到时钟电路的设计数据的方法的一个例子。
优选实施例的介绍
下文中,参照附图介绍根据本发明的第一到第八实施例处理半导体集成电路的设计数据的方法。典型地,根据各个实施例的方法使用图1所示的EDA(Electronic Design Automation电子设计自动化)系统来执行。图1所示的EDA系统10包括输入部分11、处理部分12、数据存储部分13和显示部分14。数据存储部分13存储半导体集成电路的设计数据。设计人员使用输入部分11输入命令等。依照从输入部分11输入的命令,处理部分12对存储在数据存储部分13中的设计数据进行各种处理。显示部分14在屏幕上显示电路图等,作为处理部分12的处理结果。
第一实施例
在本发明的第一实施例中,将介绍有利于设计人员对逻辑的理解的显示时钟电路的方法。图2示出了根据本实施例的时钟电路显示方法(第一方法)的流程图。对由在时钟通路上的逻辑元件和布线构成的时钟电路执行图2所示的处理。为了指定要显示的时钟电路,使用例如指定时钟通路的起始点的方法、指定在时钟通路的底部(root)上的逻辑元件的方法以及指定在时钟通路上的逻辑元件或布线的方法。
在图2所示的处理中,首先从要显示的时钟电路中去掉不改变逻辑的所有缓冲器。而且,在时钟通路在布线的每个分支点分开的情况下,从要显示的时钟电路中去掉在每个分开的时钟通路上的所有反相器对(步骤S101)。接着,在屏幕上显示在步骤S101中得到的电路(步骤S102)。在步骤S102,在图1所示的EDA系统10的显示部分14上显示去除了缓冲器和反相器的电路。
下面介绍图3A所示的电路经过图2所示的处理来而被显示的情况的细节。由在时钟通路上的逻辑元件和布线构成的图3A所示的电路为每个触发器传送时钟信号CK。在对该时钟电路进行图2所示处理的情况下,在步骤S101去掉不改变逻辑的缓冲器B1到B5,缓冲器B1到B5的输入信号线直接连接到相应的输出信号线。而且,在包括在时钟电路中的每个时钟通路在布线的分支点分开的情况下,在从布线分支点P1到触发器F1的时钟通路上有三个反相器A1到A3。从上述三个反相器中任意去掉一对反向器(例如,反相器对{A1,A2}),所去掉的反相器的输入信号线直接连接到相应的输出信号线。另一方面,在每个分开的部分上只有一个反相器的情况下,不能去掉该反向器。例如,在同一个时钟通路上有两个反相器(反相器A4和A5)。但是,反相器A4在从布线分支点P1到布线分支点P2的时钟通路上,而反相器A5在从布线分支点P2到触发器F2的时钟通路上。因此,不能去掉反相器A4和反相器A5。
结果,当对图3A所示的时钟电路执行步骤S101时,得到图3B所示的电路,并且在步骤S 102,该电路显示在屏幕上。在图3A所示的电路和图3B所示的电路之间进行比较,显示出从后者去掉了对理解逻辑没有用的缓冲器和反相器。而且,在图3B所示的电路中,没有改变最初电路的分支结构。因此,通过显示图3B所示的电路代替图3A所示的电路,设计人员更容易理解逻辑。
如上所述,根据图2所示的电路显示方法,能够显示去掉了对理解逻辑没有用的缓冲器和反相器的电路,同时保持了分支结构,从而设计人员更容易理解逻辑。
图4示出了根据本实施例的时钟电路显示方法(第二方法)的流程图。类似于图2所示处理的情况,对由在时钟通路上的逻辑元件和布线执行图4所示的处理。在图4所示的处理中,通过对要显示的时钟电路执行步骤S121到S123,得到用于显示的电路。
更具体地,首先复制在多个时钟通路上的逻辑元件,并且将复制的逻辑元件添加到要显示的时钟电路上,从而时钟通路彼此独立(步骤S121)。但是,在步骤S121,共享从底部到最后的逻辑元件的部分的时钟通路可能会被认为是一个时钟通路。接着,从加入逻辑元件的时钟电路中去掉不改变逻辑的所有缓冲器和位于逻辑元件之间除不改变逻辑的缓冲器之外的所有反相器对(步骤S122)。接着,从去掉缓冲器和反相器对的时钟电路中去掉实现相同的逻辑并且在多个时钟通路上的冗余的局部电路,若有的话,从而每个时钟通路具有共用部分(步骤S123)。
接着,执行步骤S121到S123之后得到的电路显示在屏幕上(步骤S124)。在图1所示的EDA系统10的显示部分14上显示该电路。
下面介绍图5A所示的电路经过图4所示的处理来显示的细节。类似于图3A所示的时钟电路的情况,由在时钟通路上的逻辑元件和布线构成的图5A所示的电路为每个触发器传送时钟信号CK。当对该电路进行步骤S121时,得到图5B所示的电路。例如,在图5A所示的电路中,反相器A8不仅在导入触发器F3的时钟通路上,而且在导入触发器F4的时钟通路上;这两个时钟通路彼此不独立。因此,为了进行电路修改,以得到两个分开的时钟通路,同时保持最初的逻辑,复制反相器A8,得到反相器A81和反相器A82(参看图5B)。反相器A81和A82分别用在导入触发器F3的时钟通路和导入触发器F4的时钟通路上。
接着,当对图5B所示的时钟电路执行步骤S122时,得到图5C所示的电路。例如,在图5B所示的电路中,两个反相器(反相器A81和反相器A9)位于导入触发器F3的时钟通路上。由此,去掉反相器对{A81,A9},所去掉的反相器的输入信号线直接连接到相应的输出信号线。而且,两个反相器(反相器A10和反相器A11)位于导入触发器F5的时钟通路上。但是,在这种情况下,一个反相器(反相器A10)位于从缓冲器B6到与门B7的时钟通路上,另一个反相器(反相器A11)位于从与门B7到触发器F5的时钟通路上。结果,不能去掉反相器A10和A11。
接着,当对图5C所示的时钟电路执行步骤S123时,得到图5D所示的电路。在步骤S123中,在得到位于时钟通路上的逻辑元件的连接关系之后,可以改变电路的连接关系,以去掉冗余的局部电路。
图6A和6B是介绍步骤S123的细节的图。在步骤S123中,如图6A所示,在步骤S122得到的电路(图5C)的时钟通路上分别提供节点N1到N9。因为节点N2之后的电路和节点N3之后的电路具有相同的结构,所以去掉两者之一,并且节点N2和N3合并为一个节点。而且,因为在节点N4、N5和N8之后没有电路,所以节点N4、N5和N8合并为一个节点。而且,因为节点N1之后的电路与节点N6之前的电路具有相同的结构,所以去掉节点N1之后的电路,并且节点N1和N6合并为一个节点。此外,因为节点N9之后的电路与与节点N7之前的电路具有相同的结构,所以去掉节点N9之后的电路,并且节点N7和N9合并为一个节点。如此,通过去掉冗余的电路,得到图6B所示的电路。该电路与图5D所示电路相同。
在图5A所示电路和图5D所示电路之间进行的比较,显示出从后者去掉了对理解逻辑没有用的缓冲器和反相器。而且,在图5D所示的电路中,虽然不具有电路的原始分支结构,但是包括对理解电路结构所必需的一定数量的信息。因此,通过显示图5D所示的电路代替图5A所示的电路,设计人员更容易理解逻辑。
如此,根据图4中所示的时钟电路显示方法,能够显示从电路中去掉了对理解逻辑没有用的缓冲器和反相器,同时保留对理解电路结构所必需的一定数量的信息,从而设计人员更容易理解逻辑。
第二实施例
在本发明的第二实施例中,将介绍有利于设计人员理解时钟信号的流程的显示时钟电路的方法。图7示出了根据本实施例的时钟电路显示方法的流程图。对由在多个时钟通路上的逻辑元件和布线构成的时钟电路执行图7所示的处理。例如,要显示的时钟电路由在第一实施例中介绍的方法指定。
在图7所示的处理中,首先指定传送各自时钟信号的布线的显示颜色和传送多个时钟信号的布线的显示颜色(步骤S201)。接着,当使用在步骤S201指定的显示颜色显示每条布线时,显示要显示的时钟电路,用来在传送各自时钟信号的布线和传送多个时钟信号的布线之间进行区分(步骤S202)。
下面介绍图8A所示的电路经过图7所示的处理而被显示的情况的细节。在图8A所示的电路中,传送从时钟输入端CK1提供的时钟信号和从时钟输入端CK2提供的时钟信号。存在对包括在上述电路中的布线指定显示颜色的各种方法。例如,作为第一种方法,可以如图9A所示使用颜色指定文件指定布线的显示颜色。在图9A所示的颜色指定文件中,说明只传送从时钟输入端CK1提供的时钟信号的布线用红色显示,只传送从从时钟输入端CK2提供的时钟信号的布线用蓝色显示,传送多个时钟信号的布线用绿色显示。
或者,作为第二种方法,可以通过在屏幕上选择时钟输入端指定布线的显示颜色,如图9B所示。在图9B中,当要显示的时钟电路显示在屏幕上时,在屏幕上选择时钟输入端CK1,并且指定红色作为只传送从时钟输入端CK1提供的时钟信号的布线的显示颜色。在这种情况下,以同样的方式指定只传送从时钟输入端CK2提供的时钟信号的布线的显示颜色。传送多个时钟信号的布线的显示颜色可以从没有选择为时钟输入端CK1和CK2的颜色中任意选择。
或者,作为第三种方法,可以使用在屏幕上显示的菜单指定布线的显示颜色,如图9C所示。在图9C中,当要显示的时钟电路和颜色指定菜单同时显示在屏幕上时,使用颜色指定菜单指定布线的显示颜色。输入到图9C所示的颜色指定菜单中的信息与图9A所示的颜色指定文件中所介绍的信息相同。
在使用上述第一到第三种方法中的任一种或使用其它方法指定布线的显示颜色之后,在显示图8A所示时钟电路的情况下,得到图8B所示电路。即,从时钟输入端CK1到选择器C1的布线在显示器上用红色显示,因为在该布线上只传送从时钟输入端CK1提供的时钟信号。而且,从时钟输入端CK2到选择器C 1的布线在显示器上用蓝色显示,因为在该布线上只传送从时钟输入端CK2提供的时钟信号。另外,从选择器C1到触发器F6到F8的布线在显示器上用绿色显示,因为在该布线上传送从时钟输入端CK1和CK2提供的两种类型的时钟信号。
而且,在屏幕上显示时钟电路的情况下,可以靠近每个触发器显示字符,指示每个触发器接收的时钟信号的提供源。在图8B所示的屏幕上,分别靠近触发器F6到F8处显示“来自CK1,CK2”。
如上所述,基于根据本实施例的时钟电路显示方法,当设计人员分析时钟电路并施加电路设计约束时,容易理解时钟信号的流程。
第三实施例
在本发明的第三实施例中,将介绍有利于设计人员理解结构的时钟电路显示方法。图10示出了根据本实施例的时钟电路显示方法的流程图。对由在多个时钟通路上的逻辑元件和布线构成的时钟电路执行图10所示的处理。例如,要显示的时钟电路由在第一实施例中介绍的方法指定。
在图10所示的处理中,首先指定在要显示的时钟电路的时钟通路上的逻辑元件与在同一个时钟电路的另一个时钟通路上的逻辑元件之间的关联(步骤S301)。在步骤S301,可以指定在两个时钟通路上的逻辑元件之间的多个关联,还可以指定在三个或更多不同的时钟通路上的逻辑元件之间的关联。接着,显示要显示的时钟电路,从而在步骤S301指定的逻辑元件沿水平或垂直穿过屏幕的直线对齐(步骤S302)。为了在一条线中显示指定的逻辑元件,首先得到每个指定逻辑元件的级数,并且确定最大级数作为最大值M。然后,在M级显示所有指定的逻辑元件。
下面将介绍图11A所示的电路经过图10所示的处理而被显示的情况的细节。图11A所示的电路包括从时钟输入端CK3到触发器D4的第一时钟通路和从时钟输入端CK4到触发器D9的第二时钟通路。有各种方法来指定在第一时钟通路上的逻辑元件与在第二时钟通路上的逻辑元件之间的关联。例如,作为第一种方法,使用关联(indent)指定文件指定逻辑元件之间的关联,如图12A所示。在图12A所示的关联指定文件中,说明实例名为D3的逻辑元件与实例名为D6的逻辑元件关联,实例名为D4的逻辑元件与实例名为D9的逻辑元件关联。
或者,作为第二种方法,可以通过选择在时钟通路上的逻辑元件指定逻辑元件之间的关联,如图12B所示。在图12B中,当要显示的时钟电路显示在屏幕上时,与门D3和与门D6用框包围(由虚线示出),从而指定两个与门之间的关联。以相同的方式指定触发器D4和D9之间的关联。
或者,作为第三种方法,可以使用在屏幕上显示的菜单指定逻辑元件之间的关联,如图12C所示。在图12C中,当要显示的时钟电路和关联指定菜单同时显示在屏幕上时,使用关联指定菜单指定逻辑元件之间的关联。要输入到图12C所示的关联指定菜单的信息与图12A所示的关联指定文件所述的信息相同。
在使用上述第一到第三种方法中的任一种或使用其它方法指定关联之后,在显示图11A所示时钟电路的情况下,得到图11B所示电路。即,显示沿垂直穿过屏幕的直线对齐的与门D3和D6,以相同的方式显示触发器D4和D9。由此,通过显示图11B所示电路代替图11A所示电路,设计人员更容易理解电路结构。
如上所述,基于根据本实施例的时钟电路显示方法,当设计人员分析时钟电路并施加电路设计约束时,容易理解时钟电路的结构。
第四实施例
在本发明的第四实施例中,将介绍有利于设计人员理解结构的电路显示方法。图13示出了根据本实施例的电路显示方法的流程图。对要显示的电路,特别是,由位于时钟通路上的逻辑元件和布线构成的时钟电路,执行图13所示的处理。例如,当指定要显示的时钟电路时,使用在第一实施例中介绍的方法。
在图13所示的处理中,首先指定要显示的局部电路的结构作为黑盒子(下文中称作要成为黑盒子的电路)(步骤S401)。这里,要成为黑盒子的电路是由多个逻辑元件和至少一个连接构成的局部电路,并且要作为一个组件显示。典型地,具有逻辑意义的局部电路指定为要成为黑盒子的电路。例如,时钟电路包括图14A所示的选择电路和图14B所示的延迟电路。因此,当用图1 3所示处理来显示时钟电路时,在时钟电路中频繁使用的局部电路被指定为要成为黑盒子的电路。
接着,从要显示的电路中搜索在步骤S401中指定要成为黑盒子的电路(步骤S402)。在步骤S402中,在要显示的电路和要成为黑盒子的电路之间进行检测电路匹配的处理。接着,显示要显示的电路,同时在步骤S402得到的要成为黑盒子的电路显示为黑盒子(步骤S403)。结果,例如,图14A所示的选择电路显示为图14C所示的黑盒子,图14B所示的延迟电路显示为图14D所示的黑盒子。
参考图15A到15G和16A到16G,介绍将图14A和14B所示电路指定为要成为黑盒子的电路的方法。例如,指定要成为黑盒子的电路的方法包括使用逻辑元件实例的指定方法和使用逻辑元件类型的指定方法。通过使用逻辑元件实例的指定方法,只有指定的电路显示为黑盒子。另一方面,通过使用逻辑元件类型的指定方法,与指定电路具有相同结构的所有电路显示为单独的黑盒子。
作为使用逻辑元件实例的第一种方法,使用图15A和15B所示的黑盒子指定文件指定要成为黑盒子的电路。图15A示出了图14A所示电路的黑盒子指定文件。在该文件中,使用逻辑元件的实例名指定要成为黑盒子的电路的起点和终点。更具体地,在该文件中说明(1)实例名为I1的逻辑元件的输出端连接到实例名为I2的逻辑元件的输入端,(2)实例名为I2的逻辑元件的输出端连接到实例名为I5的逻辑元件的A端,(3)实例名为I3的逻辑元件的输出端连接到实例名为I4的逻辑元件的输入端,以及(4)实例名为I4的逻辑元件的输出端连接到实例名为I5的逻辑元件的B端。结果,包括以上述项(1)到(4)所述方式连接的实例名为I1到I5逻辑元件的电路被指定为要成为黑盒子的电路。
图15B示出了图14B所示电路的黑盒子指定文件。该文件描述了实例名为I6的逻辑元件和实例名为I8的逻辑元件。而且,在文件中上述两个逻辑元件之间所写的符号“=>”表示在电路的上述两个逻辑元件之间可以放置任意数量的逻辑元件。因此,实例名为I6的逻辑元件位于第一级并且实例名为I8的逻辑元件在最后一级的任意电路被指定为要成为黑盒子的电路。例如,在图14B所示的电路中,实例名为I6的逻辑元件位于第一级,实例名为I8的逻辑元件在最后一级,并且实例名为I7的逻辑元件在上述两个逻辑元件之间。因此,该电路由图15B所示的黑盒子指定文件指定为要成为黑盒子的电路。而且,在图14B所示的电路中,用两个或更多缓冲器代替缓冲器I7的电路由图15B所示的黑盒子指定文件指定为要成为黑盒子的电路。
或者,作为使用逻辑元件的实例的第二种方法,可以通过选择在屏幕上显示的逻辑元件,并在逻辑元件周围放置虚线框指定要成为黑盒子的电路,如图15C和15D所示。在图15C中,当要显示的时钟电路显示在屏幕上时,围绕缓冲器I1到I4和选择器I5放置框(用虚线示出)。结果,由上述五个逻辑元件和连接这些逻辑元件的布线构成的电路指定为要成为黑盒子的电路。在图15D中,当要显示的电路显示在屏幕上时,围绕缓冲器I6到I8加上一个框。结果,由上述三个逻辑元件和连接这些逻辑元件的布线构成的电路指定为要成为黑盒子的电路。
或者,作为使用逻辑元件的实例的第三种方法,可以通过在屏幕上选择要成为黑盒子的电路的起点逻辑元件和终点逻辑元件指定要成为黑盒子的电路,如图15E和15F所示。在图15E中,当要显示的时钟电路显示在屏幕上时,通过标记(对号)选择缓冲器I1和I3以及选择器I5。结果,由上述三个逻辑元件、在这三个逻辑元件之间的逻辑元件以及连接上述逻辑元件的布线构成的电路指定为要成为黑盒子的电路。在图15F中,当显示要显示的时钟电路时,通过标记选择缓冲器I6和I8。结果,由上述两个逻辑元件、在这两个逻辑元件之间的逻辑元件以及连接上述逻辑元件的布线构成的电路指定为要成为黑盒子的电路。
或者,作为使用逻辑元件的实例的第四种方法,可以使用在屏幕上显示的菜单指定要成为黑盒子的电路,如图15G所示。在图15G中,当要显示的时钟电路和黑盒子指定菜单同时显示在屏幕上时,用黑盒子指定菜单指定要成为黑盒子的电路。要输入到图15G所示的黑盒子指定菜单的信息与图15A和15B所示的黑盒子指定文件所述的信息相同。
作为使用逻辑元件类型的第一种方法,使用图16A和16B所示的黑盒子指定文件指定要成为黑盒子的电路。图16A示出了图14A所示电路的黑盒子指定文件。在该文件中,使用逻辑元件的类型指定图14A所示电路的起点和终点。更具体地,在该文件中说明(1)单元类型为BUF(缓冲器)的第一逻辑元件的输出端连接到单元类型为BUF的第二逻辑元件的输入端,(2)单元类型为BUF的第二逻辑元件的输出端连接到单元类型为SEL(选择器)的逻辑元件的A端,(3)单元类型为BUF的第三逻辑元件的输出端连接到单元类型为BUF的第四逻辑元件的输入端,以及(4)单元类型为BUF的第四逻辑元件的输出端连接到单元类型为SEL的逻辑元件的B端。结果,包括以上述项(1)到(4)所述方式连接的单元类型为BUF的第一到第四逻辑元件和单元类型为SEL的逻辑元件的电路指定为要成为黑盒子的电路。
图16B示出了图14B所示电路的黑盒子指定文件。该文件说明了单元类型为BUFTOP(缓冲器)的第一逻辑元件和单元类型为BUFBOTTOM(缓冲器)的第二逻辑元件。而且,在文件中上述两个逻辑元件之间所写的符号“=>”表示在电路的上述两个逻辑元件之间可以放置任意数量的逻辑元件。结果,单元类型为BUFTOP的逻辑元件位于第一级并且单元类型为BUFBOTTOM的逻辑元件在最后一级的电路被指定为要成为黑盒子的电路。
或者,作为使用逻辑元件类型的第二种方法,可以通过选择在屏幕上显示的逻辑元件,并在逻辑元件周围加框来指定要成为黑盒子的电路,如图16C和16D所示。或者,作为使用逻辑元件类型的第三种方法,可以通过在屏幕上选择要成为黑盒子的电路的起点逻辑元件和终点逻辑元件指定要成为黑盒子的电路,如图16E和16F所示。注意,图16C到16F分别与图15C到15F相同。但是,通过使用逻辑元件类型的第二和第三种方法,一旦在屏幕上指定要成为黑盒子的电路,则所有与指定电路具有相同结构的电路被指定为独立的要成为黑盒子的电路。
或者,作为使用逻辑元件类型的第四种方法,可以使用在屏幕上显示的菜单指定要成为黑盒子的电路,如图16G所示。在图16G中,当要显示的时钟电路和黑盒子指定菜单同时显示在屏幕上时,用黑盒子指定菜单指定要成为黑盒子的电路。要输入到图16G所示的黑盒子指定菜单的信息与图16A和16B所示的黑盒子指定文件所述的信息相同。
如上所述,基于根据本实施例的电路显示方法,具有特定意义的局部电路指定为要成为黑盒子的电路,并且指定的电路显示为黑盒子,当设计人员分析电路并施加电路设计约束时,更容易理解电路的结构。
第五实施例
在本发明的第五实施例中,将介绍有利于设计人员理解布线属性的电路显示方法。图17示出了根据本实施例的电路显示方法的流程图。对由位于时钟通路上的逻辑元件和布线构成的时钟电路执行图17所示的处理。例如,要显示的时钟电路由在第一实施例中介绍的方法指定。
在图17所示的处理中,通过包括要显示的电路的版图结果的设计数据首先得到每条布线的属性信息(步骤S501)。在步骤S501得到的属性信息包括,例如,布线的宽度、布线间距和层信息(表示布线位于哪一层的信息)。接着,显示要显示的电路,同时每条布线以对应于在步骤S501得到的属性信息的方式显示(步骤S502)。在这种情况下,在屏幕上显示的太多的布线属性信息妨碍了设计人员理解布线属性,而不是有利于他们理解。因此,全部或部分布线属性信息可以输出到文件。
下面将介绍图18A所示的电路经过图17所示的处理而被显示的情况的细节。图18A所示的电路包括缓冲器E1到E3。关于该电路,假设得到图18B所示的版图结果。根据图18B所示的版图结果,从缓冲器E1到缓冲器E2的第一布线由水平布线WH1和垂直布线WV1构成。假设水平布线WH1是在第一布线层上的单间距单宽(single-wide)布线,垂直布线WV1是在第二布线层上的单间距单宽布线。而且,从缓冲器E2到缓冲器E3的第二布线仅由水平布线WH2构成。假设水平布线WH2是在第一布线层上的双间距双宽布线。
当对图18A所示时钟电路进行图17所示处理时,在步骤S501得到从缓冲器E1到缓冲器E2的第一布线和从缓冲器E2到缓冲器E3的第二布线的例如布线宽度、布线间距和层信息等属性信息。当在步骤S502显示电路时,根据布线的属性确定布线的显示方式。例如,单间距单宽布线分配蓝色细线,双间距双宽布线分配红色粗线。如此,当根据布线的属性确定布线的显示方式之后显示图18A所示电路时,得到图18C所示电路。即,从缓冲器E1到缓冲器E2的第一布线在屏幕上显示为蓝色细线,从缓冲器E2到缓冲器E3的第二布线在屏幕上显示为红色粗线。注意,可以通过只改变显示颜色而不改变线宽来表示线宽。
而且,在步骤S502,布线的属性信息输出到文件。结果,例如,关于图18A所示的电路,得到图18D所示的输出结果。图18D所示的输出结果说明从实例名为E1的逻辑元件的Y端到实例名为E2的逻辑元件的A端的布线是在第一和第二布线层上的单间距单宽布线,从实例名为E2的逻辑元件的Y端到实例名为E3的逻辑元件的A端的布线是在第一布线层上的双间距双宽布线。
如上所述,基于根据本实施例的电路显示方法,每条布线以对应于布线属性信息的方式显示,从而设计人员更容易检查逻辑电路和布线信息。
第六实施例
在本发明的第六实施例中,将介绍在电路设计数据上施加设计约束的方法和验证在电路设计数据上施加的设计约束的方法。图19示出了根据本实施例施加设计约束的方法的流程图。对完成逻辑级设计的电路执行图19所示的处理。
在图19所示的处理中,首先指定包括多个逻辑元件和至少一个布线的局部电路的结构,以及要施加到局部电路上的设计约束(步骤S601)。下文中,在步骤S601中指定的电路被称作约束施加电路。在步骤S601,可以指定多个约束施加电路。接着,从要处理的电路中搜索在步骤S601指定的约束施加电路(步骤S602)。接着,在步骤S601指定的设计约束施加到在步骤S602得到的电路上(步骤S603)。
下面将介绍由图19所示的处理对图20A所示电路施加设计约束的细节。在步骤S601,假设指定图20B所示电路为约束施加电路,并且对输出信号Y施加例如“改变时钟信号的相位”等约束作为关于该电路的设计约束。在步骤S602,从图20A所示电路中搜索具有与图20B所示相同结构的局部电路。在图20A所示电路中,由缓冲器G1、触发器G2、或非门G3和G4以及连接上述四个逻辑元件的布线构成的局部电路与约束施加电路具有相同的结构。由此,在步骤S603,对或非门G4的输出端施加例如“改变时钟信号的相位”等约束。
在步骤S601指定多个约束施加电路的情况下,在步骤S602,对于要处理的一个电路可以得到多个搜索结果。例如,在指定图21A和21B所示的电路作为约束施加电路之后,对图20A进行电路搜索的情况下,得到两个搜索结果,如图21C所示。具体地,由触发器G2和或非门G3构成的局部电路H1对应于图21A所示电路,由或非门G3和G4构成的局部电路H2对应于图21B所示电路。
因此,在步骤S601指定多个约束施加电路的情况下,在步骤S602进行电路搜索时,以下任何方法可以用来将约束施加电路与局部电路关联。例如,在电路搜索时首先与局部电路一致的约束施加电路与局部电路关联。或者,在电路搜索时最后与局部电路一致的约束施加电路与局部电路关联。或者,在电路搜索时与各个局部电路一致的全部约束施加电路与各个局部电路关联。或者,预先为约束施加电路分配优先权,并且具有最高优先权的约束施加电路与局部电路关联。
如上所述,根据图19所示的设计约束施加方法,自动搜索要施加设计约束的局部电路,并且对局部电路施加设计约束,从而能够降低在施加设计约束中的错误和施加设计约束所需的步骤数。
接着,将介绍与如图19所示的施加设计约束的方法具有相同特性的验证设计约束的方法。图22示出了根据本实施例验证设计约束的方法的流程图。对施加设计约束并且已经完成逻辑级设计的电路进行图22所示的处理。
在图22所示的处理中,如在图19所示的步骤S601和S602中的情况,指定约束施加电路的结构和要施加的设计约束(步骤S621),并且从要处理的电路中搜索指定的约束施加电路(步骤S622)。接着,确定在步骤S621指定的设计约束是否施加到在步骤S622得到的电路上(步骤S623)。接着,在步骤S623得到的结果输出到文件或屏幕(步骤S624)。典型地,在指定的设计约束没有施加到得到的电路上的情况下,在步骤S624输出识别电路所必需的信息(例如,逻辑元件的名字)。
如上所述,根据图22所示的验证设计约束的方法,自动搜索要施加设计约束的局部电路,并确定设计约束是否适当地施加到局部电路上,从而能够降低在施加设计约束中的错误和施加设计约束所需的步骤数。
第七实施例
在本发明的第七实施例中,将介绍使用半导体集成电路的设计数据的电路比较方法。图23示出了根据本实施例的电路比较方法(第一方法)的流程图。对实现基本相同的逻辑的两个电路(下文中称作第一和第二电路)进行图23所示的处理。例如,通过稍稍修改第一电路得到第二电路。
在图23所示的处理中,从第一和第二电路的每一个提取由在时钟通路上的逻辑元件和布线构成的时钟电路(步骤S701)。下文中,从第一和第二电路提取的时钟电路分别称作第一和第二时钟电路。接着,对在步骤S701提取的每个时钟电路进行逻辑化简(步骤S702)。接着,相对于作为逻辑化简结果得到的每个时钟电路,得到被提供了逻辑等效时钟信号的所有触发器构成的组(步骤S703)。具体地,对在第一时钟电路中包括的触发器分组,从而被提供了逻辑等效时钟信号的触发器属于同一组。对第二时钟电路进行相同的处理。
接着,根据属于每个组的触发器的数量将在第一时钟电路中包括的组与在第二时钟电路中包括的组关联(步骤S704)。在这种情况下,包括大致相同数量触发器的组彼此关联。
接着,根据每个触发器的实例名,将属于在第一时钟电路中包括的组的触发器与属于同上述组关联并且包括在第二时钟电路中的组的触发器关联(步骤S705)。在步骤S705,例如,只在超过一半的属于包括在第一时钟电路中的组的触发器的实例名与属于包括在第二时钟电路中的组的触发器的实例名相符时,触发器才可能彼此关联。
接着,使用在步骤S705得到的触发器之间的关联作为约束对第一和第二电路进行逻辑比较(步骤S706)。典型地,使用逻辑比较工具执行步骤S706。
注意,在步骤S705中在触发器之间没有建立足够关联的情况下(例如,属于包括在第一时钟电路中的组的触发器的少于一半的实例名与属于包括在第二时钟电路中的组的触发器的实例名相符),在步骤S704重新建立组之间的关联。
参考图24A到24D,将介绍执行图23所示的电路比较方法的一个例子。通过步骤S701,假设从第一电路提取如图24A所示的第一时钟电路,从第二电路提取如图24B所示的第二时钟电路。而且,假设第一时钟电路和第二时钟电路之间的不同仅在于在第一和第二时钟电路中包括的触发器的部分实例名不同。例如,假设在第一时钟电路中的触发器(用阴影表示)具有实例名FF CA,在第二时钟电路中的相同触发器具有实例名FFCA。
通过对第一和第二时钟电路执行步骤S702和S703,分别得到图24C和24D所示结果。即,在对被进行逻辑化简的第一时钟电路中包括的触发器进行分组,从而提供了逻辑等效时钟信号的触发器属于相同组的情况下,得到包括一百个触发器的组GR-A1和包括两百个触发器的组GR-A2。在对进行逻辑化简的第二时钟电路进行相同处理的情况下,得到包括一百个触发器的组GR-B1和包括两百个触发器的组GR-B2。
在步骤S704,包括大致相同数量触发器的组彼此关联。在图24A到24D中,一百个触发器、两百个触发器、一百个触发器和两百个触发器分别属于组GR-A1、GR-A2、GR-B1和GR-B2。由此,组GR-A1与组GR-B1关联,组GR-A2与组GR-B2关联。
接着,在步骤S705,根据每个触发器的实例名,属于组GR-A1的触发器与属于组GR-B1的触发器关联,属于组GR-A2的触发器与属于组GR-B2的触发器关联。接着,在步骤S706,使用得到的在触发器之间的关联作为约束对第一和第二电路进行逻辑比较。
图25A到25D示出了执行电路比较方法的另一个例子。图25A到25D类似于图24A到24D。在该例子中,在对第一时钟电路(图25A)和第二时钟电路(图25B)执行步骤S702和S703的情况下,得到图25C和25D所示的结果。假设两百个触发器分别属于组GR-C1、GR-C2、GR-D1和GR-D2。在这种情况下,在步骤S703在组之间建立关联的情况下,存在两种关联方式:“组GR-C1与组GR-D1关联和组GR-C2与组GR-D2关联”;以及“组GR-C1与组GR-D2关联和组GR-C2与组GR-D1关联”。如此,在由于多个组的触发器数量相同或大致相同而在步骤S704可以建立多个关联的情况下,可以针对每一个关联执行步骤S705和S706,从而使用在步骤S706所得结果中的最佳结果作为最终的逻辑比较结果。
图26示出了根据本实施例的电路比较方法(第二方法)的流程图。如用图23所示处理的情况,对实现基本相同逻辑的两个电路进行图26所示的处理。如用图23所示处理的情况,在图26所示的处理中,从第一和第二电路中的每一个提取由在时钟通路上的逻辑元件和布线构成的时钟电路(步骤S721)。
接着,从在步骤S721提取出的每个时钟电路中,得到由直接施加从同一个逻辑元件输出的时钟信号的所有触发器构成的组(步骤S722)。换句话说,分开在第一时钟电路中包括的触发器,从而在时钟通路的最后一级具有相同元件的触发器属于同一个组。对第二时钟电路进行相同的处理。注意,在图26所示的处理中,在步骤S722之前,没有对每个时钟电路进行逻辑化简。
然后,使用在步骤S722得到的组,进行与图23所示步骤S704到S706相同的处理。即,根据属于每个组的触发器的数量,将在第一时钟电路中包括的组与在第二时钟电路中包括的组关联(步骤S723)。接着,根据每个触发器的实例名,将属于在第一时钟电路中包括的组的触发器与属于同上述组关联并且包括在第二时钟电路中的组的触发器关联(步骤S724)。然后,使用得到的关联作为约束对第一和第二电路进行逻辑比较(步骤S725)。
参考图27A到27D,介绍执行图26所示的电路比较方法的一个例子。当在步骤S721从要比较的电路中提取时钟电路时,从第一电路提取出图27A所示的第一时钟电路,从第二电路提取出图27B所示的第二时钟电路。当对第一和第二时钟电路执行步骤S722时,得到图27C和27D所示结果。即,在将进行逻辑化简的第一时钟电路中包括的触发器分组,从而在时钟通路的最后一级具有相同元件的触发器属于同一个组的情况下,得到包括一百个触发器的组GR-E1、包括两百个触发器的组GR-E2和包括三百个触发器的组GR-E3。在对进行逻辑化简的第二时钟电路进行相同处理的情况下,得到包括一百个触发器的组GR-F1、包括两百个触发器的组GR-F2和包括三百个触发器的组GR-F3。注意,在图26的处理中,组GR-E2和组GR-E3作为不同的组处理,因为属于组GR-E2的触发器和属于组GR-E3的触发器所在的时钟通路的最后一级分别是不同的逻辑元件。同样,组GR-F2和组GR-F3也作为不同的组处理。
属于组GR-E1、GR-E2、GR-E3、GR-F1、GR-F2和GR-F3的触发器的数量分别为一百、二百、三百、一百、二百和三百。由此,在步骤S723,组GR-E1与组GR-F1关联,组GR-E2与组GR-F2关联,组GR-E3与组GR-F3关联。接着,在步骤S724,根据每个触发器的实例名,属于组GR-E1的触发器与属于组GR-F1的触发器关联,属于组GR-E2的触发器与属于组GR-F2的触发器关联,属于组GR-E3的触发器与属于组GR-F3的触发器关联。接着,在步骤S725,使用得到的在触发器之间的关联作为约束对第一和第二电路进行逻辑比较。
图28A到28D示出了执行电路比较方法的另一个例子。图28A到28D类似于图27A到27D。在该例子中,当对第一时钟电路(图28A)和第二时钟电路(图28B)执行步骤S722时,得到图28C和28D所示的结果。属于组GR-G1、GR-G2、GR-G3、GR-H1、GR-H2和GR-H3的触发器的数量分别为一百、一百、三百、一百、一百和三百。在这种情况下,在步骤S723在组之间建立关联的情况下,存在两种关联方式:“组GR-G1与组GR-H1关联、组GR-G2与组GR-H2关联和组GR-G3与组GR-H3关联”;以及“组GR-G1与组GR-H2关联、组GR-G2与组GR-H1关联和组GR-G3与组GR-H3关联”。如此,在由于多个组的触发器数量相同或大致相同而在步骤S723可以建立多个关联的情况下,可以针对每一个关联执行步骤S724和S725,从而使用在步骤S725所得结果中的最佳结果作为最终的逻辑比较结果。
如上所述,基于根据本实施例的电路比较方法,即使电路包括的触发器的数量不完全相同,并且在电路中包括的一部分触发器具有不同的实例名,也能够有效的比较电路。
第八实施例
在本发明的第八实施例中,将介绍得到时钟电路的简化设计数据的方法。图29示出了根据本实施例产生时钟电路的设计数据的方法(第一方法)的流程图。对由位于多个时钟通路上的逻辑元件和布线构成的时钟电路进行图29所示的处理。例如,用在第一实施例中介绍的方法指定要显示的时钟电路。
在图29所示的处理中,首先对要处理的时钟电路进行逻辑化简(步骤S801)。接着,从经过逻辑化简的时钟电路得到由施加逻辑等效时钟电路的所有触发器构成的组(步骤S802)。步骤S801和S802与图23所示的步骤S702和S703相同。接着,属于每个组的全部触发器用一个触发器代替,该触发器具有包括属于每个组的触发器数量的实例名(步骤S803)。结果,产生电路的简化设计数据。
下面将介绍通过图29所示方法得到图30A所示时钟电路的简化设计数据的细节。图30A所示电路与图24A所示电路相同。当对图30A所示电路执行步骤S801和S802时,得到包括一百个触发器的组GR-A1和包括两百个触发器的组GR-A2。接着,在步骤S803,属于组GR-A1的全部触发器用具有包括属于组GR-A1的触发器数量(100)的实例名的一个触发器(在这种情况下,FF_A100)代替,属于组GR-A2的全部触发器用具有包括属于组GR-A2的触发器数量(200)的实例名的一个触发器(在这种情况下,FF_BC200)代替。结果,产生图30A所示电路的简化设计数据(参看图30B)。
图31示出了根据本实施例产生时钟电路的设计数据的方法(第二方法)的流程图。如在图29所示处理的情况下,对由位于多个时钟通路上的逻辑元件布线构成的时钟电路进行图31所示的处理。
在图31所示的处理中,首先从要处理的时钟电路得到直接施加从同一个逻辑元件输出的时钟信号的所有触发器构成的组(步骤S821)。接着,属于每个组的全部触发器用具有包括属于每个组的触发器数量的实例名的一个触发器代替(步骤S822)。结果,产生电路的简化设计数据。注意,步骤S821和步骤S822分别与图23所示的步骤S703和图29所示的步骤S803相同。
下面将介绍通过图31所示方法得到图32A所示时钟电路的简化设计数据的细节。图32A所示电路与图27A所示电路相同。当对图32A所示电路执行步骤S821时,得到包括一百个触发器的组GR-E1、包括两百个触发器的组GR-E2和包括三百个触发器的组GR-E3。接着,在步骤S822,属于组GR-E1的全部触发器用具有包括属于组GR-E1的触发器数量(100)的实例名的一个触发器(在这种情况下,FF_A100)代替,属于组GR-E2的全部触发器用具有包括属于组GR-E2的触发器数量(200)的实例名的一个触发器(在这种情况下,FF_B200)代替,属于组GR-E3的全部触发器用具有包括属于组GR-E3的触发器数量(300)的实例名的一个触发器(在这种情况下,FF_C300)代替。结果,产生图32A所示电路的简化设计数据(参看图32B)。
如上所述,基于根据本实施例的设计数据产生方法,能够产生反映触发器数量的简化的设计数据。因此,使用产生的设计数据能够很容易的进行电路比较等。
本发明用于处理半导体集成电路的设计数据的方法允许设计人员更容易的理解逻辑,从而,例如,能够在用于设计半导体集成电路的EDA系统等中使用该方法。
虽然详细介绍了本发明,但是上述介绍在各方面是示例性的,而不是限制性的。应当理解,在不脱离本发明的范围的情况下,可以做出许多其他修改和变化。

Claims (3)

1、一种使用半导体集成电路的设计数据显示时钟电路的方法,包括以下步骤:
从由位于时钟电路上的逻辑元件和布线构成的时钟电路中去掉缓冲器和反相器,而不改变逻辑,从而得到要显示的电路;以及
显示得到的用于显示的所述电路。
2、根据权利要求1的方法,其中得到用于显示的电路的步骤从所述时钟电路去掉不改变逻辑的所有缓冲器,并且当时钟通路在布线的分支点分开时,从时钟电路去掉在每个分开的时钟通路上的所有反相器对。
3、根据权利要求1的方法,其中
得到用于显示的电路的步骤包括以下步骤:
复制在多个时钟通路上的逻辑元件,并且将复制的逻辑元件添加到所述时钟电路上,从而时钟通路彼此独立;
从添加了逻辑元件的时钟电路中去掉所有不改变逻辑的缓冲器以及除不改变逻辑的缓冲器之外位于逻辑元件之间的所有反相器对;以及
从去掉了缓冲器和反相器对的时钟电路中去掉实现相同逻辑并且位于多个时钟通路上的冗余的局部电路,若存在所述冗余的局部电路的话,从而每个时钟通路具有共用部分。
CNB200410068389XA 2003-10-16 2004-08-31 半导体集成电路的设计数据的处理方法 Expired - Fee Related CN1316412C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP356678/2003 2003-10-16
JP2003356678A JP4017583B2 (ja) 2003-10-16 2003-10-16 半導体集積回路の設計データの回路表示方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNA200710088903XA Division CN101034419A (zh) 2003-10-16 2004-08-31 半导体集成电路的设计数据的处理方法

Publications (2)

Publication Number Publication Date
CN1607657A CN1607657A (zh) 2005-04-20
CN1316412C true CN1316412C (zh) 2007-05-16

Family

ID=34509800

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB200410068389XA Expired - Fee Related CN1316412C (zh) 2003-10-16 2004-08-31 半导体集成电路的设计数据的处理方法
CNA200710088903XA Pending CN101034419A (zh) 2003-10-16 2004-08-31 半导体集成电路的设计数据的处理方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNA200710088903XA Pending CN101034419A (zh) 2003-10-16 2004-08-31 半导体集成电路的设计数据的处理方法

Country Status (3)

Country Link
US (1) US20050086621A1 (zh)
JP (1) JP4017583B2 (zh)
CN (2) CN1316412C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4555891B2 (ja) * 2007-05-28 2010-10-06 富士通株式会社 自動配線装置,自動配線プログラム,及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP4355348B2 (ja) * 2007-07-10 2009-10-28 パナソニック株式会社 クロック供給回路及びその設計方法
US8516417B2 (en) * 2009-08-07 2013-08-20 International Business Machines Corporation Method and system for repartitioning a hierarchical circuit design
JP2011238163A (ja) * 2010-05-13 2011-11-24 Renesas Electronics Corp 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム
CN103269213A (zh) * 2013-04-11 2013-08-28 南京互信系统工程有限公司 无时钟缓冲器触发器
CN105335538B (zh) * 2014-08-01 2019-04-05 台湾积体电路制造股份有限公司 器件生成方法和装置
CN107622157B (zh) * 2017-09-15 2020-07-10 北京华大九天软件有限公司 一种追踪电路时序路径连接性的方法
US10651850B2 (en) 2018-08-23 2020-05-12 Samsung Electronics Co., Ltd. Low voltage tolerant ultra-low power edge triggered flip-flop for standard cell library

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303102A (zh) * 1999-10-28 2001-07-11 摩托罗拉公司 采用可编程延迟来控制地址缓冲器的存储器
US20030004992A1 (en) * 2001-06-29 2003-01-02 Yoshinori Matsui Data reproduction apparatus and data reproduction method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367060B1 (en) * 1999-06-18 2002-04-02 C. K. Cheng Method and apparatus for clock tree solution synthesis based on design constraints
JP2001014368A (ja) * 1999-06-30 2001-01-19 Mitsubishi Electric Corp クロック解析装置およびクロック解析方法
JP2001331541A (ja) * 2000-05-18 2001-11-30 Nec Corp 配線接続確認装置及び確認方法並びにそのプログラムを記載した記録媒体
JP3420195B2 (ja) * 2000-09-26 2003-06-23 エヌイーシーマイクロシステム株式会社 クロック配線の設計方法
JP5193406B2 (ja) * 2001-06-13 2013-05-08 富士通セミコンダクター株式会社 クロック分配回路の設計方法,設計装置および設計プログラム並びに同プログラムを記録したコンピュータ読取可能な記録媒体
US6754877B1 (en) * 2001-12-14 2004-06-22 Sequence Design, Inc. Method for optimal driver selection
US6698005B2 (en) * 2002-02-19 2004-02-24 Telefonaktiebolaget L M Ericsson (Publ) Min-time / race margins in digital circuits
US7000163B1 (en) * 2002-02-25 2006-02-14 Lsi Logic Corporation Optimized buffering for JTAG boundary scan nets
US6763505B2 (en) * 2002-04-04 2004-07-13 International Business Machines Corporation Apparatus and method for automated use of phase abstraction for enhanced verification of circuit designs
US6639443B1 (en) * 2002-04-22 2003-10-28 Broadcom Corporation Conditional clock buffer circuit
JP3990250B2 (ja) * 2002-10-10 2007-10-10 株式会社東芝 自動設計システム、及び自動設計方法
US7017132B2 (en) * 2003-11-12 2006-03-21 Taiwan Semiconductor Manufacturing Company Methodology to optimize hierarchical clock skew by clock delay compensation
US7257788B2 (en) * 2004-11-08 2007-08-14 International Business Machines Corporation Method and apparatus for converting globally clock-gated circuits to locally clock-gated circuits

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303102A (zh) * 1999-10-28 2001-07-11 摩托罗拉公司 采用可编程延迟来控制地址缓冲器的存储器
US20030004992A1 (en) * 2001-06-29 2003-01-02 Yoshinori Matsui Data reproduction apparatus and data reproduction method

Also Published As

Publication number Publication date
CN1607657A (zh) 2005-04-20
JP4017583B2 (ja) 2007-12-05
US20050086621A1 (en) 2005-04-21
CN101034419A (zh) 2007-09-12
JP2005122471A (ja) 2005-05-12

Similar Documents

Publication Publication Date Title
US5675545A (en) Method of forming a database that defines an integrated circuit memory with built in test circuitry
US6779158B2 (en) Digital logic optimization using selection operators
US7082584B2 (en) Automated analysis of RTL code containing ASIC vendor rules
US6028991A (en) Layout parameter extraction device
US5640328A (en) Method for electric leaf cell circuit placement and timing determination
JPH03257671A (ja) 設計取り込みシステム
CN1316412C (zh) 半导体集成电路的设计数据的处理方法
US7584448B1 (en) Constructing a model of a programmable logic device
US6993731B2 (en) Optimization of digital designs
EP1303764A2 (en) Hierarchical design and test method and system, program product embodying the method and integrated circuit produced thereby
US5802075A (en) Distributed test pattern generation
US6546542B2 (en) Parameterized designing method of data driven information processor employing self-timed pipeline control
US7451423B1 (en) Determining indices of configuration memory cell modules of a programmable logic device
US8074198B2 (en) Apparatus and method for circuit layout using longest path and shortest path search elements
US7681169B2 (en) Process for managing complex pre-wired net segments in a VLSI design
TWI409659B (zh) Circuit design methods, circuit design systems and recording media
US7536668B1 (en) Determining networks of a tile module of a programmable logic device
US7472370B1 (en) Comparing graphical and netlist connections of a programmable logic device
Aksenova Control-ready architecture for self-testing in programmable logical matrix structures
JPH11259555A (ja) マクロの設計方法
JP2007242037A (ja) 半導体集積回路の設計データの処理方法
JPH09199597A (ja) 遅延パラメータ抽出装置
Salcic et al. Design Tools and Logic Design with FPLDs
JPH05174098A (ja) 論理回路形成方法
JPH03290760A (ja) データパス回路の構成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070516

Termination date: 20090930