CN1199243A - 模块合成装置及模块合成方法 - Google Patents

模块合成装置及模块合成方法 Download PDF

Info

Publication number
CN1199243A
CN1199243A CN98101356A CN98101356A CN1199243A CN 1199243 A CN1199243 A CN 1199243A CN 98101356 A CN98101356 A CN 98101356A CN 98101356 A CN98101356 A CN 98101356A CN 1199243 A CN1199243 A CN 1199243A
Authority
CN
China
Prior art keywords
function
module
delay
circuit
data path
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.)
Pending
Application number
CN98101356A
Other languages
English (en)
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 CN1199243A publication Critical patent/CN1199243A/zh
Pending legal-status Critical Current

Links

Images

Classifications

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

Abstract

一种模块合成装置及方法,其功能电平处理部分是将数据通路图表变换成逻辑电路信息,逻辑电平处理部分是在逻辑电路信息2中特定元件。合成处理部分是根据按照元件特性推断部分求出的经延迟使参数升高的形状函数,合成数据通路的配置模块,同时,求经延迟使参数升高的配置模块的形状函数。由于使用经延迟使参数升高的元件的形状函数,能够将配置模块的形状高精度最优化,同时通过形状函数的生成,容易与前工序设计联合。

Description

模块合成装置及模块合成方法
本发明涉及在互补金属氧化物半导体(CMOS)的大规模集成电路(LSI)等电路中,使用数据通路电路的合成配置模块的技术。
作为以往的模块合成装置,设计规则是将参数增大的元件,在垂直方向合位,同时,在水平方向配合机能配置,对准各元件的引线配置的位置及进行上层配线。并且具有使元件的驱动能力在元件单位最优化机能。
并且,包括多个可以替补配置模块内电路各功能元件的候补元件,具有自动地从其中选择最合适功能的元件的机能。
可是,以往的模块合成装置具有以下问题。
近年来,大规模集成电路的集成度和时钟频率日趋上升、予测到2003年大规模集成电路每平方厘米(1cm2)的面积,能容纳1800万个晶体管,时钟频率可达500MHz(SRC,“National Technology Roadmap forSemiconductor”,1997)。
由这样的背景开始,我们在大规模集成电路的制造中迎接亚微米时代到来。但是,大规模集成电路的设计日益复杂化,由于延迟和耗电比栅电容更大依赖配线负载,为了使配线间隔达到0.1μm那样极微小的程度,在其设计的前工序(功能电平、电阻一晶体管逻辑电路(RTL)电平)评价大规模集成电路的延迟、耗电和时钟频率偏移是极其困难的。并且,由于配线间隔很微小,为了推断配线延迟,有必要了解配线模型对配线间结合容量的影响,在设计的前工序推断该配线间的结合容量几乎是不可能的。
因此,在设计的后工序(逻辑电平、晶体管电平)中,修正前工序的设计结果的功能元件是非常重要的。也就是说、通过将设计的前工序的评价功能元件和设计的后工序的修正功能元件巧妙的联合,在大规模集成电路设计中能够减少反复设计,进而在削减设计费用的同时,能够实现较高质量的大规模集成电路的设计。
由于使设计的前工序和后工序巧妙的联合,有必要将前工序必要的关于模块的性能和面积精度的适当的信息,由设计的后工序尽快提供。也就是说,前工序设计的合成器具为了在模块的配置和固定时能够探索设计空间,后工序的模块合成装置针对多个条件能够寻求马上推断合成结果那样的功能元件。可是以往的模块合成装置没有这样的功能元件,仅就一个条件合成配置模块。为此,如果就多个条件推断模块的性能和面积的话,其每次只实际合成模块,因此,存在需要非常多的处理时间这样的问题。
而且,用以往的模块合成装置,由于几乎没有元件形状的自由度,例如在选择了驱动能力最合适的元件时,在元件之间容易产生死区,也就是说,存在所谓不能使配置模块的形状精度高最优化这样的问题。
本发明,鉴于上述各点,作为数据通路电路的模块合成装置及方法,能将配置模块的形状高精度最优化,并且,容易与设计的前工序联合,作为本发明课题。
为了解决上述课题,本发明之一的解决手段是,一种模块合成装置作为合成数据通路电路的模块配置的模块合成装置,它包括:根据数据通路电路用逻辑电平所表现的逻辑电路信息,在所述数据通路电路中特定元件的逻辑电平处理部分;和对于提供给晶体管电平的电路构成的元件,求出经延迟使参数升高的形状函数的元件特性推断部分;和根据所述逻辑电平处理部分特定的各元件,分别设定晶体管电平的电路构成提供给所述元件特性推断部分;根据所述元件特性推断部分求出的,按照经延迟使参数升高的各元件的形状函数,合成配置模块的合成处理部分。
按照本发明之一,由逻辑电平处理部分使特定的数据通路电路的各元件,通过元件特性推断部分,由合成处理部分提供的晶体管电平的电路构成,能求出经延迟使参数升高的形状函数。也就是说,与以往相比,提高了数据通路电路的元件形状的自由度。然后,通过合成处理部分,利用经延迟使参数升高的元件的形状函数,能合成配置模块,因此,能够使元件间的死区更小,配置模块的形状与以往相比,也能够精度更高最优化。
而且,在本发明上述的模块合成装置中,所述合成处理部分是给予合成配置模块,或是代替合成,经延迟使参数升高,求出配置模块的形状函数。
按照上述本发明,通过合成处理部分,求出配置模块经延迟使参数升高的形状函数,因此,比以往更容易做到,与前工序设计的联合。
另外,在本发明上述的模块合成装置中,它包括根据按各功能元件分配逻辑电路,将数据通路图表变换成逻辑电路信息的功能电平处理部分;所述逻辑电平处理部分是将用所述功能电平处理部分所变换的逻辑电路信息作为输入。
按照上述本发明,即使表示数据通路的信息是数据通路图表,也能够作为该模块合成装置的输入。
而且,在本发明上述的模块合成装置中,逻辑电平处理部分包括:表示所述逻辑电路信息的同时,示出的逻辑电路信息是表示将数据通路电路中的各元件的范围,按照由该模块合成装置的外部提供的指示修正的逻辑电路图表示修正部分。
按照上述本发明,用户能够人——机对话或简易地修正数据通路电路的各元件的范围。
还有,在本发明上述的模块合成装置中,元件特性推断部分包括,按照元件的晶体管电平的电路构成,对该元件满足一个延迟要求,求出各晶体管的选通脉冲宽度的手段;和以串联连接的晶体管相互之间作为共有扩散区域使构成所述元件的晶体管集团化的手段;和关于各晶体管群,根据反复的形态变化,求出表示形状的形状函数,按照由该形状函数得到的各晶体管群的高度的候补,求出元件高度候补的手段;和关于各元件高度候补,分别按照从晶体管面积和按预料配线长度的配线面积之和减去通过共有扩散的面积削减部分,在推断元件面积的同时,用该元件高度候补除去推断的元件面积,求出对应该元件高度候补的元件宽度的手段;根据各元件高度候补和与对应的元件宽度的组合,求出有关所述一个延迟要求的所述元件的形状函数。
还有,本发明的另一解决手段是作为合成数据通路电路的配置模块的模块合成装置,它包括:表示数据通路图表的同时,按照由该模块合成装置的外部提供的指示,修正在该数据通路图表中的寄存器的配置的数据通路图表表示修正部分;和推断所述数据通路图表的各功能元件的延迟的功能元件特性推断部分;和根据所述功能元件特性推断部分推断的表示各功能元件的延迟的功能元件特性表示部分。
按照上述本发明,用户能够一边看由功能元件特性表示部分使表示的功能元件的延迟,一边用人——机对话式通过数据通路图表表示修正部分修正在数据通路图表中的寄存器配置。因此,由于能够容易地消解时间间隔间的处理时间的不平均,能够合成比以往延迟性能更优秀的模块。
而且,在本发明上述的模块合成装置中,所述功能元件特性表示部分是每个时间间隔集中表示各功能元件的延迟,同时,将每个时间间隔之和作为时间间隔的处理时间,表示各功能元件的延迟,并且,决定时钟周期作为时间间隔,表示处理时间为最大的时间间隔。
按照上述本发明,表示各时间间隔的处理时间,并且决定数据通路电路的时钟周期,由于表示处理时间为最大的时间间隔,用户为消解时间间隔间的处理时间的不平均,能够容易地进行寄存器的配置变更。
还有,在本发明上述的模块合成装置中,功能元件特性推断部分包括:求出各功能元件的固有延迟及输出级的驱动能力的手段;和推断所述各功能元件的控制需要的信号的延迟时间的手段;和推断所述各功能元件间的假定配线的手段;和根据所述一个功能元件的固有延迟,和所述一个功能元件的控制需要信号的延迟时间,和根据用所述一个功能元件的输出级的驱动能力,驱动各功能元件间的假定配线中驱动所述一个功能元件的输出级的配线时的配线延迟之和求出一个功能元件的延迟的手段。
按照上述本发明,由于也考虑需要控制的传送等信号的延迟时间,求出功能元件的延迟,所以能精度更高地推断各功能元件的延迟。
本发明的另一解决手段是作为合成数据通路电路的配置模块的模块合成方法,它包括:根据按各功能元件分配逻辑电路,使数据通路图表变换数据通路电路用逻辑电平所表现的逻辑电路信息的工序;和按照所述逻辑电路信息,在所述数据通路电路中特定元件的工序;和有关特定的各元件,求出经延迟使参数升高的形状函数的工序;根据配置模块的平面布置图和经延迟使参数升高的元件的形状函数,合成配置模块的工序。
最后,在上述本发明的模块合成方法中,它包括:给予合成配置模块,或是代替合成,经延迟使参数升高,求出配置模块的形状函数的工序。
下面,简要说明附图
图1是表示关于本发明一实施例的模块合成装置的构成框图。
图2是数据通路图表的一例,是数据通路图表表示修正部分11a的画面的一例。
图3表示如图2所示对应数据通路图表的功能元件特性表示部分21的画面的一例。
图4是用逻辑电平表现数据通路电路的逻辑电路图的一例,是表示逻辑电路图表示修正部分12a的画面的一例。
图5是表示配置表示修正部分13a的画面的一例。
图6是逻辑电路程序库51的数据的画面表示例,表示对加法器的面积、延迟及耗电的数据图。
图7是晶体管电路程序库52的数据的画面表示例,表示对反相器的晶体管电路图。
图8表示通过元件特性推断部分32求出元件的形状函数的一例的坐标图。
图9表示一例构成元件的晶体管电路图。
图10(a)~(e)表示形态反复变化时如图9所示晶体管群G1的形状的变化图。
图11表示如图9所示的晶体管群G1的形状函数的坐标图。
图12是为说明假定配线的长度的图。
图13是为说明电路分组处理方法的图。(a)是表示包括1个环节的网清单的电路图,(b)是有关(a)的对元件进行电路要素分配例的图。
图14表示模块推断数据,即表示配置模块的高度和宽度的关系的形状函数一例的坐标图。
图15表示有关本实施例的模块合成处理流程的流程图。
图16表示求模块的形状函数的方法图,(a)表示元件A的形状函数图,(b)表示元件B的形状函数图,(c)表示包围邻接垂直方向的元件A,B的矩形的形状函数图。
符号说明
1——数据通路图表;2——逻辑电路信息;3——配置模块;4——形状函数;11——功能电平处理部分;11a——数据通路图表表示修正部分;12——逻辑电平处理部分;12a——逻辑电路图表示修正部分;13——合成处理部分;21——功能元件特性表示部分;31——功能元件特性推断部分;32——元件特性推断部分;F1~F4——功能元件;R1~R6——寄存器;102——元件;G1~G6——晶体管群。
下面,参照附图,说明本发明的一实施例。
图1是表示关于本实施例的模块合成装置的构成框图。图1所示的本实施例的模块合成装置包括将数据通路图表1变换成逻辑电路信息2的功能电平处理部分11,按照来自功能电平处理部分11或是由外部输入的逻辑电路信息2特定在数据通路电路中元件的逻辑电平处理部分12,按照使元件特定的逻辑电路信息合成数据通路电路的配置模块3的合成处理部分13,表示功能元件和元件等的特性的特性表示部分20,推断功能元件和元件等的特性的特性推断部分30,使合成的配置模块为最优化进行各种处理的最优化处理部分35,以及程序库50。并且,本实施例的模块合成装置还包括,监控器61和键盘、鼠标等的输入手段62。
功能电平处理部分11具有数据通路图表表示修正部分11a,该数据通路图表表示修正部分11a在监控器61上显示数据通路图表1的同时,按照通过由外部的输入手段62提供的指示,修正在显示的数据通路图表1中的寄存器配置(寄存器的移动、插入或删除)。逻辑电平处理部分12包括,在监控器61上显示逻辑电路图信息2的同时,按照通过由外部的输入手段62提供的指示,修正在该逻辑电路图信息2中的各元件的范围的逻辑电路图表示修正部分12a。合成处理部分13具有配置表示修正部分13a,该配置表示修正部分13a在监控器61上显示通过由外部输入手段62输入的模块的平面布置图的同时,按照通过由外部的输入手段62提供的指示,修正显示的平面布置图。
特性表示部分20包括,由程序库50读出的表示数据通路图表1的各功能元件的延迟时间其他的特性的功能元件特性表示部分21。特性推断部分30包括,推断数据通路图表1的各功能元件的延迟时间其他的特性的特性推断部分31,以及推断元件的面积等的特性的元件特性推断部分32。
最优化处理部分35包括电路分组处理部分36、门级驱动能力最优化部分37、晶体管电平驱动能力最优化部分38以及模块内部配线处理部分39。还有,程序库50包括逻辑电路图程序库51、晶体管电路程序库52以及工艺流程程序库53。
另外,本实施例的模块合成装置在完成模块的合成结果——配置模块3的同时,输出经延迟使参数升高的配置模块的形状函数4作为模块推断数据。或将配置模块3及形状函数4中的任何一个,作为模块推断数据输出。
图2是数据通路图表表示修正部11a在监控器61上显示的数据通路图表1的一例。在图2中,I1~I4是输入端子、F1~F4是功能元件、E1~E9是数据流、R1~R6是寄存器、01是输出端子。还有,操纵本实施例的模块合成装置的数据通路图表1允许变更寄存器配置的修正和模块固定(分配所述功能元件的实际的电路的选择)。一方面,不承认资源共享。
按照本实施例的模块合成装置,用户可通过人——机对话式操作,修正数据通路图表1中的寄存器的配置。
各功能元件的延迟时间及寄存器的插入位置影响大规模集成电路的时钟周期。通常是在前工序的设计工程中在进行资源共享及模块固定的同时,决定数据通路图表中寄存器的插入位置,模块合成装置是在前工序的设计程序中,合成有关提供了这些条件的数据通路图表的配置模块。但是,在处理工艺流程变化了的情况下,在前工序的设计程序中最大限度地利用信息,以寻求配置模块的再利用,更加优化。在这种情况下,在模块合成中,最好是在不改变用前工序的设计程序决定的动作说明范围内,允许寄存器的移动。如果使用有关本实施例的模块合成装置,由于能够用人——机对话式指定关于流水线处理的寄存器的插入位置,能够进行配置模块的再利用和更加优化。
也就是说,有关本实施例的模块合成装置的特征之一是,具有以下功能元件:在模块合成中,通过人——机对话式操作,可修正数据通路图表中寄存器的配置。
图3表示如图2所示对应数据通路图表的功能元件特性表示部分21的画面的一例。如图3所示,在功能元件特性表示部分21的表示画面中,各功能元件的延迟等的特性被集中表示每个时间间隔。
各功能元件的延迟由功能元件特性推断部分31求出。由功能元件特性推断部分31求出的各功能元件的延迟存储于逻辑电路程序库51中。功能元件特性表示部分21由逻辑电路程序库51读出各功能元件的延迟、面积、耗电、如图3所示那样,在监控器61上显示。
如图2所示在数据通路图表中,时间间隔1顺次进行功能元件F2(加法运算)和功能元件F3(乘法运算),这时,功能元件F2的延迟(10)和功能元件F3的延迟(40)之和(50)为时间间隔1的处理时间。在功能元件特性表示部分21的表示画面中,为了在各功能元件延迟的同时表示各时间间隔的处理时间,例如图3所示,各功能元件的延迟用黑带表示,各时间间隔的处理时间用阴影的覆盖带表示。
各时间间隔的运算需要分别在1个时钟周期内处理。因此,成为决定时钟周期的重要原因,是每1个时间间隔的最大处理时间,图3中时间间隔1的处理时间(50)与此相当。也就是说,通过提高分配给时间间隔1的功能元件的处理速度,能够缩短时钟周期。为了将此出示给用户,如图3所示那样,处理时间为最大的时间间隔用“*”表示。
另外,当其时间间隔的处理时间达到每一个时间间隔的最大处理时间为止,处理时间为最大的时间间隔以外的分配了时间间隔的功能,置换延迟更大的东西是可能的。为了将此示出,例如图3所示那样,在各时间间隔中,每一个时间间隔的最大处理时间也就是时钟周期用白框表示。由该白框中的黑带以外的部分表现延迟的余剩,称之为备用部分。
以往的模块合成装置,由于没有修正在数据通路图表中的寄存器的配置的机能,即使对时间间隔之间的处理时间的不平均,也不能将此解消,因此,不能合成延迟性能优秀的模块。并且,由于流水线处理的寄存器的插入位置被固定,不能够为使模块性能改善而修正寄存器位置。另外,用户进行把握各功能元件的特性的模块性能的最优化是困难的。也就是说,以往的模块合成装置不具有在各功能元件的特性和模块性能的方面表示达到临界的部分等的机能,由于仅得到有关合成结果的特性信息,进行模块的性能的最优化,可是,需要人工进行繁杂的作业,模块开发需要时间。
可是,用有关本实施例的模块合成装置,用户能够一边看如图3所示那样的通过功能元件特性表示部分21的表示画面,一边修正数据通路图表中的寄存器的配置。因此,由于能够解消时间间隔间的处理时间的不平均,能够合成比以往的延迟性能优秀的模块。
图4是在监控器61上表示逻辑电路图表示修正部分12a,是表示数据通路电路的逻辑电路的一例。在图4中,101是寄存器、102是元件、103是寄存器列。元件102是通过将一个或多个逻辑电路成组化得到的。
在本说明书中,元件的概念是表现具有一个统一机能的电路的集合。元件的具体的实现,根据设计阶段而不同。也就是说,在设计的初期,元件是通过机能信息表示,如果逻辑设计结束,元件是通过逻辑电路的集合表示,如果电路设计结束,元件是通过晶体管电平的电路表示,如果配置设计结束,元件是通过配置图表示。元件又称为功能元件或是机能元件。为进行运算的元件称为存储元件。
在前工序设计中,由于元件是对应功能元件,功能电平处理部分11是数据通路图表1,沿数据流配置运算元件列和存储元件列(寄存器元件列),由逻辑电路程序库51读出分配对应各功能元件的逻辑电路,将数据通路图表1变换成逻辑电路信息2。逻辑电路图表示修正部分12a是将输入给逻辑电平处理部分12的逻辑电路信息2用逻辑电路图的形式,在监控器上用画面表示,同时,按照通过由外部的输入手段62提供的指示,修正在该逻辑电路图中各元件的范围。
因此,用有关本实施例的模块合成装置,通过用户的人——机对话式操作,能够一边进行包含元件的逻辑电路的集合的变更,一边进行元件列配置的替换。
图5是用监控器61的画面表示配置表示修正部分13a,是配置模块的平面布置图之一例。在图5中,111是寄存器元件列、112是运算元件列。合成处理部分13是按照由逻辑电平处理部分12决定的如图4所示那样的元件的连接信息,按照通过由外部的输入手段62提供的指示,作成配置模块的平面布置图。还有,通过用户的指定或是自动最优化处理,能够选择作为配置模块的平面布置图的元件的二层装载等。
另外,程序库50的数据也通过特性表示部分20的画面表示。
图6是逻辑电路程序库51的数据的画面表示例,表示对加法器的面积、延迟及耗电的数据图。逻辑电路程序库51是用参数升高的形式存储加法器那样的各功能元件的面积、延迟及耗电的数据。通过功能元件特性推断部分31计算出这些数据。在图6中,阴影的覆盖部分表示对目前该功能元件(加法器)选择的电路。例如:用户看如图3所示那样的功能元件特性,找到应该改善延迟的功能元件,由图6所示那样表示的选择对该功能元件最适合的电路,因此,可进行最佳人——机对话。
图7是晶体管电路程序库52的数据的画面表示例,表示对反相器的晶体管电路图。晶体管电路程序库52存储对应各逻辑电路的晶体管电路的数据。在图7中,阴影的覆盖部分表示对目前该逻辑电路(反相器)选择的晶体管电路。
还有,工艺流程程序库53存储目前使用的工艺流程设计规程、制约条件、电路参数等。作为主要之点参照最优化处理部分35。
元件特性推断部分32求出晶体管电平的电路构成提供的元件经延迟使参数升高的形状函数。图8表示经延迟使参数升高的元件的形状函数的一例的坐标图。如图8所示那样,经延迟使用权参数升高的元件的形状函数,对多个延迟要求分别求出元件的形状函数的集合,分别的形状函数表示满足一个延迟要求的元件的高度(Y)和宽度(X)的关系,表现元件形状的自由度。在通过合成处理部分13合成模块时,使用了为使模块内的元件间的死区最小,为了使模块的集成度提高,使用经该延迟使参数提高的元件的形状函数。
提供了有关元件的晶体管电平的电路构成时,元件特性推断部分32,设定有关元件多个延迟要求,对各延迟要求进行以下所示的《元件的形状函数推断处理》,因此,如图8所示那样求出经延迟使参数升高的元件的形状函数。还有,提供元件高度的上限及下限。
《元件的形状函数推断处理》
(步骤E1)对元件设定一个延迟要求。
(步骤E2)将各晶体管的选通脉冲宽度最优化(例如、可以使用在Fishburn et.al,”TILOS:A posynomial Programming Approach toTransistor Sizing”,ICCAD85,pp.326-328,1985.中所公开的晶体管尺寸最优化方法)。
(步骤E3)在构成元件的晶体管中,将串联连接的晶体管作为共有扩散的成组化。
图9表示一例构成元件的晶体管电路图。在图9中,VDD是电源,GND是接地,TPA~TPD是P型晶体管,TNA~TND是N型晶体管TPC和TPD分别串联连接。串联连接的晶体管作为共有扩散成组化,因此,定为晶体管群G1~G6。
(步骤E4)按照元件的结构定义求出取得元件的高度的候补。
这里的元件是作为P沟道区域和N沟道区域纵沉积的互补金属-氧化物-半导体的元件,作为提供P沟道区域及N沟道区域的高度的上限和下限。各晶体管群中,就选通脉冲宽度比该晶体管群所属的沟道区域的高度的下限值还大,作为进行反复,求出进行了反复时的形状函数。
在如图9所示的晶体管电路中,P沟道区域的晶体管群G1的选通脉冲宽度是12,并且,P沟道区域的高度假定限制在4到8之间。
图10表示晶体管群G1的形态反复变化时的形状的变化图。如图10(a)~(e)所示,用矩形围起的晶体管群G1经反复多次变化的形状的变化。例如,在无反复(a)中,宽度为6、高度为12,在一次反复的(b)、(c)中,分别宽度为10、高度为8及宽度为10、高度为6,在二次反复的(d)、(e)中,分别宽度为14、高度为5以及宽度为14、高度为4。
该结果,晶体管群G1A的形状函数为图11所示那样的坐标。在图11中,坐标上的点120a~120e分别对应图10(a)~(e)的配置。由于所述P沟道区域的高度限制,仅阴影没有覆盖部分的形状函数为可实际配置的。其他的晶体管群也能够同样地求形状函数。
根据这样求出的各晶体管群的形状函数,可知提供P沟道区域及N沟道区域的高度时,取得的晶体管的面积。晶体管面积的效率最好的是在各形状函数中由于宽度是变化的要点,将那样的要点作为P沟道区域及N沟道区域的高度的候补,全部列入表中。
由于P沟道区域的晶体管群和N沟道区域的晶体管群在元件内使之上下纵装载,在其间有必要确保为了PN分离区域以及配线。因此,准备由配线网开始统计的提供间隔Dd的图表,将由该图表提供的间隔Dd,加以P沟道区域及N沟道区域的高度的候补,由此求出元件高度候补。
(步骤E5)
关于各元件高度候补,按照晶体管面积和各网络的输出端数,预料配线长加上配线面积,进一步假定输出网络、电源网络以及接地网络的个数情况进行共有扩散,根据关于这些网络的共有扩散,减去面积削减部分,由此推断元件面积。其后,将推断的元件面积用该元件高度候补除去,由此得到的值作为对应该元件高度候补的元件宽度。这里,输出端数和配线长的关系是由图表预先提供。
(步骤E6)
按照在步骤E5得到的各元件高度候补和与此对应的元件宽度的组合,关于在步骤E1中设定的一个延迟要求,求出元件的形状函数。
在以往的模块合成装置中,由于元件形状的自由度不怎么高,例如,选择了驱动能力最佳的元件时,存在容易在元件之间产生死区这样的问题。也就是说,没有实现希望的元件形状的机能和用知时间推断元件形状的取得候补的机能,由于元件形状仅从予先准备中选择,在元件之间容易产生死区,因此,存在不能够将配置模块高精度最优化这样的问题。
对此,用有关本实施例的模块合成装置,由于能求出有关元件的形状函数,所以,能够将配置模块的形状高精度最优化。
功能元件特性推断部分31如以下那样求功能元件的延迟。首先,从逻辑电路程序库51中读出功能元件的固有延迟及输出段的驱动能力,同时,从合成处理部分13中读出功能元件之间的假设配线。这里,如图12所示,将全部包含配线的网络端子113的矩形114的半周作为假设配线的长度。进一步,按照实现同样机能且对不同环节的元件相互间的距离,推断该功能元件内部的传送等的控制配线长。接着,计算为使功能元件之间的数据传送的假设配线用所述功能元件的输出段驱动能力驱动了的情况的配线延迟。最后,作为该功能元件的延迟,求出该功能元件的固有延迟和控制该功能元件的信号的延迟时间和计算了的配线延迟之和。
还有,功能元件特性推断部分31如以下那样求出功能元件的耗电。
由对各功能元件的输入信号的变化次数求出输出信号的变化次数的传输式存储于逻辑电路程序库51。在接头全体的使用条件中,为了评价电力的测试,由特性曲线求出,提供给该模块的数据信号及控制信号的变化次数。当不存在上述那样的测试特性曲线时,如按照特开平8——6980号公报公开的方法,按统计的方法提供该模块的数据信号的变化次数,这也是可能的。功能元件特性推断部分31包括输入该模块的数据信号及控制信号的变化次数的手段,将该模块的使用条件存储于数据库中,据此评价各功能元件的耗电。
功能元件特性推断部分31首先从外部系统输入在接头全体的使用条件中的模块的数据信号及控制信号的变化次数。接着,从数据通路的输入侧顺序使用对各功能元件定义的所述的传输式,反复进行求输出信号的变化次数的处理。最后,计算自各信号线的负载和信号的变化次数的各功能元件的耗电。计算过的各功能元件的耗电存储于逻辑电路程序库51中。还有,作为由功能元件的动作记述的求所述传输式的方法,如若使用特开平8-6980号公开的方法就可以。
接着,说明最优化处理部分35。
电路分组处理部分36在如图13所示的逻辑电路图中,由于将电路要素成组化,因此是特定元件。用图13说明按照电路分组处理部分36的电路分组处理方法。
图13(a)表示包括一个环节的网清单的电路图,图13(b)是关于图13(a)对元件进行电路要素分配例的图,131A~131F是电路要素、132A~132C作为要作成的元件、133A~133F是配线。在图13(b)中,在电路要素131A~131F时,分别记述面积推断值,在元件132A~132C时,分别向上提交面积的限制值。
首先找到延迟的极限的通路上的配线,在该配线上进行加权。接着,按照外部来的指定提供元件面积的上限值。包括共有扩散时的各元件的电路要素的面积的总和是所述上限值以下,并且所加权的配线的断开数为最小,反复调换包含各元件的电路要素,因此,决定包含各元件的电路要素的集合。这里,通过所述的元件特性推断部分32计算包含各元件的电路要素的面积的总和。
最后对包含其他的环节的网清单的各电路要素,按照对应包含最初处理了的环节的网清单的电路要素,决定作为元件的成组化。
门级驱动能力最优化部分37在特性表示部分20表示的数据中,对备用部分存在的功能元件或是元件,比输出段驱动能力低,并且,由于反复置换面积小的电路,将各元件的输出段驱动能力最优化。
晶体管电平驱动能力最优化部分38,在提供了各元件的输出级的晶体管尺寸的情况下,提供该元件的延迟时间时,面积为最小,将元件内的各晶体管的尺寸最优化。例如,按照在Fishburn et.al,”TILOS:Aposynomial Programming Approach to Trasistor Sizing”,ICCAD85,pp.326-328,1985.所公开的晶体管尺寸最优化方法能实现。
模块内部配线处理部分39进行元件之间的配线,例如使用了在J.Cong,B.Preas,and C.L.Lin,”General models and algorithms for over-the-cell routing in standard cell design”,Proc.of DAC,pp.709-715,june 1990中所公开的方法。
合成处理部分13是将模块的合成结果配置模块3和经延迟使参数升高的模块的形状函数4作为模块推断数据输出。图14表示经延迟使参数升高的模块的形状函数4的一例的坐标图。
根据图1所示的模块合成装置说明关于模块合成处理。
图15是根据图1所示模块合成装置表示模块合成处理流程的程序框图。
首先在步骤ST1中,将数据通路图表1输入给功能电平处理部分11,通过功能元件特性表示部分21看画面表示的各功能元件的延迟等的特性,用户提供指示给数据通路图表表示修正部分11a,并且在延迟最优化的评价指标下,根据功能电平处理部分11,自动地进行在数据通路图表1中的寄存器配置的修正。
接着,在步骤ST2中,在步骤ST1输入并且修正了寄存器配置的数据通路图表,通过功能电平处理部分11,对应各功能元件,将逻辑电路由逻辑电路程序库51读出分配,由此,生成逻辑电路信息2,输入给逻辑电平处理部分12。在此的逻辑电路信息2只表现电路的逻辑,不表现相当逻辑的晶体管电路。逻辑电路信息2也可以通过输入手段62由外部直接图解编辑输入。也就是说,用本实施例的模块合成装置也能够用抽象的电平表现的数据通路图表1或是用逻辑电平表现的逻辑电路信息2其中任何一种输入。
其次,在步骤ST3中,将用步骤ST2输入的逻辑电路在部件区上概略配置。
然后,在步骤ST4中,按照由步骤ST3的概略配置,求逻辑电路之间的假设配线长。
接着,在步骤ST5中,由晶体管电路程序库52中读出分配对应各逻辑电路的晶体管电路。晶体管电路程序库52对各逻辑电路准备几个晶体管电路的候补,按照输出端数和延迟时间的期待值,从其中选择最合适的候补,由此,进行逻辑电路的向晶体管电路的分配。
接着,在步骤ST6中,根据门级驱动能力最优化部35,按照逻辑电路之间的假设配线长度及延迟目的,延迟制约,进行各逻辑电路的输出级门的驱动能力的最优化。
然后,在步骤ST7中,进行电路的分组。这里,由于用户向逻辑电路图表示修正部分12a提供指示,或是由电路分组处理部分35自动处理,将电路成组化,由此,特定元件。
然后,在步骤ST8中,对用步骤ST7求出的各元件,通过晶体管电平驱动能力最优化部分38,以元件内部延迟的最小化及面积最小化作为目的,进行元件内部驱动能力最优化及元件的配置合成。
然后,在步骤ST9中,由模块内部配线处理部分39进行元件之间的配线。
最后,在步骤ST10中,生成模块推断数据。
详细说明步骤ST10,这里,限定元件限幅结构排列情况,由外部提供给合成处理部分13作为模块的平面布置图。
首先,由外部设定时钟周期。接着,在设定的时钟周期之间进行寄存器间的数据传送,对各寄存器间的各元件,提供输出级驱动能力及元件内的延迟要求。按照提供的各元件的输出级驱动能力及元件内延迟要求,通过元件特性推断部分32,求各元件经延迟使参数升高的形状函数。
然后,就模块设定多个延迟要求,对各延迟要求进行以下所示《模块的形状函数推断处理》,分别求模块的形状函数。
《模块的形状函数推断处理》
满足(步骤F1)所设定的延迟要求,并且,按模块面积最小决定各元件的延迟要求。关于该处理后述。
(步骤F2)关于构成模块的各元件,用步骤F1决定的延迟要求开始,参照按元件特性推断部分32已经求出的经延迟使参数升高的形状函数,决定一个形状函数。
(步骤F3)用步骤F2决定的各元件的形状函数和模块的平面布置图开始,求模块的形状函数。
参照图16,说明关于步骤F3的处理(在L.Stockmayer,”OptimalOrientations of Cells in Slicing Floorplan Designs”,Information andControl,Vol.59,pp.91-101,1983上公开)。在图16中,(a)是元件A的形状函数,(b)是元件B的形状函数,(c)分别表示将在垂直方向邻接的元件A、B用矩形围起的形状函数。(C)表示的形状函数是将(a)表示的形状函数和(b)表示的形状函数在Y方向增加。也就是说,根据将各元件的形状函数在Y方向增加,能够求矩形围起的在垂直方向邻接的元件的形状函数。同样,根据将各元件的形状函数在X方向增加,能够求矩形围起的在水平方向邻接的元件的形状函数。因此,按照用限幅结构表现的元件的邻接关系,分别增加X、Y方向的各元件的形状函数,由此,能够求模块全体的形状函数。然后,对求出的模块全体的形状函数增加相当元件之间配线的面积,求出模块的形状函数。
下面,详细说明关于步骤F1的处理。在步骤F1中,如下式(1)那样确定为决定各元件的延迟要求的目的函数。
目的函数=(模块面积)*P…(1)
其中,P是补偿常数,模块满足延迟要求时为1,不满足要求时为2。
然后,象式(1)所示目的函数为最小那样按照逐次改善法等求各元件的延迟要求。具体为,首先提供作为各元件的延迟的初期值,一边求目的函数,一边使各元件的延迟变化下去(这时的变化量可以按照通过元件特性推断部分32已经求出的经延迟使参数升高的元件的形状函数决定)、作为延迟要求决定目的函数为最小时的各元件的延迟。
在式(1)目的函数中的模块面积认为是用模块的形状函数中的最小面积提供。并且,这里的模块的形状函数,与所述步骤F3同样,是由元件延迟决定的各元件的形状函数和模块的平面布置图求出的。
还有,是根据推断模块的延迟,比较该模块的延迟和延迟要求来判断模块是否满足延迟要求。
模块的延迟是根据由该模块的输入端子到输出端子的各通路的延迟,也就是说,根据通路延迟的最大值或平均值的任一个来定义。通路延迟是根据构成该通路的各元件的延迟和模块的形状函数及平面布置图推断的配线负载为基础推断的配线延迟之和求出的。
下面就关于本实施例的模块合成次序进行补充说明。
如图2所示那样的数据通路图表是通过确定寄存器的插入位置和配线的插入位置之前的功能元件,表现流动的数据流,流水线等的调度,通过决定寄存器的插入位置,定义寄存器之间的通路,可提供寄存器间通路的演算的处理顺序的问题和定义。
在数据通路图表的电平中模块的最优化是通过(1)寄存器的插入位置的最优化、(2)寄存器间的电路的定时的最优化、(3)寄存器间电路的内部延迟的最优化来实现的。
关于(1),有关本实施例的模块合成装置包括,表示数据通路图表的功能和具有按照来自外部的指示修正寄存器的插入位置的机能的数据通路图表表示修正部分11a,用户指示为流水线处理的寄存器插入位置,因此,能够对模块合成反映调度信息。
关于(2),在电路全体中,找出寄存器间的极限,通过反复使有关该极限的通路的电路的驱动能力一律增大,实施是可能的。通过参照逻辑电路程序库51,得到相当各功能元件的逻辑电路。
关于(3),生成相当各功能元件的晶体管电路,通过变更设定生成的晶体管电路的各晶体管的选通脉冲宽度,能够将面积和延迟时间最优化。用本实施例,逻辑电路程序库51具有将面积延迟时间作为参数的范例信息,通过使该参数最优化,设定寄存器间的电路的内部延迟为希望值。逻辑电路程序库具有的范例信息是通过元件特性推断部分32生成的。
以上,按照本发明,根据经延迟使参数升高的元件的形状函数,由于合成数据通路电路的配置模块,能够使元件之间的死区较小,配置模块的形状也能够比以往精度更高最优化。
还有,利用经延迟使参数升高的元件的形状函数,求有关配置模块的经延迟使参数升高的形状函数,与前工序设计的联合比以往容易。
而且,由于能够容易地解消在数据通路图表中,时隙间的处理时间的不平均,所以能够合成比以往的延迟性能优越的模块。

Claims (10)

1.一种模块合成装置是合成数据通路电路的模块配置的模块合成装置,其特征在于包括:根据数据通路电路用逻辑电平所表现的逻辑电路信息,在所述数据通路电路中特定元件的逻辑电平处理部分;和对于提供给晶体管电平的电路构成的元件,求出经延迟使参数升高的形状函数的元件特性推断部分;和根据所述逻辑电平处理部分特定的各元件,分别设定晶体管电平的电路构成提供给所述元件特性推断部分;根据所述元件特性推断部分求出的,按照经延迟使参数升高的各元件的形状函数,合成配置模块的合成处理部分。
2.根据权利要求1所述的模块合成装置,其特征在于,所述合成处理部分是给予合成配置模块,或是代替合成,经延迟使参数升高,求出配置模块的形状函数。
3.根据权利要求1所述的模块合成装置,其特征在于,包括根据按各功能元件分配逻辑电路,将数据通路图表变换成逻辑电路信息的功能电平处理部分;所述逻辑电平处理部分是将用所述功能电平处理部分所变换的逻辑电路信息作为输入。
4.根据权利要求1所述的模块合成装置,其特征在于所述逻辑电平处理部分包括:表示所述逻辑电路信息的同时,示出的逻辑电路信息是表示将数据通路电路中的各元件的范围,按照由该模块合成装置的外部提供的指示修正的逻辑电路图表示修正部分。
5.根据权利要求1所述的模块合成装置,其特征在于:
所述元件特性推断部分包括,按照元件的晶体管电平的电路构成,对该元件满足一个延迟要求,求出各晶体管的选通脉冲宽度的手段;和以串联连接的晶体管相互之间作为共有扩散区域使构成所述元件的晶体管集团化的手段;和关于各晶体管群,根据反复的形态变化,求出表示形状的形状函数,按照由该形状函数得到的各晶体管群的高度候补,求出元件高度候补的手段;和关于各元件高度候补,分别按照从晶体管面积和按预料配线长度的配线面积之和减去通过共有扩散的面积削减部分,在推断元件面积的同时,用该元件高度候补除去推断的元件面积,求出对应该元件高度候补的元件宽度的手段;根据各元件高度候补和与对应的元件宽度的组合,求出有关所述一个延迟要求的所述元件的形状函数。
6.一种模块合成装置是合成数据通路电路的配置模块的模块合成装置,其特征在于包括:
表示数据通路图表的同时,按照由该模块合成装置的外部提供的指示,修正在该数据通路图表中的寄存器的配置的数据通路图表表示修正部分;和推断所述数据通路图表的各功能元件的延迟的功能元件特性推断部分;和根据所述功能元件特性推断部分推断的表示各功能元件的延迟的功能元件特性表示部分。
7.根据权利要求6所述的模块合成装置,其特征在于,所述功能元件特性表示部分是每个时间间隔集中表示各功能元件的延迟,同时,将每个时间间隔之和作为时间间隔的处理时间,表示各功能元件的延迟,并且,决定时钟周期作为时间间隔,表示处理时间为最大的时间间隔。
8.根据权利要求6所述的模块合成装置,其特征在于所述功能元件特性推断部分包括:
求出各功能元件的固有延迟及输出级的驱动能力的手段;和推断所述各功能元件的控制需要的信号的延迟时间的手段;和推断所述各功能元件间的假定配线的手段;和根据所述一个功能元件的固有延迟,和所述一个功能元件的控制需要信号的延迟时间,和根据用所述一个功能元件的输出级的驱动能力,驱动各功能元件间的假定配线中驱动所述一个功能元件的输出级的配线时的配线延迟之和求出一个功能元件的延迟的手段。
9.一种模块合成方法是合成数据通路电路的配置模块的模块合成方法,其特征在于包括:
根据按各功能元件分配逻辑电路,使数据通路图表变换数据通路电路用逻辑电平所表现的逻辑电路信息的工序;和按照所述逻辑电路信息,在所述数据通路电路中特定元件的工序;和有关特定的各元件,求出经延迟使参数升高的形状函数的工序;根据配置模块的平面布置图和经延迟使参数升高的元件的形状函数,合成配置模块的工序。
10.根据权利要求9所述的模块合成方法,其特征在于,给予合成配置模块,或是代替合成,经延迟使参数升高,求出配置模块的形状函数的工序。
CN98101356A 1997-04-10 1998-04-10 模块合成装置及模块合成方法 Pending CN1199243A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP092173/97 1997-04-10
JP9217397 1997-04-10

Publications (1)

Publication Number Publication Date
CN1199243A true CN1199243A (zh) 1998-11-18

Family

ID=14047052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98101356A Pending CN1199243A (zh) 1997-04-10 1998-04-10 模块合成装置及模块合成方法

Country Status (3)

Country Link
US (1) US6209119B1 (zh)
CN (1) CN1199243A (zh)
TW (1) TW368748B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101382966B (zh) * 2007-09-04 2010-06-02 英业达股份有限公司 设计模块合成方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6543036B1 (en) * 1999-11-30 2003-04-01 Synopsys, Inc. Non-linear, gain-based modeling of circuit delay for an electronic design automation system
US6351841B1 (en) * 2000-03-21 2002-02-26 Cadence Design Systems, Inc. Method and apparatus for creating multi-gate transistors with integrated circuit polygon compactors
US7065727B2 (en) * 2001-04-25 2006-06-20 Barcelona Design, Inc. Optimal simultaneous design and floorplanning of integrated circuit
US6877148B1 (en) 2002-04-07 2005-04-05 Barcelona Design, Inc. Method and apparatus for routing an integrated circuit
US6745374B2 (en) * 2002-06-10 2004-06-01 Sun Microsystems, Inc. Algorithms for determining path coverages and activity
US7207024B2 (en) * 2002-09-13 2007-04-17 Cadence Design Sytems, Inc. Automatic insertion of clocked elements into an electronic design to improve system performance
US7392494B2 (en) * 2003-06-09 2008-06-24 Kuoching Lin Clustering circuit paths in electronic circuit design
WO2005114499A1 (en) * 2004-05-24 2005-12-01 Matsushita Electric Industrial Co., Ltd Method and apparatus for allocating data paths
US7275232B2 (en) * 2005-04-01 2007-09-25 Altera Corporation Methods for producing equivalent field-programmable gate arrays and structured application specific integrated circuits
DE102006059430A1 (de) * 2006-12-15 2008-06-19 Robert Bosch Gmbh Automatisierte Erstellung und Adaption eines Maschinen- oder Anlagenmodells
TWI425366B (zh) * 2009-03-30 2014-02-01 Mstar Semiconductor Inc 根據通訊協定處理來執行資料存取的方法與裝置
US8972853B2 (en) * 2012-04-13 2015-03-03 Business Objects Software Limited Rendering digital report elements using a layout optimization tool
US9710590B2 (en) * 2014-12-31 2017-07-18 Arteris, Inc. Estimation of chip floorplan activity distribution
US9672321B2 (en) 2015-07-01 2017-06-06 International Business Machines Corporation Virtual positive slack in physical synthesis

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63250152A (ja) 1987-04-07 1988-10-18 Nec Corp 半導体集積回路のレイアウト方法
JPH03104138A (ja) 1989-09-18 1991-05-01 Fujitsu Ltd 階層設計処理方式
JPH04167446A (ja) 1990-10-31 1992-06-15 Toshiba Corp 半導体論理集積回路の自動配置配線方法
US5654898A (en) * 1993-05-10 1997-08-05 Cascade Design Automation Corporation Timing-driven integrated circuit layout through device sizing
JP3165592B2 (ja) 1994-08-04 2001-05-14 松下電器産業株式会社 データパス自動配置方法及びその装置
US5973376A (en) * 1994-11-02 1999-10-26 Lsi Logic Corporation Architecture having diamond shaped or parallelogram shaped cells

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101382966B (zh) * 2007-09-04 2010-06-02 英业达股份有限公司 设计模块合成方法

Also Published As

Publication number Publication date
TW368748B (en) 1999-09-01
US6209119B1 (en) 2001-03-27

Similar Documents

Publication Publication Date Title
CN1199243A (zh) 模块合成装置及模块合成方法
CN1130829C (zh) 逻辑合成方法、半导体集成电路和运算电路
Rabaey et al. Fast prototyping of datapath-intensive architectures
US8661374B2 (en) Placement aware clock gate cloning and fanout optimization
CN1779686A (zh) 确定缓冲器插入的方法和系统
US7207020B1 (en) Method and apparatus for utilizing long-path and short-path timing constraints in an electronic-design-automation tool
CN1244066C (zh) 串扰分析方法、利用串扰的电子线路装置的设计和制造方法、以及用于该目的的电子电路库的记录媒体
US20040225984A1 (en) Two-stage clock tree synthesis
CN1680944A (zh) 模拟装置和设计半导体集成电路的方法
CN1797953A (zh) 时序调整方法和装置
CN1501293A (zh) 用于产生数字电路的电路说明的高级综合方法
US6990651B2 (en) Advanced design format library for integrated circuit design synthesis and floorplanning tools
CN1794459A (zh) 单元、标准单元、标准单元库、使用标准单元的布局方法和半导体集成电路
CN1234561A (zh) 总线控制方法,装置和用于存储总线控制程序的存储介质
CN1121094C (zh) 相位调整电路、包含该电路的系统及相位调整方法
CN1894692A (zh) 基于模板的领域特定的可重构逻辑
CN1862514A (zh) 内容分发服务器、内容分发方法和内容分发程序
CN1408092A (zh) 行为合成电子设计自动化工具的β-TO-B应用服务提供商
CN1420457A (zh) 高阶合成方法以及高阶合成装置
CN1916921A (zh) 半导体集成电路及其设计方法
US7689940B2 (en) Method and apparatus for allocating data paths
US6938232B2 (en) Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks
WO2004044794A1 (en) Adaptive adjustment of constraints during pld placement processing
CN1960194A (zh) 排序装置
CN1410859A (zh) 具有时钟信号传送线的半导体集成电路器件

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication