一种专用集成电路综合系统及方法

文档序号:6646039阅读:191来源:国知局
专利名称:一种专用集成电路综合系统及方法
技术领域
本发明涉及专用集成电路综合技术领域,特别是一种专用集成电路综合系统及方法。
背景技术
在专用集成电路(ASIC)的设计过程中,一般先使用硬件描述语言(Verilog)、超高速集成电路硬件描述语言(VHDL)等电子设计自动化(EDA)设计语言设计出逻辑电路,再通过综合工具转换成实际的门级电路。所谓综合就是将所设计的逻辑电路代码转化成对应一定工艺手段的门级电路。
对一个ASIC设计的综合策略有自上而下(Top Down)和自下而上(Bottom Up)两种方式。Top Down方式就是将设计读入综合工具,综合工具对其进行综合,Top Down方式由于综合时间较长,适合门数在10万门级别的设计;Bottom Up方式将ASIC设计划分为多个子模块,综合工具先对ASIC设计中各子模块进行综合,然后再对所述ASIC设计进行顶层综合。随着ASIC设计复杂度和门数的增加,Top Down的综合策略已经不可行,设计人员一般都采用Bottom Up方式的综合策略。
在ASIC设计中,一个完整的设计通常由多个子模块组合而成。在现有的技术方案中,每个待综合的子模块对应一个独立的综合脚本,每个综合脚本读入对应的待综合的子模块,设置综合约束,对子模块进行综合产生网表,然后输出综合报告。所述ASIC设计还对应一个综合脚本,以实现顶层综合在所有子模块综合完成后,该综合脚本读入已经综合完成的各子模块的网表,设置综合约束,进行综合,然后输出综合报告。为了实现自动启动顶层综合,可以利用一个监视脚本来监视各子模块综合输出的网表是否产生,当所有子模块的网表都产生时,说明所有子模块的综合已经完成,自动启动对应于该ASIC设计的综合脚本,进行顶层综合。
图1给出了现有技术中上述综合脚本的架构,对应于将ASIC设计按一定方式划分为以0~n-1标记的n个子模块,图1中存在以0~n-1标记的n个综合脚本,并且还存在一个对应于该ASIC设计的综合脚本,每个综合脚本读入对应的模块或网表,设置综合约束,进行综合,然后输出综合报告。
图2给出了现有技术中ASIC综合的流程,包括以下步骤步骤101,对应于ASIC设计中每个待综合子模块的各个综合脚本读入对应的待综合的子模块,设置综合约束,对子模块进行综合产生网表,然后输出综合报告。
步骤102,监视脚本在监视到所有子模块的网表都产生时,说明所有子模块的综合已经完成,自动启动对应于该ASIC设计的综合脚本,进行顶层综合。对应于该ASIC设计的综合脚本读入已经综合完成的各子模块的网表,设置综合约束,进行综合,然后输出综合报告。
在上述技术方案中,所述ASIC设计和其中每个子模块各自都对应一个综合脚本,当设计中的子模块较多时,需要较多的综合脚本,整个综合系统的架构非常庞大复杂,不论是编写还是维护大量的综合脚本,都会耗费巨大的工作量。另外,由于每个综合脚本与一个特定子模块对应,导致这些综合脚本的移植性较差,不能供其他设计使用,并且一般对综合不精通的设计人员很难直接使用这些综合脚本。

发明内容
有鉴于此,本发明提出了一种ASIC综合系统,用以简化整个综合系统的构架。
本发明提供的一种ASIC综合系统,用于综合包括多个子模块的ASIC设计,该综合系统包括综合控制平台单元和通用综合单元,其中,综合控制平台单元,用于将所述ASIC设计中待综合子模块的信息发送给所述通用综合单元,并监测每个子模块综合的完成,在监测到所有子模块综合完成后,将所述ASIC设计的信息和各子模块的网表发送给通用综合单元;通用综合单元,用于根据所述待综合子模块的信息读取待综合子模块并设置待综合子模块的综合约束,对所述待综合子模块进行综合并输出所述子模块的网表,以及根据所述ASIC设计的信息设置所述ASIC设计的综合约束,根据所述ASIC设计的综合约束和各子模块的网表进行所述ASIC设计的顶层综合,并输出所述ASIC设计的网表。
较佳地,所述通用综合单元包括读入设计脚本单元、设置约束脚本单元和综合脚本单元,其中,读入设计脚本单元,用于根据所述待综合子模块的信息读取待综合子模块,并将所读取的子模块发送给综合脚本单元;设置约束脚本单元,用于根据所述待综合子模块的信息设置待综合子模块的综合约束并发送给综合脚本单元,以及根据所述ASIC设计的信息设置所述ASIC设计的综合约束并发送给综合脚本单元;综合脚本单元,用于根据所述待综合子模块的综合约束对所述待综合子模块进行综合并输出所述子模块的网表,以及根据所述ASIC设计的综合约束和各子模块的网表进行所述ASIC设计的顶层综合,并输出所述ASIC设计的网表;并且,综合控制平台单元将待综合子模块的信息发送给所述输入设计脚本单元、设置约束脚本单元和综合脚本单元,并在所有子模块综合完成后,将所述ASIC设计的信息发送给设置约束脚本单元以及将各子模块综合的网表发送给综合脚本单元。
较佳地,所述通用综合单元进一步包括输出报告脚本单元,用于根据综合脚本单元输出的所述子模块的网表产生并输出所述子模块的综合报告,以及根据综合脚本单元输出的所述ASIC设计的网表产生并输出所述ASIC设计的综合报告。
本发明还提出了一种ASIC综合方法,用以降低综合过程的复杂度。
据此,本发明提供一种ASIC综合方法,用于综合包括多个子模块的ASIC设计,预先设置共享的通用综合单元,该方法进一步包括以下步骤
A.将所述设计中待综合子模块的信息发送给通用综合单元;B.通用综合单元根据收到的待综合子模块的信息读入所述待综合子模块,设置待综合子模块的综合约束,对待综合子模块进行综合,并输出所述子模块的网表;C.在监测到所有子模块综合完成后,将所述ASIC设计的信息和各子模块的网表发送给通用综合单元;D.通用综合单元根据所述ASIC设计的信息设置所述ASIC设计的综合约束,根据所述ASIC设计的综合约束和各子模块的网表进行所述ASIC设计的顶层综合,并输出所述ASIC设计的网表。
较佳地,所述步骤B之后进一步包括根据所述子模块的网表产生并输出所述子模块的综合报告。
较佳地,所述步骤D之后进一步包括根据所述ASIC设计的网表产生并输出所述ASIC设计的综合报告。
所述步骤A中,将所述待综合子模块的信息直接发送给通用综合单元。
较佳地,步骤A中所述将所述待综合子模块的信息发送给通用综合单元的步骤包括将所述待综合子模块的信息存储到相应文件,通用综合单元从所述文件中读取所述待综合子模块的信息。
在上述技术方案中,步骤C所述监测为通过检测所有子模块的网表是否产生来监测所有子模块的综合是否完成。
从上述方案中可以看出,由于本发明提供了综合控制平台单元和共享的通用综合单元,在对一个ASIC设计的综合过程中,不再需要分别针对所述ASIC设计和其中各个子模块的脚本,大大简化了整个综合系统的构架。在综合过程中,由综合控制平台单元将待综合子模块的信息发送给各相关单元,并在监测到各子模块的综合完成后,自动启动所述ASIC设计的顶层综合,实现了综合过程的全自动化处理,提高了综合效率,降低了综合人员的工作量,且所有综合都使用共享的通用综合单元,降低了综合过程的复杂度。
并且,本发明的综合系统可以在任何机器和目录下运行,只需要提供所要综合的子模块的名称,即使不懂综合技术的设计人员也可以使用,从而便于设计人员快速定位综合问题。
另外,由于本发明的综合构架简单,只是由综合控制平台单元和几个简单的共享综合脚本单元构成,便于修改和维护,具有较高的移植性,能够用于各个ASIC设计的项目,这样在一定程度上可以缩短ASIC项目的开发周期。


图1为现有技术中综合脚本的架构;图2为现有技术中的综合流程示意图;图3a和3b为本发明实施例的综合系统结构示意图;图4为本发明实施例的综合流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
参照图3a,本实施例的ASIC综合系统包括综合控制平台单元和共享的通用综合单元。其中,综合控制平台单元,用于将ASIC设计中待综合子模块的信息发送给所述通用综合单元,并监测所有子模块综合的完成,在监测到所有子模块综合完成后,将所述ASIC设计的信息和各子模块的网表发送给通用综合单元;通用综合单元,用于根据所述待综合子模块的信息读取待综合子模块并设置待综合子模块的综合约束,对所述待综合子模块进行综合并输出该子模块的网表,以及根据所述ASIC设计的信息设置所述ASIC设计的综合约束,根据所述ASIC设计的综合约束和各子模块的网表进行所述ASIC设计的顶层综合,并输出所述ASIC设计的网表。
从以上描述可以看出,与现有技术中ASIC设计和其中每个子模块都各自对应一个综合脚本不同,本实施例中ASIC设计和所有子模块都共享上述通用综合单元,换言之,该通用综合单元不仅完成对ASIC设计中各个子模块的综合,还完成该ASIC设计的顶层综合。该通用综合单元可以通过一个通用综合脚本实现,所述通用综合脚本包括了现有技术中各个综合脚本的相同内容以及针对该ASIC设计和其中各子模块的不同内容。
继续参照图3a,通用综合单元包括读入设计脚本单元、设置约束脚本单元、综合脚本单元。其中,综合控制平台单元分别与读入设计脚本单元、设置约束脚本单元、综合脚本单元相连接,读入设计脚本单元、设置约束脚本单元分别与综合脚本单元相连接。在该ASIC综合系统中,综合控制平台单元用于将ASIC设计中待综合子模块的信息发送给所述输入设计脚本单元、设置约束脚本单元和综合脚本单元,并监测所有子模块综合的完成,在监测到所有子模块综合完成后,将所述ASIC设计的信息发送给设置约束脚本单元以及将各子模块综合所产生的网表发送给综合脚本单元;读入设计脚本单元用于根据所述待综合子模块的信息读取待综合子模块,并将所读取的子模块发送给综合脚本单元;设置约束脚本单元用于根据所述待综合子模块的信息设置待综合子模块的综合约束并将所设置的综合约束发送给综合脚本单元,以及根据所述ASIC设计的信息设置所述ASIC设计的综合约束并将所设置的综合约束发送给综合脚本单元;综合脚本单元用于根据所述待综合子模块的综合约束对所述待综合子模块进行综合并输出该子模块的网表,以及根据所述ASIC设计的综合约束以及各子模块的网表进行所述ASIC设计的顶层综合,并输出所述ASIC设计的网表。
如图3b所示,上述ASIC综合系统还可以进一步包括与综合脚本单元连接的输出报告脚本单元。该输出报告脚本单元用于根据综合脚本单元输出的子模块的网表产生子模块的综合报告,并输出所述子模块的综合报告,以及根据综合脚本单元输出的该ASIC设计的网表产生该ASIC设计的综合报告,并输出所述ASIC设计的综合报告。相应地,图3b中的通用综合单元进一步也用于根据子模块的网表产生并输出子模块的综合报告,以及根据该ASIC设计的网表产生并输出所述ASIC设计的综合报告。
下面参照图4,描述根据本发明实施例的综合流程。参照图4,对于一个ASIC设计的综合流程包括以下步骤步骤200,预先设置上述ASIC综合系统中的通用综合平台。在综合过程中,该通用综合平台不仅完成对ASIC设计中各个子模块的综合,还完成所述ASIC设计的顶层综合。
步骤201,综合控制平台单元确定所述ASIC设计中的待综合子模块后,将待综合子模块的信息发送给读入设计脚本单元、设置约束脚本单元和综合脚本单元。
其中,所述待综合子模块的信息包括子模块的名称等。所述信息发送的过程可以是直接发送,也可以是综合控制平台单元将信息存储到某个文件中,然后由读入设计脚本单元、设置约束脚本单元和综合脚本单元从该文件读取所述信息。
步骤202,读入设计脚本单元根据上述待综合子模块的信息,读入待综合的子模块,并将所读入的待综合子模块发送给综合脚本单元。
步骤203,设置约束脚本单元根据上述待综合子模块的信息,设置该子模块的综合约束,并将所设置的综合约束发送给综合脚本单元。
本步骤中设置待综合子模块综合约束的方法有多种,这里以一个较为简便的方法举例说明预先保存了与各待综合子模块的信息分别对应的综合约束,在本步骤中根据综合控制平台单元发送过来的待综合子模块的信息就可以获得与其对应的综合约束,然后进行设置。
需要说明的是,步骤202和步骤203没有先后次序之分,这里为了更清楚的说明本实施例的实施才以两个步骤分别说明。
步骤204,综合脚本单元根据上述待综合子模块以及综合约束,对上述待综合的子模块进行综合,并输出所述子模块的网表。
在所述ASIC系统中包括输出报告脚本单元时,综合脚本将所述子模块的网表输出给输出报告脚本单元,输出报告脚本单元根据所述子模块的网表产生子模块的综合报告,并输出该综合报告。所述综合报告包括数据大小、时序、电路检查结果等。
步骤205,综合控制平台单元监视到每个子模块的综合完成之后,将各个子模块综合所产生的网表发送给综合脚本模块,并且向设置约束脚本单元发送所述ASIC设计的信息,例如所述ASIC设计的名称等。
在本步骤中,综合控制平台单元可以通过检测各子模块的网表是否产生来监视各子模块的综合是否完成,当检测到所有子模块的网表都产生时,就得出所有子模块的综合已经完成。
步骤206,设置约束脚本单元根据上述ASIC设计的信息设置该ASIC设计的综合约束,并将所设置的综合约束发送给综合脚本单元。
与步骤203相似,本步骤中也可以使用如下方法设置该ASIC设计的综合约束预先保存了与该ASIC设计的信息对应的综合约束信息,在本步骤中根据综合控制平台单元发送过来的ASIC设计的信息就可以获得所述ASIC设计的综合约束,然后进行设置。
步骤207,综合脚本单元根据上述ASIC设计的综合约束信息和各子模块的网表,进行该ASIC设计的顶层综合,并输出该ASIC设计的网表。
在所述ASIC系统中包括输出报告脚本单元时,综合脚本单元将所述ASIC设计的网表输出给输出报告脚本单元,输出报告脚本单元根据所述ASIC设计的网表产生所述ASIC设计的综合报告,并输出该综合报告。所述综合报告包括数据大小、时序、电路检查结果等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种专用集成电路ASIC综合系统,用于综合包括多个子模块的ASIC设计,其特征在于,该综合系统包括综合控制平台单元和通用综合单元,其中,综合控制平台单元,用于将所述ASIC设计中待综合子模块的信息发送给所述通用综合单元,并监测每个子模块综合的完成,在监测到所有子模块综合完成后,将所述ASIC设计的信息和各子模块的网表发送给通用综合单元;通用综合单元,用于根据所述待综合子模块的信息读取待综合子模块并设置待综合子模块的综合约束,对所述待综合子模块进行综合并输出所述子模块的网表,以及根据所述ASIC设计的信息设置所述ASIC设计的综合约束,根据所述ASIC设计的综合约束和各子模块的网表进行所述ASIC设计的顶层综合,并输出所述ASIC设计的网表。
2.根据权利要求1所述的综合系统,其特征在于,所述通用综合单元包括读入设计脚本单元、设置约束脚本单元和综合脚本单元,其中,读入设计脚本单元,用于根据所述待综合子模块的信息读取待综合子模块,并将所读取的子模块发送给综合脚本单元;设置约束脚本单元,用于根据所述待综合子模块的信息设置待综合子模块的综合约束并发送给综合脚本单元,以及根据所述ASIC设计的信息设置所述ASIC设计的综合约束并发送给综合脚本单元;综合脚本单元,用于根据所述待综合子模块的综合约束对所述待综合子模块进行综合并输出所述子模块的网表,以及根据所述ASIC设计的综合约束和各子模块的网表进行所述ASIC设计的顶层综合,并输出所述ASIC设计的网表;并且,综合控制平台单元将待综合子模块的信息发送给所述输入设计脚本单元、设置约束脚本单元和综合脚本单元,并在所有子模块综合完成后,将所述ASIC设计的信息发送给设置约束脚本单元以及将各子模块综合的网表发送给综合脚本单元。
3.根据权利要求2所述的综合系统,其特征在于,所述通用综合单元进一步包括输出报告脚本单元,用于根据综合脚本单元输出的所述子模块的网表产生并输出所述子模块的综合报告,以及根据综合脚本单元输出的所述ASIC设计的网表产生并输出所述ASIC设计的综合报告。
4.一种ASIC综合方法,用于综合包括多个子模块的ASIC设计,其特征在于,预先设置共享的通用综合单元,该方法进一步包括以下步骤A.将所述设计中待综合子模块的信息发送给通用综合单元;B.通用综合单元根据收到的待综合子模块的信息读入所述待综合子模块,设置待综合子模块的综合约束,对待综合子模块进行综合,并输出所述子模块的网表;C.在监测到所有子模块综合完成后,将所述ASIC设计的信息和各子模块的网表发送给通用综合单元;D.通用综合单元根据所述ASIC设计的信息设置所述ASIC设计的综合约束,根据所述ASIC设计的综合约束和各子模块的网表进行所述ASIC设计的顶层综合,并输出所述ASIC设计的网表。
5.根据权利要求4所述的方法,其特征在于,所述步骤B之后进一步包括根据所述子模块的网表产生并输出所述子模块的综合报告。
6.根据权利要求4所述的方法,其特征在于,所述步骤D之后进一步包括根据所述ASIC设计的网表产生并输出所述ASIC设计的综合报告。
7.根据权利要求4所述的方法,其特征在于,所述步骤A中,将所述待综合子模块的信息直接发送给通用综合单元。
8.根据权利要求4所述的方法,其特征在于,步骤A中所述将所述待综合子模块的信息发送给通用综合单元的步骤包括将所述待综合子模块的信息存储到相应文件,通用综合单元从所述文件中读取所述待综合子模块的信息。
9.根据权利要求4所述的方法,其特征在于,步骤C所述监测为通过检测所有子模块的网表是否产生来监测所有子模块的综合是否完成。
全文摘要
本发明公开了一种用于综合包括多个子模块的ASIC设计的ASIC综合系统及方法,所述综合系统包括综合控制平台单元和通用综合单元,其中综合控制平台单元用于将待综合子模块的信息发送给所述通用综合单元,在监测到所有子模块综合完成后,将该ASIC设计的信息和各子模块的网表发送给通用综合单元;通用综合单元用于读取待综合子模块并设置综合约束,对所述待综合子模块进行综合并输出该子模块的网表,以及根据该ASIC设计的信息设置综合约束,进行该ASIC设计的顶层综合并输出其网表。本发明不需要分别针对该ASIC设计和其中各个子模块的脚本,大大简化了整个综合系统的构架,降低了综合过程的复杂度,具有良好的移植性。
文档编号G06F17/50GK1851717SQ20051010244
公开日2006年10月25日 申请日期2005年9月9日 优先权日2005年9月9日
发明者李小波 申请人:深圳市海思半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1