首页> 中国专利> 用于产生数字电路的电路说明的高级综合方法

用于产生数字电路的电路说明的高级综合方法

摘要

本发明公开一种高级综合方法,其包括:基于描述数字电路情况的输入文件产生CDFG(控制数据流图);将在CDFG产生中产生的表示处理内容的CDFG的每个节点分配至与呼叫一个步骤的时钟相同步的时间,基于在该CDFG及约束文件中描述的数字电路的约束条件,从而调度CDFG;产生表示如何将构成数字电路的资源分配至在调度过程中调度的CDFG各个节点的分配信息,基于表示资源布置的资源级别布置信息以及表示资源之间连接关系的电路信息;以及输出在分配和电路信息产生中产生的电路信息。

著录项

  • 公开/公告号CN1501293A

    专利类型发明专利

  • 公开/公告日2004-06-02

    原文格式PDF

  • 申请/专利权人 松下电器产业株式会社;

    申请/专利号CN200310102516.9

  • 发明设计人 小川修;服部大;黑川圭一;

    申请日2003-10-22

  • 分类号G06F17/50;

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人韩宏

  • 地址 日本大阪府

  • 入库时间 2023-12-17 15:22:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-12-28

    未缴年费专利权终止 IPC(主分类):G06F17/50 授权公告日:20090610 终止日期:20101022 申请日:20031022

    专利权的终止

  • 2009-06-10

    授权

    授权

  • 2004-08-11

    实质审查的生效

    实质审查的生效

  • 2004-06-02

    公开

    公开

说明书

发明背景

1、发明领域

本发明涉及一种高级综合(high-level)方法,用于基于数字电路的情况(behavioral)说明产生数字电路的电路说明。更具体地说,本发明涉及一种分配方法,用于将用于执行运算说明中的每个过程的资源分配给每个过程。

2、背景技术

由于用于增进小型LSI电路的技术的进步,可集成在一芯片中的门的数量显著地增加。为了在较短周期内并有效地设计这种LSI,用于基于硬件的情况说明而产生电路信息的高级综合方法已经被采用。描述高级综合技术细节的文献的例子包括Kluwer学术出版社在1992年出版的DANIELGajski、Nikil Nutt、Allen Wu、Steve Lin的“引入芯片以及系统设计的高级综合”。

图28是示出常规高级综合方法的流程图。首先,在CDFG产生中,CDFG(控制数据流图)基于描述数字电路的情况的输入文件产生(步骤S201)。然后,在调度中,表示处理内容的CDFG的每个节点分配至与时钟呼叫步骤(clock called step)同步的时间,基于产生的CDFG和在约束文件中所描述的数字电路的约束条件,从而CDFG被调度(步骤S202)。接下来,在分配和电路信息产生中,表示如何将用于构成数字电路的资源分配至在调度过程中调度的CDFG的各个节点的电路信息和分配信息而产生(步骤S91)。之后,电路信息在输出过程中被输出(步骤S208)。

然后,确定在分配和电路信息产生中产生的电路信息是否满足表示数字电路约束条件的预定标准(步骤S92)。当确定电路信息不满足预定标准时(在步骤S92中为“否”),过程返回至步骤S201。

当确定电路信息满足预定标准时(在步骤S92为“是”),在分配和电路信息产生中产生的电路信息在逻辑综合中经过逻辑综合处理(步骤S93)。然后,确定在逻辑综合中经过逻辑综合处理的电路信息是否满足表表示数字电路约束条件的预定标准(步骤S94)。当确定电路信息不满足预定标准时(在步骤S94中为“否”),过程返回至步骤S201。

当确定电路信息满足预定标准时(在步骤S94中为“是”),在逻辑综合中经过逻辑综合处理的电路信息在布置(layout)中经过布置处理(步骤S95)。然后,确定在布置中经过布置处理的电路信息是否满足表示数字电路约束条件的预定标准(步骤S96)。当确定电路信息不满足预定标准时(在步骤S96中为“否”),过程返回至步骤S201。当确定电路信息满足预定标准时(在步骤S96中“是”),过程完成。

因而,在起源于高级综合的LSI的设计流程中,设计进入下列顺序:高级综合、逻辑综合,以及布置,利用硬件的情况(behavioral)说明作为一输入。如果在每个运算中不满足设计约束条件,则所述过程在最坏情况下从高级综合重新开始。

常规上,为了最小化来自高级综合之后的下游运算的手动返回损耗,在高级综合中,要限制算术运算单元资源和存储资源的最大共享数量,并且限制算术运算单元资源和存储资源之间的连接数量以便防止线路在布置期间拥挤(IEICE的技术报告中Nishio、Kaneko、Yayu的“考虑布线资源的高级综合”,VLD98-147、pp.49-56,1999-03)。

此外,在布置中,执行布置以便对线路性能有影响的资源之间的连接线不至于太长,或者布置区域中的拥挤度不至于很高。因而,在各个运算中分别地采取措施,从而手动返回被减到最小。

但是,上述措施已经由人工根据经验采取。因此,高级综合与布置不一致。此外,在LSI的调试中,完成从高级综合到布置的运算需要几个月时间。因此,当从下游运算返回至上游运算的手动返回损耗出现时,LSI不能够在早期投入市场。

根据常规高级综合方法,仅基于在没有详细分析下游运算中出现的问题(具体地说是布置中出现的问题)的情况下由人工的经验确定产生的设计约束条件而制造电路。这样有必要提供用于采用高级综合系统的电路的使用限制,例如,在其中涉及性能、面积等的设计约束条件不是决定性的电路、具有调试时间边限的电路,或者小型电路,其可在下游运算中由人工手动校正。

此外,在高级综合运算之后的下游运算中不满足设计约束条件的情况下,为了将来自下游运算的反馈信息反应给高级综合方法,要输入高级综合系统的程序文件和设计约束文件需要校正。

发明内容

因此,考虑到上述内容,本发明的一个目的是提供一种高级综合方法,用于在高级综合之后的下游运算中特别是布置中产生具有高可执行性的RTL低级电路说明。

为了实现上述目的,本发明的高级综合方法包括:基于描述数字电路情况的输入文件产生CDFG(控制数据流图);将表示处理内容的产生的CDFG的每个节点分配至与呼叫一个步骤的时钟(clock called a Step)相同步的时间,基于该CDFG和在约束文件中描述的数字电路的约束条件,从而调度CDFG;产生表示如何将构成数字电路的资源分配至在调度过程中调度的CDFG各个节点的分配信息,基于表示资源布置的资源级别(1evel)布置信息以及表示资源之间连接关系的电路信息;以及输出在分配和电路信息产生中产生的电路信息。

根据本发明,用于产生低级电路说明的高级综合方法在高级综合之后的下游运算中特别是布置中具有高可执行性。

在阅读和理解下列参照附图的详细描述的基础上,对于本领域的技术人员来说,本发明这些和其他优点将变得清楚。

附图说明

图1是示出实施例1高级综合方法的流程图;

图2是示出描述数字电路的情况的示例性输入文件的视图;

图3是示出根据实施例1高级综合方法在CDFG产生过程中产生的CDFG的视图;

图4是示出根据实施例1高级综合方法在调度过程中调度的CDFG的视图;

图5A是示出根据实施例1高级综合方法,表示如何在初始共享分配和电路信息产生过程中将资源分配至CDFG各个节点的初始共享分配信息的视图;

图5B是示出在初始共享分配和电路信息产生过程中产生的电路信息的视图;

图6是示出根据实施例1的高级综合方法,在初始共享分配和电路信息产生过程中产生的每个资源的寿命信息的视图;

图7是根据实施例1高级综合方法在初始共享分配和电路信息产生中布置的数字电路;

图8是示出了根据实施例1高级综合方法在资源级别布置中产生的资源级别布置信息的视图;

图9是示出了根据实施例1高级综合方法在资源级别布置中产生的另一个资源级别布置信息的视图;

图10A是示出了根据实施例1高级综合方法,表示如何在资源划分分配和电路信息产生中改变相对于CDFG节点的资源分配的校正分配信息的视图;

图10B是示出了在资源划分分配和电路信息产生中产生的校正电路信息的视图;

图11是示出了根据实施例1高级综合方法在资源划分分配和电路信息产生中产生的每个资源的校正寿命信息的视图;

图12是示出了根据实施例1高级综合方法具有在资源级别布置细微校正中细微校正的布置的数字电路的视图;

图13A是示出了根据实施例1高级综合方法在资源划分分配和电路信息产生中产生的另一个校正分配信息的视图;

图13B是示出了在资源划分分配和电路信息产生中产生的另一个校正电路信息;

图14是示出了根据实施例1高级综合方法具有在资源级别布置细微校正中被细微校正的布置的另一个数字电路的视图;

图15是示出了实施例2的高级综合方法的流程图;

图16A是示出了根据实施例2高级综合方法表示如何在初始非共享分配和电路信息产生中将资源分配至CDFG各个节点的初始非共享分配信息的视图;

图16B是示出了在初始非共享分配和电路信息产生中产生的初始电路信息的视图;

图17是示出了根据实施例2高级综合方法在初始非共享分配和电路信息产生中产生的每个资源的寿命信息的视图;

图18是示出了根据实施例2高级综合方法基于在初始非共享分配和电路信息产生中产生的初始高级综合信息而布置的数字电路的视图;

图19是示出了根据实施例2高级综合方法在资源级别布置中产生的资源级别布置信息的视图;

图20是示出了根据实施例2高级综合方法在资源级别布置中产生的另一个资源级别布置信息的视图;

图21A是示出了根据实施例2高级综合方法如何在资源共享分配和电路信息产生中改变分配的校正分配信息的视图;

图21B是示出了在资源共享分配和电路信息产生中产生的校正电路信息的视图;

图22是示出了根据实施例2高级综合方法在资源共享分配和电路信息产生中产生的每个资源的校正寿命信息的视图;

图23是示出了根据实施例2高级综合方法具有在资源级别布置细微校正中被细微校正的布置的数字电路的视图;

图24示出了根据实施例2高级综合方法用于估算同步系统时钟电路的综合容易性(ease)的方法;

图25是示出了实施例3的高级综合方法的视图;

图26是示出了根据实施例3高级综合方法具有在资源级别布置细微校正中被细微校正的布置的数字电路的视图;

图27是示出了实施例4的高级综合方法的流程图;

图28是示出了常规高级综合方法的流程图。

具体实施方式

根据本实施例的高级综合方法,分配信息和电路信息被产生。分配信息表示资源被分配至已调度的CDFG的各个节点,基于表示用于构成数字电路的资源布置的资源级别布置信息。电路信息表示资源之间的连接关系。为此,在布置期间获得的资源级别布置信息可反馈至高级综合中的分配相位。因而,在高级综合之后的下游运算中不满足设计约束条件的情况下,从高级综合到布置的运算可在没有校正高级综合中的输入文件或约束文件的情况下自动地执行。因此,在布置中,具有高可执行性的RTL电路可产生。

最好,分配和电路信息产生包括产生表示如何将资源分配至在调度过程中调度的CDFG的各个节点的初始分配信息以及表示资源之间连接关系的初始电路信息;产生资源级别布置信息,基于在初始分配和初始电路信息产生中产生的初始电路信息;产生表示如何改变相对于CDFG各个节点的资源分配的校正分配信息以及表示如何改变资源之间连接关系的校正电路信息,基于在初始分配和初始电路信息产生中产生的初始分配信息以及资源级别布置信息;和细微地校正资源级别布置信息,基于在校正分配和校正电路信息产生中产生的校正电路信息,而校正分配和校正电路信息产生以及资源级别布置细微(minute)校正被重复地执行直到满足预定标准。

最好,分配信息包含硬件资源分配信息和用于硬件资源的寿命信息。

最好,资源级别布置信息是资源之间连接线的距离信息。

最好,资源级别布置信息是资源之间连接线的布置区域中的拥挤度信息。

最好,资源级别布置信息是用由资源之间连接线的距离信息以及资源之间连接线的布置区域中的拥挤度信息组成的任何函数表示的宏之间(inter-macro)的连接线信息。

最好,资源级别布置信息包括作为一系数的布置影响度。

最好,资源被分配至CDFG的各个节点以便使初始分配和初始电路信息产生中的共享硬件资源最小化,并且资源相对于CDFG各个节点的分配被改变以便分别执行的硬件资源在校正分配和校正电路信息产生中被共享。

最好,资源被分配至CDFG的各个节点以便使初始分配和初始电路信息产生中的共享硬件资源最大化,并且共享硬件资源被在校正分配和校正电路信息产生中被分别地分配。

最好,在校正分配和校正电路信息产生中,计算存储资源布置区域中的布置分布变化,基于存储资源布置区域中的布置分布变化估算同步时钟电路的综合容易性,并在存储资源共享时选择具有高综合容易性的共享。

最好,存储资源布置区域中的布置分布变化是属于通过将布置区域分成多个区域而获得的每个区域的存储资源的数量变化。

最好,存储资源布置区域中的布置分布变化是通过将布置区域分级地分开而获得的每个等级(hierarchy)的变化总和。

最好,资源被分配至CDFG的各个节点以便使初始分配和初始电路信息产生中的共享硬件资源最大化,共享硬件资源在校正分配和校正电路信息产生中被分别地分配,而分配和电路信息产生进一步包括通过允许在校正分配和校正电路信息产生中划分的硬件资源与在初始分配和初始电路信息产生中没有共享的硬件资源共享而改变分配。

最好,资源级别布置信息包括作为布置影响系数的布置影响度,而校正分配和校正电路信息产生以及分配改变在布置影响系数被分级校正的同时被重复地执行。

最好,在资源级别布置细微校正中细微校正的资源级别布置信息在输出中被进一步输出。

在下文中,将通过结合附图的说明性实施例描述本发明。

实施例1

图1是示出实施例1高级综合方法的流程图。首先,在CDFG产生中基于描述数字电路情况的输入文件而产生CDFG(步骤S201)。

图2示出了描述数字电路情况的示例性输入文件。在图2所示输入文件的例子中,数字电路的情况用C语言描述。约束文件描述相对于运算速度、功率消耗以及电路面积的电路约束条件。

图3示出了根据实施例1的高级综合方法在CDFG产生中产生的CDFG。实线箭头表示数据流,而虚线箭头表示控制流。在CDFG产生中,执行输入文件的词法分析、语法分析以及语义分析以便产生图3所示的CDFG。在调度中,表示处理内容的CDFG的每个节点被分配至与时钟呼叫步骤同步的时间,基于产生的CDFG以及在约束文件中描述的数字电路约束条件,从而调度CDFG(步骤S202)。

图4示出了在调度中分配至一具体步骤的CDFG的每个节点。在图4所示的例子中,CDFG的节点+1、节点m1、节点+2、节点+3以及节点m2被分配至步骤S1。CDFG的节点+4和节点m3被分配至FSM的步骤S2。CDFG的节点*1和节点m4被分配至步骤S3。

接下来,在初始共享分配和电路信息产生中,表示如何分配算术运算单元和存储资源的初始分配信息以及表示资源之间连接关系的初始电路信息被产生以便在调度过程中调度的CDFG的每个节点尽可能地共享用于构成数字电路的算术运算单元资源或存储资源(步骤S203)。

图5A示出了表示如何在初始共享分配和电路信息产生中将资源分配至CDFG各个节点的初始共享分配信息。图5B示出了在初始共享分配和电路信息产生中产生的电路信息。图6示出了在初始共享分配和电路信息产生中产生的每个资源的寿命信息。用于构成数字电路的资源701包括存储资源寄存器reg1、reg2;加法器add1、add2,以及add3;乘法器mult1;以及2-输入和1-输出多路器2-1MUX1、2-1MUX2、2-1MUX3、2-1MUX4,以及2-1MUX5。

在图5A和图5B以及图6中所示的例子中,存储资源寄存器reg1通常分配至分配给步骤S1的节点m1、分配给步骤S2的节点m3,以及分配给步骤S3的节点m4。存储资源寄存器reg2分配至分配给步骤S1的节点m2。加法器add1通常分配至分配给步骤S1的节点+1和分配给步骤S2的节点+4。

加法器add2分配至分配给步骤S1的节点+2,加法器add+3分配至分配给步骤S1的节点+3,而乘法器mult1分配至分配给步骤S3的节点*1。

分配至步骤S1的边缘add2_reg2和边缘add3_reg2均输入到存储资源寄存器reg2的同一端口。因此,对存储资源寄存器reg2的输入通过插入多路器2-1MUX1而被控制。在分配给步骤S1的输入边缘in1和分配给步骤S2的边缘reg1_add1中,通常插入多路器2-1MUX2。

在分配给步骤S3的边缘reg2_mux4和节点in6中,通常插入多路器2-1MUX4。在分配给步骤S1的边缘add1_reg1和分配给步骤S2的边缘mult1_reg1中,通常插入多路器2-1MUX5。

此后,在资源级别布置中,资源级别布置信息基于在初始共享分配和电路信息产生中产生的初始电路信息而产生(步骤S204)。

图7示出了基于在初始共享分配和电路信息产生中产生的初始电路信息而布置的数字电路。由虚线围绕的区域R1至R6是用于估算布线拥挤度的布置局部区域。在图7所示的例子中,数字电路分成六个。

图8示出了在资源级别布置中产生的资源级别布置信息。在每个格中描述的数值表示资源之间连接线的距离信息,示出了各个资源之间连接线之间的长度。例如,存储资源寄存器reg1和多路器2-1MUX2之间的资源间连接线的距离信息是“8”,而存储资源寄存器reg1和多路器2-1MUX5之间的资源间连接线的距离信息是“1”。

图9示出了在资源级别布置中产生的另一个资源级别布置信息。图9示出了表示布置局部区R1、R2、R3、R4、R5,和R6内的布线拥挤度的布线拥挤度信息。布线拥挤度信息由各个布置区域区R1、R2、R3、R4、R5,和R6内的线路数量表示。在图9中所示的例子中,布置局部区R1中的布线拥挤度信息是“9”。布置局部区R2中的布线拥挤度信息是“6”。布置局部区R3中的布线拥挤度信息是“6”。布置局部区R4中的布线拥挤度信息是“4”。布置局部区R5中的布线拥挤度信息是“6”。布置局部区R6中的布线拥挤度信息是“2”。布线拥挤度信息可用一种反映更实际布置的复杂方法表示,例如,考虑可布线的线路层数量,评价水平和垂直分量等。

然后,确定在资源级别布置中产生的资源级别布置信息是否满足表示约束文件中描述的数字电路约束条件的预定标准(步骤S205)。当确定资源级别布置信息满足预定标准(在步骤S205中为“是”)时,电路信息在输出中被输出(步骤S208),并且过程完成。

当确定资源级别布置信息不满足预定标准(在步骤S205中为“否”)时,表示如何改变资源相对于CDFG各个节点的分配的校正分配信息以及表示如何改变资源之间连接关系的校正电路信息在资源划分分配和电路信息产生中被产生,基于在初始共享分配和电路信息产生中产生的初始分配信息以及在资源级别布置中产生的电路信息资源级别布置信息(步骤S206)。

在资源划分分配中(步骤S206),由于资源共享造成的较长的资源间连接线距离或由于布置区域中的高布线拥挤度而引起不满足设计约束条件的共享资源基于初始分配信息和资源级别布置信息而被抽取。然后,表示如何改变资源分配以便CDFG的各个节点被分配至分离资源的校正分配信息以及表示如何改变资源之间连接关系的校正电路信息被产生。

在图7中所示的例子中,来自存储资源寄存器reg1的数据输出通过加法器add1经由多路器MUX2而经过算术运算,并且经由多路器MUX5重新存储在存储资源寄存器reg1中。因为从资源间连接线信息获得的多路器MUX2和存储资源寄存器reg1之间的连接线距离801较长,因此诸如运算速度或功率消耗之类的电路性能不能满足。

存储资源寄存器reg1由CDFG的节点m1、m3,和m4共享。当资源以这种方式共享时,距离连接目的地处的资源的距离较远,并且用于连接各个资源的连接被集中,以便布置区域中的拥挤度被提高。

图10A示出了表示如何在资源划分分配和电路信息产生中校正资源分配的校正分配信息。图10B示出了在资源划分分配和电路信息产生中产生的校正电路信息。图11示出了在资源划分分配中产生的各资源的校正寿命信息。与结合图5A、5B和6描述的那些元件相同的元件用与图5A、5B和6中附图标记一样的附图标记表示。因此,在此省略与之相关的详细描述。

图10A、10B和11与图5A、5B和6之间具有以下几点不同。分配至步骤S1的节点m1和分配至步骤S2的节点m3通常分配至存储寄存器reg1,而分配至步骤S3的节点m4被分配至存储寄存器reg3。因而,存储资源寄存器reg1分成通常分配至两个节点即步骤S1中的节点m1和步骤S2中的节点m3的存储资源寄存器reg1以及分配至步骤S3中的节点m4的存储资源寄存器reg3,其中存储资源寄存器reg1通常分配至三个节点即图5A中的分配至步骤S1的节点m1、分配至步骤S2的节点m3,以及分配至步骤S3的节点m4。

接下来,在资源级别布置细微校正中,资源级别布置信息细微地校正(步骤S207),基于在资源划分分配和电路信息产生中产生的校正电路信息(步骤S206)。

图12示出了具有在资源级别布置细微校正中被细微校正的布置的数字电路。作为基于校正电路信息细微校正存储资源寄存器reg1的布置结果,多路器MUX2和存储资源寄存器reg1之间的连接线距离1201比布置被细微校正之前的多路器MUX2和存储资源寄存器reg1之间的连接线距离801短。

之后,过程返回步骤S205。因而,资源划分分配和电路信息产生以及资源级别布置细微校正被重复地执行直到满足预定标准。

如上所述,根据实施例1,表示如何基于表示用于构成数字电路的资源布置的资源级别布置信息而改变资源分配的校正分配信息以及表示如何改变资源之间连接关系的校正电路信息相对于在调度过程中调度的CDFG的每个节点被产生(步骤S201)。因此,在资源级别布置中获得的资源级别布置信息(步骤S204)可反馈至高级综合中的分配相位。在高级综合之后的下游运算中设计约束条件不满足的情况下,从高级综合到布置的运算可在高级综合期间没有校正输入文件或约束文件的情况下自动地执行。因此,可在布置中产生具有高可执行性的电路。

图13A示出了在实施例1的高级综合方法中的资源划分分配和电路信息产生中产生的另一个校正分配信息。图13B示出了在资源划分分配和电路信息产生中产生的另一个校正电路信息。图14示出了具有在资源级别布置细微校正中被细微校正的布置的另一个数字电路。在图10A、10B、11和12中所示的例子中,作为设计约束条件的电路性能已经描述,但是,本发明不仅限于此。电路区还可通过利用拥挤度信息而被评估。在这种情况下,如图7所示,多路器MUX2和存储资源寄存器reg1之间的线路较长,以便区域R1中的布线拥挤度较高,从而增加电路面积(area)。

在资源划分分配中(步骤S206),分配信息和电路信息以上述的方式重新产生,如图13A和13B所示,以便由节点+1和节点+4共享的加法器add1被分开,然后,布置可被细微地校正,如图14所示。

此外,电路性能和电路面积被同时评估,执行二者或者依据优先权执行二者任何之一。因而,电路性能和电路面积均很适当。或者,通过交替使用执行最佳化。  

此外,当资源级别布置信息值通过将一边限加至资源级别布置信息而增大或减小以便资源级别布置信息值被改变时,实现满足实际布置设计中约束条件的布置的容易性可改变。更具体地说,可执行下列各项:设置表示布置影响的布置影响系数,以及设置的布置影响系数值乘以资源级别布置信息值。

如上所述,根据实施例1,首先,布置经过高级综合以便最大化共享资源的CDFG。然后,通过利用作为初始方案的布置,由于资源级别布置信息的较长的资源间连接线距离或者由于布置区域中的高布线拥挤度而引起不满足设计约束条件的共享资源被重新分配至分离资源,从而细微地校正布置。这些运算重复执行直到满足设计约束条件,从而可产生高级别的电路,基于资源级别的布置结果。因此,资源可在不与布置之后的设计约束条件矛盾的范围内最佳地共享。

实施例2

图15是示出实施例2的高级综合方法的流程图。CDFG产生(步骤S1501)和调度(步骤S1502)分别与实施例1中参照图1所描述的CDFG产生(步骤S201)和调度(步骤S202)相同,因此,在此将省略其描述。

在初始非共享分配和电路信息产生中(步骤S1503),表示如何将算术运算单元资源或存储资源分配至CDFG的各个节点以使共享硬件资源最小化的初始分配信息以及表示资源之间连接关系的初始电路信息被产生。

图16A示出了表示如何在初始非共享分配和电路信息产生中将资源分配至CDFG各个节点的初始分配信息。图16B示出了在初始非共享分配和电路信息产生中产生的初始电路信息。图17示出了在初始非共享分配和电路信息产生中产生的每个资源的寿命信息。

在图16A、16B和17中所示的例子中,存储资源寄存器reg1分配至分配给步骤S1的节点m1。存储资源寄存器reg2分配至分配给步骤S1的节点m2。存储资源寄存器reg3分配至分配给步骤S2的节点m3。存储资源寄存器reg4分配至分配给步骤S3的节点m4。

加法器add1分配至分配给步骤S1的节点+1。加法器add2分配至分配给步骤S1的节点+2。加法器add3分配至分配给步骤S1的节点+3。加法器add4分配至分配给步骤S2的节点+4。乘法器mult1分配至分配给步骤S3的节点*1。

多路器2-1MUX1通常分配至分配给步骤S1的边缘add2_reg2和边缘add3_reg2。多路器2-1MUX4通常分配至分配给步骤S3的边缘reg2_mux4和分配给步骤S3的节点in6。

因而,在初始非共享分配和电路信息产生中,算术运算单元资源或存储资源分配至CDFG的各个节点以便共享硬件资源最小化。

在资源级别布置中,资源级别布置信息基于在初始非共享分配和电路信息产生中产生的初始电路信息而被产生(步骤S1504)。

图18示出了基于在初始非共享分配和电路信息产生中产生的初始电路信息布置的数字电路。由虚线围绕的区域R1至R6是用于估算布线拥挤度的布置局部区域。在图18中所示的例子中,数字电路被分成六个。

图19示出了在资源级别布置中产生的资源级别布置信息。在每格中描述的数值表示资源间连接线的距离信息,其示出了各个资源之间连接线的长度。例如,存储资源寄存器reg1和存储资源寄存器reg2之间的资源间连接线的距离信息是“4”,而存储资源寄存器reg2和存储资源寄存器reg3之间的资源间连接线的距离信息是“1”。

图20示出了在资源级别布置中产生的另一个资源级别布置信息。图20示出了表示布置局部区域R1、R2、R3、R4、R5和R6中的布线拥挤度的布线拥挤度信息。布线拥挤度信息用各个布置局部区域R1、R2、R3、R4、R5和R6中的线路数量表示。在图20中所示的例子中,布置局部区域R1中的布线拥挤度信息是“7”。布置局部区域R2中的布线拥挤度信息是“7”。布置局部区域R3中的布线拥挤度信息是“6”。布置局部区域R4中的布线拥挤度信息是“1”。布置局部区域R5中的布线拥挤度信息是“3”。布置局部区域R6中的布线拥挤度信息是“2”。

然后,确定在资源级别布置中产生的资源级别布置信息是否满足表示约束文件中所描述的数字电路的约束条件的预定标准(步骤S1505)。当确定资源级别布置信息满足预定标准时(步骤S1505中为“是”),电路信息在输出中被输出(步骤S208),并且过程完成。

当确定资源级别布置信息不满足预定标准时(步骤S1505中为“否”),表示如何校正资源相对于CDFG各个节点的分配的校正电路信息在资源共享分配和电路信息产生中产生,基于在初始非共享分配和电路信息产生中产生的初始电路信息以及在资源级别布置中产生的资源级别布置信息(步骤S1506)。

在资源共享分配和电路信息产生中(步骤S1506),表示如何通过共享资源而改变资源分配的校正分配信息以及表示如何改变资源之间连接关系的校正电路信息基于在初始非共享分配和电路信息产生中产生的初始分配信息(步骤S1503)以及在资源级别布置中产生的资源级别布置信息(步骤S1504)而产生。作为资源共享的结果,资源之间连接线的距离增大并且布置区域中的拥挤度增加。因此,在此,在满足设计约束条件的范围内可共享的资源被抽取,并改变资源分配以便共享抽取的资源。

在图18中所示的例子中,存储资源寄存器reg1或存储资源寄存器reg2可与存储资源寄存器reg3共享,基于图17所示的初始分配信息。此外,作为共享候选对象的存储资源寄存器reg2和reg3之间的连接线距离1801比存储资源寄存器reg1和存储资源寄存器reg2之间的连接线距离1802短,基于图19所示资源间连接线的距离信息。(向其输出存储在存储资源寄存器reg2中的数据的多路器2-1MUX1和向其输出存储在存储资源寄存器reg2中的数据的加法器add4之间的)连接线距离1803与(向其输出存储在存储资源寄存器reg1中的数据的加法器add1和多路器2-1MUX1之间的)连接线距离1804相等。具有存储资源寄存器reg1的布置局部区域R1的拥挤度与具有存储资源寄存器reg3的布置局部区域R2的拥挤度相同,基于图20所示布置区域中的拥挤度信息。当彼此远隔的资源被共享时,连接线距离较长。因此,在资源共享分配中,存储资源寄存器reg2和存储资源寄存器reg3共享。

图21A示出了表示如何在资源共享分配和电路信息产生中改变资源相对于CDFG节点的分配的校正分配信息。图21B示出了在资源共享分配和电路信息产生中产生的校正电路信息。图22示出了在资源共享分配和电路信息产生中产生的每个资源的寿命信息。

分配至存储资源寄存器reg2的CDFG的节点m2以及分配至存储资源寄存器reg3的CDFG的节点m3通常分配至一个存储资源寄存器reg3。

接下来,过程进入资源级别布置细微校正(步骤S1507),并执行资源共享分配后,分析CDFG,并细微地校正布置。

图23示出了具有在资源级别布置细微校正中被细微校正的布置的数字电路。只要满足设计约束条件,则一系列资源共享分配(步骤S15076)和资源级别布置细微校正(步骤S1507)的处理被重复。

如上所述,根据实施例2,首先,布置经过高级综合以便最小化共享资源的CDFG。然后,通过利用该布置作为初始方案,资源被抽取,该资源可共享至这种程度,即甚至在资源间连接线距离和布置区域中的布线拥挤度降阶时也满足设计约束条件。重新分配抽取的资源以便共享,从而布置被细微地校正。这些运算可重复,只要满足设计约束条件,从而可产生高级别的电路,基于资源级别的布置结果。因此,资源可在不与布置之后的设计约束条件矛盾的范围内最佳地共享。

在实施例2中,为了简化说明,共享的例子集中在可共享的两个资源上。但是,本发明不仅限于此。可同时评估并共享三个或更多个资源。

接下来,将描述实施例2的一个变型。图24示出了用于在实施例2的高级综合方法中估算同步型时钟电路的综合容易性的方法。实施例2的变型与实施例2的不同之处在于资源共享分配(步骤S1506)包括基于所有存储资源的布置估算同步型时钟电路的综合容易性,当资源被共享以便满足设计约束条件时。

在高级综合之后执行的布置综合中,时钟电路被综合以便供应给各个存储资源的时钟信号同时到达存储资源。要综合的同步型时钟电路的尺寸取决于设置存储资源的位置的分布情况。因此,当存储资源被共享时,考虑在其中设置存储资源的整个分布很重要。

本说明书中的术语“综合容易性”指的是电路综合的容易性。当要综合的电路的尺寸较小时,则综合电路变得较容易。

在实施例2的变型中,通过利用这样事实,即当存储资源的粗糙布置和存储资源的精细布置之间的差异较大,增大要综合电路的尺寸,则同步资源的布置分布会尽可能的均匀。

图24示出了用于在根据实施例2变型的高级综合方法中估算同步型时钟电路的综合容易性的方法。在图24所示的例子中,布置区域分成了16个区域(4行×4列),在图2中,黑实心圆表示存储资源。假定存储资源R1可在实施例2的上述条件下与存储资源R2和存储资源R3任何之一共享。

基于在每个分成的区域中配置的存储资源数量,计算分成的区域中的存储资源数量的变化。在初始状态中,变化值是0.33。当存储资源R1和存储资源R2共享时,变化值是0.27。当存储资源R1和存储资源R3共享时,变化值是0.53。在这种情况下,存储资源R1和存储资源R2被共享以便变化值较小,并且配置位置中的变化减少。

当布置区域较大时,分阶段地计算变化,从而可提高估算精度。在图24所示的例子中,首先,基于实线所划分的区域(第一级)计算变化。然后,基于相对于虚线所划分的区域(第二级)的第一级计算变化。之后,基于上述整个5个变化值的总和估算综合容易性。在这种情况下,在初始状态中,变化值是1.83。当存储资源R1和存储资源R2被共享时,变化值是1.83。当存储资源R1和R3被共享时,变化值是3.16。

如上所述,根据实施例2的变型,存储资源的布置分布可使均匀。这样可抑制要综合的同步型时钟电路的尺寸增大。因此,可减少时钟电路所消耗的功率量。

实施例3

图25是示出实施例3的高级综合方法的流程图。与示出了结合图1和15所描述的上述高级综合方法的流程图中的元件相同的元件用与之相同的附图标记表示。因此,在此将省略这些元件的详细描述。

从CDFG产生(步骤S201)到资源级别布置细微校正(步骤S207)的操作与参照图1所描述的实施例1中的相同。资源共享分配和电路信息产生(步骤S1506)和资源级别布置细微校正(步骤S1507)与参照图15所描述的实施例2中的相同。

当确定资源级别布置信息满足预定标准时(步骤S205中为“是”),确定在可基于分配信息被共享但还没有共享的硬件资源之间是否存在组合(步骤S2301)。

当确定在可基于分配信息被共享但还没有共享的硬件资源之间存在组合时(步骤S2301中为“否”),资源组合被抽取,其甚至可在由于共享资源而使资源间连接线距离变得较长或布置区域中的拥挤度增加时在满足设计约束条件的范围内被共享,并且资源分配被改变以便资源可共享。

在实施例3中,作为用于共享的候选对象,在资源划分分配和电路信息产生中(步骤S206)分开的分配至存储资源寄存器reg2的节点m2和分配至存储资源寄存器reg3的节点m4被选择。节点m2和节点m4是可基于图11所示的分配信息被共享但还没有共享的硬件资源的组合。此外,存储资源寄存器reg2和存储资源寄存器reg3基于资源级别布置信息彼此靠近。因此,可确定设计约束条件相对于资源间连接线距离没有被冲突,即使这些存储资源寄存器被共享。然后,所述过程进入上述的资源共享分配和电路信息产生(步骤S1506)。

图26示出了根据实施例3的高级综合方法的具有在资源级别布置细微校正中被细微校正的布置的数字电路。图26示出了通过改变资源分配以便相对于图12所示的数字电路,节点m2和m4在资源共享分配中(步骤S1506)分配至存储资源寄存器reg3,和在资源级别布置细微校正中细微校正布置而获得的结果。资源共享分配和电路信息产生被重复只要满足设计约束条件。

如上所述,根据实施例3,通过相对于执行实施例1后重新分配至分离资源的资源,共享在初始方案中还没有组合的资源,可基于资源级别布置结果产生高级别电路。因此,资源可在不与布置之后的设计约束条件矛盾的范围内最佳地被共享。

实施例4

图27是示出了实施例4的高级综合方法的流程图。与结合图1、15,和25所描述的高级综合方法的流程图中的元件相同的元件用与之相同的附图标记表示。因此,在此将省略这些元件的详细描述。

从CDFG产生(步骤S201)到资源级别布置细微校正(步骤S207)的操作与参照图1所描述的实施例中的相同。资源共享分配和电路信息产生(步骤S1506)和资源级别布置细微校正(步骤S1507)与参照图15所描述的实施例2中的相同。在基于分配信息可共享但还没有共享的硬件资源之间是否存在组合的确定(步骤S2301)与图25中所描述实施例3中的相同。

在初始布置影响系数设置中(步骤S2501),比最初期望设置的预期布置影响系数小的值被设置为表示资源级别布置信息影响度的初始布置影响系数。例如,在资源间连接线的距离信息值用在确定中时(步骤S205),预期布置影响系数是1.0,而初始布置影响系数设置为比1.0小。资源级别布置信息被更新为通过乘以一个比1.0小的值而获得的一值。

然后,在基于考虑了初始布置影响系数的资源级别布置信息确定在确定过程中(步骤S205)在满足标准之前,资源划分分配和电路信息产生(步骤S206)以及资源级别布置细微校正(步骤S207)被重复。当确定在确定过程中(步骤S205)满足标准时的资源级别布置信息结果与在满足初始布置影响系数情况下的结果相对应。因此,尽管考虑了初始布置影响度的约束条件还不满足,但仍然可消除主要与约束条件相冲突的临界误差。

之后,以与实施例3中相同的方式,在确定过程中确定(步骤S2301)可基于分配信息共享但还没有共享的硬件资源之间是否存在组合。当确定在硬件资源之间存在组合,则资源组合被抽取,其甚至可在由于共享资源而使资源间连接线距离变得较长或布置区域中的拥挤度增加时在满足设计约束的范围内被共享(步骤S2301中为“否”)。

然后,资源分配被改变以便资源在资源共享分配和电路信息产生中被共享(步骤S1506)。然后,布置在资源级别布置细微校正中被细微地校正(步骤S1507)。

当确定不存在可共享但还没有共享的硬件资源之间的组合时(步骤S2301中为“是”),在布置影响系数确定中,确定当前布置影响系数是否是要最终给出的预期布置影响系数(步骤S2502)。当确定当前布置影响系数是要最终给出的预期布置影响系数时(在步骤S2502中为“是”),高级综合处理过程完成。

当确定当前布置影响系数不是要最终给出的预期布置影响系数时(在步骤S2502中为“否”),校正当前布置影响系数以便与布置影响系数校正中的预期布置影响系数接近(步骤S2503)。然后,所述过程返回到步骤S205。

因此,步骤S205至S2503被重复直到布置影响系数变成预期的布置影响系数。处理过程自粗糙的布置信息的次序执行,从而,用于搜索与一个过程中的约束条件相矛盾的资源分配的范围可减少。这样可使高级综合处理过程有效地执行。此外,资源分配重复,同时布置影响系数被改变。因此,可搜索解决方案的范围,其中,依赖初始方案的影响比如上所述的实施例3中的小。

因此,本发明适用于一种用于产生构成数字电路的RTL电路说明的高级综合方法。

本发明可在不背离其精神或本质特征的情况下以其他形式实施。本说明书中所公开的实施例无论在哪方面看均是说明性的,而不具有限制作用。本发明的范围由附属权利要求书指出,而不是上述描述,并且属于权利要求书等效物的意思和范围内的所有变化均包含在其中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号