【技术实现步骤摘要】
一种支持SOC设计全流程开发的软件和硬件协同仿真系统
[0001]本专利技术涉及集成电路
,具体为一种支持SOC设计全流程开发的软件和硬件协同仿真系统。
技术介绍
[0002]随着国家对集成电路(IC)产业的投入和支持不断加大,近年来Fabless(无晶圆)公司越来越多,虽然大家做的方向不尽相同但是对于所有的设计公司而言遵循的是同样的开发流程如图1所示,其中搭建仿真和验证平台是一项必不可少的重要环节。从图1可以看到一个SOC(片上系统)芯片的设计通常包括9个环节,去掉项目一开始方案的制定和规划环节,流程又可以分为两个开发阶段,分别是Front end和Back end,其中几乎每个阶段都伴随着对仿真和验证的需要。正是由于仿真验证环节的存在才能把控复杂的控芯片设计的质量,才能最大限度的控制设计中引入的缺陷,保证后续生产出来的芯片可以正常工作。随着产品功能的不断提高提升,芯片上集成的处理器数量和IP(Intellectual Property,直译为知识产权。在集成电路设计中,IP核是指已验证的、可以重复使用的具有某种确切 ...
【技术保护点】
【技术特征摘要】
1.一种支持SOC设计全流程开发的软件和硬件协同仿真系统,包括testbench,testcase和Result,其特征在于:所述testbench的内部包括有software和hardware,所述testcase的内部包括有software、hardware和UVM,所述Result的内部包括有wave、log和coverage;testbench:该Testbench中存放的是仿真和验证系统用到的一些公用的内容,这一部分内容由本系统专职维护人员来负责,团队中的其他验证工程师不需要关注,这一部分中又可以分为两个部分按照对软硬件的支持划分为software(软件)和hardware(硬件),分别负责对系统中软件环境和硬件环境的处理;testcase:该Testcase和testbench同属于仿真验证系统的一部分共同构建成仿真环境,不同的地方在于testcase可以由系统使用者自由构建激励,由于testbench已经准备好了完善的hardware和software环境,此处验证工程师具有很高的灵活性,可以充分利用软件和硬件的方式来产生激励,并且testcase中预留了UVM的部分给验证工程师灵活的构建sequence,作为对testbench中hardware的UVM sequence的补充,所以本系统的激励有三种类型可选,验证工程师可以根据需要决定选择其中的一种、两种或者全部类型去构建并实现各种复杂场景的仿真;Result:该部分用于存放仿真中产生的各种结果,Wave里面存放本系统运行后生成的各种波形文件,支持主流的fsdb、vpd等格式,方便验证工程师利用自己熟悉的波形文件和debug工具定位问题,Log目录存放系统编译和仿真阶段产生的打印报告,coverage目录存放仿真的覆盖率相关的文件用于CDV(覆盖率驱动验证)仿真使用,验证工程师可以使用代码覆盖率、断言覆盖率以及coverage group任意的方式去检查所关注的覆盖率类型,灵活地采用各种方式去保证验证的收敛。2.根据权利要求1所述的一种支持SOC设计全流程开发的软件和硬件协同仿真系统,其特征在于,本发明使用步骤如下:步骤
①
:需要使用者准备好各种所需的激励,如:software里放置使用C代码和汇编代码编写的激励,hardware里放置Verilog类型代码激励,UVM内则放置使用UVM的sequence,然后启动开始命令指定需要仿真的testcase,运行本系统;步骤
②
:系统会自动判断仿真的类型,判断依据是根据激励中是否有软件类型的激励来进行分类,这里根据SOC仿真的流程可以分为模块级仿真和系统级仿真两类:情况1当需要的做的是模块级仿真时,由于这种仿真是不需要软件激励的所以当系统判断步骤
①
的输入文件中没有软件激励的时候,系统都会自动判断为需要进行的是模块级仿真或者不带处理器的子系统仿真,如图5的
②
所示此时的激励可以是hardware和UVM中的一种或者两种时。系统进行判断后会自动跳过步骤
③
和
④
进入到步骤
⑤
,情况2如果在步骤
①
判断激励中含有C代码等软件激励则会向下执行,进入步骤
③
;步骤
③
:系统此时识别到要需要处理软件激励,会自动调用testbench的software(如图5所示
①
)内的文件对软件代码进行编译处理,产生可以用于软件和硬件协同仿真的二进制文件,整个过程如图3所示,此阶段可以看作是software的处理阶段没有硬件参与;步骤
④
:这个阶段系统已经完成了软件代码的处理,系统会自动把软件编译好的二进制文件进行放在result中对应testcase名字的目录下,其中也会包括编译的过程文件如汇编文件等,如图3所示,这个阶段系统会把处理后的软件和硬件准备好形成一套可以使用软
件激励驱动的系统级的仿真环境;步骤
⑤
:系统会根据使用者的需要添加仿真需要的硬件模型,可选的模型存放在图5中
④
所示的model当中,不管是模块级仿真还是系统级在这步都有模型可以进行选择,唯一不同的是如果流程是从步骤
②
跳转到步骤
⑤
,此时想仿真处理器的操作就只能选择处理器的行为级模型,而对于经历了步骤
③④
再到
⑤
的流程是不需要选择处理器的行为级模型,因为软件仿真的流程和步骤
③④
的准备工作都是针对处理器的仿真来做的,经过
③④
的处理平台中已经具备了处理器仿真所需要的硬件和软件不再需要处理器的模型,对于处理器模型以外的外设模型无论是模块级...
【专利技术属性】
技术研发人员:李宗昂,
申请(专利权)人:芯河半导体科技无锡有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。