芯片自动仿真验证系统的制作方法

文档序号:6506355阅读:408来源:国知局
芯片自动仿真验证系统的制作方法
【专利摘要】本发明公开一种芯片自动仿真验证系统,包括:芯片系统模型,与片上系统芯片相对应,其中建立与所述片上系统芯片相应的硬件模型和软件模型;所述芯片系统模型随机生成测试向量并运行该测试向量得到测试结果;仿真器,接收并运行与片上系统芯片相应的设计文件;所述仿真器与所述芯片系统模型通信,接收测试向量并利用该测试向量进行测试验证得到仿真结果;所述芯片系统模型还比较所述测试结果和仿真结果,若所述测试结果和仿真结果一致,则继续产生下一随机测试向量,并进行下一轮的测试和比较,否则停止测试。还公开一种相应的芯片自动仿真验证方法。上述芯片自动仿真验证系统和方法在测试验证时更加简单和高效。
【专利说明】芯片自动仿真验证系统

【技术领域】
[0001] 本发明涉及芯片产品的检测【技术领域】,特别是涉及一种芯片自动仿真验证系统。

【背景技术】
[0002] 片上系统(System On Chip,S0C)是指在单芯片上集成微电子应用产品所需 的全部功能系统,其是以超深亚微米(Very Deep Submicron,VDSM)工艺和知识产权 (Intellectual Property, IP)核复用技术为支撑。SOC技术是当前大规模集成电路(Very Large Scale Integrate,VLSI)的发展趋势,也是解决电子产品开发中的及时上市(Time to Market,TTM)的主要技术与方法。
[0003] 随着深亚微米技术的高速发展,芯片的集成规模越来越大,芯片功能的验证变得 越来越重要和复杂耗时,芯片的设计方法也随之发生了巨大的变化。目前,仿真验证工作约 占整个片上系统芯片开发周期的50%?80%。然而传统的芯片仿真验证时间长、自动化程度 低、耗时费力,这就导致整个芯片的开发周期变长。
[0004] 传统的验证测试模式是开环,需专人管理控制输入测试向量和观察仿真波形,耗 时耗力。
[0005] 而有一些自动仿真平台,例如PLI自动仿真平台也会存在各种问题,1)PLI标准使 用复杂;2) PLI必须定义系统任务或函数,且把calltf C函数和该系统任务/函数名称关 联;3)C模型与电路的通讯协议交互复杂。这会导致使用这些自动仿真平台有很高的门槛。


【发明内容】

[0006] 基于此,有必要提供一种简单并且测试效率高的芯片自动仿真验证系统。
[0007] 此外,还提供一种芯片自动仿真验证方法。
[0008] -种芯片自动仿真验证系统,包括:芯片系统模型,与片上系统芯片相对应,其中 建立与所述片上系统芯片相应的硬件模型和软件模型;所述芯片系统模型随机生成测试向 量并运行该测试向量得到测试结果;仿真器,接收并运行与片上系统芯片相应的设计文件; 所述仿真器与所述芯片系统模型通信,接收测试向量并利用该测试向量进行测试验证得到 仿真结果;所述芯片系统模型还比较所述测试结果和仿真结果,若所述测试结果和仿真结 果一致,则继续产生下一随机测试向量,并进行下一轮的测试和比较,否则停止测试。
[0009] 在其中一个实施例中,所述芯片系统模型为SystemC模型。
[0010] 在其中一个实施例中,所述仿真器通过设置第一标志数据指示仿真是否完成,所 述芯片系统模型通过读取所述第一标志数据决定是否继续生成测试向量。
[0011] 在其中一个实施例中,所述芯片系统模型通过设置第二标志数据指示所述测试结 果和仿真结果是否一致,所述仿真器通过读取所述第二标志数据决定是否继续接收测试向 量并进行仿真。
[0012] 在其中一个实施例中,所述仿真器还可设置循环对比次数,在所述循环对比次数 到达时,输出测试通过信息。
[0013] 一种芯片自动仿真验证方法,包括如下步骤:构建与片上系统芯片对应的芯片系 统模型;将与片上系统芯片相应的设计文件输入仿真器并运行;启动所述芯片系统模型, 并由所述芯片系统模型随机生成测试向量,同时所述芯片系统模型运行该测试向量得到测 试结果;所述仿真器与所述芯片系统模型通信,接收所述测试向量,并利用该测试向量进行 测试验证得到仿真结果;所述芯片系统模型比较所述测试结果和仿真结果,若所述测试结 果和仿真结果一致,则继续产生下一随机测试向量,并进行下一轮的测试和比较,否则停止 测试。
[0014] 在其中一个实施例中,所述构建与片上系统芯片对应的芯片系统模型的步骤中, 采用syStemC建模。
[0015] 在其中一个实施例中,所述芯片系统模型在运行该测试向量得到测试结果的同 时,还设置第二标志数据,以指示所述测试结果和仿真结果是否一致,所述仿真器通过读取 所述第二标志数据决定是否继续接收测试向量并进行仿真。
[0016] 在其中一个实施例中,所述仿真器在利用该测试向量对所述片上系统芯片进行测 试验证得到仿真结果的同时,还设置第一标志数据,以指示仿真是否完成,所述芯片系统模 型通过读取所述第一标志数据决定是否继续生成测试向量。
[0017] 在其中一个实施例中,所述仿真器在测试开始前还设置循环对比次数,在所述循 环对比次数到达时,输出测试通过信息。
[0018] 上述芯片自动仿真验证系统和方法,通过构建与片上系统芯片相应的芯片系统模 型,其自动产生测试向量和测试结果,继而利用测试向量在仿真器中进行验证获得仿真结 果,自动比较测试结果和仿真结果的一致性来实现整个仿真验证过程的自动实现,因此效 率较高。而利用包括硬件描述语言的抽象级语言构建芯片系统模型也相对较为简单。

【专利附图】

【附图说明】
[0019] 图1为片上系统芯片开发过程示意图;
[0020] 图2为一实施例的芯片自动仿真验证系统模块图;
[0021] 图3为功能器件模块示意图;
[0022] 图4为一实施例的芯片自动仿真验证方法流程图;
[0023] 图5为芯片自动仿真验证系统内部流程图。

【具体实施方式】
[0024] 如图1所示,为片上系统芯片开发过程示意图。片上系统芯片从最初的需求提出 到最后形成产品,需要经历以下主要阶段:功能设计、设计描述和行为级验证、逻辑综合、门 级验证、布局和布线等。
[0025] 验证(verification)的目的是确认设计的功能正确性和性能(速度和功耗等)满 足设计要求,贯穿于设计的整个过程。片上系统包括硬件资源和软件系统。现代SoC设计 通常都是软硬件协同设计,因此在设计描述和行为级验证阶段,需要把硬件资源和软件模 块进行划分,并形成寄存器传输级(register transfer level, RTL)级结构。
[0026] 以下实施例提供的系统和方法都是用于对SoC芯片进行测试验证。
[0027] 如图2所示,为一实施例的芯片自动仿真验证系统。该芯片自动仿真验证系统10 包括芯片系统模型100和仿真器200。
[0028] 芯片系统模型100与片上系统芯片相对应,其中建立与所述片上系统芯片相应的 硬件模型110和软件模型120。片上系统芯片通常都包含硬件资源和运行其上的软件系统, 可以用于完成各种特定的应用,例如声音检测、无线传输以及导航等等。
[0029] 而芯片系统模型100则是运用具有硬件库的高级编程语言所构建的软件模型,该 芯片系统模型100中包括了体现硬件资源的硬件模型110和体现软件系统的软件模型120。 例如用于卫星导航的片上系统芯片具有的硬件包括数字变频器、维特比译码器和数据提取 器,用于将卫星信号进行前端处理得到待处理数据,软件部分则对该待处理数据进行处理。 前述的高级编程语言采用硬件描述语言(Hardware Description Language,HDL)对该硬件 资源进行描述获得硬件模型,而采用惯常的软件描述方法对该处理过程进行描述即得到软 件模型。
[0030] 因此,该芯片系统|旲型100实现了对片上系统芯片的完整描述,并实现该片上系 统芯片的功能。本实施例中采用SystemC语言用于构建芯片系统模型100。systemC语言 是在C++的基础上增加硬件扩展库和仿真内核的编程语言,不仅有支持硬件操作的信号、 时序和接口,在不同抽象层次上对芯片进行建模,而且还可以通过仿真内核搭建仿真平台, 对各个设计阶段进行验证。所述的抽象层次即包括系统设计级、寄存器传输级(RTL)以及 门(Gate)级等。
[0031] 芯片系统模型100除构建与片上系统芯片对应的模型之外,还会随机生成测试向 量并运行该测试向量得到测试结果。也即芯片系统模型100通过建模可以提供完全随机的 测试向量TV和与之相应的测试结果TR。
[0032] 仿真器200接收并运行与片上系统芯片相应的设计文件。所述设计文件也是片上 系统芯片在设计层次的反映,一般都是采用verilog语言进行描述和生成。Verilog语言是 更接近硬件的硬件描述语言,其大量应用在芯片开发过程中。其与高级编程语言的差别在 于其抽象层次更低。仿真器200则用于执行上述设计文件,验证所设计的功能。可以理解, 不同的设计文件在仿真器200中执行,会完成不同的功能。上述设计文件处于RTL级。
[0033] 例如,采用verilog语言对如图3所示的功能模块进行描述如下:

【权利要求】
1. 一种芯片自动仿真验证系统,其特征在于,包括: 芯片系统模型,与片上系统芯片相对应,其中建立与所述片上系统芯片相应的硬件模 型和软件模型;所述芯片系统模型随机生成测试向量并运行该测试向量得到测试结果; 仿真器,接收并运行与片上系统芯片相应的设计文件;所述仿真器与所述芯片系统模 型通信,接收测试向量并利用该测试向量进行测试验证得到仿真结果; 所述芯片系统模型还比较所述测试结果和仿真结果,若所述测试结果和仿真结果一 致,则继续产生下一随机测试向量,并进行下一轮的测试和比较,否则停止测试。
2. 根据权利要求1所述的芯片自动仿真验证系统,其特征在于,所述芯片系统模型为 systemC 模型。
3. 根据权利要求1所述的芯片自动仿真验证系统,其特征在于,所述仿真器通过设置 第一标志数据指示仿真是否完成,所述芯片系统模型通过读取所述第一标志数据决定是否 继续生成测试向量。
4. 根据权利要求3所述的芯片自动仿真验证系统,其特征在于,所述芯片系统模型通 过设置第二标志数据指示所述测试结果和仿真结果是否一致,所述仿真器通过读取所述第 二标志数据决定是否继续接收测试向量并进行仿真。
5. 根据权利要求1所述的芯片自动仿真验证系统,其特征在于,所述仿真器还可设置 循环对比次数,在所述循环对比次数到达时,输出测试通过信息。
6. -种芯片自动仿真验证方法,包括如下步骤: 构建与片上系统芯片对应的芯片系统模型; 将与片上系统芯片相应的设计文件输入仿真器并运行; 启动所述芯片系统模型,并由所述芯片系统模型随机生成测试向量,同时所述芯片系 统模型运行该测试向量得到测试结果; 所述仿真器与所述芯片系统模型通信,接收所述测试向量,并利用该测试向量进行测 试验证得到仿真结果; 所述芯片系统模型比较所述测试结果和仿真结果,若所述测试结果和仿真结果一致, 则继续产生下一随机测试向量,并进行下一轮的测试和比较,否则停止测试。
7. 根据权利要求6所述的芯片自动仿真验证方法,其特征在于,所述构建与片上系统 芯片对应的芯片系统模型的步骤中,采用systemC建模。
8. 根据权利要求6所述的芯片自动仿真验证方法,其特征在于,所述芯片系统模型在 运行该测试向量得到测试结果的同时,还设置第二标志数据,W指示所述测试结果和仿真 结果是否一致,所述仿真器通过读取所述第二标志数据决定是否继续接收测试向量并进行 仿真。
9. 根据权利要求8所述的芯片自动仿真验证方法,其特征在于,所述仿真器在利用该 测试向量对所述片上系统芯片进行测试验证得到仿真结果的同时,还设置第一标志数据, W指示仿真是否完成,所述芯片系统模型通过读取所述第一标志数据决定是否继续生成测 试向量。
10. 根据权利要求6所述的芯片自动仿真验证方法,其特征在于,所述仿真器在测试开 始前还设置循环对比次数,在所述循环对比次数到达时,输出测试通过信息。
【文档编号】G06F11/36GK104346272SQ201310313645
【公开日】2015年2月11日 申请日期:2013年7月24日 优先权日:2013年7月24日
【发明者】曾为民, 段人杰, 刘晶晶, 程景全 申请人:无锡华润微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1