一种利用表格完成芯片设计集成功能的方法技术

技术编号:8594123 阅读:201 留言:0更新日期:2013-04-18 07:21
一种利用表格完成芯片设计集成功能的方法,包括:手动输入子模块表格及集成模块表格的内容;读入所述子模块表格及集成模块表格的内容;根据预定义的所述子模块表格及集成模块表格的内容与子模块源代码及集成模块源代码之间的映射关系而自动生成所述子模块源代码及集成模块源代码。。利用本发明专利技术的方法与软件脚本可以极大提高集成效率,确保文档与源代码、不同模块版本的一致性,并同时兼具设计和验证的功能。

【技术实现步骤摘要】

本专利技术涉及。
技术介绍
芯片设计已达到数千万乃至数亿晶体管的规模,必须将其划分为多个模块由多人完成。在其过程中,不可避免的涉及一个步骤将各子模块连接到一起,即集成。传统上,集成由手工输入源代码完成。然而由于规模的巨大,子模块数目常以百计,其每个的接口可能上千,所有的连线可能超过数万。工程进展还经常临时提出增减修改的要求,工作量巨大、极易出错、可继承性差,由此亟需一种高效可靠的集成方法。目前,现有子模块及连接子模块的顶层模块(亦称集成模块)均由手工输入源代码完成。以下以典型的Verilog硬件描述语言解释集成的过程,对于其他语言如VHDL等,其集成的过程类似。图1至图4是传统芯片设计集成的示意图。图1和图2分别是传统芯片设计集成中的子模块示例,其中,图1 (a)和图2 (a)示出了两个子模块的源代码,包括模块名、接口及其声明(输入输出属性,位宽),另外,省略号部分的内容为逻辑描述部分,不在与本专利技术相关的论述范围内。图3示意了传统芯片设计集成中的集成模块的源代码,包含模块名,接口及其声明,以及描述连接关系的逻辑内容例化的子模块原名、例化名、各接口的连接关系等(类似于软件中的函数调用,硬件例化相当于实体拷贝)。图4为传统芯片设计集成中的示意性集成结构图。可见即便是非常简单的子模块,集成模块的复杂度已经大为提高。对于当前芯片的设计规模,集成模块往往超过十万行源代码的规模。由此可见,现有手工集成工作量巨大、极易出错、可继承性差。
技术实现思路
鉴于如上所述,本专利技术的目的在于提供一种高效可靠的利用表格完成芯片设计集成功能的方法,能极大减少工作量,并易于修改和继承。为了实现本专利技术的目的,提供包括手动输入子模块表格及集成模块表格的内容;读入所述子模块表格及集成模块表格的内容;根据预定义的所述子模块表格及集成模块表格的内容与子模块源代码及集成模块源代码之间的映射关系而自动生成所述子模块源代码及集成模块源代码。在本专利技术中,也可以,只含单张表格的工作簿可生成子模块源代码;含所有子模块的多张表格及定义连接关系的集成模块表格的工作簿所共同组成的工作簿,可生成集成模块,以此完成设计集成。在本专利技术中,也可以,还包括在读入所述子模块表格及集成模块表格的内容后,分别自动验证所述子模块表格及集成模块表格与所述子模块源代码及集成模块源代码的一致性。在本专利技术中,也可以,根据所述自动验证的结果生成所述子模块源代码及集成模块源代码或修改所述子模块表格及集成模块表格的内容。在本专利技术中,也可以,所述子模块表格及集成模块表格分别包含模块文件所在目录的信息,根据所述模块文件所在目录的信息自动判断是工作于设计模式还是验证模式。在本专利技术中,也可以,其特征在于,所述子模块源代码包括模块名、接口及其声明。在本专利技术中,也可以,所述集成模块源代码模块名,接口、其声明及描述连接关系的逻辑内容。本专利技术采用预定义的表格与模块的映射方法,兼具设计与验证功能的用于完成芯片设计集成功能。不但能生成顶层(集成)模块和空的子模块(含模块及接口声明,不含逻辑部分)源代码,而且可以验证表格与模块源代码的一致性。附图说明图1是传统芯片设计集成中的一子模块示例,图1 (a)为子模块源代码,图1 (b)为定义图1(a)的表格;图2为类似图1的传统芯片设计集成中的另一个子模块示例;图3为传统芯片设计集成中的顶层(集成)模块的源代码;图4为传统芯片设计集成中的示意性的集成结构图;图5为本专利技术的利用表格完成芯片设计集成功能的方法的示意性流程图;图6为根据本专利技术的定义顶层及子模块的工作簿每页工作表的内容;图7为根据本专利技术的用于验证时,工作表的“Al”单元格指示模块所在目录的情形;图8为本专利技术的软件流程图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。以下结合附图与实施例,详述本专利技术利用表格完成芯片设计集成功能的方法。(—)带表格描述的集成设计流程。使用本专利技术的设计流程应遵循由底至顶的原则,即先设计子模块,之后再设计集成的顶层模块。与传统直接输入源代码相比,本专利技术的利用表格完成芯片设计集成功能的方法的具体流程如图5所示。在本专利技术的利用表格完成芯片设计集成功能的方法中,除子模块内部逻辑仍由手工输入以外,其余的源代码均由软件脚本读入预先填写的表格而产生。软件读入表格时,验证语法、一致性等工作同步完成,验证成功自动生成源代码,否则给出警告错误等提示,待表格修改成功通过验证后再生成。总之,人工只负责输入表格,不输入源代码;源代码生成及验证工作由软件读入表格完成。具体地,参照图5所示,先设计子模块,具体步骤如下首先,手工填写子模块表格;其次,由软件脚本读入预先填写的表格以进行验证;若验证通过,则生成子模块源代码;否则修改子模块表格,进一步由软件脚本进行验证;以此,完成所有子模块。然后设计集成模块,具体步骤与设计子模块类似首先,手工填写集成模块表格;其次,由软件脚本读入预先填写的表格以进行验证;若验证通过,则生成集成模块源代码;否则修改集成模块表格,进一步由软件脚本进行验证;以此,完成该表格设计。(二)根据预定义的表格描述子模块接口。此处介绍本专利技术定义的表格与模块源代码之间的映射关系。以图1为例,其中图1(a)为源代码(省略号为逻辑描述部分,由人工完成);图1 (b)为定义图1 (a)的表格内容,模块名为第2行,接口定义为第3到7行。“Al”单元格为空白(限填写输入模块文件所在目录,另有详述),代表软件工作于设计模式。“A2”中为子模块名,以下A列内容只能为 或“io”,分别代表输入(源代码中为input),输出(源代码中为output)或双向(源代码中为inout,此处未举例)接口。B列为“r”代表输出为寄存器类型(源代码中为reg),对A列为“i”或输出为线类型(源代码中无reg)时,都只能为空白。C列代表接口位宽(位宽64则源代码中为[63:0])。D列为接口名。因本专利技术只涉及集成功能,故只生成带模块声明和接口的空模块,内部逻辑不在本专利技术范围内。 图2为类似的另一个子模块的示意图。(三)根据预定义的表格描述集成模块接口。图3为顶层(集成)模块的源代码,包含了集成模块的接口及内部子模块的全部连接关系。图6为根据本专利技术的定义顶层(集成模块)及子模块的工作簿每页工作表的内容,即、图6列出了为完成集成将所有工作表集中到一份工作簿后的情形。图6 Ca)中,第一张工作表(Sheetl)定义顶层模块。“Al”单元格为空,代表设计模式。和图1(b)子模块相比,在模块名与接口定义之间,多了定义子模块例化的内容,即第4到5行,其中A列为子模块名,B列为例化时区分不同例化拷贝的字母前缀,C列为例化份数(例化2份则例化序号为O和I)。因连线的来源只能是顶层模块的输入或子模块的输出,而去向只能是顶层模块的输出或子模块的输入(双向端口兼具输入输出功能),考虑到节省工作量以及避免差错,本专利技术定义只在连线的去向处填写来源信息,而来源处无需填写任何内容,本文档来自技高网...

【技术保护点】
一种利用表格完成芯片设计集成功能的方法,其特征在于,包括:手动输入子模块表格及集成模块表格的内容;读入所述子模块表格及集成模块表格的内容;根据预定义的所述子模块表格及集成模块表格的内容与子模块源代码及集成模块源代码之间的映射关系而自动生成所述子模块源代码及集成模块源代码。

【技术特征摘要】
1.一种利用表格完成芯片设计集成功能的方法,其特征在于,包括 手动输入子模块表格及集成模块表格的内容; 读入所述子模块表格及集成模块表格的内容; 根据预定义的所述子模块表格及集成模块表格的内容与子模块源代码及集成模块源代码之间的映射关系而自动生成所述子模块源代码及集成模块源代码。2.根据权利要求1所述的利用表格完成芯片设计集成功能的方法,其特征在于,只含单张表格的工作簿可生成子模块源代码;含所有子模块的多张表格及定义连接关系的集成模块表格的工作簿所共同组成的工作簿,可生成集成模块,以此完成设计集成。3.根据权利要求1所述的利用表格完成芯片设计集成功能的方法,其特征在于,还包括在读入所述子模块表格及集成模块表格的内容后,分别自动验证所述子模块表格及集成模块...

【专利技术属性】
技术研发人员:黄寅胡健胡兴微
申请(专利权)人:上海宇芯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1