CN102542110B - 一种应用于移动存储soc芯片的仿真验证方法 - Google Patents

一种应用于移动存储soc芯片的仿真验证方法 Download PDF

Info

Publication number
CN102542110B
CN102542110B CN201110459205.2A CN201110459205A CN102542110B CN 102542110 B CN102542110 B CN 102542110B CN 201110459205 A CN201110459205 A CN 201110459205A CN 102542110 B CN102542110 B CN 102542110B
Authority
CN
China
Prior art keywords
data
mobile storage
soc chip
storage soc
chip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201110459205.2A
Other languages
English (en)
Other versions
CN102542110A (zh
Inventor
褚晓滨
宗宇
王莉
张志永
谷羽
宋晶峰
谢俊玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Aviation Airspace Spaceflight Technology Group Co No9 Academy No772 Research Institute
Mxtronics Corp
Original Assignee
China Aviation Airspace Spaceflight Technology Group Co No9 Academy No772 Research Institute
Mxtronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Aviation Airspace Spaceflight Technology Group Co No9 Academy No772 Research Institute, Mxtronics Corp filed Critical China Aviation Airspace Spaceflight Technology Group Co No9 Academy No772 Research Institute
Priority to CN201110459205.2A priority Critical patent/CN102542110B/zh
Publication of CN102542110A publication Critical patent/CN102542110A/zh
Application granted granted Critical
Publication of CN102542110B publication Critical patent/CN102542110B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种应用于移动存储SOC芯片的仿真验证方法。包括:建立存储器模块的步骤;建立兼容性产生机制的步骤;建立检测点的步骤和产生激励数据进行检测的步骤。采用本发明实现对移动存储SOC芯片的功能验证。

Description

一种应用于移动存储SOC芯片的仿真验证方法
技术领域
本发明涉及一种应用于移动存储SOC芯片的仿真验证方法,属于设计验证技术领域。
背景技术
以半导体集成电路为代表的微电子技术的飞速发展,已经成为现代信息产业技术的先导和基石。几年来,移动存储产品由于其具有体积小,携带方便,成本低等特点,已经广泛应用于数码相机/摄像机,手机,游戏机等电子产品中。基于FLASH存储器相关的产品包括U盘,USB读卡器,FLASH存储卡(SD卡,MMC卡,CF卡等)等。
移动存储产品具有如下特点:1)大多是SOC***芯片,芯片中既包含硬件部分,也包含软件部分。2)都是多接口芯片,数据从一种协议层传输到另外一种协议层。3)都涉及到兼容性问题,大容量存储产品的数据来源于不同种类的电子产品,也是不同种类的电子产品进行数据交换的媒介。比如,U盘向上兼容USB主机,向下兼容FLASH存储器。4)速度更快,容量更高,数据更安全是存储产品的发展方向。
仿真验证技术是集成电路设计中重要的一个环节,仿真阶段是在计算机上进行的,通过产生激励模拟真实芯片的工作环境从而对芯片进行验证。仿真验证技术具有如下优点:1)能够全面观察被测设计的全部信号。2)能够更真实的模拟芯片的工作环境。3)可以自由模拟各种工作环境激励对被测设计进行验证。对于移动存储产品的仿真验证中,一端为总线协议的功能仿真模型,另一端为存储器的仿真模型,存储器的仿真模型一般由工艺厂商提供或者开发者自己按照相关协议进行编写,多为HDL硬件描述语言编写。传统仿真验证将仿真模型集成到环境中,通过编写测试激励对被测设计进行仿真验证。缺乏对兼容性的验证,缺乏对被测设计的观测。
发明内容
本发明的技术解决问题是:针对传统仿真技术中存在的缺点,提供了一种应用于移动存储SOC芯片的仿真验证方法。采用本发明实现对移动存储SOC芯片的功能验证。
本发明的技术解决方案:一种应用于移动存储SOC芯片的仿真验证方法,包括以下步骤:
步骤1:建立存储器模型
根据被测移动存储SOC芯片的测试目的建立存储器模型,所述存储器模块为带有时序特性的HDL仿真模型;
步骤2:建立兼容性产生机制
确定被测移动存储SOC芯片与所述存储器模型的指令与数据的格式,所述指令包括由被测移动存储SOC芯片向存储器模型发送的命令和由存储器模型向被测移动存储SOC芯片发送的响应;
针对指令或数据的格式,确定对指令或数据内容的修改方式;所述修改方式包括更改、增加或缩短指令或数据格式中字段的内容;
步骤3:建立检测点
确定断言检测机制并建立断言检测点;
建立覆盖率检测模型,所述覆盖率检测模型包括功能覆盖率和代码覆盖率;
步骤4:产生激励数据进行检测
按任务形成对移动存储SOC芯片的激励数据;移动存储SOC芯片根据接收的激励数据与存储器模型;对步骤3中建立的检测点进行判读,获得对移动存储SOC芯片的仿真验证结果。
所述断言检测点包括:接口协议断言检测点,总线协议断言检测点,DUT功能点断言检测点。
本发明与现有技术相比具有如下优点:
(1)本发明所涉及的应用于移动存储SOC芯片的仿真验证方法将断言检测点加入到验证环境中,通过使用兼容性产生机制将存储器模型快速的集成到验证环境中,缩短了验证的开发时间和调试时间;
(2)兼容性产生机制是一种通用的适用于海量存储模型的机制,可以根据不同存储协议要求加入兼容性数据,具有复用性,接口断言检测点和总线断言监测点是针对通用接口与通用总线协议的监测点,也具有复用性;
(3)通过使用断言编写针对协议和DUT的检测点,同时由于兼容性数据的加入,覆盖率的统计使仿真验证完备。
附图说明
图1为本发明流程图;
图2为本发明仿真验证平台示意图;
图3为实施例示意图。
具体实施方式
下面就结合附图对本发明做进一步介绍。
如图1所示为本发明流程图,包括:建立存储器模块的步骤;建立兼容性产生机制的步骤;建立检测点的步骤和产生激励数据进行检测的步骤。进一步如图2所示,给出了采用本发明所述方法形成的仿真验证平台,包括激励产生模块,总线功能模型,断言检查器,覆盖率模型,存储器模型,兼容性产生机制,DUT(Design Under Test)为被测移动存储SOC芯片。
存储器模型由厂商提供的FLASH存储器仿真模型,或者由开发者自己编写的用于仿真的存储模型。一般是带有时序特性的HDL仿真模型。通过被测设计对存储器模型进行读写等操作的仿真来检查被测设计是否满足存储器的时序和功能要求。
兼容性产生机制:对于移动存储产品来讲,是针对某一类型的存储器(存储模型)而言的,同一类型的存储器可能由不同的厂商生产,其特性和功能会有所差异,同一厂商生产的存储器又有不同的容量,速度,工艺等等。比如U盘的控制器针对的是FLASH存储器,U盘的控制器要兼容1G,2G,4G等的不同厂商提供的FLASH。存储器模型一般是存储器初始化,读写数据正常流程下的功能仿真模型。对于移动存储SOC芯片的仿真验证来讲,基于存储器模型的仿真验证是远远不能满足兼容性要求的,这就需要有兼容性产生机制来满足当前的仿真验证。兼容性产生机制是通过在DUT接口与存储器模型接口之间建立起新的通信信息从而达到仿真验证的要求。存储器在相同协议下的流程是基本相同的,但是时序特性是不相同的,存储器的反应特性也是不尽相同的。兼容性问题可以归结为DUT对错误状态的处理能力和恢复机制。兼容性产生机制首先在保持DUT接口与存储器模型接口的通信同步的此基础之上,将产生兼容性数据在DUT和存储模块间进行传输。
在兼容性产生机制中,根据兼容性数据的要求产生出相应的数据。兼容性产生机制可以将存储协议层加入其中,从功能上增加其兼容特性。兼容性数据是通过数据选通的方式与原通信数据合成,产生出新数据发给DUT或存储器模型。对于海量存储器模型来说,兼容性数据一般分为兼容性指令,兼容性响应和兼容性传输数据。不同的存储器模型会有不同的指令,响应和数据格式,但相容数据的类型具有很多相似性。兼容性产生机制的产生模式包括,数据位增加,数据位缩短,数据内容的修改和填入,数据延时,数据停止。兼容性产生机制也能用于总线功能模型,增强总线功能模型的激励产生。
断言检查器:断言的优势在于能够很容易的对时序周期进行描述,能够检查错误发生的位置和准确仿真时间。向DUT的外部接口部分加入的断言检测点,用于检查DUT的接口总线时序,同时可以对DUT的接口协议传输的事务进行检查时是否符合协议规范和自定义的要求,并且还可以对传输事务归纳为功能点对功能覆盖率进行统计。向DUT内部加入的断言检测器,用于对其他自行设计的模块、主控制器与其他内部模块的接口部分的功能进行检测,从而可以根据获得的断言检测结果帮助在仿真验证环境中调试。
断言检查器在设计的最初阶段加入能充分利用断言的优势。对于RTL代码内部的断言而言,其关键问题是如何描述设计的属性(抽象层次的高低)。如果抽象层次太低的话,就是对HDL语言的翻译,并不能描述出设计意图。而抽象层次过高的话,一旦出现问题又不能及时进行错误定位。所以抽象层既不能过高又不能过低。
断言检测点的类型包括:接口协议断言,总线协议断言,DUT功能点断言。接口协议断言涵盖了接口协议中涉及到全部功能点,位于海量存储SOC芯片的接口部分;总线协议断言涵盖了总线的数据传输功能点,位于海量存储SOC芯片内部的所使用总线传输的部分;DUT功能点断言涵盖了需要对DUT内部检测的功能点,位于DUT内部的MCU和各个模块中,对于海量存储SOC芯片来讲,DUT内部检测的功能点归纳为DUT初始化的检测,读写操作检测,读写数据的数据搬运的位置检测,内部搬运数据的算法检测,内部状态机的检测。
功能覆盖率模型:覆盖率是***实现行为的显现。其中,代码覆盖率是对实现代码执行情况的统计,而功能覆盖率是从规范的角度出发,对实现执行的功能进行统计。代码覆盖率低而功能覆盖率高时,应该及时修改功能覆盖模型,映射到设计代码或者测试平台的断言。代码覆盖率和功能覆盖率都比较低时,应该增加测试向量,执行更多的设计断言。
激励产生模块:可以由HDL硬件描述语言或者更高级的验证语言来编写,是整个仿真验证平台的数据源头和数据发起者,也是整个仿真验证平台的主控制者。激励的数据来自对海量存储协议的理解或者由来源于其他可靠数据。
总线功能模型:在本发明中激励产生模块输出的激励数据可以通过HDL接口方式或者PU接口方式传递给总线功能模型,总线功能模型是将由激励产生模块产生的激励数据转换为符合DUT接口时序的数据传递给DUT。
当DUT接收到输入的激励数据时,激励产生模块发起整个仿真的操作,激励产生模块将产生的激励数据发送给总线功能模型,总线功能将激励数据按照接口协议发送给DUT,当DUT接收到输入的激励数据时,DUT开始解析接收的激励数据,响应激励产生模块并对存储模型发出相应的操作,兼容性产生模块会根据配置文件对DUT与存储器模型产生兼容性数据。断言检查器实时检查接口协议,总线协议和DUT内部的功能点,将断言结果显示出来。激励产生模块的激励数据对DUT的操作完成后停止仿真,仿真结束后获得覆盖率数据。
如图3所示,利用本发明对USB2.0读卡器进行逻辑验证:
首先,通过激励产生模块利用verilog代码按任务包形成USB应用层的激励数据。通过USB总线功能模型将激励数据按照规定的时序发送给DUT。
加入断言检查器,USB2.0读卡器芯片中包含有8位单片机(MCU),USB控制器(SIE),SD/MMC控制器(SDHC),存储器管理单元(MMU),直接存储器访问(DMA),控制寄存器模块等,各模块通过VCI总线挂到MCU上。在仿真环境中,对软件进行调试是很困难的,这就需要在MCU接口上加入断言,断言的属性以MCU对寄存器的一次操作为单元。加入断言可以观察软件对控制器内部寄存器的读写情况。使软件在仿真环境变得容易调试。断言的属性以状态机的每个状态跳转为一次操作单元。这部分断言是由验证人员通过对设计人员的SPEC理解来进行编写的,用于检查状态机是否按照预期进行跳转。在UTMI和SD/MMC接口上加入断言,用于检查DUT是否符合协议的功能和时序要求和功能点的描述。
USB接口时序断言检测点,是对接口的信号在时序上进行检查,用于检查DUT的接口部分是否满足USB/SD/MMC的接口时序特性。
USB/SD接口协议断言检测点,这部分断言检查器是与DUT的接口总线相连接的。对DUT与功能仿真模型之间的数据交换检查协议检查,检查位于USB/SD的功能协议层。
读卡器内部总线断言检测点,读卡器是MCU为控制核心的SOC芯片,芯片内部的其他模块通过总线协议挂接到MCU上,MCU与模块的通信或者模块与模块间的通信都遵守内部总线协议规范。
读卡器内部模块断言检测点,这部分断言是对模块内部的状态进行检查,通过对内部模块的检查,可以快速定位模块内部的产生错误位置。模块断言包括USB指令的解析,USB响应的组装,USB包内数据的解析与组装,数据的搬运,SD/MMC的指令组装,SD/MMC响应的解析,SD/MMC数据的解析与组装,模块内部状态机的检测。
存储器模型为采用SD/MMC卡模型。
兼容性产生机制,通过读入控制配置文件来确定兼容性数据的产生位置和类型。SD/MMC卡存储器模型一般是存储器初始化,读写数据正常流程下的功能仿真模型。对于USB2.0读卡器SOC芯片的仿真验证来讲,基于SD/MMC卡存储器模型的仿真验证是远远不能满足兼容性要求的,这就需要有兼容性产生机制来满足当前的仿真验证。兼容性产生机制是通过在DUT接口与SD/MMC卡存储器模型接口之间建立起新的通信信息从而达到仿真验证的要求。SD/MMC卡存储器在相同协议下的流程是基本相同的,但是时序特性是不相同的,存储器的反应特性也是不尽相同的。兼容性问题可以归结为DUT对错误状态的处理能力和恢复机制。兼容性产生机制是保持DUT接口与SD/MMC卡存储器仿真模型接口的通信同步,在此基础之上,产生兼容性数据放置到接口总线上。兼容性数据是通过数据选通的方式与原通信数据合成,产生出新数据发给DUT或SD/MMC卡存储器模型。将DUT与SD/MMC卡模型相接。兼容数据通过兼容性产生模块的逻辑放置到接口总线上。模块内部有指令分析的控制端,控制接口总线的开关与闭合,在关闭的状态下,兼容性产生模块的兼容性数据不会放置到接口总线上,在开启的状态下,兼容性产生模块根据兼容性要求将兼容性数据发送到接口总线上,接口总线上产生的数据,可以包含原接口总线数据和兼容性数据两部分。
兼容性数据作为兼容性产生模块的输入数据,兼容性产生模块按照兼容性数据的类别在接口产生协议所要求的具有时序特性的数据。兼容性数据包括兼容性SD/MMC指令,兼容性SD/MMC响应,兼容性SD/MMC数据部分。
兼容性SD/MMC指令部分,兼容性产生模块将接收原DUT发出的指令,同时按照兼容性SD/MMC指令的要求产生指令数据发送给SD/MMC存储器模型。兼容性SD/MMC指令部分的数据包括,指令的起始位数据,指令的类别数据,指令的附加数据,指令的CRC数据,指令的结束位。
兼容性SD/MMC响应部分,兼容性产生模块将接收原SD/MMC存储器模型的响应,同时按照兼容性SD/MMC响应的要求产生响应数据发送给DUT。兼容性SD/MMC响应部分的数据包括,响应的起始位数据,响应的类别位,响应的附加数据,响应的校验位CRC数据,响应的结束位。
兼容性SD/MMC数据部分,是指在通过SD/MMC总线的DAT数据线传输的数据。这部分数据分为读数据部分和写数据部分,兼容性产生模块按照兼容性SD/MMC数据部分的要求产生SD/MMC数据发送给DUT或者SD/MMC存储器模型。兼容性SD/MMC数据部分包括,数据的起始位,数据的位数,数据的字节数,数据的校验位CRC,数据的结束位,数据的延时数据。
通过本发明应用于USB2.0读卡器的仿真验证中,达到快速建立仿真验证平台的需求,可复用等优点,并对DUT的兼容性作了充分的仿真验证。
本发明未详细说明部分属本领域技术人员公知常识。

Claims (2)

1.一种应用于移动存储SOC芯片的仿真验证方法,其特征在于包括以下步骤:
步骤1:建立存储器模型
根据被测移动存储SOC芯片的测试目的建立存储器模型,所述存储器模块为带有时序特性的HDL仿真模型;
步骤2:建立兼容性产生机制
确定被测移动存储SOC芯片与所述存储器模型的指令与数据的格式,所述指令包括由被测移动存储SOC芯片向存储器模型发送的命令和由存储器模型向被测移动存储SOC芯片发送的响应;
针对指令或数据的格式,确定对指令或数据内容的修改方式;所述修改方式包括更改、增加或缩短指令以及更改、增加或缩短数据格式中字段的内容;
步骤3:建立检测点
确定断言检测机制并建立断言检测点;
建立覆盖率检测模型,所述覆盖率检测模型包括功能覆盖率和代码覆盖率;
步骤4:产生激励数据进行检测
按任务形成对移动存储SOC芯片的激励数据;移动存储SOC芯片根据接收的激励数据与存储器模型,对步骤3中建立的检测点进行判读,获得对移动存储SOC芯片的仿真验证结果。
2.如权利要求1所述的一种应用于移动存储SOC芯片的仿真验证方法,其特征在于:所述断言检测点包括:接口协议断言检测点,总线协议断言检测点,DUT功能点断言检测点。
CN201110459205.2A 2011-12-29 2011-12-29 一种应用于移动存储soc芯片的仿真验证方法 Expired - Fee Related CN102542110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110459205.2A CN102542110B (zh) 2011-12-29 2011-12-29 一种应用于移动存储soc芯片的仿真验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110459205.2A CN102542110B (zh) 2011-12-29 2011-12-29 一种应用于移动存储soc芯片的仿真验证方法

Publications (2)

Publication Number Publication Date
CN102542110A CN102542110A (zh) 2012-07-04
CN102542110B true CN102542110B (zh) 2014-04-09

Family

ID=46348985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110459205.2A Expired - Fee Related CN102542110B (zh) 2011-12-29 2011-12-29 一种应用于移动存储soc芯片的仿真验证方法

Country Status (1)

Country Link
CN (1) CN102542110B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942130B (zh) * 2014-04-28 2015-11-18 山东华芯半导体有限公司 一种sd卡模型的时序控制方法
CN104679634A (zh) * 2015-03-06 2015-06-03 浪潮电子信息产业股份有限公司 一种用于超大规模芯片仿真的自适应随机验证方法
CN106326046B (zh) * 2015-06-30 2019-10-01 上海华虹集成电路有限责任公司 存储器控制器的验证环境平台
CN105573908A (zh) * 2015-09-01 2016-05-11 北京中电华大电子设计有限责任公司 一种功能验证方法和装置
CN106383788A (zh) * 2016-10-31 2017-02-08 上海华虹集成电路有限责任公司 验证测例判断方法
CN107222363B (zh) * 2017-05-26 2021-01-08 苏州浪潮智能科技有限公司 一种存储协议一致性测试方法及***
CN107341083B (zh) * 2017-06-29 2020-08-11 北京东土军悦科技有限公司 一种接口控制器的验证方法和验证***
CN107480382A (zh) * 2017-08-21 2017-12-15 中国电子科技集团公司第五十四研究所 一种快速收敛的覆盖率驱动验证方法
CN107506558A (zh) * 2017-09-05 2017-12-22 郑州云海信息技术有限公司 一种采用断言和脚本提高统计功能覆盖率效率的方法
CN109508540B (zh) * 2018-09-12 2023-06-23 成都奥卡思微电科技有限公司 一种芯片安全监视方法和安全监视芯片
CN111488723B (zh) * 2020-04-01 2023-12-26 北京中电华大电子设计有限责任公司 一种基于脚本的soc芯片存储控制器自动化仿真验证方法
CN111639470B (zh) * 2020-05-28 2022-06-17 山东云海国创云计算装备产业创新中心有限公司 一种处理器协同芯片的仿真测试方法、***及相关组件

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1928877A (zh) * 2006-08-17 2007-03-14 电子科技大学 Soc软硬件一体化设计验证方法
CN101051332A (zh) * 2007-05-23 2007-10-10 中兴通讯股份有限公司 一种soc芯片***级验证***及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478281B2 (en) * 2005-06-06 2009-01-13 Denniston William B System and methods for functional testing of embedded processor-based systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1928877A (zh) * 2006-08-17 2007-03-14 电子科技大学 Soc软硬件一体化设计验证方法
CN101051332A (zh) * 2007-05-23 2007-10-10 中兴通讯股份有限公司 一种soc芯片***级验证***及方法

Also Published As

Publication number Publication date
CN102542110A (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
CN102542110B (zh) 一种应用于移动存储soc芯片的仿真验证方法
CN111931445B (zh) 用于调试逻辑***设计的方法、仿真器及存储介质
US6865502B2 (en) Method and system for logic verification using mirror interface
US8639981B2 (en) Flexible SoC design verification environment
Huang et al. SoC HW/SW verification and validation
US8788886B2 (en) Verification of SoC scan dump and memory dump operations
CN108351907B (zh) 用于调试电路设计的方法和电路
CN105738854A (zh) 智能电表嵌入式应用的模拟存储器测试板***及测试方法
CN104569794B (zh) 一种基于边界扫描结构的fpga在线测试仪及测试方法
CN107608846B (zh) 一种针对fpga内嵌tap接口的调试链路及调试方法
CN113157501B (zh) 一种基于ate测试机的微***模块ac参数测试方法
CN111339731B (zh) 一种面向SoC的FPGA验证平台和验证方法
CN109061446A (zh) 一种单端口传输芯片的测试方法及***
CN115146568A (zh) 一种基于uvm的芯片验证***及验证方法
US10664563B2 (en) Concurrent testbench and software driven verification
US10664637B2 (en) Testbench restoration based on capture and replay
US10546081B2 (en) Full memory logical erase for circuit verification
CN116070564A (zh) 基于芯片待测设计的仿真通信方法及装置
US9581643B1 (en) Methods and circuits for testing partial circuit designs
Peng et al. Function verification of SRAM controller based on UVM
CN105974221A (zh) 一种用于多路总线接口模块测试的通用适配器
Liang et al. Python based testbench for coverage driven functional verification
CN113673106B (zh) 一种fpga内核可编程仿真器
CN101231608A (zh) 侦错装置及其方法
Lahbib et al. A new synchronization policy between PSL checkers and SystemC designs at transaction level

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140409

Termination date: 20191229

CF01 Termination of patent right due to non-payment of annual fee