适用于多类型CPU的联合仿真工具制造技术

技术编号:9833273 阅读:189 留言:0更新日期:2014-04-01 23:53
本发明专利技术公开了一种适用于多类型CPU的联合仿真工具,包括:ELF文件解释器,用于提取ELF文件中的调试信息和数据区;指令集反汇编器,用于将内部的调试信息和指令转化为相应内核指令集的内核汇编指令代码;波形文件解释器,通过读取和解析VCD文件,对VCD文件中的多通道数字信号波形信息进行解释,生成输出波形的形式,并加载进内存中;波形显示器,对内存中存储的被解释过的多通道数字信号波形信息进行处理;调试器用户界面,通过各自的窗口显示所述内核汇编指令代码和多通道数字信号波形,并且实现多通道数字信号波形和内核汇编指令代码的相互自动对应。本发明专利技术可以有效提高验证的工作效率。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种适用于多类型CPU的联合仿真工具,包括:ELF文件解释器,用于提取ELF文件中的调试信息和数据区;指令集反汇编器,用于将内部的调试信息和指令转化为相应内核指令集的内核汇编指令代码;波形文件解释器,通过读取和解析VCD文件,对VCD文件中的多通道数字信号波形信息进行解释,生成输出波形的形式,并加载进内存中;波形显示器,对内存中存储的被解释过的多通道数字信号波形信息进行处理;调试器用户界面,通过各自的窗口显示所述内核汇编指令代码和多通道数字信号波形,并且实现多通道数字信号波形和内核汇编指令代码的相互自动对应。本专利技术可以有效提高验证的工作效率。【专利说明】适用于多类型CPU的联合仿真工具
本专利技术涉及一种适用于多类型CPU (中央处理器)的联合仿真工具。
技术介绍
随着集成电路工艺的不断发展以及集成电路(IC)应用领域的不断深入,IC设计的复杂度和性能复杂度较以前有了本质的提升,这对芯片设计公司和芯片应用厂商的验证方案提出了更高的要求。针对带有内核的电路的设计,传统方法是在大型服务器或工作站上进行硬件代码的仿真,仿真结果以波形形式反映在图形界面上。在这个过程中,软件或硬件工程师将软件代码经过编译后提供给验证工程师作为硬件仿真的输入文件。这种验证方式通过人工观察波形来定位隐藏的缺陷(以下简称“BUG”)。但BUG可能出现的层次较多,可能由于硬件电路的原因,也可能由于上层软件的原因。因此当验证工程师发现问题后,会联合软件工程师一起排查。验证工程师指出波形上异常情况出现的位置,通常通过数据和地址总线一类的信号进行软件指令的定位。软件工程师通过验证工程师提供的信息对软件代码可能出现错误的地方进行BUG定位,确认和修改,之后将结果反馈给验证工程师。通常对于一个BUG,将会多次重复上述过程,而上述过程中通过波形对应到汇编代码的工作都由手工完成,这给工程师们增加很多不必要的工作量。同时由于软硬件交互层面上的工作涵盖软件和硬件两方面的知识,这给来自于不同背景的工程师带来了很大负担,无形中提高了工作的复杂度。
技术实现思路
本专利技术要解决的技术问题是提供一种适用于多类型CPU的联合仿真工具,可以有效提高验证的工作效率。为解决上述技术问题,本专利技术的适用于多类型CPU的联合仿真工具,包括:一 ELF (可执行链接格式,Executable and Linkable Format)文件解释器,用于提取ELF文件中调试文件数据,该调试文件数据包括的调试信息和数据区;—指令集反汇编器,用于加载调试文件数据,并将调试文件内部的调试信息和指令转化为相应内核指令集的内核汇编指令代码;一波形文件解释器,加载V⑶(基于ASCII码的文件格式,Value ChangeDump)波形文件,通过读取和解析V⑶波形文件,对V⑶波形文件中的仿真得到的多通道数字信号波形信息进行解释,生成输出波形的形式,并加载进内存中;一波形显示器,对内存中存储的被解释过的仿真得到的多通道数字信号波形信息进行处理;一调试器用户界面,位于所述波形显示器上,负责调用所有后台程序,加载并显示输入文件和动态调试程序;将所述内核汇编指令代码和仿真得到的多通道数字信号波形在各自的窗口中进行显示,并且实现仿真得到的多通道数字信号波形和内核汇编指令代码的相互自动对应。为了提高整个验证过程的工作效率,可以将不必要的人工操作交由计算机进行处理。采用本专利技术可以将内核汇编指令代码和硬件仿真得到的多通道数字信号波形进行自动化关联,简化软件工程师和验证工程师处理软硬件交互过程中的工作,使他们可以将更多的精力放在各自擅长的领域;进而有效的提高验证团队的工作效率。【专利附图】【附图说明】下面结合附图与【具体实施方式】对本专利技术作进一步详细的说明:附图是联合仿真工具操作流程示意图。【具体实施方式】结合附图所示,所述适用于多类型CPU的联合仿真工具包括:一 ELF文件解释器,一指令集反汇编器,一波形文件解释器,一波形显示器,一调试器用户界面。该联合仿真工具具有图形界面(即调试器用户界面)显示功能,波形显示功能,及波形与内核汇编指令代码双向自动化关联的功能。所述联合仿真工具支持多种类型的CPU内核,如C51,ARM ;可通过调试器用户界面选择CPU内核类型。所述联合仿真工具在多文档视图中,支持各子窗口的浮动和嵌入。软件测试代码,是由软件测试人员编写的用于对电路作进一步调试的软件代码。该软件测试代码通过基于不同内核的编译器编译生成ELF文件和仿真所要的BIN (二进制)文件(即固件测试文件)。数字电路网表为带有内核电路的数字电路网表,是由数字设计人员通过硬件描述语言编写的硬件代码经过编译和综合得到的门级网表。在Linux服务器端使用仿真器加载数字电路网表和BIN文件,对数字电路进行硬件仿真,生成以VCD格式输出的波形文件,即VCD波形文件,该VCD波形文件是一种基于ASCII码的文件格式,用于记录由EDA (电子设计自动化)仿真工具产生的信号信息。该波形文件的格式有*.vcd和*.fsdb两种格式,其中*.fsdb格式可以转化为*.vcd格式。ELF文件作为软件仿真的输入文件载入所述联合仿真工具中,由所述ELF文件解释器将ELF文件中的调试信息与数据区(指令区)提取出来。该调试信息与数据区即为附图中所示的调试文件数据。所述指令集反汇编器加载调试文件数据,并将调试文件内部的调试信息和指令转化为相应内核指令集的内核汇编指令代码。所述联合仿真工具的波形文件解释器加载V⑶波形文件,通过读取和解析V⑶波形文件,对VCD波形文件中的仿真得到的多通道数字信号波形信息进行解释,生成输出波形的形式,并加载进内存中。所述波形显示器,对内存中存储的被解释过的仿真得到的多通道数字信号波形信息进行处理,并通过调试器用户界面显示仿真得到的多通道数字信号波形。所述波形显示器可以是用户PC (个人电脑)。所述调试器用户界面,负责调用所有后台程序(如指令集反汇编器),加载并显示输入文件和动态调试程序;使所述内核汇编指令代码,仿真得到的多通道数字信号波形通过各自的窗口显示在用户PC上,并且实现仿真得到的多通道数字信号波形和内核汇编指令代码的相互对应。所述调试器用户界面横纵轴分别为记录着波形的采样时间点和各数字信号通道。该调试器用户界面可实现包括波形的放大和缩小,标尺,查找上下沿,程序追踪等功能。所述调试器用户界面支持多通道数字信号波形信号数量的增加和减少,信号颜色的改变,手动改变信号摆放次序,多个信号归结为总线,总线解开成为多个信号,显示标尺间的时间。所述仿真得到的多通道数字信号波形和内核汇编指令代码的双向自动化关联,即可以从内核汇编指令代码对应到仿真得到的多通道数字信号波形,也可以从仿真得到的多通道数字信号波形对应到相应内核汇编指令代码。关联的方向可以由用户自己选择。仿真得到的多通道数字信号波形与内核汇编指令代码采用CPU中的代表地址信息的特征寄存器进行双向自动化关联(如ARM CPU中可采用R15寄存器,下述R15即代表该地址信息寄存器),意味着通过多通道数字信号波形上的一个定位标尺可以将多通道数字信号波形上相应的指令定位到与其对应的内核汇编指令代码上,同时也可以通过选择内核汇编指令代码,定位该内核汇本文档来自技高网
...
适用于多类型CPU的联合仿真工具

【技术保护点】
一种适用于多类型CPU的联合仿真工具,其特征在于,包括:一可执行链接格式ELF文件解释器,用于提取可执行链接格式ELF文件中的调试文件数据,该调试文件数据包括调试信息和数据区;一指令集反汇编器,用于加载调试文件数据,并将调试文件内部的调试信息和指令转化为相应内核指令集的内核汇编指令代码;一波形文件解释器,加载基于ASCII码的文件格式VCD波形文件,通过读取和解析基于ASCII码的文件格式VCD波形文件,对基于ASCII码的文件格式VCD波形文件中的仿真得到的多通道数字信号波形信息进行解释,生成输出波形的形式,并加载进内存中;一波形显示器,对内存中存储的被解释过的仿真得到的多通道数字信号波形信息进行处理;一调试器用户界面,位于所述波形显示器上,负责调用所有后台程序,加载并显示输入文件和动态调试程序;将所述内核汇编指令代码和处理后的仿真得到的多通道数字信号波形在各自的窗口中进行显示,并且实现仿真得到的多通道数字信号波形和内核汇编指令代码的相互自动对应。

【技术特征摘要】

【专利技术属性】
技术研发人员:丁颖张万强
申请(专利权)人:上海华虹集成电路有限责任公司
类型:发明
国别省市:上海;31

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

1