(信息与通信工程专业论文)基于arm的usb20ahb总线桥ip的验证方法研究以及设计实现.pdf_第1页
(信息与通信工程专业论文)基于arm的usb20ahb总线桥ip的验证方法研究以及设计实现.pdf_第2页
(信息与通信工程专业论文)基于arm的usb20ahb总线桥ip的验证方法研究以及设计实现.pdf_第3页
(信息与通信工程专业论文)基于arm的usb20ahb总线桥ip的验证方法研究以及设计实现.pdf_第4页
(信息与通信工程专业论文)基于arm的usb20ahb总线桥ip的验证方法研究以及设计实现.pdf_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着i c 设计规模的增加,功能验证的复杂程度越来越高,各种新的验证方法 也曾出不穷,如何根据不同的i c 产品来选择适当的验证方法对其进行验证,获取 最大的工作效率,仍然是一个值得研究的课题。 集成电路制造和设计技术的迅速发展将集成电路设计带入片上系统( s o c ) 时 代。l p 核成为片上系统最重要的单元。基于通用串行总线u s b 和片上总线a h b 的u s b - a h b 桥i p 实现了两种总线之问的数据通路,该m 能够广泛应用到u 盘, 摄像头,数码相机,手机等s o c 产品芯片中去 本文介绍了基于a r m 的u s b 2 0 - - a h b 总线桥口的验证方法研究以及设计 实现。本文首先介绍了基本的验证技术,以及国内外比较流行的功能验证方法, u s b 总线a h b 总线的基本协议;根据i p 的规格搭建了一个基于s y n o p s y sv i p 的 系统验证环境,如何在整个验证环境中构建一个a r m 的行为模型,使其能够接收 并分析由u s b 总线发来的各种命令,并根据各种命令对i p 进行相应配置。接着介 绍了如何根据i p 规格对测试向量,测试效用包( u t i l i t y ) 进行提取,如何用p e r l 脚本 语言实现测试向量进行自动化生成,以及每条测试用例的自检测最后介绍了如 何使用cs h e l l 脚本实现整个回归验证的自动化,刚归验证结束后各个覆盖率指标 的达到情况。 本文所介绍的验证方法具有良好的可重用性,整个i p 在经过本文介绍的验证 方法验证后,在后续的f p g a 验证中本i p 的各个数据通道的测试均一次通过,最 后顺利通过和合作单位的验收。 关键词:通用串行总线,串行接口引擎,功能验证,a r m ,回归验证,验证自动 化 a b s t r a c t a b s t r a c t a st h ei n c r e a s e m e n to ft h es c a l ei ni cd e s i g n ,t h ef u n c t i o nv e r i f i c a t i o no ft h ei c d e s i g ni sg e t t i n gm o r ea n dm o r ec o m p l e x m a n yn e w v e r i f i c a t i o nm e t h o d sh a v ee m e r g e d o n ea f t e ra n o t h e r h o wt oc h o o s et h ea p p r o p r i a t ev e r i f i c a t i o nm e t h o d sf o rt h ed i f f e r e n t i cp r o d u c t st oo b t a i nt h eg r e a t e s te f f i c i e n c yr e m a i n sar e s e a r c ht o p i c 1 n h cd e v e l o p m e n ti ni n t e g r a t ec i r c u i tm a n u f a c t u r ea n dd e s i g nt e c h n o l o g ym a k et h e i n t e g r a t ec i r c u i td e s i g ne n t e rt h es o c ( s y s t e mo nc h i l p ) p h a s e 1 、ci pi st h em o s t i m p o r t a n tu n i to ft h es o c t h ei pb a s e do nt h eu s ba n da h bh a sm a k e dar e a l i z a t i o n o ft h ed a t ap a t hb e t w e e n tt h eu s ba n da h b 1 1 l j si fc a nb ew i d l ya p p l yt ot h ei c p r o d u c t so fd i g i t a lc a m e r a , m o b i l ep h o n e e t c 1 m i sd i s s e r t a t i o n e x p a t i a t et h ev e r i f i c a t i o n m e t h o da n dr e a l i z a t i o nf o rt h e u s b 2 o - a h bb r i d g ei pc o r eb a s e do na r m f i r s t , i ti n t r o d u c e dt h ee s s e n t i a l v e r i f i c a t i o nt e c h n o l o g i e s ,t h ep o p u l a ro v e r s e a sa n dd o m e s t i cv e r i f i c a t i o nm e t h o d s ,t h e p r o t o c o lo fu s b a n da h b t h ew a yt oe s t a b l i s hs y s t e mv e r i f i c a t i o ne n v i r o n m e n tb a s e d o ns y n o p s y sv i pf r o mt h es p e c i f i c a t i o no fi p t h ew a yt od e s i g nab e h a v i o rm o d u l eo f a r mi nt h ew h o l ev e r i f i c a t i o ne n v i r o n m e n t , s ot h a tt h em o d u l ec a nr e c e i v ea n da n a l y s e m a n yk i n d so fb u sc o m m a n d sf r o mu s b ,t h e nc o n f i g u r ei pb a s e do nt h ec o m m a n d s a f t e rt h a t , t h ed i s s e r t a t i o ng a v et h ew a yt od e s i g nt e s t c a s e sa n du t i l i t yb a s e do nt h e s p e c i f i c a t i o no fi p t h ew a yt om a k eu o fp e r ls c r i p tl a n g u a g et or e a l i z et h ea u t o m a t i c t e s t c a s e sc r e a t i o na n ds e l f - c h e c kf o re v e r ys i n g i et e s t c a s e a tl a s t , t h et h e s i si n t r o d u c e d t h em e t h o dt ou s ecs h e l is c r i p tt or e a l i z et h ea u t o m a t i cr e g r e s s i o no ft h ew h o l e v e r i f i c a t i o ns y s t e ma n dc h e c kt h ec o v e r a g ea c h i e v e m e n ta tt h ee n do ft h er e g r e s s i o n t h ev e r i f i c a t i o nm e t h o di n t r o d u c e di nt h i sd i s s e r t a t i o ni sg o o di nr e u s e a nt h ed a t a p a t ho ft h eu s b - a h bb r i d g ei ph a sp a s s e dt h ef p g at e s ta to n et i m ea f t e rt h e v e r i f i c a t i o nw h i c hi n t r o d u c e di nt h i s e s s a y f i n a l l y , t h i si p w a sa c c e p t e db yt h e c o o p e r a t i o nc o m p a n y k e y w o r d s :u s b ,v e r i f i c a t i o n ,r e g r e s s i o n ,a r m ,a h b n 图目录 图2 1 图2 2 图2 3 图2 - 4 图2 5 图2 - 6 图2 - 7 图2 - 8 图2 9 图2 1 0 图2 1 l 图2 1 2 图3 - 1 图4 1 图4 2 图” 图“ 图硝 图4 6 图5 1 图5 - 2 图6 1 图6 2 图6 3 图6 4 图6 。5 u s b 电缆 图目录 u s b 总线拓扑 u s b 内部层次图7 控制传输 同步传输 块i n 传输9 块o u t 传输。 中断传输 a h b 总线结构 a h bm a s t e r 数据传输 a h bs l a v e 数据传输 a h bs l a v e 配景传输 1 0 混合模拟仿真示意图2 1 验证环境框图 d m a c 接口时序 s y n o p s y su s b v i p 连接示意图 u t m i 接口时序图 寄存器配簧示意图 验证环境目录结构图。3 8 r u n 脚本片段 r u n _ r e g r e s s i o n 脚本片段 a h b _ u s b 2 0i p 行覆盖率报告7 0 a h b u s b 2 0i p 条件覆盖率报告7 l 寄存器测试环境7 2 通道测试环境 业务测试环境7 3 表目录 表5 1 表5 2 表5 - 3 表5 4 表5 5 表5 6 表5 7 表5 8 表5 9 表5 1 0 表5 1 1 表5 1 2 表5 1 3 表5 1 4 表5 1 5 表5 1 6 表5 1 7 表6 1 表目录 高速复位至全速 全速无数据阶段控制传输 全速数据阶段为i n 事务控制传输。5 2 全速数据阶段为o u t 事务控制传输5 2 o u t 端点高速块传输。 l n 端点高速块传输。 o u t 端点全速同步传输5 5 i n 端点全速同步传输 全速端点l 进行块、3 , 设备处理s o f 4 ,5 ,6 进行同步传输的多d m a 传输5 7 全速i n 控制端点差错控制 全速o u t 控制端点差错控制 6 0 m a s t e ri n c r 、i n c r 4 、i n c r 8 、i n c r l 6 突发写。6 l 外部s l a v e 对本i pm a s t e r 响应e r r o r ,r e t r y ,s p u t 6 2 验证本i pm a s t e r 对于1 k b 越界的处理情况。6 2 s o f l d i s c o n n e c t 测试。 高速端点r x _ e r r o r 错误控制 f p g a 测试用例列表 v 1 1 1 缩略词表 缩略词表 英文缩写英文全写中文注释 i pi n t e l l e c t u a lp r o p e r t y 知识产权 v i p v e r i f i c a t i o ni p验证i p 通用串行总线,最早由 c o m p a q 、i n t e l 、m i c r o s o f t 和n e c 等几家大公司联合 u s bu n i v e r s a ls e r i a lb u s 制订的针对p c 结构总线扩 展协议的一种工业标准, 现在通用的有u s b l 1 和 u s b 2 0 两个版本。 u s b2 01 h n s c e i v e rm a c r o c e l l u s b 接收器宏单元接口舰 u t m l范。u s b 和p h y 之问的接 i n t e f f a c e 口规范。 串行接口引擎,主要完成 s l es e r i a li n t e r f a c ee n g i n e u s b 协议中数据链路层的 部分功能。 著名r i s c 设计企业。本文 a r m a d v a n c e dr i s cm a c h i n e s 档也把其r i s cm c u 统称为 a r m 。 a d v a n c e dm i c r o c o n t w i l e rb u s a m b a a r m 公司的系统总线结构 a r c h i t e c t u r e a h b a d v a n c e dh i g l l - p e r f o r m a n c ea m b a 中规定的片上系统 b 吣 总线。 l x 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特j l , l m 以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:i 鱼堑 日期:年月e l 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:孤,柏 导师签名:铂咖己 日期:年月日 第一章绪论 第一章绪论 十多年前,数字集成电路的设计还主要采用图形输入工具,h d l 的出现使电 路设计能力有了质的飞跃。但验证手段和验证方法学却进展缓慢。随着集成电路 的规模进入到千万门级,验证已经成为芯片设计的瓶颈,验证所需要的时问、人 力、物力已经超过了芯片设计本身所耗费的精力。即使如此,7 0 以上的芯片失 败的原因使验证的不充分【。因此验证技术,特别是功能验证技术成为i c 设计中 一个非常重要的环节。 本文通过一个与公司合作的实际工程项目,对整个功能验证的流程进行了详 尽的介绍。 1 1i c 验证技术概述 对一个设计的验证,决定采用什么样的验证手段和验证策略是一个非常复杂 的决策过程。业界存在着相当多的验证手段和验证策略,其中主要的验证手段可 以粗略地划分为功能验证技术、f p g a 验证、静态时序技术、形式验证技术等。主 要的验证策略包括:自顶向下的验证,自底向上的验证,基于平台的验证,基于 系统接口驱动的验证。 1 1 1 功能验证技术 功能仿真是设计验证的主要形式。从仿真的抽象层次来看,包括基于事件的 仿真,基于时钟周期的仿真、基于对象转换的仿真。仿真技术从仿真的活动内容 来看,包括代码覆盖率检查、功能一致性检查。功能一致性检查的仿真手段有基 于波形的仿真、基于对象转换的仿真、基于行为级模型的比较仿真、软硬件协同 仿真和硬件加速仿真。 基于行为级模型的比较仿真手段首先建立设计的行为模型,然后对设计的r t l 实现和行为模型使用一样的激励、对比两者输出的结果。建立行为模型的语言可 以是h d l ,也可以是s y s t c m c ,c 、c + + 、验证语言v e r a 和s p c c m a ne l i t e 等。 电子科技人学硕十学位论文 1 1 2 静态时序分析技术 静态时序分析( s t a t i c t i m i n g a n a l y s i s 简称s t a ) ,是指按照同步电路设计的 要求,根据电路网表的拓扑结构计算并检查电路中每一个存储器件或锁存器的建 立时问和保持时问,以及其他基于路径的时延要求是否得到满足。静念时序分析 只能有效地验证同步时序电路的正确性,对于大部分设计中可能包含的异步电路 的时序验证,则必须通过门级仿真来保证其时序的正确性。 静态时序分析和门级时序仿真是从不同的侧重点来分析电路以保证电路的时 序正确,它们是相辅相成的。对一个复杂的a s i c 设计而言,这两种手段都应该 使用,才能确保电路稳定可靠地工作。 1 1 3 形式验证技术 形式验证是一种系统验证手段。它一方面指利用边界条件等从理论上推导、 论证设计实现的正确性,另一方面指通过分析、对比两个设计,论证两个设计实 现的功能是否一致。利用边界等从理论上推导、论证的方法目前只适用于学术研 究,我们这罩指的形式验证用束判断两个设计的等价。在进行验证时,它不需要 测试向量,但必须有一个功能完全正确的参考设计,它根据每个电路节点的布尔 函数结果“静态”地判断两个设计在功能上是否一致。 1 2 国内外验证技术研究现状 随着集成电路制造工艺的快速发展,功能验证已经成为了a s i c 设计流程的瓶 颈在一个完整的设计流程中通常会花费一半的资源( 包括人力、时间等) 在功能验 证上【l 】【2 l 。目前,功能验证方法分为两大类:基于仿真的方法和形式化的方法1 3 i 。 对于大规模的逻辑电路来说,使用形式化方法建模的规模过大,难以应用1 4 i 。因此, 在工程领域,大规模电路系统级验证主要通过仿真加以验证1 5 l 。 现在比较流行的功能验证方法有基于覆盖率的功能验证方法和基于断言的功 能验证技术,基于覆盖率的功能验证方法往往又和自动生成测试向量的方法一起 使用【6 】1 7 l 。覆盖率评估准则有很多,其中包括功能覆盖准则、代码覆盖准则、翻转 覆盖准则和f s m 覆盖准则等。代码覆盖准则主要包括行覆盖准则、分支覆盖准则 和路径覆盖准则等。到目i ;i 为止,还很难给出每种评估准则与其发现错误能力之 间的定性关系,应该采用哪种评估准则只能依靠经验束判断。功能覆盖准则是目 2 第一章绪论 前普遍认可的全面的覆盖率评估准则,因为它的评估丌销比较小,其含义比较明 确,而且很多商业工具都支持功能覆盖率分析【8 i 。断言的概念其实并不新鲜,在软 件设计中其早已得到广泛应用,对于i c 功能验证来说,就是在设计内部的各个信 号状态进行监控。使得验证人员可以方面的找出设计中的缺陷。断言和功能覆盖 率犹如一个硬币的两面。在一个r t l 的设计中,两者都提供了详尽的可观察点。 断言提供了功能正确与否的信息,而功能覆盏率则显示出设计行为的监测。两者 都代表设计的规格,而以仿真或者形式验证的方式来确认1 9 1 业界还有一种比较新的功能验证方法学:基于受限随机矢量生成的功能验证 技术i 删,该方法通过描述约束条件生成验证计划中期望的验证场景,能够根据 d u v 当前的状态动念地产生测试场景,这样就更有可能生成那些很难覆盖的边缘 案例1 1 1 1 。 针对于一些标准的接口如u s b ,p c i 等很多公司都推出了对应的v i p ( v e r i f i c a t i o ni p ) 1 1 2 1 ,比如s y n o p s y s 公司,d e n a l i 公司都提供这些标准接口的v i p 这些v i p 提供出了这些标准接口的总线功能模型,使用v i p 来丌发带有上述标准 接口的i c 产锗,可以大大节约验证时间,也是目前国内外比较流行的功能验证的 一种做法。 业界所使用的验证语言也有很多,比如s y n o p s y s 公司的o p e nv e r al a n g u a g e , s p e c m a ne ,s y s t e mv e r i l o g 等都是业内常用的验证语言1 1 3 l 。他们具有较高的抽象 层次,能够更好的进行行为缴建模。 总之,出于功能验证没有r t l 设计那样有过于严格的编写规范,因此功能验 证的方法是非常丰富的,在此也无法一一列举。本节只是对目i j 国内外比较流行 的验证方法进行说明。 1 3u s b a h b 桥i p 的研究意义 u s b a h b 桥i p 能为多种设备提供u s b 接口功能,可用于速率低、小数据量 的设备,如鼠标、键盘等,也可用于高速率、大数据量的设备,如现今常用的u 盘、摄像头、数码相机、m p 3 、m p 4 等。 本i p 支持a h b 接1 2 1 ,而且对a h b 接l 】加w r a p p e r ( 包裹电路) 后,可以与 其它片上总线连接。因此本i p 适合嵌入到各种s o c 设计中,为s o c 系统提供u s b 2 0 接口功能。 屯子科技人学硕+ 学位论文 1 4 本论文的研究内容以及最终目标 本论文主要对u s b a h b 桥i p 的功能验证进行研究,特别是如何对应用在嵌 入式系统中的i p 进行功能验证进行了研究,从验证方案的制定,验证环境的搭建, 测试向量的提取,以及最后各种覆盖率的检测等方面,都进行的详细的描述。 通过本文介绍的验证方法对u s b a h b 桥i p 进行系统级( s y s t e ml e v e l ) 功能 验证,成功实现了本i p 的u 盘应用,并且本i p 通过了项目委托单位最高验收标 准。u s b - a h b 桥i p 进入该公司的l p 库。 4 第二章u s b 2 0 a h b 桥的功能介蜊 第二章u s b 2 0 一a h b 桥的功能概述 本章对u s b 总线协议和a h b 总线协议做了相应的介绍,同时也对本口的各 个功能做了详细介绍。 2 1u s b 总线协议概述 u s b 2 0 接口是一个传输速率可以达到4 8 0 m b s 的串行接口,并由不同类型的 外围设备共享这个接口总线。一个主机最多可通过u s b 总线控制1 2 7 个外设。u s b 主机是整个总线的主控者,掌握所有的控制权,总线上的通信都是由主机来发起。 主机负责向各个外设发出各种命令和配置。u s b 是基于令牌包的通信协议。主机 在总线上发送含有设备地址和命令的令牌包,这时总线上符合该地址的设备将接 收这个包,并且按照令牌包的内容进行相应的操作。另外主机会定时发送帧丌始 包,将总线时日j 分割为1 2 瓤s 一帧( u s b l 1 为l m s 一帧) 。所有总线上的设备就 会以时间分割的方式来分享总线带1 1 4 l 【1 5 l 。 2 1 1u s b 的电气特性 u s b 总线通过4 线电缆来传输信号,如图2 - 1 所示。其中v b u s 和g n d 是 电源线,d + 和d 是差分信号线。u s b 主机通过v b u s 和g n d 两根电源线提供设 备所需的电流。 台u s d d - g n d 奢c 葛 d + n g n d 图2 _ 1u s b 电缆 u s b 支持热插拔,需要有机制检测u s b 设备的插入和拔出。当主机检测到信 号线上电平升高到一定电平后可判断设备已经连接。当主机检测到信号线上电平 电子科技人学硕十学位论文 都降低到一定电平后可判断设备的移除。u s b 总线的差分信号线以总线的差分状 态表示“1 ”或者“0 ”。采用差分方式可以降低干扰,提高总线速度【1 4 1 1 1 5 l 。 出于u s b 2 0 需要和u s b l 1 互相兼容,并且u s b 总线要求在总线空闲的时候 挂起总线以便于省电。因此u s b 总线定义了总线复位、挂起和恢复协议。用于主 机和设备相互确定双方的运行模式以及如何挂起设备和如何使挂起设备恢复到正 常状念。 2 1 2u $ b 的系统结构 2 1 2 1 总线的拓扑结构 u s b 系统的总线拓扑结构是一个金字塔结构,包括以下三个部分:唯一的u s b 主机、u s b 内连中继器( h u b ) 、u s b 设备。其总线拓扑如图2 2 所示【1 4 l f l 5 1 。 图2 - 2u s b 总线拓扑 2 1 2 2 总线的内部层次 在实际的应用系统中,不同层次的实现者对u s b 有不同要求。u s b 系统的分 层概念能使不同层次的实现者只关心u s b 相关层次的特性功能细节,而不必掌握 从硬件结构到软件系统的所有细节。一个u s b 设备对于u s b 系统来讲就是一系列 端点的集合,多个端点集合组成了接口,多个接口组成了最上层的配置。系统软 件通过u s b 设备的端点0 对系统进行设置,而在最底层,主机和设备通过u s b 总 线电缆进行数据交换 1 4 1 1 1 5 1 。u s b 系统的层次结构如图2 3 所示。其中实线表示 6 第二章u s b 2 m a h b 桥的功能介绍 实际的通信流,虚线表示逻辑通信流。 主机亘连u s a i 备 2 1 3u s b 的传输模式 图2 _ 3u s b 内部层次图 u s b 协议规定了4 种传输模式以适应不同的应用环境,这几种传输方式在数 据格式,总线访问的限制,延时的限制,出错处理等方面都有不同的特征。一次 完整传输包含3 个阶段:设置阶段、数据阶段、状态阶段。但并非所有的传输方 式都包含所有的阶段每个阶段一般由3 个u s b 协议包组成:令牌包、数据包、 握手包。也不是每个阶段都会有完整的3 个包组成。以下为4 种传输方式。 2 1 3 1 控制传输 一种可靠的、非周期性的、由主机软件发起的请求或者回应的传输方式,通 常用于命令事务和状态事务。主机通过端点0 对设备进行配罱部是通过控制传输 来完成。一个控制传输由设置阶段、数据阶段、状态阶段组成。图2 4 是一次控制 写传输。其中数据阶段是可选的,由不同的控制命令决赳1 4 l l l 5 j 。 7 电子科技人学硕十学位论文 图“控制传输 s e t u p s t a g e d a t a s t a g e o p t i o n a l j s t a t u s s t a g e 2 1 3 2 同步传输 一种周期性的、连续的传输方式,通常用于传送与时间相关的信息。这种类 型保留了将时间概念包含于数据中的能力。如影音文件的播放通常通过同步传输 模式。同步传输只有数据阶段,在数据阶段中没有握手包,这和同步传输要求连 续的通信特点是相联系的。图2 5 是一个同步i n 传输【“1 1 1 鄂。 幽2 - 5同步传输 2 1 3 3 块传输 一种非周期性的,大数据量的、可靠的传送方式,用于传送那些可以利用任 何带宽的数据,而且这些数据当没有可用带宽时,可以容忍等待。通常用于对时 自j 没有严格要求的大规模数据传输,如优盘、移动硬盘、刻录机、数码相机等外 设。批量传输只包含数据阶段。图2 - 6 为批量i n 传输。图2 - 7 为批量o u t 输【1 4 1 1 1 5 l 。 8 醉瞽窳瞰“同斟 l亘竺田竺圜一 画蕊一囤 ,;,i_ll-li_i 第二章u s b 2 0 - a h b 桥的功能介绑 图2 - 6块科传输 图2 - 7块o u t 传输 2 1 3 4 中断传输 一种小规模数据的、低速的、固定延迟的传数方式,通常用于鼠标、键盘类 设备。中断传输只包含数据阶段,由主机定时向设备发i n 包束获得设备的中断信 息,从而决定下一步的操作。图2 8 为中断i n 传输1 1 4 】i 埘。 2 2 图2 - 8中断传输 圆 l :芝s ; a m b a ( a d v a n c e d m i e r o c o n t r o l l e rb u sa r c h i t e c t u r e ) 是a r m 公司丌发的片上总 线标准,不仅被用于a r m 的系统中,在其它系统中也得到广泛应用。 a m b a 总线是一个多总线系统,a m b a 2 ,0 于1 9 9 9 年发布。规范定义了三种 可以组合使用的不同类型的总线:a h b ( a d v a n c e dh i g h p e r f o r m a n c eb u s ) 系统总线, a s b ( a d v a n c e ds y s t e mb u s ) ,a p b ( a d v a n c e dp e r i p h e r a lb u s l 外围总线。a p b 外围 9 圆圆画团 电子科技人学硕+ 学位论文 总线通过桥与a i i b ! a s b 系统总线相连,它有助于降低系统功耗和设计复杂性。此 外,a m b a 总线支持静念时序分析及友好的测试插入。a h b 是a m b a 中的高速 总线部分,一般实现处理器与高速设备之间的通信,适用于高性能、高时钟频率 系统1 1 6 l 。 2 2 2a h b 总线结构 a h b 整体结构简图参见图2 - 9 。其主要的组成部分及其作用如下1 1 q : 圈2 - 9a h b 总线结构 2 2 - 2 1 总线主设备 m a s t e r 是系统中发起数据传输的设备,可以初始化读和写。只有主设备允许 在任意时刻使用总线。a h b 可以有一个或者多个主设备。主设备可以是r i s c 处 理器、d s p 以及d m a 控制器等,只要是可以启动和控制总线操作的部分。 主设备在功能上可以分为两个部分:主设备功能部分和a h b 接口逻辑部分 【l 们。 2 2 2 2 总线从设备 l o 第二章u s b 2 0 a h b 桥的功能介幺f s l a v e 负责响应主设备的传输请求,并与主设备配合共同实现数据传输。从设 备通常是复杂程度小足以成为主设备的固定功能块,例如外存接口、总线桥接口 以及任何内存都可以是从设备,系统的其他外设也包含在a h b 的从设备中。 从设备向主设备发出的反馈信号有:成功、失败、等待和s p l i t 等a h b 从设 备支持s p l i t 操作,但并不规定每一个从设备必须支持s p l i t 操作【埘。 2 2 2 3 总线仲裁器 a r b i t e r 在多个主设备的系统中负责总线仲裁,保证在任何时候只有一个主设 备可以启动数据传输。a h b 采用集中控制方式,每个主设备与总线仲裁器之间都 有独立请求与应答信号。a h b 最多支持1 6 个总线主设备。当总线空闲的时候,总 线使用权被授予默认的主设备。此时该默认的总线主设备负责向总线发出i d l e 传 输。a r b i t e r 还负责给出总线多路转换器的控制信号、对s p l i t 操作的支持等。 a h b 没有规定具体的总线优先算法。一般来说对于一个特定的系统仲裁协议 都是固定好的,例如固定优先级算法和循环优先级算法,用户可以根据实际的情 况选择适当的仲裁协议1 1 6 l 。 2 2 2 4 中央译码器 d e c o d e r 负责实现系统的地址映射意图,d e c o d e r 通过地址信号的译码产生从 设备的选择信号,并负责总线多路器控制。没有任何从设备被选定时,默认的从 设备发出o k a y 应答1 1 6 i 。 2 3u s b 2 0 _ a h b 桥的功能概述 2 3 1u s b 2 0 - a h b 功能总表瞄1 1 2 6 1 支持u s b 2 0 协议,同时兼释u s b l 1 协议; 支持高速传输( 4 8 0 m b p s ) 、全速传输( 1 2 m b p s ) ,不支持低速传输 ( 1 5 m b p s ) ; 支持控制传输、块传输、同步传输,不支持中断传输; 支持同步商带宽传输和高速p i n g 事务处理; 支持u s b 总线复位和高速检测握手; 支持u s b 总线挂起,主机端唤醒和设备远程唤醒; 支持信息包的错误控制机制; 电子科技人学硕十学位论文 内置4 4 8 0 b y t ed p r a m 存储器,提供除端点0 以外的6 个端点; 提供8 位u s b2 0 u t m i 接口,以和u s b 2 0 p h y 芯片配合使用,提供u l p i 接口; 支持a m b a r e v2 0 中规定的a h b 总线协议 a h b 端时钟为3 0 m h z1 3 3 m h z 支持a m b a r e v2 0 中规定的a h b 总线协议 a h b 端时钟为3 0 m h z1 3 3 m h z 提供一个a h bm a s t e r 接口,会发出i d l e ,n o n s e q 和s e q 这三种传输 类型 a h bm a s t e r 接口,会发出3 2 b i t s 的i n c r 、i n c r 4 、i n c r 8 、i n c r l 6 ,和 8 、1 6 b i t s 的s i n g l e 传输,不支持发起w r a p 4 、w r a p 8 和w r a p l 6 这 三种突发传输方式 a h bm a s t e r 接口支持a h bs l a v e 做出的o k a y 和e r r o r 响应,不支持 s p l i t 和r e t r y 响应。 提供一个a h bs l a v e 接口,支持i d l e 、b u s y 、n o n s e q 和s e q 这四种 传输类型。只接收3 2 b i t s 的s i n g l e 、i n c r 、i n c r 4 、i n c r 8 、i n c r l 6 这五种突发传输方式。 a h bs l a v e 接口可做出o k a y 、e r r o r 响应,不发出r e t r y 、s p l i t 响 应。 a h b 地址线宽3 2 位。地址和数据总线都使用l i t t l ee n d i a n n e s s a h bm a s t e r 不需要l o c k 功能 a h b 端提供一个全局异步复位端口; a h bm a s t e r 含d m a 控制器,可配置为多个事务的d m a 后发一次d m a 结束中断; a h bs l a v e 含d m a 申请功能,可申请a h b 总线上的外部d m a 控制器发 起d m a 传输。 外部m a s t e r 可通过s l a v e 接口访问本l p 内部寄存器及端点缓冲区;每个 端点缓冲在a h b 端各自有一个固定a h b 地址,m 每个内部寄存器都有 一个单独的a h b 地址。 s i e 端为6 0 m 时钟域,a h b 端为3 0 m - - 1 3 3 m 时钟域,两个时钟域无固 定的频率及相位关系; 端点o 只能是全速高速的控制端点,只能用非d m a 方式传输数掘;端点 第二二章u s b 2 0 - a h b 桥的功能介钌 1 、2 支持全速,高速块端点;端点3 - 6 支持全速高速的块和同步端点。端 点1 - 6 都支持m a s t e rd m a ,s l a v ed m a 和非d m a 方式传输。 2 3 2 详细功能列表 2 3 2 1 总线复位 如果u s b 设备处于挂起状态,在其检测到s e 0 信号并至少持续2 s u s 后,将 开始高速检测握手:如果u s b 设备处于全速状态,在其检测到s e 0 信号并至少持 续2 s u s ,但不超过3 0 m s 的时间内丌始高速检测握手:设备在高速状态下,在其 空闲至少3 0 m s 但不超过3 1 2 5 m s 时间内进入全速状态。在其回到全速状态后的 1 0 陬s 8 7 舡s 时间内,开始采集u s b 总线状态,如检测到复位信号( s e 0 ) ,开始 高速检测握手,以完成复位i l - q 。 2 3 2 2 总线挂起 在全速状态下,在检测到j 状态3 m s 后预挂起,1 0 m s 后完全挂起;在高速状 态下,检测到s e 0 至少3 m s 后,s i e 把u t m 置为全速,s i e 在检测到j 状态后进 入挂起状态【1 饥。 2 3 2 3 总线恢复 主机唤醒时,s i e 在检测到s e 0 状态的1 3 3 s 内返回到挂起前的状态;远程 唤醒时,设备在总线空闲后5 m s 后,才可发出恢复信号,发送的恢复信号至少保 持l m s ,至多1 5 m s 。 2 3 2 4 控制传输 建立阶段设备j 下确接收s e l l i j p + d a t a 0 包后返回a c k ,错误不予应答;数据 阶段遵从数掘触发机制;状态阶段使用d a t a l 包,传输方向与数据阶段相反,如 果无数据阶段,则状念阶段数据方向为i n 方向。 2 3 2 5 块传输 块传输遵从数据触发机制,高速时遵从p i n g 事务处理。 2 3 2 6 同步传输 同步传输无握手包,高带宽同步传输遵从高带宽数据触发机制。 2 3 2 7 信息包错误 屯子科技人学硕十学位论文 支持p i d 错误检测,端点、地址错误,c r c 5 ,c r c l 6 错误捡测。 2 3 2 8 总线超时 对于全速事务处理,设备在判定其信息包发生超时错误前至少等待1 6 个全速 位时日j ,但不能超过1 8 个全速位时间,对于高速事务设备在判定其发生超时错误 前设备必须至少等待7 3 6 个高速位时间,但不能超过8 1 6 个高速位时自j 。 2 3 2 9 端点配置 端点0 缓冲区为6 4 b y t e s ,端点1 、2 缓冲区各为1 2 8 b y t e s ;端点3 到6 缓冲区 各为1 0 2 4 b y t e s , 端点0 只有一个缓冲区,端点1 到6 都有各自相等两个缓冲区, 采用乒乓机制;端点3 、4 可分别配置为2 0 4 8 b y t e s ,此时端点3 占用端点5 的缓冲 区,端点4 占用端点6 的缓冲区,需将端点5 、6 置位无效;端点0 、1 、2 最大包 长度是6 4 b y t c s ,端点没合并前,端点3 到6 最大包长度是5 1 2 1 y t e s ,端点合并后 端点3 ,4 最大包长度是1 0 2 4 b y t e s ,端点5 、6 无效;端点0 是控制端点,端点1 到6 可配罱为块或同步端点; 2 3 2 1 0u t m i 接口 f p g a 支持8 位双向数据接口,r t l 支持8 位单向接口。 2 3 2 1 1a h bm a s t e r 数据传输 a r m 配置s i e 和m a s t e r 的寄存器后,可使用m a s t e r 内的d m a c 在a h b 总 线上进行d m a 传输。 广一一一一一一一一一一一一一一一一一一 f p g ai _ l 一一一一一一一一一一一一一一一! 数据通路 幽2 1 0a h bm a s t e r 数据传输 2 3 2 1 2a h bs i a v e 数据传输 1 4 第二章u s b 2 0 - a h b 桥的功能介绍 a r m 配置s i e 和m a s t e r 的寄存器后,可由s l a v e 申请外部d m a 进行d m a 传输,也可由外部m a s t e r 通过s l a v e 读写本i p 内寄存器和端点数据。 r 一一一一一一一一一一一一一一一一一一 lf p g a l 一一一一一一一一一一一一一一一! 数据通路 图2 - 1 1a h bs l a v e 数据传输 2 3 2 1 3a f i bs l a v e 配置传输 外部m a s t e r ( 如a r m ) 可通过s l a v e 访问i p 内部所有寄存器。 l l - 一一一一一一一一一一一一一一一一一一1 豳2 - 1 2a h bs l a v e 配置传输 2 4 本章小结 本章着重介绍了u s b 总线协议和a h b 总线协议,以及本m 的功能特点,后 续几章会根据本章介绍的总线协议以及本i p 的功能特点来介绍整个验证平台的设 计。 屯子科技人学硕十学位论文 第三章i c 设计的功能验证技术介绍 本章主要介绍了i c 设计的功能验证中的一些基本方法,基本流程,以及功能 验证中所会用到的相应工具。 3 1 功能验证方法介绍 功能验证可以通过一下三种方法实现:黑盒法、白盒法和灰盒法。 3 1 1 黑盒验证 黑盒验证不能检查或了解设计的内部。采用黑盒法进行功能验证时不用关系 设计是如何实现的,所有的验证都可以通过接口完成,无需直接访问设计的内部 状态,也不需要了解设计的内部结构和实现方法。这种方法显然缺乏对设计的可 控性和可观察性,很难设置一种状态或隔离某种功能。黑盒法很难观测和输入相 对应的输出,也很难对故障源定位,尤其是在故障的产生时刻和它在设计的输出 端表现出来的时刻之间具有较长的延时,更加难以定位。 黑盒验证方法的有点是它不依赖于任何特定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论