CN110704266A - 一种芯片开发方法和验证平台 - Google Patents
一种芯片开发方法和验证平台 Download PDFInfo
- Publication number
- CN110704266A CN110704266A CN201910854630.8A CN201910854630A CN110704266A CN 110704266 A CN110704266 A CN 110704266A CN 201910854630 A CN201910854630 A CN 201910854630A CN 110704266 A CN110704266 A CN 110704266A
- Authority
- CN
- China
- Prior art keywords
- hardware
- verification
- software code
- hardware circuit
- software
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000011161 development Methods 0.000 title claims abstract description 36
- 238000012360 testing method Methods 0.000 claims description 24
- 238000013461 design Methods 0.000 claims description 14
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims 1
- 239000002699 waste material Substances 0.000 abstract description 5
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Abstract
本发明提供一种芯片开发方法及验证平台,该方法通过开发硬件电路、软件代码和硬件验证用例,并基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协调验证,也就是说,在将芯片的硬件电路生产得到样片之前,就已经完成了针对软件代码的验证,这样,软件工程师可以及时从该项目中脱离出来,避免了人力资源浪费的情况,提升了团队的效率。
Description
技术领域
本发明涉及芯片领域,具体而言,涉及但不限于一种芯片开发方法和验证平台。
背景技术
芯片的规模越来越大,内部功能和配套软件的功能越来越复杂,对芯片的开发提出了更高的要求。
传统的芯片开发过程中,通常是先开发芯片的硬件电路和配套的软件代码,然后将芯片的硬件电路生产得到样片后,再将软件代码加载至样片中,同时对样片进行测试,对软件代码进行验证,该种开发方法中,由于从硬件电路到样片的时间非常漫长,从而导致开发软件代码的软件工程师长时间处于等待状态,浪费了团队人力,整体上影响了团队的效率。
发明内容
本发明提供的测试验证方法和测试验证平台,主要解决的技术问题是现有将硬件电路生产样片后,才对软件代码进行测试,导致团队效率低的问题。
为解决上述技术问题,本发明提供一种芯片开发方法,包括:
开发硬件电路、软件代码和硬件验证用例;
基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证。
可选的,所述基于所述硬件电路、软件代码和硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证之后,还包括:
在验证通过之后,制作所述硬件电路得到样片。
可选的,所述制作所述硬件电路得到样片之后,还包括:
对所述样片进行测试。
可选的,所述对所述样片进行测试包括:
基于验证通过的所述软件代码对所述样片进行测试。
可选的,所述硬件电路为现场可编程逻辑阵列FPGA电路。
可选的,所述开发硬件电路、软件代码包括:
根据设计规范设计硬件电路;
根据设计规范设计软件代码。
可选的,所述开发硬件验证用例包括:
基于所述硬件电路和所述软件代码开发硬件验证用例。
可选的,所述基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证包括:
先对所述软件代码进行验证;
在验证通过后,基于所述软件代码和所述硬件验证用例对所述硬件电路进行验证。
可选的,所述基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证包括:
将所述软件代码加载至所述硬件电路中对所述软件代码和所述硬件电路进行验证;
基于所述硬件验证用例对所述硬件电路进行验证。
本发明还提供一种验证平台,包括:
获取模块:用于获取硬件电路、软件代码和硬件验证用例;
验证模块:用于基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证。
本发明的有益效果是:
本发明提供一种芯片开发方法及验证平台,针对现有芯片开发过程中,开发软件代码的软件工程师长时间处于等待状态,浪费了团队人力,整体上影响了团队的效率问题,通过开发硬件电路、软件代码和硬件验证用例,并基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协调验证,也就是说,在将芯片的硬件电路生产得到样片之前,就已经完成了针对软件代码的验证,这样,软件工程师可以及时从该项目中脱离出来,避免了人力资源浪费的情况,提升了团队的效率。
本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
图1为本发明实施例一的芯片开发方法流程图;
图2为本发明实施例二的芯片开发方法细化流程图;
图3为本发明实施例三的验证平台结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
现有技术中,开发芯片的硬件电路和配套的软件代码,然后将芯片的硬件电路生产得到样片后,再将软件代码加载至样片中,同时对样片进行测试,对软件代码进行验证,该种开发方法中,由于从硬件电路到样片的时间非常漫长,从而导致开发软件代码的软件工程师长时间处于等待状态,浪费了团队人力,整体上影响了团队的效率。为了解决该问题,本实施例提出一种芯片开发方法,参见图1所示,芯片开发方法包括:
S101、开发硬件电路、软件代码和硬件验证用例。
本实施例中,基于功能需求设计硬件电路,其中,硬件电路可以由硬件工程师根据设计规范进行设计。设计规范可以根据实际要求灵活设置。
本实施例中,基于功能需求设计软件代码,其中,软件代码可以由软件工程师根据设计规范进行设计。
本实施例中,硬件测试用例用于对硬件电路进行验证。在开发硬件验证用例时,可以由验证工程师根据设计规范进行开发。本实施例中,可以基于硬件电路和软件代码来开发硬件验证用例。其中,可以基于硬件电路确定验证需求,基于软件代码和验证需求来开发硬件验证用例。
其中,本实施例中,硬件电路可以是FPGA((Field Programmable Gate Arrays,现场可编程逻辑阵列)电路,当然,也可以是其它硬件电路。
S102、基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证。
本实施例中,在硬件电路、软件代码和硬件测试用例均开发完成之后,基于硬件电路、软件代码和硬件测试用例对硬件电路和软件代码进行软硬件协同验证。也就是说,本实施例中,在将硬件电路制作成样片之前,就已经对软件代码完成了验证,相比现有在硬件电路制作成样片之后,再对软件代码进行验证的方案,可以及时将软件工程师从制作流程中解脱出来,从而避免了人力资源的浪费。并且,由于会基于软件代码对硬件电路进行验证,部分验证需求可以通过该软件代码来实现,因此,软件代码在一定程度上可以取代部分硬件验证用例,从而可以降低硬件验证用例的开发难度和时间,缩短开发过程。
本实施例中,在基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证时,可以先对软件代码进行验证,在验证通过之后,基于软件代码和硬件测试用例分别对硬件电路进行验证,这样,由于在对硬件电路进行验证时,软件代码硬件通过验证,可以集中在硬件电路上对问题进行定位,大大降低了问题定位的难度。
本实施例中,在基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证时,也可以先将软件代码加载至硬件电路中对软件代码和硬件电路进行验证,然后,基于硬件验证用例对硬件电路进行验证;或者,也可以先基于硬件验证用例对硬件电路进行验证,然后,基于软件代码和硬件电路对硬件电路和软件代码进行协同验证(即将软件代码加载至硬件电路中运行,从而对软件代码和硬件电路进行验证)。
本实施例中,可以通过验证平台基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证。其中,在软件代码、硬件电路和硬件测试用例开发完成后,将其整合在一起,然后搭建验证平台,通过验证平台对硬件电路和软件代码进行软硬件协同验证。
本发明实施例中,基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证,并验证通过之后,即可得到验证通过的软件代码和硬件电路。然后,将硬件电路制作出来得到样片。
在得到样片后,需要对样片进行测试。其中,可以通过上述验证通过的软件代码对样片进行测试,当然,还可以通过其他测试方法对样片进行测试。在测试通过之后,即可得到芯片。
本实施例提供的芯片开发方法,通过开发硬件电路、软件代码和硬件验证用例,并基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协调验证,也就是说,在将芯片的硬件电路生产得到样片之前,就已经完成了针对软件代码的验证,这样,软件工程师可以及时从该项目中脱离出来,避免了人力资源浪费的情况,提升了团队的效率。
实施例二:
为了更好的理解本发明,本实施例结合更加具体的示例进行说明。请参见图2所示,图2为本发明第二实施例提供的芯片开发方法的细化流程图,该测试验证方法包括:
S201、基于设计规范进行硬件设计得到硬件电路。
其中,设计规范可以根据实际需求灵活设置。
本实施例中,硬件工程师可以根据实际功能需求,基于FPGA芯片进行硬件设计得到硬件电路。
S202、基于设计规范进行软件设计得到软件代码。
本实施例中,软件工程师可以根据实际功能需求,进行软件实际得到软件代码。
S203、基于设计规范进行硬件验证开发得到硬件验证用例。
本实施例中,验证工程师可以基于实际验证需求进行硬件验证开发得到硬件验证用例,其中,可以根据实际验证需求和S202中的软件代码进行开发得到硬件验证用例。由于后续在进行验证时,会根据S202中的软件代码对硬件电路进行验证,部分验证需求可以通过S202中的软件代码来实现,因此,软件代码在一定程度上可以取代部分硬件验证用例,从而可以降低硬件验证用例的开发难度和时间,缩短开发过程。
需要说明的是,本发明实施例中,S201、S202、S203可以同步进行,也即,硬件电路、软件代码、硬件验证用例的开发可以同步进行,当然,在其他实施例中,也可以非同步进行。
S204、将硬件电路、硬件验证用例、软件代码整合在一起,并搭建验证平台。
将硬件电路、硬件验证用例、软件代码整合至验证平台中。
S205、验证平台对硬件电路和软件代码进行软硬件协同验证。
本实施例中,验证平台获取硬件电路、硬件验证用例和软件代码之后,基于硬件电路、硬件验证用例和软件代码对硬件电路和软件电路进行软硬件协同验证。
其中,将软件代码加载至硬件电路中进行运行,从而对软件代码和硬件电路进行协同验证。
S206、验证通过后,将硬件电路进行流片得到样片。
在验证通过之后,得到验证通过的软件代码和硬件电路。
然后,将硬件电路进行流片得到样片。
S207、基于软件代码对样片进行测试。
本实施例中,在得到样片后,基于验证通过的软件代码对样片进行测试,即将软件代码加载至样片中运行,并测试软件代码的运行状态、结果等是否满足实际要求,从而对样片进行测试。由于此时,软件代码已经验证通过,因此,可以集中在样片上对问题进行定位,大大降低了问题定位的难度。
S208、测试通过后得到最终的芯片。
在样片测试通过后,即得到设计完成的芯片。
本实施例提供的芯片开发方法,通过先开发硬件电路、软件电路和硬件验证用例,再基于软件电路、硬件电路和硬件验证用例对硬件电路和软件代码进行软硬件协调验证,在验证通过之后,将硬件电路进行流片得到样片,基于验证通过的软件代码对样片进行测试,测试通过后得到最终的芯片,该芯片开发方法至少具备以下效果:1、在软硬件协同验证中,软件代码可以取代大部分硬件验证用例,大大降低了硬件验证用例的开发难度和时间,显著缩短了芯片开发工作的时间;2、软件工程师设计完成软件代码后,等验证工程师将其整合到验证平台中后,就能够进行软件验证,避免了传统芯片开发方法中的漫长的等待时间,并且软件工程师在软硬件协同验证结束后就可解放出来,避免了人力资源的浪费;3、样片测试时,使用的软件已经过验证,因此可以集中在样片上对问题进行定位,大大降低了问题定位的难度。
实施例三:
本实施例提供了一种验证平台,参见图3所示,该验证平台包括:
获取模块301:用于获取硬件电路、软件代码和硬件验证用例;
验证模块302:用于基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证。
本实施例中,在基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证时,可以先对软件代码进行验证,在验证通过之后,基于软件代码和硬件测试用例分别对硬件电路进行验证,这样,由于在对硬件电路进行验证时,软件代码硬件通过验证,可以集中在硬件电路上对问题进行定位,大大降低了问题定位的难度。
本实施例中,在基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证时,也可以先将软件代码加载至硬件电路中对软件代码和硬件电路进行验证,然后,基于硬件验证用例对硬件电路进行验证;或者,也可以先基于硬件验证用例对硬件电路进行验证,然后,基于软件代码和硬件电路对硬件电路和软件代码进行协同验证(即将软件代码加载至硬件电路中运行,从而对软件代码和硬件电路进行验证)。
本实施例提供的验证平台,通过获取硬件电路、软件代码和硬件验证用例,并基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协调验证,也就是说,在将芯片的硬件电路生产得到样片之前,就已经完成了针对软件代码的验证,这样,软件工程师可以及时从该项目中脱离出来,避免了人力资源浪费的情况,提升了团队的效率。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种芯片开发方法,其特征在于,包括:
开发硬件电路、软件代码和硬件验证用例;
基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证。
2.如权利要求1所述的芯片开发方法,其特征在于,所述基于所述硬件电路、软件代码和硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证之后,还包括:
在验证通过之后,制作所述硬件电路得到样片。
3.如权利要求2所述的芯片开发方法,其特征在于,所述制作所述硬件电路得到样片之后,还包括:
对所述样片进行测试。
4.如权利要求3所述的芯片开发方法,其特征在于,所述对所述样片进行测试包括:
基于验证通过的所述软件代码对所述样片进行测试。
5.如权利要求1所述的芯片开发方法,其特征在于,所述硬件电路为现场可编程逻辑阵列FPGA电路。
6.如权利要求1所述的测试验证方法,其特征在于,所述开发硬件电路、软件代码包括:
根据设计规范设计硬件电路;
根据设计规范设计软件代码。
7.如权利要求1所述的芯片开发方法,其特征在于,所述开发硬件验证用例包括:
基于所述硬件电路和所述软件代码开发硬件验证用例。
8.如权利要求1-7任一项所述的芯片开发方法,其特征在于,所述基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证包括:
先对所述软件代码进行验证;
在验证通过后,基于所述软件代码和所述硬件验证用例对所述硬件电路进行验证。
9.如权利要求1-7任一项所述的芯片开发方法,其特征在于,所述基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证包括:
将所述软件代码加载至所述硬件电路中对所述软件代码和所述硬件电路进行验证;
基于所述硬件验证用例对所述硬件电路进行验证。
10.一种验证平台,其特征在于,包括:
获取模块:用于获取硬件电路、软件代码和硬件验证用例;
验证模块:用于基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910854630.8A CN110704266A (zh) | 2019-09-10 | 2019-09-10 | 一种芯片开发方法和验证平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910854630.8A CN110704266A (zh) | 2019-09-10 | 2019-09-10 | 一种芯片开发方法和验证平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704266A true CN110704266A (zh) | 2020-01-17 |
Family
ID=69195202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910854630.8A Pending CN110704266A (zh) | 2019-09-10 | 2019-09-10 | 一种芯片开发方法和验证平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704266A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153301A1 (en) * | 2003-02-03 | 2004-08-05 | Daniel Isaacs | Integrated circuit development methodology |
US20050022143A1 (en) * | 2003-07-03 | 2005-01-27 | Cadence Design Systems, Inc. | System and method for performing design verification |
CN101051332A (zh) * | 2007-05-23 | 2007-10-10 | 中兴通讯股份有限公司 | 一种soc芯片系统级验证系统及方法 |
US8726241B1 (en) * | 2007-06-06 | 2014-05-13 | Rockwell Collins, Inc. | Method and system for the development of high-assurance computing elements |
CN105205249A (zh) * | 2015-09-17 | 2015-12-30 | 深圳国微技术有限公司 | 一种soc调试验证系统及其软硬件协同方法 |
CN107038280A (zh) * | 2017-03-10 | 2017-08-11 | 烽火通信科技股份有限公司 | 一种软硬件协同仿真的验证系统及其方法 |
-
2019
- 2019-09-10 CN CN201910854630.8A patent/CN110704266A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153301A1 (en) * | 2003-02-03 | 2004-08-05 | Daniel Isaacs | Integrated circuit development methodology |
US20050022143A1 (en) * | 2003-07-03 | 2005-01-27 | Cadence Design Systems, Inc. | System and method for performing design verification |
CN101051332A (zh) * | 2007-05-23 | 2007-10-10 | 中兴通讯股份有限公司 | 一种soc芯片系统级验证系统及方法 |
US8726241B1 (en) * | 2007-06-06 | 2014-05-13 | Rockwell Collins, Inc. | Method and system for the development of high-assurance computing elements |
CN105205249A (zh) * | 2015-09-17 | 2015-12-30 | 深圳国微技术有限公司 | 一种soc调试验证系统及其软硬件协同方法 |
CN107038280A (zh) * | 2017-03-10 | 2017-08-11 | 烽火通信科技股份有限公司 | 一种软硬件协同仿真的验证系统及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114048701B (zh) | 网表eco方法、装置、设备及可读存储介质 | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
US20170270229A1 (en) | Information processing method and device and computer storage medium | |
CN109885905B (zh) | 一种提高数字电路功能验证效率的验证系统 | |
CN107016165B (zh) | 一种SoC自动化随机验证的方法 | |
US20120042294A1 (en) | Apparatus and method thereof for hybrid timing exception verification of an integrated circuit design | |
US11514225B2 (en) | Verification platform for system on chip and verification method thereof | |
CN103150441A (zh) | 一种软硬件协同仿真的验证平台及其构建方法 | |
CN112329366A (zh) | 一种提高仿真效率的soc系统验证方法、装置及系统 | |
CN114626324A (zh) | Fpga电路后仿真验证方法、装置、电子设备及存储介质 | |
US8645897B1 (en) | Integrated circuit design verification system | |
CN114239453A (zh) | 仿真验证平台构建方法、仿真验证方法、装置及设备 | |
CN115563910A (zh) | Upf命令的执行方法、装置、设备及存储介质 | |
CN111611154B (zh) | 一种回归测试的方法、装置和设备 | |
CN114117973A (zh) | 逻辑综合方法、设备和存储介质 | |
CN111046618A (zh) | 一种用于集成电路的保持时间违反的修复方法和装置 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
CN105893685A (zh) | 一种超大规模集成电路vlsi形式化验证平台及方法 | |
CN110134598B (zh) | 一种批量处理方法、装置及系统 | |
CN110704266A (zh) | 一种芯片开发方法和验证平台 | |
CN108897652B (zh) | 一种基于rtl级功耗分析的错误定位方法及系统 | |
CN111624475A (zh) | 大规模集成电路的测试方法及系统 | |
CN111427582A (zh) | Rtl代码的管理方法、装置、设备及计算机可读存储介质 | |
CN113139359B (zh) | 基于fpga内嵌处理器的虚拟仿真测试方法 | |
CN115687108A (zh) | 基于uvm与fpv相结合的验证方法、平台、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200117 |