




已阅读5页,还剩54页未读, 继续免费阅读
(计算机软件与理论专业论文)amba总线测试平台的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着集成电路的复杂程度越来越高,系统芯片以及i p 技术逐渐成为当今芯 片设计技术发展的必然趋势。芯片验证也随之成为当前研究的热点,其大约占整 个芯片设计工作量的4 0 7 0 。随着系统芯片中重用的i p 模块越来越多,如何 快速有效地建立测试平台,完成验证工作,成为当今i c 设计验证领域中的重要研 究方向之一。 本课题是国家高技术研究发展计划项目( 8 6 3 计划) “家庭网络核心s o c 平 台和整体解决方案”( 项目编号2 0 0 3 a a l z l l l 0 ) 的一个子课题。本课题在对家 庭网络核心s o c 平台以及当今的s o c 验证方法学的深入研究的基础上,提出一套 适合家庭网络核心s o c ( s y s t e mo nc h i p ) 平台的功能验证方案。依据方案完成对 a h b 总线的功能验证,包括制订验证计划,建立测试平台,以及开发测试激励。 本文中的测试平台综合使用基于编程语言接口和基于事务生成测试平台的方法, 并依据建立的事务库,完成了测试激励的设计工作,验证的功能覆盖率和代码覆 盖率都达到了满意的指标。同时在集成测试中,完成了v g a 控制器1 p 核与a h b 总线的互连,并依托测试平台对v g a 控制器i p 核的从设备接口进行了验证。 最后对本课题的工作进行了总结,并对今后研究工作进行了展望。 关键字:片上系统;a h b 总线;v g a 控制器;验证;基于事务 的验证 a b s t r a c t w i t ht h e r a p i dd e v e l o p m e n to ff a b r i c a t i o nt e c h n o l o g y i n i n t e g r a t e dc i r c u i t , s y s t e m 。o n c h i ph a sb e c o m eo n eo ft h em o s ti m p o r t a n tt e c h n o l o g i e s t h i st e c h n o l o g y c a ni m p r o v ee f f i c i e n c y ,b u ti ta l s om a k e ss e r i o u sv e r i f i c a t i o np r o b l e m v e r i f i c a t i o no f s y s t e m o n - c h i ph a sb e c o m et h eb o t t l e n e c ka n da l m o s tc o s t4 0 - 7 0 t i m ea n de f f o r t i nt h ei n t e g r a t e dc i r c u i t a l o n gw i t ht h en u m b e ro ft h ei n t e l l e c t u a lp r o p e r t yr e u s e b a s e d d e s i g n sr a i s e de v e r yy e a lh o wt oi m p l e m e n tt h ev e r i f i c a t i o np l a t f o r mt oa c h i e v et h e s u c c e s so fv e r i f i c a t i o nq u i c k l ya n de f f i c i e n t l yi so n eo ft h eh o tp o i n t si hi cd e s i g na n d v e r i f i c a t i o nf i e l d s t h i sr e s e a r c hi sas u b p r o j e c to ft h ep r o j e c t t h es o cp l a t f o r mo fh o m en e t w o r k i n g c e n t e r ,s p o n s o r e db yt h e 8 6 3p l a n ( n o 2 0 0 3 a a i z l l l o ) t h es t u d yi so n v e r i f i c a t i o nt e c h n o l o g ya n dp r o p o s eo fv e r i f i c a t i o nf r a m e w o r kf o rs o cp l a t f o r mo f h o m en e t w o r k i n gc e n t e r a c c o r d i n gt ot h ef r a m e w o r k ,t h er e s e a r c hi m p l e m e n tt h e f u n c t i o n a lv e r i f i c a t i o no fa h b m o d e l ,i n c l u d i n gd e s i g nt h et c s t c a s ea n db u i l dt e s t b e n c h t h i s p a p e rs y n t h e t i c a l l y u s et e s t b e n c h d e s i g n m e t h o d ss u c ha s t r a n s a c t i o n - b a s e dt e s t b e n c ha n dt e s t b e n c hi np l i ( p r o g r a m m a b l el a n g u a g ei n t e r f a c e ) t ob u i l dt h et e s t b e n c ho fa t i b t h ef u n c t i o nc o v e r a g ea n dc o d ec o v e r a g er e a c ht h e s a t i s f i e dl e v e l t h ed i s s e r t a t i o na l s oi n t r o d u c e st h es c h e m eo fc o n n e c t i o nb e t w e e n a h ba n dv g a ( v i d e o g r a p h i ca r r a y ) c o n t r o l l e ri pc o r ea n dt i r ev e r i f i c a t i o np r o c e s s o fa h bi n t e r f a c eo fv g ac o n t r o l l e ri pc o r eb a s e do nt h et e s t b e n c ht h a td e s i g n e df o r t h eb u k l si p a tl a s t ,t h i sp a p e rs u m m a r i z e st h er e s e a r c hw o r ki nt h i sp a p e ra n da n a l y z e st h e p r o b l e m sa m o n g t h ew o r ku n s o l v e da n dt h es t u d y p r o s p e c ti sd i s c u s s e d k e yw o r d s :s o c ;a h b ;v g ac o n t r o l l e r ;v e r i f i c a t i o n ;t b v 第一章引言 1 1 研究背景与意义 第一章引言 本课题来源于国家8 6 3 项目“家庭网络核心s o c ( s y s t e mo nc h i p ) 平台解决 方案”。家庭网络( h o m en e t w o r k i n g ) 是信息社会的基本单元,家庭网络技术是 处理、管理、传输以及存储信息实现家庭中多种计算、控制、监控和通信设备连 接与集成的要素集合。家庭网络核心s o c 平台实现的主要目标是在单芯片上集成 家庭网关的功能,实现对家庭网络通信的集中控制。 家庭网络核心s o c 平台设计过程中,1 p ( i n t e l l e c t u a lp r o p e r t y ) 是构成s o c 平台 的基础,其作用是把一组拥有知识产权的电路设计集合在一起,构成芯片的基本 单位,以供设计时搭积木之用。由于i p 核的设计千差万别,i p 核的高效的互联 与通信就成为构造s o c 系统的关键。而片上总线( o n c h i pb u s ,o c b ) 是实现 s o c 中i p 核连接最常见的技术手段,它通过总线的方式实现系统部件之间的信 息通信,是基于i p 技术的s o c 设计的一个关键技术。本课题组选择a r m 公司的 a m b a 总线作为家庭网络核心s o c 平台的片上总线,经过一年多的努力已经完成 了基于a m b a 总线规范的a i i b 总线i p 的设计。 通常一个s o c 芯片的规模在几百万门至几千万门左右,面对这么高的复杂 度,验证成为芯片设计中最困难、最具挑战性的课题之一。统计表明,在中等规 模或大规模的集成电路设计中,验证工作约占总开发工作量的4 0 一7 0 ,甚至更 多,而造成首次流片不通过的原因中,有7 0 是在验证阶段没有发现功能缺陷导 致的。随着s o c 设计规模和复杂度的不断增加,以及产品开发周期、面市时间的 不断缩短,验证,尤其是功能验i t ( f u n c t i o n a lv e r i f i c a t i o n ) 正日益成为电子产品设 计和y l :发的“瓶颈”。s o c 验证研究领域在验证技术、验证方法学、测试码提取、 验证描述语言、i p 核重用验证、验证流程及验证评估方面取得了长足进步。但 总体而言验证技术已经落后于设计和制造能力。 同时,国内芯片业界验证: 具主要依赖国外,并且价格昂贵,虽然有大量验 证工具,但是往往针对某一特定领域,因此很难完成全面验证的目的。再者部分 验证人员过分追求验证的准确率,而使验证过程中出现了重复验证,增加了i c 设计的周期,虽然保证了产品的质量,但是大大延缓了产品面世的时问。基于以 上考虑,本文将对现有的验证方法学与验证技术进行研究,从而着眼于现有工具, 以a 1 i b 总线仲裁解码器作为验证对象,建立了一套行之有效的功能验证流程, 青岛大学硕士论文 同时依据验证流程,开发和设计测试平台和测试激励。并依托针对总线模块设计 的测试平台,研究如何完成对其它i p 模块的总线协议接口的验证,从而加快i p 核的集成过程。 1 2 国内外研究动态 1 2 1 国外s o c 产业的发展状况 在国外,i p 专营公司日见增多。目前自主开发和经营i p 核的公司有英国的 a r m ( a d v a n c e dr i s cm a c h i n e ) 、a m p h i o n 以及美国的d e s o c 等。以a 1 w 公司 为例,从1 9 8 5 年设计开发出第一块t i s c 处理器i p 模块,到1 9 9 0 年首次将其 i p 专利权转让给a p p l e 公司,一直到2 0 0 0 年全球共有睹如l b m 、t i 、p h i l i p s 、 n e c 、s o n y 等几十家公司采用其i p 核开发自己的产品,只用了不到1 5 年的时问。 据c a h n e r si n s t a t 机构的报告,2 0 0 0 年全球s o c 芯片的市场销售量已经达 到4 亿块,比1 9 9 9 年增长3 1 。未来几年,s o c 芯片的市场前景将更加广阔。s o c 将成为集成电路产业发展的大趋势,其市场平均年增长率将超过3 0 。预计到 2 0 0 5 年,全球s o c 市场的销售量将达到1 4 亿块。2 0 0 0 年,全球i p 设计公司的 营收合计为6 9 亿美元,较1 9 9 9 年增长4 0 ,其中前三大厂商为a i m ,i i p s 及 r a m b u s ,其市场占有率分别为1 6 6 、1 3 3 和1 0 5 。预计今后几年,世界i p 市场的销售额仍将保持每年4 0 左右的增长速度。到2 0 0 5 年世界i p 市场的规模 将达到3 6 5 亿美元o ”“。 1 2 2 国内s o c 产业的发展状况 目前国内总体来说在i p 的开发和应用方面做的不够。但是,近年来我国也 已经在i p 产业上有了很大的动作。科技部于2 0 0 0 年启动了”十五”固家8 6 3 计划 超大规模集成电路s o c 专项工作。希望通过这一努力,初步建成具有自主知识产 权、品种较为齐全和管理科学的国家级i p 核库;并掌握国际水平的s o c 软硬件 协同设计、i p 核复用和超深亚微米集成电路设汁的关键技术。 2 0 0 5 年初在上海召开的s e m i c o nc h i n a2 0 0 5 上,信息产业部软件与集成 电路促进中心( c s i p ) 联合集成电路产业链上各个环节的合作伙伴,以“i p 从标 准开始”为主题,共同参加了此次展会。未来一两年内,知识产权( i p ) 标准的完 善、推广,以及建立一个i p 开发的标准流程,将成为c s i p 的工作重点。 c s i p 已经初步建成国家i p 核库,提供i p 检索、i p 质量评测及论坛等服务, 营造了国内集成电路设计企业使用i p 的基本服务环境。目前c s i p 国家i p 核库 第一章引言 已经发展会员3 0 多家,与2 6 家i p 供应商签订了合作协议,共收集了1 9 大类 1 0 0 0 多个i p 、超过9 0 0 个标准单元库的i p 模块“邶3 。 1 2 38 0 c 和验证的挑战 目前集成电路的设计能力和工具能力远远落后于半导体工艺的发展。从图 1 1 可以看到,在过去的两个十年中,加工技术以平均年递增5 8 的速度发展, 而设计能力的发展速度只有2 1 。加之s o c 的设计非常复杂,需要投入大量的人 力和物力,单独的一个公司几乎不可能拥有足够的工程资源和经费来进行整个芯 片的开发。没计能力和工艺水平之间的矛盾成为s o c 发展过程中一个非常突出的 推动因素。 燕 牡 蛙 咯 g 止 均 七 :噩_ 5 8 年; 觥规模 一 j 2 1 卑 z o 一, z 嫩计澉翠增长 i p 设计 复用 年份 g 器豁赛器g 鲁誉譬器g 罟吕吕罢 暑置詈署署暑暑署霉当昌岛昌昌暑 图1 1 制造技术与设计技术的鸿沟 s o c 设计技术的运用和推广可以极大地降低整个系统的开发费用,同时在原 有芯片的基础上增加更多功能,提高产品性能。尤其在消费类电子产品中,s o c 大大地缩短了产品的面市时f s j ( r r m ,t i m e t o m a r k e t ) 。因此,它将是集成电路产 业未来总的发展趋势。 s o c 设计中需要集成大量的i p 核,由于i p 经常是来自于第三方,出于知识产 权保护的需要,第三方希望提供给使用方的是一个“黑盒”而使用方由于接1 :3 的 问题,不能直接使用i p ,甚至需要对i p 核进行部分修改才能适合具体s o c 的要求, 从而使得验证更加困难。因此i p 核协同验证成为i p 核验证中的一个难点。i p 提供 商所提供的测试向量和验证环境很难重用在多个i p 核| 办同验证的环境下。供应商 有时不提供i p 核的r t l 描述,只是给出行为级描述和接口时序文档。这就要求我 们能提供一个系统的验证环境来解决多个i p 核协同验证的问题。如果每一次系统 级验证都要重新搭建验证环境、编写验证代码,从时间上和人力上都是无法接受 舢 :量 加 , 咐 眦 肌 0 o 青岛大学硕士论文 的。如何构建一种更快更好的设计验证方法学是当前s o c 业界所关注的问题。 1 3 本文技术路线 本文中的验证思想是,使用基于事务的验证方法学完成对a h b 总线的验证, 并以功能覆盖率和代码覆盖率作为评估验证的标准。测试平台的建立过程中,使 用高级语言建立事务库,利用开发出的事务函数完成测试激励的设计,从而方便 从更高的抽象层次完成对测试激励的设计。验证过程中具体技术如下: 1 3 1 基于事务的验证( t b v ) 基于事务的验证( t b v ;t r a n s a c i i o nb a s e dv e r i f i c a t i o n ) 是基于仿真的验证技术 发展过程中的一一个必然阶段,也是验证重用的基础和前提。t b v 通过在验证过程 中引入事务的概念,将引脚( 信号) 级提升到一个高的抽象层次,从而方便了测试 平台的开发和重用;有助于仿真运行的调试( d e b u g ) 和覆盖率分析,使得验证工 程师的工作效率得到极大的提高。t b v 在】9 9 8 年首次提出,并迅速在集成电路 功能验证中得到了广泛的应用。所谓事务( t r a n s a c t i o n ) 是指,在模块的接口上一 次性完成的一组操作或信号变化序列。在一个抽象概念上包括信号的变化,数据 的处理、传输,系统的状态等。事务可以通过它的开始时间、结束时问和属性( 包 括数据变化与流向、控制信号的动作以及其他一切相关的信息) 来描述。事务的 概念很宽,可以简单到存储器渎,或者复杂到通讯通道内整个数据包的传输。事 务级( 7 r a n s a c t jo nl e v e l ) “”“2 1 是设计体系结构所处的抽象层次,也是可以有效 验证设计的层次。 在传统功能验证过程中,信号级激励的编写始终面对的是0 和1 ,t b v 方法 学允许设计者以更直观的方法开发测试激励。通过将抽象层次从信号提升到事 务,验证工程师就很容易编写测试激励、调试仿真,并分析验证覆盖率。这种支 持对约束随机测试模式尤其有用,它确保了随机激励生成器确实产生了模拟各种 可能情况的测试激励。 1 3 2 代码和功能覆盖率为导向 覆盖率表示一个设计的验证进行到什么程度,也是一个决定功能验证是否完 成的重要量化标准之一。覆盖主要指的是代码覆盖( c o d ec o v e r a g e ) 和功能覆 盖( f u n c t i o n a lc o v e r a g e ) 。代码覆盖可以在仿真时由仿真器进行计算,主要用来 检查r t l 代码哪些没有被执行到。使用代码覆盖可以有效地找出冗余代码,但是 并不能很方便地找出功能上的缺陷,由于硬件结构是由v h d l 代码综合而成的, 因此我们认为能够达到高面积的代码覆盖,也就可以完成较高规模的功能覆盖。 第一章引言 代码覆盖可以体现验证工作的彻底程度。代码覆盖率较低表明验证工作尚未完 成,但代码覆盖率较高并不就表明验证工作已经完成。有些测试平台生成工具能 够产生一些激发信号,使得代码中未被覆盖的部分也能执行,其实这只是片面强 调覆盖率,盲i i 追求1 0 0 覆盖。这些附加的测试平台的作用只是使代码得以执 行,但并不能说明其功能是否正确。 在对a h b 总线模块的验证过程中,我们以代码和功能覆盖率为评判标准, 使用事务级的测试向量对总线模块进行功能验证。本测试平台模拟了a m b a 总线 在实际工作环境下,可能出现的事务类型,因此能够有针对性的验证总线模块的 功能状况,测试激励的产生也就更具说服力。在达到功能的完全覆盖以后,我们 将对代码进行代码覆盖率分析,以判断验证是否成功。 1 4 本文完成的目标与内容 本文的主要工作是研究s o c 验证方法学,特别是对功能验证中的各项技术进 行研究,阐述功能验证内容、功能验证方法学,测试平台的建立方法。并研究探 索出一套适合家庭网络核心s o c 平台的功能验证流程。针对已有的a h b 总线仲裁 解码器( a r b i t e r d e c o d e r ) 模块建立测试平台,完成了包括验证计划的编写,测 试平台的建立,测试激励的开发等设计内容。具体如下: 深入研究a m b a 总线协议,重点描述了a h b 总线的结构,传输属性,总线仲 裁方式及其设计,以及对于,a i - i b 总线仲裁器解码器的r t l 代码的深入分析。 讨论了s o c 的发计t 和验证方面的关键技术。分析了s o c 的设计和验证的挑战, i p 核集成和验证技术,并且着重论述i p 验证的流程,以及验证计划的制定,测 试平台的建立方法,回归测试等内容。 完成对总线模块的功能验证,工作内容包括验证计划的制订,测试平台的建 立,测试激励的开发,以及对代码行覆盖率的评估。 对测试平台的重用进行研究,依托测试平台,实现v g a 控制器i p 核与总线 的互连,并且完成了对v g a 控制器i p 核的总线协议接口的验证。 青岛大学硕士论文 第二章a m b a 总线研究 a m b a 协议为多层总线结构,目前包括四种不同的总线a s b ( a d v a n c e d s y s t e mb u s ) 、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 p b ( a d v a n c e dp e r i p h e r a l b u s ) 、a x i ( a d v a n c e de x t e n s i b l ei n t e r f a c e ) 。本文的验证对象是基于a h b 总线协 议的总线模块,因此在本章主要对a h b 总线协议研究状况和r r l l 代码的设计过程 进行介绍。 2 1a m b a 概述 a m b a 协议为多层总线结构,目前包括四种不同的总线a s b ( a d v a n c e d s y s t e mb u s ) 、a h b ( a d v a n c e dh l i g h - p e r f o r m a n c eb u s ) 、a p b r a d v a n c e dp e r i p h e r a l b u s ) 、a x i ( a d v a n c e de x t e n s i b l ei n t e r f a c e ) 。 图2 】是典型的基于a m b a 总线的微控制器系统,其中高性能系统骨干总线a h b 用以支持高带宽外部存储器、c p u 与其他高速设备如d m a 设备等,并通过界桥与 a p b 总线上的外部低速部件连接“。 高举晓, 挪 本嚣接口 高性能 ll 高性能 兰型芒望量ll 堕圭坠翌in 丽e x 。1 。一。一 iu l1 争| | p 蹦a 谗缝 堑趁国l 黪 嵯 敬h 翳宝她p b _ 目b a s 强到a 擎l 糖 图2 1 典型的a 船a 系统 最早作为系统总线出现的a s b 总线是三态总线,在目前的嵌入式系统设 计中逐渐被a h b 总线所代替。 a h b 的推出是为了满足高性能综合设计的需要,它是一种支持多总线主 控单元并提供高带宽操作的高性能系统总线,它是目前a m l 3 a 总线协议 主要的使用形式。 a p b 总线用于连接外围低速设备,并通过b r i d g e 与系统总线相连以有效 减少系统总线负载,其中b r i d g e 是a p b 总线上唯一的主控设备,可以对 亍囤 第二章a m b a 总线研究 a p b 总线上的从属设备进行定址访问。a p b 是外设连接总线。它的着重点是 低功耗和易于使用。 2 2a h b 总线互连设计 a m b aa h b 总线的设计使用中央多路复用器作为互连方案使用这种方案, 所有的总线主控设备驱动地址与控制信号以请求总线控制权,通过仲裁器来决 定哪个主控将其地址与控制信号广播到所有的从属单元。在这里需要中央解码 器来控制读取的数据并响应信号复用器,复用器从传输相关的从属中选择合适 的信号返回给主控单元,使其能够控制下一步传输的进行。a m b aa h b 作为高性 能、高时钟频率系统总线支持以下特征“。: 支持迸发传输; 支持s p l i t 传输; o 单周期总线控制权的转移; 单时钟边沿操作; o 非三态总线操作: o 可扩展的数据总线宽度( 6 4 1 2 8b i t s ) 。 图2 2 是一个实现3 个主控和4 个从属的a m b aa h b 设计结构示例: 图2 2a h b 多路互连结构 青岛大学硕士论文 2 3a h b 仲裁器 仲裁机制用来确保任何时候只有一个主控设备获得总线的访问权。仲裁器 是通过观察多个主控设备的总线请求,确定当前请求总线的优先级最高的主控 设备,来获得总线控制权。仲裁器还接收从属单元对完成分割( s p l i t ) 传输的请 求。任何不能执行分割( s p l i t ) 传输的从属单元不需要知道仲裁过程,除非它们 需要知道,如果总线的所有权发生改变,迸发传输可能不能完成。 典型的总线优先级仲裁算法通常有两种:固定优先级算法和循环优先级算 法。所谓固定优先级算法,就是指a i | b 总线中各主设备的优先级是事先确定好 的,在仲裁器仲裁过程中固定不变;而循环优先级算法则不同,各主控器的优 先级在仲裁器的仲裁过程中不是一成不变,而是根据一定规律发生变化的。a 1 i b 仲裁信号描述如表2 1 所示。 表2 1a h b 仲裁信号 仲裁信号 l _ i b u s r e q x 简要描述 总线请求信号由总线主控器用米请求访问总线每个总线主控器都有自己 的1 i b u s r e q x 信号。系统中最多可有1 6 个分割的总线主控器。 上锁信号由主控设备在总线淆求信号的同叫断言。该信号向仲裁器指示, 主控改备正在执行多个不可分割的传输,旦第一个上锁的传输启动了, 仲裁器不能够再授权任何其它的总线主控防问总线。 授权信号l i l y z 裁器发山,指示当前请求总线的优先权最高的主控设备, 也把上锁的传输和分割传输考虑在内了。当h g r a n t x 为高电平( h i g h ) , h r e a d y 在 - c l k 的上升沿为高电平( h i g h ) 时,主控设备获得地址总线的 所有权。 仲裁器使用f m a s t e r 3 :0 信号指示当前哪个主控改各获得了授权访问 总线,这可用来控制中央地址和多路复州器。支持s p l i t 的从属单元要 求主控设备的编号,以能够向仲裁器指示哪个主控设备能够完成分割传 输。 通过断言i i m a s t o c k 信号,仲裁器指示当前的传输是一个上锁序列| j j 一 部分。i i m a s t i o c k 信号与地址信号和控制信号有相同的时序。 1 6 位的分割完成总线( s p l i tc o m p l e t eb u s ) ,由支持s p l i t 的从属单元 用来指示哪个总线主控器能够完成s p l i t 事务。仲裁器根据这些信息授 权主控殴备访问总线以完成传输。 第二章a i _ i b a 总线研究 2 3 1 请求总线访问 总线主控使用h b u s r e q x 信号请求访问总线,可以在任意周期请求总线。仲 裁器在时钟上升沿对总线请求信号进行采样,然后使用内部的优先级算法确定 哪一个主控设备会下一个获得总线的访问权。 仲裁器通常只会在迸发传输完成时将总线授权给其他的总线主控。但是如 果特别要求,仲裁器能够提前终止迸发传输,以允许一个优先权更高的主控设 备访问总线。如果主控设备要求上锁的访问,则它还必须提供h l o c k x 信号向仲 裁器指示,其它的主控设备不能获得授权。 当一个主控设备得到授权总线,而证在执行一个固定长度的迸发传输时, 为了完成迸发传输,就没有必要继续请求总线。仲裁器观察迸发传输的进展, 使用h b u r s t 2 :0 信号确定该主控漫备要求了多少个传输。如果该主控设备希 望在当前的迸发传输之后另外执行一次迸发传输,就应当在当前进发传输期问 重新发出淆求信号。 2 3 2 授权总线访问 仲裁器发出相应的h g r a n t x 信号,指示当前哪个发出请求总线主控具有最 高优先权。i i r e a d y 为高电平( h i g h ) 指示当前传输完成时,主控设备会获得授权, 仲裁器会改变h m a s t e r 3 :0 信号来指示总线主控器的编码。 1 11 1 3 1 4 1 6 ”碡1 , 厂 n , 。 xx xf x 州 fx 删 1 1 yx lx f x i x一-“r j j 一 ni | 翁 “ 嚣l ! r_ i r:。:、x :、j h i。0 k1 弼 图2 3 数据总线控制权的转换 数据总线的所有权延迟于地址总线的所有权。无论何时由l i r e a d y 为高电平 指示个传输结束的时候,拥有地址总线的主控设备就能够使用数据总线,而 且可以拥有数据总线直到传输结束。图2 4 说明了数据总线的所有权是如何在 两个总线主控之间移交的。 = = 罴罴 帖 惦 盹 n 岫 青岛大学硕士论文 图2 + 4 总线授权信号 在a m b a 系统中,仲裁器扮演的角色是控制哪个主控来对总线进行访问。每 个总线主控都有一个到仲裁器的r e q u e s t g r a n t 接口,仲裁器使用一个优先级 方案来决定申请总线的主控现在具有最高的优先级。 2 4a h b 操作概述 在a m b aa i i b 传输开始之前,总线主控必须被授权总线访问权以便能够对总 线进行访问。这个过程开始于主控向仲裁器发出请求信号,然后仲裁器指示何 时总线将被授权访问总线;得到总线授权的主控启动a m b a a h b 传输,通过驱动 地址和控制信号可以向总线提供传输的相关地址、方向及控制信息,也可以指 示传输是否为迸发组成的部分。 a h b 总线支持两种形式的迸发传输:增量迸发,每次传输地址边界不重叠; 重叠迸发,每次传输地址边界重叠。数据从主控传输到从属称为对总线写数据, 同样数据从从属传输到主控称为读总线数据:每次传输包括:一个地址与控制 周期以及一个或多个数据周期。因为寻址周期不能扩展,所以从属必须在此期 | h j 对地址进行取样。而数据周期通过使用h r e a d y 信号被扩展。当1 i r e a d y 信号 为l o w ,插入额外的等待状态以允许延长供从属提供或获取数据的时间。 在一次传输期间,从属使用响应信号h r e s p 1 :0 来显示传输所处的状态: o k a y 指示传输正常,并且当h r e a d y 为h i g h 时,传输完成。 e r r o i i 指示出现了传输错误且传输不成功。 r e t r y 和s p li i 指示传输不能够马上完成,但总线应继续尝试此次传 输。 在正常的操作中,仲裁器允许其他主控对总线访问之前,一个主控允许全 部的传输在一次迸发中全部完成。然而为了避免仲裁的过度延迟,仲裁器可以 第二章a m b a 总线研究 中断一次迸发操作,主控则必须向仲裁器发出新的总线请求以完成迸发中剩余 的传输。 2 4 1a h b 基本传输 i 一 i一 ) 倒 “ 囝(k x 二 ) 泓c 。慰砭x 二 涮x 。- x 譬鬻k x 二 x 义 f ,虬 x i _ x 。i i ;ei x :嚣疋x 二 图2 5 j i b 基本传输 在a h b 总线上,一次完整的传输可以分成两个阶段:地址阶段与数据阶段。 地址阶段传送的是地址与控制信号,而数掘阶段则是读写数据与响应信号。图 2 5 说明了a i t b 上的基本传输。 传输在数据阶段时,若无法在1 个时钊啁期内完成,从属可用h r e a d y 信号 去延长( e x t e n d ) 传输。请参考图2 6 ,当h r e a d y 为l o w 时,表示传输尚未结束, 为l i i g h 时,则代表目前的传输结束了,但结束时的状态则需看从属响应的l i r e s p 信号( 可能是o k a y 或e r r o r 等) 。 i a o u l i i “o 】 图2 6 带有延迟的传输 由于一次传输需要两个阶段刁能完成,为了增强总线的性能,a h b 将多个 传输串接( p i p e l i n e ) 起来,前后传输之间的地址阶段和数据阶段是重叠在一 起的。 青岛大学硕士论文 2 4 2 迸发传输类型 迸发类型为a h b 主控部件启动目标地址彼此相关的连续传输( 需要相同的 控制信号) 。a m b aa h b 协议定义了4 ,8 ,1 6 节拍的迸发操作,以及不定长迸发 和作为特例的单次传输。a h b 协议支持增量迸发和重叠迸发:增量迸发访问连 续地址,迸发中当前传输的地址是前一地址的增量;对于重叠迸发,如果传输 的起始地址同迸发中全部字节数没有对齐,那么迸发中传输的地址到达边界时 将会重叠。例如,一个四节拍字长重叠迸发访问将于1 6 字节边界重叠。因此, 如果传输的起始地址0 x 3 4 ,那么包括到地址0 x 3 4 、0 x 3 8 、o x 3 c 和o x 3 0 的 四次传输 a i i b 支持八种的迸发类型,用来指示迸发的长度( 传输的个数,在a h b 协 议中使用b e a t 这个英文单词) 与地址间的关系。迸发的长度指示一次迸发中的 节拍数目,而不是传输字节的数目。一次迸发传输中的数据总量由h s i z e 2 :0 指定,计算如下:节拍数目$ 数据量节拍。 下面列出山h b u r s t 2 :0 提供的a h b 支持的八种传输类型是 表2 2a i i b 支持的八种传输类型 tt2t 3t tt 5记t f 了1 7 1 x ) ( s ) 。(捌一x x s :。() o c x ) c ) ( x) 。( x x 。一麟) o c 慰慰) 。 x x 州 ) ( ) ( = 烈互至x烂 盘您蜀曩噩砭美。:) 0 v f “ vvvl l 州 图2 74 节拍重叠迸发传输 1 2 埘 棚 蜘砟川棚棚 吖 蝴l | = 瓣 | 墓曩一 第二章n , b a 总线研究 图2 7 中的例子给出第一次传输带有一个等待状态的4 节拍重叠迸发,由 于迸发是四节拍字长迸发传输,地址将会在1 6 字节边界重叠,因此到地址o x 3 c 的传输后将跟随着到地址o x 3 0 的传输。 i 一 1 一 ) 。( 竺x x) s 一 ) ( x 肚。) 。c) 。c ) 。c 。一 x x) ( ) ( n 一x x o “t ) 。( ) 。c ) 。() 。c) 。c ) 。c) 。( ) ( ) () 口c 曙黑 翟磊) 】i 哥) 0 c v ttf | vvvn ) 。( x 图284 节拍增量迸发传输 增量迸发与重叠迸发的区别在于地址在1 6 字节边界后连续,如图2 8 。 1 、1 2t )t 1 1口ti1 n 厂 广 i k x 一技x 一) ( x - 积 。= a i x s x x i x 。, 夏x n 置 ) 。( 。一蹦 i x x k x i x xl 帐一 ) 。( 扭i x i 慰;蕊? 慧裂嚣x ! 髯裟riz x x xi r 一焉墓) ( = 疆x 二r j 墓i 一缸_ 蕊 j。i v i v vnf | | v x i xx 墨_ j 1 ,爆辫二 匿 图2 9 未定长度迸发传输 最后的例子显示了未定义长度的增量迸发,图2 9 给出两个迸发: 两个半字长传输起始于地址0 x 2 0 半字长传输的地址以2 递增。 三个字长传输起始于地址o x 5 c 字长传输的地址以4 递增。 2 4 3s p l i t 传输 当一个传输出现时,如果从设备认为该传输会花费大量的周期,就会决定 发布一个s p l i t 响应。这向仲裁器发出信号,指示在该从属单元完成传输之前, 当前的主控设备不能够获得总线访问授权。因此,仲裁器负责观察响应,在内 部屏蔽进入分割( s p l i t ) 传输状态的主控设备的总线请求。 在传输的寻址期间,仲裁器会在 i m a s t e re 3 :0 上生成一个标记编码,指示 正在执行传输的主控设备。任何发出s p l i t 响应的从属单元通过记录下 k 哪 哪 哪噔叩叫q 吖 町 咖i器一一 o r h 引r 盯 h 盯 三雹一 m 小 o m 根 k 埘 e 钔 阿 川 乱 m 弛 恤肌耻i: 郴 i i 罴= 溯兰一 一一一黛一。一 h h h v 青岛大学硕士论文 h m a s t e r 3 :0 信号上的主控设各的编码,能够完成该传输。 当从属单元能够完成传输时,就根据主控设备编码在传向仲裁器的 h s p l i r x 1 5 :0 信号中确定相应的位。然后仲裁器使用该信息解除对主控设备请 求信号的屏蔽:在此过程中主控设备会获得总线访问授权,恢复传输。仲裁器 在每一周期采样总线信号h s p l i t x ,因此为了仲裁器能够识别它,从属单元只需 要在单独的周期内确定相应位。 2 5 a h b 总线r t l 代码设计 a i 】b 总线模块的r t l 代码的设计过程是严格按照i p 核的开发流程进行的。 包括确定规格和划分模块,子模块定义和设计,顶层模块设计。下面详细介绍按 照以上流程完成的a h b 总线的主控接口,从控接口,以及仲裁解码器的r t l 代 码。 2 5 1a h b 总线主控接口 a h b 总线主控具有a m b a 系统巾最为复杂的接口。通常情况下,a m b a 系统设 计者将会使用提前设计的总线主控,因此不需要关心总线接口内部的具体设计 细节。 a i q b 总线主控接口图2 1 0 给出其主要的信号组: 忡裁授救 佶输响应 复位 时钟 a 巳 1 1 a e l o f 仲裁 佶输娄型 、 l i 地址信号 差制信号 f j 数据 图2 1 0a i b 总线主控设备接口示意图 2 、a h b 主控的输入接口 t y p ea i b “- i n j y p ei s r e c o r d h g r a n t : s t d _ u l o g i c ; 一总线授权 1 4 第二章a m b a 总线研究 h r e a d y : s t d - u l o g i c ; 传输完成 h r e s p : s t d - l o g i c _ v e c t o r ( 1d o w n t o0 ) ; 一传输类型 h r d a t a : s t d l o g i c v e c t o r ( h d m a x id o w n t o0 ) :一读数据总线 e n dr e c o r d ; 3 、a h b 主控的输出接口 t y p ea h b s t0 u t _ t y p ei s r e c o r d h b u s r e q h l o c k : h t r a n s : h a d d r : l w r i t e : ;i s i z e : h b u r s t : h p r o t : h w d a t a : e n dr e c o r d 2 5 2a h b 总线从属接口 s t d - u l o g i c ; s t d u l o g i c ; s t d l o g i c v e c t o r ( 1 s t d l o g i c v e c t o r ( h a m a x s t d u l o g i c ; s t d l o g i c v e c t o r ( 2 s t d l o g i c - v e c t o r ( 2 s t d l o g i c - v e c t o r ( 3 s t d l o g i c ,e c t o r ( h d m a x d o w n t o0 ) ; ld o w n t o0 ) d o w n t o0 ) d o w n t oo ) d o w n t o0 ) 1d o w n t o0 ) 一总线请求 一锁定请求 一传输类型 一一地址总线 一一凄写 一饿输火小 一迸发类型 一传输保护 一写数据总线 a h b 总线从属对系统内总线主控启动的传输进行响应从属使h s e l x 选择 信号来决定何时对总线传输进行响应。所有其他传输需要的信号,例如地址与控 制信息,均由总线主控来产生。图2 1 l 为a h b 总线从属接口示意。 片选 地址信号 控制信号 数据 复位 时钟 a h b 从属的输入接口 t y p ea h b s l v - i n t y p ei s 图2 1 1a t l b 总线从属接口图 r e c o r d h s e l : s t d y i 。o g i c 信辅娄型 数据 从属选择 厂,i,、iil 一宣璺奎堂堡主堡壅 j 一一 h a d d r :s t d l o g i c _ v e c t o r ( h a m a x 一1d o w n t oo ) ;一一地址总线 h w r i t e : s t d _ u l o g i c : 一读7 写 h t r a n s :s t d l o g i c _ v e c t o r ( 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030工业废水处理技术升级需求与市场空间测算报告
- 2025-2030工业大数据预测性维护解决方案实施效果与行业渗透率报告
- 师生联络申请书
- 投资人变更申请书
- 减租申请书范文202
- 安全模拟培训教育课件
- 劳动投诉申请书
- 在线质检转正申请书
- 借款再审申请书
- 禁止学校搬迁申请书
- 【MOOC】中西文化鉴赏-郑州大学 中国大学慕课MOOC答案
- 建筑工程临水临电施工方案
- 设备操作员岗位培训
- 标识牌的制作与安装方案
- 拍毛挂网施工合同(2篇)
- 2024安全风险分级管控管理制度
- 2024年西安交通大学中国民族钢琴艺术鉴赏智慧树知到期末考试答案章节答案(自用更新版)
- 机器损坏赔偿协议书的模板
- 林下经济的开发与利用
- 2024年二婚婚前协议例文(三篇)
- 强制性条文监理新版细则
评论
0/150
提交评论