CN103150438A - 一种电路编译方法及装置 - Google Patents
一种电路编译方法及装置 Download PDFInfo
- Publication number
- CN103150438A CN103150438A CN2013100785905A CN201310078590A CN103150438A CN 103150438 A CN103150438 A CN 103150438A CN 2013100785905 A CN2013100785905 A CN 2013100785905A CN 201310078590 A CN201310078590 A CN 201310078590A CN 103150438 A CN103150438 A CN 103150438A
- Authority
- CN
- China
- Prior art keywords
- file
- compiling
- circuit
- compiling file
- wish
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种电路编译方法及装置,涉及电路仿真验证领域。方法包括:获取所述电路中欲编译逻辑模块的欲编译文件的入口地址;根据所述入口地址调用所述欲编译逻辑模块的欲编译文件;对所述欲编译文件进行编译;其中,所述欲编译文件包括:对所述电路中无需编译的逻辑模块的替换编译文件;所述替换编译文件为只有输入和输出的空文件。本发明的方法及装置能够在电路进行编译过程中,将空文件代替电路中无需编译的逻辑模块的编译文件,从而在整个编译过程,无需花费额外时间对不关注的逻辑模块进行编译,提高了电路的编译效率。
Description
技术领域
本发明涉及电路仿真验证领域,特别是涉及一种电路编译方法及装置。
背景技术
大规模集成电路设计里每个模块通常包含有很多数字时序逻辑,在设计处于仿真验证阶段中,大部分的测试用例是不需要所有模块都有效工作的,仿真过程中,如果要编译或仿真所有模块中的数字时序逻辑,那么就会在一些不需要关注的模块上花费不必要的资源,浪费时间。目前解决的办法有1)增量编译的方法;2)分离式或者并行编译;3)在测试用例中把不需要关注的数字熟悉逻辑模块的时钟关掉;4)只为关注的模块搭建验证平台。但是上述几种方法都有一定的局限性,增量编译本身是基于类似makefile的方法来实现(makefile文件用于保存编译器和连接器的参数选项,还表述了所有源文件之间的关系,创建程序首先读取makefile文件,然后再激活编译器,汇编器,资源编译器和连接器以便产生最后的输出,最后输出并生成的通常是可执行文件),需要查看每个文件的修改时间,节省的编译时间有限,并且无法节省仿真时间;分离式或并行编译虽然可以减少编译时间,但是对设计和验证有特殊要求,而且不但不节省仿真时间,经常还会导致仿真时间加长;关掉不需要关注模块时钟的方法可以节省有限的仿真时间,但是无法节省编译时间;为关注的模块搭建单独的验证平台,虽然通常可以节省一定的编译和仿真时间,但是由于模块众多,每个模块都搭建验证平台则需要大量的验证工程师资源。
发明内容
本发明要解决的技术问题是提供一种电路编译方法及装置,能够在整个编译过程中,无需花费额外时间对不关注的逻辑模块进行编译。
为解决上述技术问题,本发明的实施例提供一种电路编译方法,包括:
获取所述电路中欲编译逻辑模块的欲编译文件的入口地址;
根据所述入口地址调用所述欲编译逻辑模块的欲编译文件;
对所述欲编译文件进行编译;其中,所述欲编译文件包括:对所述电路中无需编译的逻辑模块的替换编译文件;所述替换编译文件为只有输入和输出的空文件。
其中,所述空文件包括:
输入输出端口,并且输出端口为固定赋值的空文件。
其中,对所述欲编译文件进行编译的步骤包括:
删除所述无需编译的逻辑模块的原始编译文件;
增加所述无需编译的逻辑模块的替换编译文件,并编译所述替换编译文件。
本发明的实施例还提供一种电路编译装置,包括:
获取单元,用于获取所述电路中欲编译逻辑模块的欲编译文件的入口地址;
调用单元,用于根据所述入口地址调用所述欲编译逻辑模块的欲编译文件;
编译单元,对所述欲编译文件进行编译;其中,所述欲编译文件包括:对所述电路中无需编译的逻辑模块的替换编译文件;所述替换编译文件为只有输入和输出的空文件。
其中,所述空文件包括:
输入输出端口,并且输出端口为固定赋值的空文件。
其中,所述编译单元具体包括:
删除子单元,用于删除所述无需编译的逻辑模块的原始编译文件;
增加子单元,用于增加所述无需编译的逻辑模块的替换编译文件,并编译所述替换编译文件。
本发明的上述方案具有如下有益效果:
本发明的方法及装置能够在电路进行编译过程中,将空文件代替电路中无需编译的逻辑模块的编译文件,从而在整个编译过程,无需花费额外时间对不关注的逻辑模块进行编译,提高了电路的编译效率。
附图说明
图1为本发明中电路编译方法的示意图;
图2为本发明的具体实施例中SoC芯片的示意图;
图3为本发明中电路编译装置的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,本发明的实施例提供一种电路编译方法,包括:
步骤1,获取所述电路中欲编译逻辑模块的欲编译文件的入口地址;
步骤2,根据所述入口地址调用所述欲编译逻辑模块的欲编译文件;
步骤3,对所述欲编译文件进行编译;其中,所述欲编译文件包括:对所述电路中无需编译的逻辑模块的替换编译文件;所述替换编译文件为只有输入和输出的空文件。
上述方法在电路进行编译过程中,将空文件代替电路中无需编译的逻辑模块的编译文件,从而使整个编译过程中,无需花费额外时间对不关注的逻辑模块进行编译,提高了电路的编译效率。
具体地,在本发明的上述实施例,所述空文件包括:输入输出端口,并且输出端口为固定赋值的空文件。当然,该空文件还可以是如具有输入输出端口,但有少部分编译内容的文件;该空文件的编译比无需编译的逻辑模块的原始编译文件在编译过程中,消耗的资源和时间都少,因此,可以用空文件代替上述无需要编译的逻辑模块的原始编译文件,无需要花费额外时间对不关注的无需编译的逻辑模块进行编译,提高了电路的编译效率。
具体地,在本发明的上述实施例,步骤3包括:
步骤31,删除所述无需编译的逻辑模块的原始编译文件;
步骤32,增加所述无需编译的逻辑模块的替换编译文件,并编译所述替换编译文件。
下面对上述方法进行详细描述:
如图2所示的一个SoC芯片,在对其“video(视频)”模块进行仿真验证的时候,是不需要关注“Storage(存储)”和“Audio(音频)”逻辑模块的。如果带着“Storage”和“Audio”逻辑模块进行仿真验证的话,就必定会浪费编译和仿真资源。但是如果只为“Audio”逻辑模块搭建验证平台的话,那么就要花费额外的资源。
所以,当仿真验证“Video”逻辑模块的时候,本实施例首先获取“Video”逻辑模块的欲编译文件的入口地址;之后根据所述入口地址调用所述“video”逻辑模块的欲编译文件;把欲编译文件中有含有“Audio”和“Storage”存放路径字样的原始编译文件都去掉,并且在编译文件中自动增加“audio_processed.v”和“storage_processed.v”文件作为替换编译文件,替换掉“Audio”和“Storage”逻辑模块原有的原始编译文件。由于这个时候不需关心“Audio”和“Storage”逻辑模块的功能,所以“audio_processed.v”和“storage_processed.v”文件没有实际功能,只需包含输入输出端口,并且输出端口为固定赋值的空文件即可。
在另外一个具体应用实例中,当在对SoC芯片中的“Audio(音频)”模块进行仿真验证的时候,首先获取“Audio”逻辑模块的欲编译文件的入口地址;之后根据所述入口地址调用所述“Audio”逻辑模块的欲编译文件;把欲编译文件中有含有“Video”和“Storage”存放路径字样的原始编译文件都去掉,并且在编译文件中自动增加“video_processed.v”和“storage_processed.v”文件作为替换编译文件,替换掉“Video”和“Storage”逻辑模块原有的原始编译文件。
本发明所述空文件的生成以及替换的工作可做成脚本语言自动执行,并需要验证的逻辑模块的欲编译文件自动执行完成,不必为每个无需验证的逻辑模块单独再搭建平台。此外,在编译和仿真的时候,由于用很简单的“audio_processed.v”和“storage_processed.v”文件代替了复杂的实际编译文件,所以节省了资源,增加了编译和仿真速度。而且本方法可以在一个系统级平台上非常简便的实现所有逻辑模块的验证,对一个项目上验证平台进行统一化,降低了验证的成本。
如图3所示,本发明的实施例还提供一种电路编译装置,包括:
获取单元,用于获取所述电路中欲编译逻辑模块的欲编译文件的入口地址;
调用单元,用于根据所述入口地址调用所述欲编译逻辑模块的欲编译文件;
编译单元,对所述欲编译文件进行编译;其中,所述欲编译文件包括:对所述电路中无需编译的逻辑模块的替换编译文件;所述替换编译文件为只有输入和输出的空文件。
上述装置在电路进行编译过程中,将空文件代替电路中无需编译的逻辑模块的编译文件,从而使整个编译过程中,无需花费额外时间对不关注的逻辑模块进行编译,提高了电路的编译效率。
具体的,在本发明的上述实施例中,所述空文件包括:
输入输出端口,并且输出端口为固定赋值的空文件。
具体,在本发明的上述实施例中,所述编译单元具体包括:
删除子单元,用于删除所述无需编译的逻辑模块的原始编译文件;
增加子单元,用于增加所述无需编译的逻辑模块的替换编译文件,并编译所述替换编译文件。
显然,上述实施例为本发明中电路编译方法对应的装置实施例,所述电路编译方法能达到的技术效果,本实施例的装置也同样能够达到。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种电路编译方法,其特征在于,包括:
获取所述电路中欲编译逻辑模块的欲编译文件的入口地址;
根据所述入口地址调用所述欲编译逻辑模块的欲编译文件;
对所述欲编译文件进行编译;其中,所述欲编译文件包括:对所述电路中无需编译的逻辑模块的替换编译文件;所述替换编译文件为只有输入和输出的空文件。
2.根据权利要求1所述的电路编译方法,其特征在于,所述空文件包括:
输入输出端口,并且输出端口为固定赋值的空文件。
3.根据权利要求1所述的电路编译方法,其特征在于,对所述欲编译文件进行编译的步骤包括:
删除所述无需编译的逻辑模块的原始编译文件;
增加所述无需编译的逻辑模块的替换编译文件,并编译所述替换编译文件。
4.一种电路编译装置,其特征在于,包括:
获取单元,用于获取所述电路中欲编译逻辑模块的欲编译文件的入口地址;
调用单元,用于根据所述入口地址调用所述欲编译逻辑模块的欲编译文件;
编译单元,对所述欲编译文件进行编译;其中,所述欲编译文件包括:对所述电路中无需编译的逻辑模块的替换编译文件;所述替换编译文件为只有输入和输出的空文件。
5.根据权利要求4所述的电路编译装置,其特征在于,所述空文件包括:
输入输出端口,并且输出端口为固定赋值的空文件。
6.根据权利要求4所述的电路编译装置,其特征在于,所述编译单元具体包括:
删除子单元,用于删除所述无需编译的逻辑模块的原始编译文件;
增加子单元,用于增加所述无需编译的逻辑模块的替换编译文件,并编译所述替换编译文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310078590.5A CN103150438B (zh) | 2013-03-12 | 2013-03-12 | 一种电路编译方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310078590.5A CN103150438B (zh) | 2013-03-12 | 2013-03-12 | 一种电路编译方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150438A true CN103150438A (zh) | 2013-06-12 |
CN103150438B CN103150438B (zh) | 2016-01-06 |
Family
ID=48548514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310078590.5A Expired - Fee Related CN103150438B (zh) | 2013-03-12 | 2013-03-12 | 一种电路编译方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150438B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733490A (zh) * | 2021-01-07 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种芯片的系统级验证方法、系统及相关装置 |
CN113536717A (zh) * | 2021-07-14 | 2021-10-22 | 北京华大九天科技股份有限公司 | 一种基于增量编译的电路仿真方法 |
CN113779918A (zh) * | 2021-08-03 | 2021-12-10 | 北京爱芯科技有限公司 | SoC仿真方法、装置、计算设备和计算机存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1323413A (zh) * | 1998-10-09 | 2001-11-21 | 因芬尼昂技术股份公司 | 保护入口地址的方法 |
CN1371053A (zh) * | 2001-02-22 | 2002-09-25 | 英业达集团(南京)电子技术有限公司 | 在电子通信装置的编译系统平台上下载应用程序的方法 |
CN1818863A (zh) * | 2006-03-13 | 2006-08-16 | 浙江大学 | 嵌入式软件反编译中的静态库函数识别实现方法 |
CN101008962A (zh) * | 2006-12-29 | 2007-08-01 | 深圳市明微电子有限公司 | 可配置可替换的网络芯片使用参考模型的验证方法 |
CN101515301A (zh) * | 2008-02-23 | 2009-08-26 | 炬力集成电路设计有限公司 | 一种片上系统芯片验证的方法和装置 |
CN102402628A (zh) * | 2010-09-07 | 2012-04-04 | 无锡中星微电子有限公司 | 一种生成SoC验证平台的方法及系统 |
US20130007547A1 (en) * | 2011-06-30 | 2013-01-03 | Tekumalla Ramesh C | Efficient wrapper cell design for scan testing of integrated circuits |
-
2013
- 2013-03-12 CN CN201310078590.5A patent/CN103150438B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1323413A (zh) * | 1998-10-09 | 2001-11-21 | 因芬尼昂技术股份公司 | 保护入口地址的方法 |
CN1371053A (zh) * | 2001-02-22 | 2002-09-25 | 英业达集团(南京)电子技术有限公司 | 在电子通信装置的编译系统平台上下载应用程序的方法 |
CN1818863A (zh) * | 2006-03-13 | 2006-08-16 | 浙江大学 | 嵌入式软件反编译中的静态库函数识别实现方法 |
CN101008962A (zh) * | 2006-12-29 | 2007-08-01 | 深圳市明微电子有限公司 | 可配置可替换的网络芯片使用参考模型的验证方法 |
CN101515301A (zh) * | 2008-02-23 | 2009-08-26 | 炬力集成电路设计有限公司 | 一种片上系统芯片验证的方法和装置 |
CN102402628A (zh) * | 2010-09-07 | 2012-04-04 | 无锡中星微电子有限公司 | 一种生成SoC验证平台的方法及系统 |
US20130007547A1 (en) * | 2011-06-30 | 2013-01-03 | Tekumalla Ramesh C | Efficient wrapper cell design for scan testing of integrated circuits |
Non-Patent Citations (4)
Title |
---|
梦想涨价了: "MyEclipse编译后,classes文件夹下为空", 《错误集中营》 * |
胡燕翔等: "基于层次化设计的Verilog HDL增量编译方法", 《计算机工程与应用》 * |
阳雪林等: "自动并行编译新技术", 《软件学报》 * |
陆首博等: "并行编译线程的设计与分析", 《计算机应用与软件》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733490A (zh) * | 2021-01-07 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种芯片的系统级验证方法、系统及相关装置 |
CN113536717A (zh) * | 2021-07-14 | 2021-10-22 | 北京华大九天科技股份有限公司 | 一种基于增量编译的电路仿真方法 |
CN113779918A (zh) * | 2021-08-03 | 2021-12-10 | 北京爱芯科技有限公司 | SoC仿真方法、装置、计算设备和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103150438B (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933609B (zh) | Android应用程序安装包的生成方法及装置 | |
CN102193812B (zh) | 一种代码编译方法、主机及系统 | |
CN103235759A (zh) | 测试用例生成方法和装置 | |
CN105550001A (zh) | 分布式自动构建方法及系统 | |
CN110262783B (zh) | 一种接口生成方法、装置及终端设备 | |
CN102508660A (zh) | 可执行文件的生成方法及生成装置 | |
CN111090433A (zh) | 一种数据处理的方法、装置和存储介质 | |
CN105068853A (zh) | 渠道包的输出方法及装置 | |
CN105893045A (zh) | 一种业务组件加载方法、装置及业务组件运行系统 | |
CN104133676A (zh) | 一种基于脚本的功能执行方法和设备 | |
CN102662648A (zh) | 一种通讯终端的嵌入式软件开发仿真平台及其应用 | |
CN105591779A (zh) | 网元巡检方法及装置 | |
CN103530097A (zh) | 一种跨中间件平台的组件的实现方法和装置 | |
CN103150438B (zh) | 一种电路编译方法及装置 | |
CN104991810B (zh) | 自动添加apk到安卓系统中的方法及处理系统 | |
CN114138674A (zh) | 自动化测试方法、装置及计算机设备 | |
CN104142819B (zh) | 一种文件处理方法及装置 | |
CN110109671A (zh) | 一种webpack标签尺寸样式转换方法及装置 | |
CN102708051A (zh) | 程序持续集成的方法及系统 | |
CN102880497B (zh) | 一种编译器及软件管理存储器的重用优化方法 | |
CN101634965B (zh) | 一种Linux内核级单元测试的方法 | |
CN110647348A (zh) | 一种解决因版本差异化导致代码难以维护的方法及系统 | |
CN104503767A (zh) | 基于lin协议的代码自动生成系统及方法 | |
CN113609101A (zh) | 实时数据任务的发布方法、装置、电子设备及存储介质 | |
CN103019944A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160106 |
|
CF01 | Termination of patent right due to non-payment of annual fee |