多仿真精度可切换的测试方法和装置的制作方法

文档序号:6462262阅读:142来源:国知局
专利名称:多仿真精度可切换的测试方法和装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种多仿真精度可切换 的测试方法和装置。
背景技术
目前,SOC (System on a Chip,系统芯片)芯片设计中都内嵌 处理器核,例如孩i处理器或DSP (Digital Signal Processor,数字 信号处理器),在ASIC (Application Specific Integrated Circuit,专 用集成电路)的设计和验证流程中,不同的设计阶段会结合阶段性 特点以及涉及功能点的特点采用不同形式的功能块模型来进行仿 真,以达到加快芯片设计验证的速度,或增强仿真与实际系统工作 场景的等效性。这些不同形式的功能块从总体来说主要区别是具有 不同的仿真精度,在此统称为不同仿真精度的功能块模型。典型的 需要采用不同仿真精度功能块才莫型的有CPU (Central Processing Unit,中央处理器)、系统中存储器模型以及具有某些特殊时序要求 的外i殳。
为此,目前在ASIC的设计和验证中,不同阶段以及针对特殊 要求的功能点采用了不同仿真精度的模型。在设计与验证的初期即 RTL (Register Transfer Level,寄存器传输级)阶段,结合其特点, 对于大多数功能往往采用软硬件协同仿真来进行验证,这个阶段时 仿真环境中的一些仅用于测试而非待测的功能块会采用软硬件协同 仿真工具4是供的专用才莫型,例如,Seamless CVE (Co-Verification Environment,專欠石更ff耳关合-弓全i正环境)才是供的PSP ( Processor SupportPackages,处理器支持包)仿真精度以指令为单位,以实现软硬件 协同工具对这些模型的可控性并对用户暂不需关注的仿真细节进行 裁剪,从而实现系统仿真的优化、速度的提升;而当RTL级设计代 码经过后端综合以及布局布线后,对于已包含完整SOC系统(包括 处理器核等)并带有时序参数的网表,仿真环境中各待测功能块则 会用带有SDF ( Standard Delay Format,标准延迟格式)等时序参数 的模块来替代,例如,处理器核为经过后端设计的网表、外挂memory 模型为硬件描述语言实现的模型或者厂家库模型。此外,对于某些 特殊功能点的验i正,软^更件协同仿真工具运行才几制的限制而无法支 持,例如系统boot过程、时钟以及系统功耗模式控制等,这时就需 要在RTL阶段采用完整、真实的CPU设计代码或者硬件模型来进 行仿真。
在实现本发明过程中,发明人发现现有技术中至少存在如下问 题在不同i殳计阶^殳以及针对不同功能点需要分别4荅建测试环境, 难以保持测试环境前后一致性,自动化程度低、需4交多人工干预。

发明内容
本发明旨在提供一种多仿真精度可切换的测试方法和装置,以 解决在不同设计阶革殳以及针对不同功能点需要分别4荅建测试环境, 难以保持测试环境前后一致性,自动化程度低、需较多人工干预的问题。
在本发明的实施例中,提供了 一种多仿真精度可切换的测试方 法,包括如下步骤创建包含多个仿真精度功能块模型的测试系统; 在仿真过程中测试系统切换到多个仿真精度功能块^^莫型中的适合仿 真过程当前场景的仿真精度功能块模型;以及使用所切换的仿真精 度功能块模型执行仿真测试。优选的,创建包含多个仿真精度功能块模型的测试系统具体包
括配置不同仿真精度的功能块模型;将功能块模型按照典型仿真 场景进行分组;对各个功能块模型进行硬件接口的封装,以实现与 待测功能块连接;整理各种功能块模型的类型和每个功能块一莫型可 配置的参数;以及编写不同仿真场景下对功能块模型进行配置的脚 本。
优选的,典型仿真场景具体包括RTL仿真、ASIC仿真、网 表仿真。
优选的,在仿真过程中测试系统切换到多个仿真精度功能块模 型中的适合当前仿真过程的仿真精度功能块模型具体包括查询默 认选择的测试系统中的功能块模型是否符合当前场景的需要;如果 需要静态切换,则在仿真开始前对测试系统进行静态配置,使仿真 测试时调用不同模型的配置脚本;如果需要在仿真过程中进行动态 切换,则需要选择切换时间点,并且判断切换是否合法,保存功能 块模型内部和外部端口状态,将状态复制到切换后的功能块模型。
优选的,才艮据本发明实施例的测试方法,还包括对切换过程 实时监控,并判断切换的合法性。
在本发明的实施例中,还提供了 一种多仿真精度可切换的测试 装置,包括功能块模型,用于提供不同仿真精度的功能块模型; 切换调度单元,用于实现对功能块模型在不同仿真精度模型之间的 切换和调度;切换现场处理单元,用于实现动态切换时被切换^^莫型 的状态保存,并把保存的状态复制到切换后使用的模型,对于静态 切换,实现对模型状态的监控;以及参数配置接口,用于实现对模 型的配置以及当前配置的才企查。优选的,对于功能块模型,典型879的不同仿真精度的CPU模型包
4舌一个或多个处理器核的不同形式,是如下类型之一,zf旦不限于所
列举的类型软硬件协同工具提供的总线功能模型处理器核模型, 其仿真精度为指令集;由CPU厂家提供的行为级仿真模型,例如设 计仿真才莫型,其仿真精度为cycle级;cycle级仿真精度的处理器核 真实RTL代码;时序级仿真精度的处理器核网表。
优选的,功能块模型还包括外设或存储器的不同形式,例如 软硬件协同工具提供的具有特殊访问接口的仿真模型、带有时序参 数的厂家库模型、自行开发的行为级硬件模型等。
优选的,切换调度单元具体包括对各种形式模型的例化开关、 状态查询控制;用户可扩展增加所需的才莫型,可定义同一次仿真、 同一时刻打开一个或多个不同形式的才莫型;^"对不同形式的CPU才莫 型,还包含仿真工具需要的环境配置脚本。
优选的,切换现场处理单元具体包括4妄收切换调度单元的命 令;保存切换现场,包括功能块模型切换前的内部状态机和外部信 号的状态;纟丸行状态的查询以及查询结果反々贵;完成切换命令后, 将保存的切换现场复制到切换后的功能块模型上。
优选的,参数配置接口具体包括仿真采用功能块模型的类型 配置、选择功能块模型类型之间的沖突检查、不同模型类型切换时 间配置、同时工作的才莫型凄t量配置等。
以上实施例因为通过静态或动态配置测试环境中采用的功能块 仿真^^莫型,并同步进行测试环境配置的相应切换,所以克服了在不 同设计阶段以及针对不同功能点需要分别搭建测试环境,难以保持 测试环境前后一致性,自动化程度低、需较多人工干预问题,进而达到了实现ASIC设计前后端测试平台统一、提高测试自动化程度 的效果。


此处所说明的附图用来4是供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并 不构成对本发明的不当限定。在附图中
图1示出了根据本发明实施例的多仿真精度可切换的测试方法 的流程图2示出了根据本发明实施例的多仿真精度可切换的测试装置 的方框图3示出了才艮据本发明实施例1的工作流程的示意图4示出了 ^4居本发明实施例2的工作流程的示意图。
具体实施例方式
下面将参考附图并结合实施例,来详细i兑明本发明。
图1示出了根据本发明实施例的多仿真精度可切换的测试方法 的流程图,包括如下步骤
步骤SIO,创建包含多个仿真精度功能块模型的测试系统;
步骤S20,在仿真过程中测试系统切换到多个仿真精度功能块 模型中的适合仿真过程当前场景的仿真精度功能块模型;以及
步骤S30,使用所切换的仿真精度功能块才莫型4丸行仿真测试。该实施例因为通过^争态或动态配置测试环境中采用的功能块仿 真模型,并同步进行测试环境配置的相应切换,所以克服了在不同 设计阶段以及针对不同功能点需要分别搭建测试环境,难以保持测 试环境前后一致性,自动化程度低、需较多人工干预问题,进而达
到了实现ASIC i殳计前后端测试平台统一、4是高测试自动化程度的 效果。
优选的,步骤S10具体包括配置不同仿真精度的功能块^f莫型; 将功能块模型按照典型仿真场景进行分组;对各个功能块模型进行 硬件接口的封装,以实现与待测功能块连接;整理各种功能块模型
的类型和每个功能块模型可配置的参数;以及编写不同仿真场景下 对功能块模型进行配置的脚本。
优选的,典型仿真场景具体包4舌RTL仿真、ASIC仿真、网 表仿真。
优选的,步骤S20具体包括查询默认选择的测试系统中的功 能块模型是否符合当前场景的需要;如果需要静态切换,则在仿真 开始前对测试系统进行静态配置,使仿真测试时调用不同模型的配 置脚本;如果需要在仿真过程中进行动态切换,则需要选择切换时 间点,并且判断切换是否合法,保存功能块模型内部和外部端口状 态,将状态复制到切换后的功能块模型。
优选的,还包括对切换过考呈实时监控,并判断切换的合法性。
图2示出了根据本发明实施例的多仿真精度可切换的测试装置 的方冲匡图,包4舌
功能块模型,用于提供不同仿真精度的功能块模型;切换调度单元,用于实现对功能块模型在不同仿真精度模型之
间的切换和调度;
切换现场处理单元,用于实现动态切换时被切换模型的状态保 存,并把保存的状态复制到切换后使用的模型,对于静态切换,实 现对模型状态的监控;以及
参数配置接口 ,用于实现对模型的配置以及当前配置的检查。
该实施例因为通过静态或动态配置测试环境中采用的功能块仿 真模型,并同步进行测试环境配置的相应切换,所以克服了在不同 设计阶段以及针对不同功能点需要分别搭建测试环境,难以保持测 试环境前后一致性,自动化程度低、需较多人工干预问题,进而达 到了实现ASIC "i殳计前后端测试平台统一、才是高测试自动化程度的 效果。
优选的,对于功能块模型,典型的不同仿真精度的CPU模型包 括一个或多个处理器核的不同形式,是如下类型之一,但不限于所 列举的类型软硬件协同工具提供的总线功能模型处理器核模型, 其仿真精度为指令集;由CPU厂家提供的行为级仿真模型,例如设 计仿真模型,其仿真精度为cycle级;cycle级仿真精度的处理器核 真实RTL代码;时序级仿真精度的处理器核网表。
优选的,功能块模型还包括外设或存储器的不同形式,例如 软硬件协同工具提供的具有特殊访问接口的仿真模型、带有时序参 数的厂家库模型、自行开发的行为级硬件模型等。
优选的,切换调度单元具体包括对各种形式模型的例化开关、 状态查询控制;用户可扩展增加所需的模型,可定义同一次仿真、 同一时刻打开一个或多个不同形式的模型;针对不同形式的CPU模 型,还包含仿真工具需要的环境配置脚本。优选的,切换现场处理单元具体包4舌4妾收切换调度单元的命 令;保存切换现场,包括功能块模型切换前的内部状态机和外部信 号的状态;执行状态的查询以及查询结果反馈;完成切换命令后, 将保存的切换现场复制到切换后的功能块模型上。
优选的,参数配置接口具体包括仿真采用功能块^^莫型的类型 配置、选择功能块模型类型之间的沖突检查、不同模型类型切换时 间配置、同时工作的模型数量配置等。
需要结合实际情况进行测试环境中CPU以及其他用于-验i正的功能 块的切换,这样导致在进行ASIC设计和验证的过程中,需要搭建 多个不同的测试环境;并且导致在RTL阶,殳采用寿欠石更件协同仿真工 具难以实现的测试场景,由于测试环境的制约,只能到网表阶4史才
能实现,可能导致设计前期能发现的故障遗留到后端设计之后才被 发现;此外,由于不同设计阶段的仿真环境分开搭建,难以保持功 能实现上的 一致性以及测试自动化。
该实施例提供的可静态或动态在不同仿真精度功能块模型之间 进行切换的测试装置,用于ASIC i殳计与-险证。解决在不同"i殳计阶 段以及针对不同功能点需要分别搭建测试环境,难以保持测试环境 前后一致性,自动化程度低、需较多人工干预的问题。实现了对ASIC i殳计和-验i正前后端不同阶^殳测试环境的统一支持,并且4十^"前端1方 真环境无法真实模拟的功能点可切换到后端仿真环境进^于测试。
与现有技术相比,采用本发明实施例所述的装置,具有如下特

1 )在同一个测试环境中,可灵活进行ASIC设计不同阶段时所 需的不同形式的仿真,无需人工干预;2)在一次仿真中,可动态切换不同形式的仿真,增强了可调试
性;
3 )成本4氐,岁文率高。 实施例一
图3示出了冲艮据本发明实施例1的工作流程的示意图,参照图 3所示,为本发明包含的一种可动态切换仿真精度的测试装置,其 具体实现包括-石更〗牛和4欠^f牛两个部分。其工作原理描述如下
当测试装置复位释放后,各个不同仿真精度的CPU模型以各自 不同的方式进行引导,引导完成后由于此时才艮据系统的配置接口的 配置,只有一种CPU/功能块模型与ASIC设计是正常相连接,而对 于其他种类的功能块模型,仅将其输入接口信号与ASIC设计相连,
屏蔽CPU/功能块模型输出信号与ASIC的连接。因此,在仿真过程 中,实际上各种CPU/功能块模型均处于工作状态,用户可在需要的 时刻配置系统的配置接口的打开不同仿真精度CPU/功能块模型的 开关来进行的它们之间的切换。
硬件部分的构建过程如下
1、根据实际需要,选择合适类型的CPU以及功能块模型。对 于常用的CPU以及存4诸器才莫型,ARM CPU才莫型一^:可选拷: Seamless提供的A画PSP、 ARM ^>司^是供的DSM以及ARM專欠核 或硬核等;对于仿真所需的存储器而言,可选择Seamless提供的 CVE memory模型、Denali模型、后端厂家库模型或自行建模的行 为级硬件模型等;2、 对各种类型的CPU以及功能块模型的输入和输出接口进行 封装整理,并对各种合法的CPU模型与功能块模型进行组合,整理 出合法的配置参凄t集;
3、 构造硬件测试系统;
参考图3所示,该实施例为一种较为简洁的方法,避免动态切 换时需进行CPU现场保存及复制一系列复杂的操作,故而采用使各 种模型同时工作,对各个模型到ASIC设计的输出端口进行开关控 制的方法,在仿真中动态切换模型仅需对配置参数进行控制即可, 但需注意的是,当从一个相对粗精度的模型切换到细精度的模型时, 需由系统的监控单元控制切换时间在一个完整的粗精度操作完成后 才能进行切换。
上述的方法虽然操作简便,但因多种类型的模型均同时工作造 成仿真速度较慢,如需提高仿真速度,则可在该装置中增加技术方 案中所述的功能块模型切换现场处理单元,在仿真的同 一时刻配置 接口控制仅有一种功能块模型在工作,当动态切换时,由功能块模 型切换现场处理单元对切4奐前的现场进4刊呆存,并复制到切4灸后的 模型中,继续仿真。
4、 接收软件传递的配置参数,进行解析,对硬件进行控制。
软件部分主要包含对该测试装置的4吏用方法。一^L情况下,对 于CPU模型来说,软件部分包括对不同仿真精度CPU模型的不同 引导和初始化过程、各种CPU工作状态查询、动态或静态切换的合 法性;险查、控制进行切换、仿真结束等。图4示出了根据本发明实施例2的工作流程的示意图,参照图 4所示,为本发明实现静态切换多种精度仿真模型的测试装置示意 图。用户使用此装置,每一次仿真可采用一种自定义的仿真精度模 型进4于仿真。
该实施例中的测试装置与实施例一的区别在于输入舌会配置4妄口 的配置参数在仿真前已经确定,并在仿真过程中不可改变;硬件部 分不需要CPU现场处理模块来进行现场保存和复制、仿真过程中只 有一种仿真精度模型与ASIC设计相连接并工作;软件部分仅需对 配置好的仿真模型进行操作。其它与实施例一类似。
本发明主要解决了在现有ASIC设计与验证中,不同设计阶段、 不同的功能仿真需4荅建不同的测试平台、可重用性差、前后测试平 台一致性难以併4正的问题,为SOC的i殳计和-验i正4是供了一种集成多 种仿真精度仿真模型统一的测试装置,可根据需要进行动态或静态 切换,增强了测试平台的灵活可控性以及自动化程度。
显然,本领域的技术人员应该明白,上述的本发明的各模块或 各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算 装置上,或者分布在多个计算装置所组成的网络上,可选地,它们 可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成 电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模 块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述〗又为本发明的优选实施例而已,并不用于限制本发明, 对于本领i或的4支术人员来i兌,本发明可以有各种更改和变4匕。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1.一种多仿真精度可切换的测试方法,其特征在于,包括如下步骤创建包含多个仿真精度功能块模型的测试系统;在仿真过程中所述测试系统切换到所述多个仿真精度功能块模型中的适合仿真过程当前场景的仿真精度功能块模型;以及使用所切换的仿真精度功能块模型执行仿真测试。
2. 根据权利要求1所述的测试方法,其特征在于,创建包含多个 仿真精度功能块才莫型的测试系统具体包括配置不同仿真精度的功能块模型;将所述功能块模型按照典型仿真场景进行分组;对各个所述功能块模型进行硬件接口的封装,以实现与待 测功能块连"^妄;整理各种所述功能块模型的类型和每个所述功能块模型 可配置的参凄t;以及编写不同仿真场景下对所述功能块模型进行配置的脚本。
3. 根据权利要求2所述的测试方法,其特征在于,典型仿真场景 具体包括RTL仿真、ASIC仿真、网表仿真。
4. 才艮据4又利要求1所述的测试方法,其特征在于,在仿真过程中 所述测试系统切换到所述多个仿真精度功能块模型中的适合 当前仿真过程的仿真精度功能块模型具体包括查询默认选择的所述测试系统中的功能块模型是否符合 当前场景的需要;如果需要静态切换,则在仿真开始前对所述测试系统进行 静态配置,使仿真测试时调用不同模型的配置脚本;如果需要在仿真过程中进行动态切换,则需要选择切换时 间点,并且判断所述切换是否合法,保存所述功能块模型内部 和外部端口状态,将所述状态复制到切换后的功能块模型。
5. 根据权利要求1所述的测试方法,其特征在于,还包括对切换过程实时监控,并判断所述切换的合法性。
6. —种多仿真精度可切换的测试装置,其特征在于,包括功能块模型,用于提供不同仿真精度的功能块模型;切换调度单元,用于实现对所述功能块模型在不同仿真精 度模型之间的切换和调度;切换现场处理单元,用于实现动态切换时被切换模型的状 态保存,并把保存的状态复制到切换后使用的模型,对于静态 切换,实现对模型状态的监控;以及参凄t配置4妄口 ,用于实现所述对才莫型的配置以及当前配置 的氺全查。
7. 根据权利要求6所述的测试装置,其特征在于,对于功能块模 型,典型的不同仿真精度的CPU ^t型包括一个或多个处理器 核的不同形式,是如下类型之一,但不限于所列举的类型软硬件协同工具提供的总线功能模型处理器核模型,其仿真精度为指令集;由CPU厂家提供的行为级仿真模型,例如设计仿真模型, 其仿真精度为cycle级;cycle级仿真精度的处理器核真实RTL 4戈码;时序级仿真精度的处理器核网表。
8. 根据权利要求7所述的测试装置功能块模型,其特征在于,功 能块模型还包括外设或存储器的不同形式,例如软硬件协同工具才是供的 具有特殊访问接口的仿真模型、带有时序参数的厂家库模型、 自行开发的行为级硬件模型等。
9. 根据权利要求6所述的测试装置,其特征在于,切换调度单元 具体包括对各种形式模型的例化开关、状态查询控制;用户可扩展增加所需的才莫型,可定义同一次仿真、同一时 刻打开一个或多个不同形式的模型;针对不同形式的CPU模型,还包含仿真工具需要的环境 配置脚本。
10. 根据权利要求6所述的测试装置,其特征在于,切换现场处理 单元具体包括接收切换调度单元的命令;保存切换现场,包括功能块模型切换前的内部状态机和外 部信号的状态;执行所述状态的查询以及所述查询结果反馈;完成切换命令后,将所述保存的切换现场复制到切换后的 功能块模型上。
11.根据权利要求6所述的测试装置,其特征在于,参数配置接口 具体包括仿真采用功能块模型的类型配置、选择功能块模型类型之 间的沖突检查、不同模型类型切换时间配置、同时工作的模型 数量配置等。
全文摘要
本发明提供了一种多仿真精度可切换的测试方法和装置,方法包括如下步骤创建包含多个仿真精度功能块模型的测试系统;在仿真过程中测试系统切换到多个仿真精度功能块模型中的适合仿真过程当前场景的仿真精度功能块模型;以及使用所切换的仿真精度功能块模型执行仿真测试。本发明实现了ASIC设计前后端测试平台的统一,并且提高了测试自动化程度。
文档编号G06F17/50GK101551827SQ200810091879
公开日2009年10月7日 申请日期2008年4月2日 优先权日2008年4月2日
发明者沈梓荣, 高海英 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1