分享
基于UVM平台实现SDHost控制器的验证_刘璐.pdf
下载文档

ID:2251011

大小:651.12KB

页数:4页

格式:PDF

时间:2023-05-04

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于 UVM 平台 实现 SDHost 控制器 验证 刘璐
年第期 基于 平台实现 控制器的验证刘璐,赵启林,李超,戴兆麟(上海电力大学 电子与信息工程学院,上海 ;上海摩尔精英集成电路产业发展有限公司)摘要:随着数字信息技术的发展,控制器的应用逐渐广泛。本文对 控制器的相关功能进行验证,基于 验证方法学搭建完整的验证平台,通过直接测试和大量的随机测试案例以及 脚本自动化编译,完成代码覆盖率以及功能覆盖率的统计,最终代码覆盖率和功能覆盖率均满足要求。验证平台以及自动化脚本的使用提升了验证效率,对验证流程做了简化,同时保证了验证的完备性。关键词:通用验证方法学;功能覆盖率中图分类号:文献标识码:,(,;,):,(),:;引言随着芯片复杂度的提升,验证工作的难度也日趋明显,因此对验证方法提出了更高的要求。验证方法学可重用性强,层次清晰,是一套非常完备的验证体系,通过一系列组件封装架构,信息便于再次利用。验证工作难度的提升也意味着一些简单的直接测试已经无法满足我们对验证的要求,在此基础上增加了随机验证的策略,保证了验证的完备性。同时还搭建了完整的验证平台,使用 脚本自动化编译等手段降低了验证的难度。验证平台在顶层调用 ,任务会首先创建测试平台,然后调用所有的相位,开始仿真。本文基于 平台对 控制器的功能进行验证。介绍 卡是一个具有成本低、容量大、便携式、数据传输快等优点的存储卡。卡定义了两种操作模式:卡识别模式和数据传输模式。复位后,查找所匹配的卡时,主机会处于“卡识别模式”,直到收到 ()命令后,卡会进入到“数据传输模式”。卡有两种通信协议:和 。模式使用现有主机的能力,从而减小设计压力,但对需要宽总线传输的 卡来说,就会在性能上有些缺失,主要用于各种微处理器。模式会要求主机端具有 模块,用来进行数据传输,本文对 控制器进行设计和验证。用来控制和操作 卡的读和写,符合 接口协议的命令和数据操作,其功能和特性有:控制器搭载在 总线上,接口数据处理符合 ()协议;符合 ;具有多个控制配置寄存器,可以实现对命令和数据的控制;内建 模块,可以直接对 卡进行读写控制;对卡的单块读写、多块读写和读写加速都支持;与系统内 模块共享 模块和内嵌模块;内含相应寄存器和分频电路,实现 总线的时钟控制;允许读操作时硬件的停时钟功能。敬请登录网站在线投稿()年第期 设计验证根据 接口协议和对数据的操作,做出 控制器架构图,如图所示。在此基础上用 语言编写 代码,完成对 控制器的设计。架构主要由几个模块组成:模块是 的接口模块,内部含大量控制寄存器,供 访问,决定 的工作模式;模块是 的分频电路,用来作为 模块的时钟输入;模块是命令操作控制模块,控制 和 模块;模块是 用来发送命令的端口模块;模块是 卡命令的返回端口模块;模块是数据操作控制模块,控制 和 模块;模块是 用来发送数据的端口模块;模块是 数据输入端口模块;模块是数据缓存模块,用来对数据进行暂存;模块是数据搬移模块,用在两个不同模块之间进行数据搬移,数据是从一个地址空间复制到另一个地址空间,并在两个模块之间提供高速数据。图 控制器架构图基于 平台用 语言对 控制器进行验证,通过搭建 、等组件 编 写 直 接 和 随 机 测 试 案 例,构 建 完 整 的 验 证 平 台。中会通过 将产生的数据包发送给 ,再 通 过 发 送 给,对中和 相关协议的输入输出数据采样并发送给 进行数据对比。中的 对 相关协议的输入与输出进行采样并送到 进行对比。控制器验证平台的结构如图所示。图验证平台结构对于 控制器来说,我们需要验证的功能有初始化、单块的读和 写、多 块 的 读 和 写、时 钟 和 复 位 等。控制器拥有多个配置寄存器,用于工作模式的选择,可以通过配置寄存器来选择是单线传输还是四线传输,同时也可以配置数据块的宽度。图是一个简单的驱动实例初始化和读写操作的流程图,每完成一次传输都通过配置寄存器发送命令来实现。复位后,卡会进入空闲状态,发送 命令来匹配卡期望的电压值,匹配成功之后卡进入到准备状态。接着发送 命令,得到卡的 ()号,进入到识别状态。之后主机发送 命令,通知卡发布一个 (),此地址比 要短,作为后续数据传输模式的地址,收到 之后卡会进入到待机状态。此时初始化完成,卡进入到数据传输模式进行读写操作。发送 命令卡进入传输状态,此时可以通过 命令设置块长度,通过 命令进行宽总线的选择。进行写操作时发送 (单块写)或 (多块写)命令,卡会进入接收数据状态;进行读操作时发送 (单块读)或 (多块读)命令,卡会进入发送数据状态。块是连续传输的,读和写操作都可以通过 命令来停止,读写操作完成后,卡会进入到编程状态,表示传输成功,如果返回传输状态,说明此次传输失败,需再次进行新一轮的读或写操作。通过大量的实例保证验证到所有的功能点,提高覆盖率。通过 自动化编译脚本来实现仿真,极大提高 年第期 了软件开发的效率。图列举了部分测试案例,调试所有的案例之后通过回归测试将所有的案例运行一遍以确保验证的完备性。图驱动实例(初始化 读写)图测试案例(部分)覆盖率统计及结果分析通过大量的直接测试和随机测试,运行回归测试,查看覆盖率,没有覆盖到的地方添加一些直接测试案例,最终代码覆盖率达到 ,如图所示;功能覆盖率达到 ,如图所示。代码覆盖率没有达到 是由于在设计中变量的某些范围无法被覆盖到,通过排除掉这些无法被覆盖到的值,最终代码覆盖率会达到 ,验证顺利完成。图代码覆盖率结果图功能覆盖率结果 结语本文基于 的通用验证方法()开发的验证平台 实现了对 控制器的验证。通过大量的随机测试和直接测试案例,对 控制器的功能进行了全面验证,并在 中添加回归测试代码,通过跑回归测试进行调试,最终达到了覆盖率要求,完成了对 控制器的验证。平台的使用简化了验证流程,自动化编译脚本的使用提高了验证效率,这些都保证了验证的顺利完成。参考文献张强 实战卷 北京:机械工业出版社,牛玉坤,孟令琴 基于 实现 存储控制器的功能验证工业控制计算机,():年第期 个阶段进行仿真以找出设计中出现的问题。仿真测试是 设计中不可缺少的一部分,教学中要鼓励学生多使用仿真工具,培养完成设计后做仿真实验的习惯,锻炼学生的仿真能力。图仿真结果图 结语本文设计的 指令集的流水线 模型机实现了 条指令,针对数据以及指令相关的问题设计了专用的 异常处理模块。对流水线每一级的设计及教学应用方法都做了分析,使用 对设计进行了综合测试,使用 对功能进行了仿真,测试结果符合要求。模型机的设计虽已完成,但模型机与外设的通信还未解决,设计、设计以及总线设计和挂载等还要进一步研究 。参考文献向继文,刘昕,廖柏林 龙芯 研发与应用现状综述 吉首大学学报(社会科学版),():柳成,荣静基于 架构的多周期 设计软件,():刘秋菊,张光照,王仲英基于 指令集的流水线 设计与实现实验室研究与探索,():,徐爱萍,张玉萍,涂国庆 基于 之 设计与实践实验室研究与探索,():吴继明,曾碧卿一种高效的 设计方法及其在计算机组成原理课程中应用 实验室研究与探索,():李亚民 计算机组成原理与系统结构 北京:清华大学出版社,雷思磊 自己动手写 北京:电子工业出版社,:严海洲 基于 的 单周期处理器的实现 电脑知识与技术,():,杨锐,黎涛基于 的流水 设计与实现当代教育实践与教学研究,():王帆,陈涛,张刚基于珠算原理设计 位除法器及 实现科学技术与工程,():王德明,骆开庆大整数除法器硬件电路研究与实现华南师范大学学报(自然科学版),():黄秀荪,叶青,仇玉林 高速除法器设计及 实现 微电子学与计算机,():李山山,刘敬晗 利用 算法处理数据相关的流水线 设计 实验室研究与探索,():东野长磊,戚梅一种带 的嵌入式 的设计与实现微型机与应用,():,李源,马海林,何虎基于 指令集的超标量和超长指令字混合架构处理器设计计算机应用研究,():陈国志一种自适应 替换策略的研究与设计电脑知识与技术,():肖世伟(硕士研究生)、李承凯(本科),主要研究方向为计算机体系结构;杨美娜(硕士研究生),主要研究方向为数字图像处理;冯祥虎(硕士研究生),主要研究方向为嵌入式驱动开发;杜军(副教授),主要研究方向为多普勒激光雷达、计算机体系结构。通信作者:杜军,。(责任编辑:薛士然收稿日期:)赖琳晖 基于覆盖率驱动的 的 验证集成电路应用,():,(),何丹,李树国 存储卡接口 模式的 实现微电子学,()张锋,潘冀宁,朱振荣基于 模式的 卡驱动设计与验证通信设计与应用,(),马俊基于 总线的 存储卡主控制器的设计与验证 上海:上海交通大学,()(),刘璐、李超、戴兆麟(硕士研究生),赵启林(研发总监):主要研究方向为数字集成电路设计与验证。通信作者:刘璐,。(责任编辑:薛士然收稿日期:)

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开