一种芯片开发方法和验证平台与流程

文档序号:19737553发布日期:2020-01-18 04:42阅读:302来源:国知局
一种芯片开发方法和验证平台与流程

本发明涉及芯片领域,具体而言,涉及但不限于一种芯片开发方法和验证平台。



背景技术:

芯片的规模越来越大,内部功能和配套软件的功能越来越复杂,对芯片的开发提出了更高的要求。

传统的芯片开发过程中,通常是先开发芯片的硬件电路和配套的软件代码,然后将芯片的硬件电路生产得到样片后,再将软件代码加载至样片中,同时对样片进行测试,对软件代码进行验证,该种开发方法中,由于从硬件电路到样片的时间非常漫长,从而导致开发软件代码的软件工程师长时间处于等待状态,浪费了团队人力,整体上影响了团队的效率。



技术实现要素:

本发明提供的测试验证方法和测试验证平台,主要解决的技术问题是现有将硬件电路生产样片后,才对软件代码进行测试,导致团队效率低的问题。

为解决上述技术问题,本发明提供一种芯片开发方法,包括:

开发硬件电路、软件代码和硬件验证用例;

基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证。

可选的,所述基于所述硬件电路、软件代码和硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证之后,还包括:

在验证通过之后,制作所述硬件电路得到样片。

可选的,所述制作所述硬件电路得到样片之后,还包括:

对所述样片进行测试。

可选的,所述对所述样片进行测试包括:

基于验证通过的所述软件代码对所述样片进行测试。

可选的,所述硬件电路为现场可编程逻辑阵列fpga电路。

可选的,所述开发硬件电路、软件代码包括:

根据设计规范设计硬件电路;

根据设计规范设计软件代码。

可选的,所述开发硬件验证用例包括:

基于所述硬件电路和所述软件代码开发硬件验证用例。

可选的,所述基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证包括:

先对所述软件代码进行验证;

在验证通过后,基于所述软件代码和所述硬件验证用例对所述硬件电路进行验证。

可选的,所述基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证包括:

将所述软件代码加载至所述硬件电路中对所述软件代码和所述硬件电路进行验证;

基于所述硬件验证用例对所述硬件电路进行验证。

本发明还提供一种验证平台,包括:

获取模块:用于获取硬件电路、软件代码和硬件验证用例;

验证模块:用于基于所述硬件电路、所述软件代码和所述硬件验证用例对所述硬件电路和所述软件代码进行软硬件协同验证。

本发明的有益效果是:

本发明提供一种芯片开发方法及验证平台,针对现有芯片开发过程中,开发软件代码的软件工程师长时间处于等待状态,浪费了团队人力,整体上影响了团队的效率问题,通过开发硬件电路、软件代码和硬件验证用例,并基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协调验证,也就是说,在将芯片的硬件电路生产得到样片之前,就已经完成了针对软件代码的验证,这样,软件工程师可以及时从该项目中脱离出来,避免了人力资源浪费的情况,提升了团队的效率。

本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。

附图说明

图1为本发明实施例一的芯片开发方法流程图;

图2为本发明实施例二的芯片开发方法细化流程图;

图3为本发明实施例三的验证平台结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一:

现有技术中,开发芯片的硬件电路和配套的软件代码,然后将芯片的硬件电路生产得到样片后,再将软件代码加载至样片中,同时对样片进行测试,对软件代码进行验证,该种开发方法中,由于从硬件电路到样片的时间非常漫长,从而导致开发软件代码的软件工程师长时间处于等待状态,浪费了团队人力,整体上影响了团队的效率。为了解决该问题,本实施例提出一种芯片开发方法,参见图1所示,芯片开发方法包括:

s101、开发硬件电路、软件代码和硬件验证用例。

本实施例中,基于功能需求设计硬件电路,其中,硬件电路可以由硬件工程师根据设计规范进行设计。设计规范可以根据实际要求灵活设置。

本实施例中,基于功能需求设计软件代码,其中,软件代码可以由软件工程师根据设计规范进行设计。

本实施例中,硬件测试用例用于对硬件电路进行验证。在开发硬件验证用例时,可以由验证工程师根据设计规范进行开发。本实施例中,可以基于硬件电路和软件代码来开发硬件验证用例。其中,可以基于硬件电路确定验证需求,基于软件代码和验证需求来开发硬件验证用例。

其中,本实施例中,硬件电路可以是fpga((fieldprogrammablegatearrays,现场可编程逻辑阵列)电路,当然,也可以是其它硬件电路。

s102、基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证。

本实施例中,在硬件电路、软件代码和硬件测试用例均开发完成之后,基于硬件电路、软件代码和硬件测试用例对硬件电路和软件代码进行软硬件协同验证。也就是说,本实施例中,在将硬件电路制作成样片之前,就已经对软件代码完成了验证,相比现有在硬件电路制作成样片之后,再对软件代码进行验证的方案,可以及时将软件工程师从制作流程中解脱出来,从而避免了人力资源的浪费。并且,由于会基于软件代码对硬件电路进行验证,部分验证需求可以通过该软件代码来实现,因此,软件代码在一定程度上可以取代部分硬件验证用例,从而可以降低硬件验证用例的开发难度和时间,缩短开发过程。

本实施例中,在基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证时,可以先对软件代码进行验证,在验证通过之后,基于软件代码和硬件测试用例分别对硬件电路进行验证,这样,由于在对硬件电路进行验证时,软件代码硬件通过验证,可以集中在硬件电路上对问题进行定位,大大降低了问题定位的难度。

本实施例中,在基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证时,也可以先将软件代码加载至硬件电路中对软件代码和硬件电路进行验证,然后,基于硬件验证用例对硬件电路进行验证;或者,也可以先基于硬件验证用例对硬件电路进行验证,然后,基于软件代码和硬件电路对硬件电路和软件代码进行协同验证(即将软件代码加载至硬件电路中运行,从而对软件代码和硬件电路进行验证)。

本实施例中,可以通过验证平台基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证。其中,在软件代码、硬件电路和硬件测试用例开发完成后,将其整合在一起,然后搭建验证平台,通过验证平台对硬件电路和软件代码进行软硬件协同验证。

本发明实施例中,基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证,并验证通过之后,即可得到验证通过的软件代码和硬件电路。然后,将硬件电路制作出来得到样片。

在得到样片后,需要对样片进行测试。其中,可以通过上述验证通过的软件代码对样片进行测试,当然,还可以通过其他测试方法对样片进行测试。在测试通过之后,即可得到芯片。

本实施例提供的芯片开发方法,通过开发硬件电路、软件代码和硬件验证用例,并基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协调验证,也就是说,在将芯片的硬件电路生产得到样片之前,就已经完成了针对软件代码的验证,这样,软件工程师可以及时从该项目中脱离出来,避免了人力资源浪费的情况,提升了团队的效率。

实施例二:

为了更好的理解本发明,本实施例结合更加具体的示例进行说明。请参见图2所示,图2为本发明第二实施例提供的芯片开发方法的细化流程图,该测试验证方法包括:

s201、基于设计规范进行硬件设计得到硬件电路。

其中,设计规范可以根据实际需求灵活设置。

本实施例中,硬件工程师可以根据实际功能需求,基于fpga芯片进行硬件设计得到硬件电路。

s202、基于设计规范进行软件设计得到软件代码。

本实施例中,软件工程师可以根据实际功能需求,进行软件实际得到软件代码。

s203、基于设计规范进行硬件验证开发得到硬件验证用例。

本实施例中,验证工程师可以基于实际验证需求进行硬件验证开发得到硬件验证用例,其中,可以根据实际验证需求和s202中的软件代码进行开发得到硬件验证用例。由于后续在进行验证时,会根据s202中的软件代码对硬件电路进行验证,部分验证需求可以通过s202中的软件代码来实现,因此,软件代码在一定程度上可以取代部分硬件验证用例,从而可以降低硬件验证用例的开发难度和时间,缩短开发过程。

需要说明的是,本发明实施例中,s201、s202、s203可以同步进行,也即,硬件电路、软件代码、硬件验证用例的开发可以同步进行,当然,在其他实施例中,也可以非同步进行。

s204、将硬件电路、硬件验证用例、软件代码整合在一起,并搭建验证平台。

将硬件电路、硬件验证用例、软件代码整合至验证平台中。

s205、验证平台对硬件电路和软件代码进行软硬件协同验证。

本实施例中,验证平台获取硬件电路、硬件验证用例和软件代码之后,基于硬件电路、硬件验证用例和软件代码对硬件电路和软件电路进行软硬件协同验证。

其中,将软件代码加载至硬件电路中进行运行,从而对软件代码和硬件电路进行协同验证。

s206、验证通过后,将硬件电路进行流片得到样片。

在验证通过之后,得到验证通过的软件代码和硬件电路。

然后,将硬件电路进行流片得到样片。

s207、基于软件代码对样片进行测试。

本实施例中,在得到样片后,基于验证通过的软件代码对样片进行测试,即将软件代码加载至样片中运行,并测试软件代码的运行状态、结果等是否满足实际要求,从而对样片进行测试。由于此时,软件代码已经验证通过,因此,可以集中在样片上对问题进行定位,大大降低了问题定位的难度。

s208、测试通过后得到最终的芯片。

在样片测试通过后,即得到设计完成的芯片。

本实施例提供的芯片开发方法,通过先开发硬件电路、软件电路和硬件验证用例,再基于软件电路、硬件电路和硬件验证用例对硬件电路和软件代码进行软硬件协调验证,在验证通过之后,将硬件电路进行流片得到样片,基于验证通过的软件代码对样片进行测试,测试通过后得到最终的芯片,该芯片开发方法至少具备以下效果:1、在软硬件协同验证中,软件代码可以取代大部分硬件验证用例,大大降低了硬件验证用例的开发难度和时间,显著缩短了芯片开发工作的时间;2、软件工程师设计完成软件代码后,等验证工程师将其整合到验证平台中后,就能够进行软件验证,避免了传统芯片开发方法中的漫长的等待时间,并且软件工程师在软硬件协同验证结束后就可解放出来,避免了人力资源的浪费;3、样片测试时,使用的软件已经过验证,因此可以集中在样片上对问题进行定位,大大降低了问题定位的难度。

实施例三:

本实施例提供了一种验证平台,参见图3所示,该验证平台包括:

获取模块301:用于获取硬件电路、软件代码和硬件验证用例;

验证模块302:用于基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证。

本实施例中,在基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证时,可以先对软件代码进行验证,在验证通过之后,基于软件代码和硬件测试用例分别对硬件电路进行验证,这样,由于在对硬件电路进行验证时,软件代码硬件通过验证,可以集中在硬件电路上对问题进行定位,大大降低了问题定位的难度。

本实施例中,在基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协同验证时,也可以先将软件代码加载至硬件电路中对软件代码和硬件电路进行验证,然后,基于硬件验证用例对硬件电路进行验证;或者,也可以先基于硬件验证用例对硬件电路进行验证,然后,基于软件代码和硬件电路对硬件电路和软件代码进行协同验证(即将软件代码加载至硬件电路中运行,从而对软件代码和硬件电路进行验证)。

本实施例提供的验证平台,通过获取硬件电路、软件代码和硬件验证用例,并基于硬件电路、软件代码和硬件验证用例对硬件电路和软件代码进行软硬件协调验证,也就是说,在将芯片的硬件电路生产得到样片之前,就已经完成了针对软件代码的验证,这样,软件工程师可以及时从该项目中脱离出来,避免了人力资源浪费的情况,提升了团队的效率。

可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1