已阅读5页,还剩79页未读, 继续免费阅读
(微电子学与固体电子学专业论文)基于多操作系统的soc软硬件协同设计验证.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于多操作系统的8 0 6 软硬件协同设计验证 中文摘要 随着集成电路深亚微米工艺水平的推进,电子产品市场对设计功能高度集成的片 上系统( s y s t e m o n c h i p ,s o c ) 芯片的需求更加迫切。在这种趋势下s o c 设计为了以 较低的单位成本快速生产出满足需求的高性能芯片,应用众多设计成熟稳定的知识产 权核集成到单片芯片中以提高设计速度。因此使芯片系统功能的复杂度急剧的提高, 同时也给芯片设计的验证环节带来了巨大的挑战。 因此,为了确保芯片的流片成功率,研究针对s o c 设计提出科学高效的验证策略, 并基于芯片系统的具体功能项实施充分完备的验证。 本文针对s o c 验证环节中的核心问题进行分析研究。首先依据s o c 设计特点,从 验证目的、验证方法流程和验证环境三个方面提出软硬件协同设计验证策略,并基于 多操作系统的s o c 芯片课题作为研究背景实施验证工作。全文采用分层的验证策略, 从模块级验证开始逐级提高验证级别,最终实现系统级应用验证。系统验证应用基于 f p g a 的原型验证平台,采用嵌入式操作系统的s o c 软硬件系统协同验证方法,针对 两种典型的实时嵌入式操作系统g c o s i i 和g c l i n u x 实施移植,并凭借应用验证程序 针对s o c 设计资源实施验证。通过分析验证结果可以得出,基于操作系统的软硬件协 同设计验证策略能够为s o c 系统设计提供有效的设计验证保证,不仅明显的缩短了验 证周期,而且有效提高了验证设计资源的可复用性。 关键词 a r m ,s o c ,f p g a ,软硬件协同验证,嵌入式操作系统 s o cs o f t w a r ea n dh a r d w a r ec o - d e s i g nv e r i f i c a t i o nb a s e do n m u l t i - - o p e r a t in gs y s t e m a b s t r a c t w i t ht h ep r o m o t i o no ft h et e c h n o l o g i c a ll e v e lo fd e e ps u b m i c r o no ft h ei n t e g r a t e d c i r c u i t , t h ee l e c t r o n i cp r o d u c t sm a r k e to ft h ed e s i g nf u n c t i o no fah i g h l yi n t e g r a t e d s y s t e m o n - c h i p ( s y s t e m o n c h i p ,s o c ) d e m a n d se v e nm o r eu r g e n t i nt h i st r e n do fs o c d e s i g n i no r d e rt ol o w e rt h e u n i tc o s to fp r o d u c t i o nt om e e td e m a n df o r f a s t , h i 曲一p e r f o r m a n c ec h i p s ,t h ed e s i g nw i l la d o p tan u m b e ro fm a t u r ea n ds t a b l ei n t e l l e c t u a l p r o p e r t yt oi n t e g r a t ei nas i n g l ec h i pt or a i s et h ed e s i g ns p e e d h a v ei m p r o v e df u n c t i o n a l c o m p l e x i t yo fc h i ps y s t e mt h e r e f o r er a p i d l y , t h el i n kh a sc o m p o s e dam a j o rc h a l l e n g e a tt h e s a m et i m ea l s ot ot h ev e r i f i c a t i o no ft h ec h i pd e s i g n s t h e r e f o r e ,i no r d e rt oe f f e c t i v e l yg u a r a n t e et h es i l i c o nc h i ps u c c e s st a p eo u t ,s t u d y p r o p o s e st h es c i e n t i f i ch i g h - p e r f o r m a n c es o cd e s i g nv e r i f i c a t i o ns t r a t e g y , a n db a s e do n c h i ps y s t e m ss p e c i f i cf e a t u r e si m p l e m e n tt h ef u l lc o m p l e t ev e r i f i c a t i o n i nt h i sp a p e r , s o cv e r i f i c a t i o nl i n ki nt h ea n a l y s i so ft h ec o r ei s s u e s f i r s to fa l l ,b a s e d o nt h ec h a r a c t e r i s t i c so fs o cd e s i g n ,f r o m v e r i f y i n gp u r p o s e ,v e r i f y i n g m e t h o d t e c h n o l o g i c a lp r o c e s sa n dv e r i f y i n ge n v i r o n m e n to ft h et h r e ea s p e c t so ft h ee n v i r o n m e n to f h a r d w a r ea n ds o f t w a r ec o d e s i g nv e r i f i c a t i o ns t r a t e g y , a n dt a k e st h er e s e a r c hb a c k g r o u n d i m p l e m e n t a t i o nc o n f i r m a t i o nw o r kb a s e do nt h ea r m s o cc h i pt o p i c t h ef u l lp a p e r 、析t l l t h eh i e r a r c h i c a lv e r i f i c a t i o ns t r a t e g yt ov e r i f yt h eb e g i n n i n go fc l a s sf r o mt h em o d u l el e v e l t oi m p r o v ea u t h e n t i c a t i o nl e v e l ,a n du l t i m a t e l yt h ea p p l i c a t i o no fs y s t e m l e v e lv e r i f i c a t i o n f p g a b a s e dp r o t o t y p ev e r i f i c a t i o np l a t f o r mp r o v i d e sas 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 t , u s e st h ee m b e d d e do p e r a t i n gs y s t e ms o f t w a r ea n dh a r d w a r es y s t e ms o cc o v e r i f i c a t i o n m e t h o d ,f o rt w ot y p i c a lr e a l t i m ee m b e d d e do p e r a t i n gs y s t e m t c o s - i ia n di t c l i n u x i m p l e m e n t a t i o no ft r a n s p l a n t a t i o n ,a n db yv i r t u eo ft h ea p p l i c a t i o no ft h ev e r i f i c a t i o n p r o c e s sf o rs o cd e s i g nr e s o u r c e st h ei m p l e m e n t a t i o no fa u t h e n t i c a t i o n 。t h r o u g ht h e a n a l y s i so fv e r i f i c a t i o nr e s u l t sc a nb ed r a w n ,b a s e do nt h eo p e r a t i n gs y s t e mt ov e r i f yt h e h a r d w a r ea n ds o f t w a r ec o d e s i g ns t r a t e g yf o rt h ed e s i g no fs o cs y s t e md e s i g nv e r i f i c a t i o n t oe n s u r ee f f e c t i v e ,v i s i b l en o to n l ys h o r t e n e dt h ev e r i f i c a t i o nc y c l e ,v a l i d a t ea n di m p r o v e t h er e u s a b i l i t yo fd e s i g nr e s o u r c e s k e yw o r d s a r m ,s o c ,f p g a ,h a r d w a r ea n ds o f t w a r ec o - v e r i f i c a t i o n ,e m b e d d e do p e r a t i n gs y s t e m 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版。本人允许 论文被查阅和借阅。本人授权西北大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。同时授权中国科学技术信息研究所等机构将本学位论 文收录到中国学位论文全文数据库或其它相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名:主基:狃指导教师签名:! 旦盈 2 0 0 7 年月乙日 抛9 年6 月上日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,本 论文不包含其他人已经发表或撰写过的研究成果,也不包含为获得西北大 学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对 本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:面纵 力0 7 ,年矿月乙日 西北大学硕十学位论文 1 1 引言 第一章绪论 随着集成电路制造业最新的深亚微米工艺技术水平不断提高,与此同时电子产品 市场也迫切需求功能更强大,集成度更高的系统芯片。为了适应这种趋势,各大芯片 生产厂商也在不断提升自身系统芯片的设计能力水平,提出了扩大设计规模以及提高 集成化程度的要求。在系统级设计能力提高的同时,需要将越来越多设计成熟、稳定 可靠的知识产权( i n t e l l e c t u a lp r o p e r t y ,i p ) 核以及新设计i p 模块集成到单芯片中以满 足应用的迫切需求【l 】。特别是在竞争更加激烈的专用集成电路产业中,能否凭借合适 的设计生产成本将满足功能和性能要求的芯片快速投向市场,已经成为目前评价芯片 设计成败的一个重要指标。另一方面,如今的深亚微米工艺线和系统集成度的进一步 提高也将整个设计流程中各种棘手的问题暴露出来,例如:整体设计周期的拖长、一 次性工程费用( n o n r e c u r r i n ge n g i n e e r i n g ,n r e ) 的不断提高、适应新性能和功能的 设计构架及策略方案的需求、设计综合后带来的时序约束瓶颈等等1 2 1 。同时在系统层 面,越来越多的软件设计需要同硬件设计相互配合完成系统功能,单纯的分离软硬件 设计都不能满足系统功能需求,在两者的交叠处往往出现功能冲突或定义不明确的缺 陷,由此导致整个设计周期不确定的延长。 因此,片上系统( s y s t e m o n c h i p ,s o c ) 正是针对缓解这些问题而提出的新设计 理念,来适应现在由集成电路向集成系统转变的发展趋势【3 】。近年来各大公司均致力 于开发研制新的s o c 产品以提高自身的竞争力,i b m 公司早在几年前就开展以低成本 低功耗实现高效便捷的节点式片上计算机系统的研究:2 0 0 8 年,i b m 公司、特许半导 体制造有限公司、三星电子有限公司以及a r m 公司共同宣布:将在由i b m 领导的联 合开发团队所开发的l l i g h k m e t a l g a t e ( h k m g ) 技术的基础上,开发一个完整的3 2 纳米 和2 8 纳米的s o c 设计平台来提供最优化的物理口实现 4 1 。2 0 0 8 年7 月,i n t e l 公司 也宣布了其首款x 8 6 架构的s o c 片上系统处理器e p 8 0 5 7 9 ( 研发代号t o l o p a i ) ,是全 球首款采用s o c 架构针对嵌入式系统的商用芯片,能够应用于各种网络需求【5 j 。瑞萨 科技公司( r e n e s a st e c h n o l o g yc o r p ) 也于2 0 0 7 推出一种为车辆信息终端提供图像识别 处理功能的s o c 产品s u p e r h 系列s h 7 7 6 5 0 ,包括汽车导航系统和辅助安全驾驶设备 6 1 。珠海炬力公司也于2 0 0 6 年推出新款0 1 8 微米复合信号多媒体片上系统产品1 7 】。 第一章绪论 目前,越来越多的s o c 产品正在问世,在很大程度上促进了集成电路产业的发展。 通过以上s o c 产品可以看出,片上系统芯片中往往集成有数百万门的逻辑,并且 包含了众多功能模块,包括:c p u 、d s p 、存储器、控制器、专用处理模块、互连总 线以及外围设备等等。因此为了更好的体现出系统整体功能和性能,s o c 的设计不仅 是i p 模块的集成互连,更重要的是凭借高效的系统架构划分,配合高性能的互连总线 及处理器将i p 模块集成到系统设计当中。整个项目凭借软硬件协同设计和验证策略的 交叉互补优势,不仅为s o c 系统设计提供了更加准确的软硬件功能划分,使性能大幅 提高,而且可以实现验证流程与设计流程的同步进行,为每个设计阶段提供了有效的 保证手段,减少了修改缺陷后验证的回归及迭代次数【8 j 。因此在设计阶段当中交叉耦 合验证实施,既缩短了设计验证的周期,又大幅提高了流片成功率。 综上所述,s o c 的出现不仅仅是集成电路产业的设计技术革新,而且也给集成电 路的设计方法和验证理论带来了一次巨大的突破。s o c 设计从系统规划阶段已经不再 以单个模块的设计为核心,而是更加充分采用现有成熟可靠的i p 模块资源,应用软硬 件协同设计验证的理念,为系统设计提供尽可能高的验证可靠性保障,在尽可能短的 时间周期内设计出满足用户需求的系统芯片。 1 2 论文选题背景及意义 随着深亚微米最新工艺技术的发展速度远远超过大规模集成电路的设计技术更新 速度,导致设计能力的相对滞后,由此在整个集成电路产业链中带来的设计生产力落 差( d e s i g np r o d u c t i v i t yg a p ) 已经越来越明显【9 】。目前绝大多数芯片设计厂家希望以相 对较低的n r e 和单位成本快速生产出满足需求的高性能芯片进而上市,这个趋势不仅 给设计者和生产者带来巨大的挑战,而且对于项目中验证流程也构成了巨大的挑战: 为了确保一次性流片的成功率,需要为芯片的整体功能设计提供更加充分和完备的验 证【l 叭。然而如今一个成熟的s o c 项目中,验证流程占据的时间周期已经超过整个芯 片设计周期的三分之二份额,特别是针对系统级的验证,不仅需要制定全面有效的验 证项,而且要不断探索新的系统功能验证组合,提高系统级验证的覆盖率,往往采用 在真实应用环境中长时间运行原型样机,凭借真实应用程序施加的大量激励来验证 s o c 系统设计的正确性及完备性。因此,芯片的验证周期在整个设计周期中占据的比 重越来越大,其重要性也是有目共睹的i l 。 因此,如今的s o c 不论是从设计理念还是从实现方法上都不同于以往的专用集成 2 西北大学硕l :学位论文 电路,它的设计必须从方案开始就从整个系统的功能和性能考虑入手,进而针对系统 特点进行软件和硬件的合理划分,并以i p 模块的复用为设计核心,通过微处理器腔 制器、存储器以及专用功能m 逻辑的集成,在最短的周期内设计出s o c 应用系统【l2 1 。 所以设计中会面临诸多的困难,与此同时伴随的解决方案也是将焦点对准设计的可验 证性和验证的充分性及完备性上面。 ( 1 ) s o c 系统划分困难致使设计周期延长。 为了更好的实现整体系统功能,需要对s o c 系统进行软硬件设计功能划分,高效 的系统划分可以有效减小设计复杂度并且提高片上资源利用率,但是这个划分方案往 往需要不断的修改完善后才能确定,因此对于更加复杂的s o c 设计来说,其设计周期 也必将被延长。另外,针对s o c 中采用高效总线进行集成互连的众多功能i p ,要求设 计者在开始阶段不但要严格把握单个i p 模块的逻辑功能,而且也需要随时关注跟踪 i p 模块和总线互连之后,i p 和i p 之间的时序问题以及m 和总线之间的时序问题。因 此,针对i p 模块的模块级验证完成以后,必须进行软件的协同验证。 ( 2 ) s o c 系统的综合瓶颈及后仿真周期延长。 s o c 系统的综合是整个设计流程中的关键步骤,通过c o l l e t t 国际研究公司对 i c a s i c 设计逼近的一项研究表明,综合周期占整个设计周期的1 3 时间 1 3 1 。对于百 万门以上的s o c 不但有c p u 、存储器而且还包含专用处理单元、通信协议处理器等复 杂的设计。因此,在综合工具中为了符合需求的性能指标,需要设置准确的约束、开 关和变量,无疑在整个综合过程中将花费巨大的硬件资源和时间资源。并且一旦前端 设计发现错误或是缺陷,修改后进行反复的综合以及后仿真时间将是十分漫长的,直 接导致整个设计周期的滞后。针对这种情况,实施基于软硬件的协同验证是必须的, 凭借交叉互补的验证策略,尽可能在综合之前或是后仿真之前发现设计中的问题并及 时修改,能够极大的提高设计效率,确保设计的按时交付。 ( 3 ) s o c 系统原型验证的要求不断提高。 s o c 系统级原型验证包括基于软件环境以及基于硬件环境的两种方案。基于软件 环境的原型在模拟器环境中采用处理器的虚拟功能模型执行软件生成的激励文件,同 时模拟芯片的工作情况访问片上资源并验证设计模块。但是在此验证环境下输入的测 试激励集合是有限的,无法提供更加全面的验证项激励;其优点是能够通过仿真工具 跟踪抓取到信号级的逻辑变化,快速直接的定位到问题所在处。因此,另外一种基于 f p g a 硬件的系统原型验证,则通过搭建硬件验证平台环境来模拟真实的应用需求, 第一章绪论 能够更好的从系统应用级来把握设计功能,并且迅速直观的得到验证结果;同时配合 采用嵌入式的操作系统移植,多操作系统的交叉移植以及真实应用程序大量连续的功 能验证都能够保证对s o c 设计验证的充分性和完备性。 综上所述,软硬件的协同交叉验证策略能够为s o c 设计提供可靠保证,有效的提 高了芯片的流片成功率。 本课题针对s o c 软硬件协同设计验证中的核心问题展开论述,本论文的工作以某 航天研究所的基于a r m ( a d v a n c e dr i s cm a c h i n e s ) 处理器s o c 芯片的软硬件协同设 计验证项目为研究背景。此芯片以高速专用网络通信协议处理器为设计核心,并且内 嵌了高性能、低功耗的a r m 7 微处理器核,采用a r m 公司的a m b a ( a d v a n c e d m i c r o c h i pb u sa r c h i t e c t u r e ) 总线架构,扩展主机p c i ( p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c t ) 总线接口。芯片具有丰富的片上资源,包括实时时钟( r e a l t i m ec l o c k ,r 1 ) 、以太 网介质访问控制子层协议( m e d i aa c c e s sc o n t r o l ,m a c ) 、存储器控制器( m e m o r y c o n t r o l l e r ) 、看门狗( w a t c h d o gt i m e r ,w d t ) 、定时器( t i m e r ) 、串口( u a r t ) 、通 用输入输出口( g p i o ) 、向量中断控制器( v i c ) 以及外部总线控制器( e b i ) 等,实 现芯片的小型化、通用化设计,大幅的减少了板级的电路资源。 1 3 国内外研究现状 随着国内外对功能丰富、集成密集的s o c 产品需求不断提高,促使其设计规模也 急剧增大,功能也日趋复杂。针对s o c 中系统级的设计,必须实施充分完备的系统级 验证工作,才能够确保s o c 芯片流片的成功率。 早期集成电路并没有引入系统级电路的概念,在项目的初试阶段也就没有软硬件 功能划分流程,采用的传统验证策略是将软件设计以及硬件设计实施单独分时的验证, 往往要在硬件验证完成以后才开始软件验证。对于硬件设计阶段,通常只关心硬件模 块的验证,需要等待硬件设计雏形基本完成或是为软件验证实施的硬件环境搭建好以 后才开始实施软件验证流程,此时,如果在验证中发现设计缺陷则要返回硬件设计前 端进行修改,如果此时项目已经进行了电路综合、后仿真或是版图设计,前期所作的 设计工作就只能抛弃,所以这种验证策略无法为设计提供良好的时效性验证,而且如 此往复,在流片前期由于设计不断更新而导致验证周期不确定的延长。 综上所述,采用传统的验证策略不仅导致设计的修改更新周期大大延长,而且仅 在验证时间方面也暴露出流片前期验证的不充分性。针对早期的( 1 9 9 9 2 0 0 3 ) 北美地区 4 西北大学硕士学位论文 的芯片一次投片和二次投片的统计来看,有近7 0 的失败率是因为设计的逻辑功能在 前期没有验证充分【1 3 1 。因此在集成电路设计规模不断的扩大的趋势下,急需寻找新 的设计验证策略来替代传统方法,满足设计验证的需求。 为了适应新的设计需求软硬件协同设计验证策略在前几年就已经提出,但真正的 应用实施是随着s o c 设计复杂度不断提高进而迫切需要一种高效、理想的设计验证策 略来指导设计。也正是由于s o c 系统本身具有的特点,通过将s o c 芯片整体功能通过 合理规划,划分成相互有联系的软件设计和硬件设计两部分,并相互协同、配合工作 组成整体s o c 系统。因此通过软硬件协同设计验证策略指导设计验证能够更好的体现 出s o c 本身的优势。软硬件协同验证期望软硬件在设计的同时就能互相配合实现层次 化验证,并且期望软硬件互相配合、协同工作来实现整体s o c 功能。在硬件设计或软 件设计没有最终确定之前实施软硬件协同验证,其目的是希望在设计前期阶段尽可能 迅速、充分的为系统的软硬件设计提供验证保证,提高整体系统的设计效率和流片的 成功率【1 4 l 。通过采用软硬件协同验证策略,不但在设计早期能够尽可能快的发现软 件和硬件上的缺陷,而且为软硬件交互提供了一种有效快捷的手段,为软硬件设计提 供了基于应用层面的验证激励,这种新的验证理念极大的提高设计和验证效率,同时 扩大了芯片验证的覆盖面,有效的缩短了设计周期【l5 1 。 目前,众多公司也针对软硬件协同验证策略提供相应的解决方案。a r m 公司专 门为基于a r m 核处理器的s o c 系统的软硬件协同验证提供了两种成熟备选方案: ( 1 ) 为s o c 设计提供基于软伊的处理器功能模型,通过基于事件驱动的仿真器 环境下( m o d e l s i m 或n c v e r i l o g 等) ,在s o c 中运行目标验证应用程序,提供了软硬 件交互手段。 ( 2 ) 为s o c 设计提供基于r e a l v i e w 系列的板级硬件验证平台以及对应的处理器 核心板,并结合a r mm u l t i i c e 在线调试设备,为s o c 系统提供了真实工作环境下运 行软件验证程序的方法。 同时s y n p l i c i t y 公司也为该快速硅解决方案( i s s p ) 平台架构建立经过优化的定 制映射流程,提供二种上市时间可预测并且低n r e 的高性能方案。 1 4 论文相关研究工作 验证是整个s o c 设计周期中至关重要的核心环节,传统基于向量验证方法已经很 难保证系统级功能设计的验证覆盖面,给s o c 系统的设计及验证工作带来了巨大的困 第一章绪论 难。 因此本文针对传统验证方法的弊端提出基于多操作系统的s o c 软硬件协同设计验 证策略,采用典型的嵌入式操作系统对设计进行系统级验证,通过操作系统对设计资 源的系统调度访问以及验证程序功能级应用验证,为s o c 设计提供了更全面、高效的 验证方案,使验证的效率极大的提高。 首先,本文在s o c 系统定义时充分考虑软硬件协同设计验证策略,根据芯片特点 合理划分系统功能,在软硬件设计的同时充分考虑验证项的制定和实现方法。 其次,基于系统分层验证策略,从模块级验证开始逐级提高验证级别,并采用软 件虚拟原型验证和f p g a 硬件原型验证方案实施交叉验证。同时构建全定制的验证平 台及验证环境,采用交叉互补的验证策略不仅可以最大发挥两种验证方法的优点,而 且可以提前调整验证的侧重点,加快验证实施。 最后,凭借s o c 原型验证平台移植两种典型的实时嵌入式操作系统1 tc o s i i 和 1 tc l i n u x ,实施多操作系统的交叉移植以及应用程序验证,凭借操作系统对各个资源 的协同管理、访问调度,为系统级验证提供了更全面的功能覆盖,提高了验证的质量, 确保s o c 系统设计的正确性。 1 5 论文的内容安排 本论文的内容结构安排如下: ( i ) 第一章绪论。 介绍s o c 的设计理念给集成电路行业带来巨大的技术革新,由此引出s o c 的优势 以及其发展的必然性。同时,论述了s o c 中软硬件协同设计验证的意义及主要研究工 作。 ( 2 ) 第二章s o c 软硬件协同设计验证策略及结构框架。 介绍了基于s o c 的软硬件协同设计验证策略及其对整个s o c 芯片设计起的重要作 用,并针对研究课题,对验证实施过程进行结构框架性的论述。 ( 3 ) 第三章基于a r m 体系架构s o c 的i p 模块级协同验证: 本章从s o c 的体系架构出发,针对a r m 处理器及片上资源的特点,采用a m b a 总线架构实现各i p 之间的集成互连。并针对模块级的模块验证采用基于高级验证技术 完成i p 模块验证,包括构建验证平台、验证随机向量生成、覆盖率统计等方面,为系 统互连后的虚拟原型验证和操作系统级验证提供充分的准备。 6 西北大学硕卜学位论文 ( 4 ) 第四章基于a r m 的s o c 系统原型验证。 本章针对s o c 原型系统的验证目的、验证平台搭建以及验证结果几方面论述基于 虚拟原型验证和基于f p g a 原型验证这两种方案,并且从验证效果和侧重点对比了两 者的优缺点,提出进行交叉互补的验证策略不仅可以提高验证手段,而且可以加快验 证实施。随后通过验证项分别详细论述了两种验证方案及实施验证过程中的细节和特 点。 ( 5 ) 第五章基于a r m 嵌入式操作系统的s o c 协同验证。 本章针对s o c 原型的硬件资源,在基于f p g a 的验证平台环境下,通过移植两种 典型的嵌入式实时操作系统| ic 幻s - i i 和uc l i n u x ,并开发针对验证项的验证应用程 序,协同调用s o c 片上各个资源并实施验证。凭借操作系统的各个资源的协同管理、 访问及调度,能够及时检测出系统级设计上的问题,提高验证的质量 ( 6 ) 第六章总结与展望。 针对整个研究工作进行了总结,分析项目验证实施过程中出现的问题同时对后续 的研究工作及任务进行展望,提出新的研究方向。 7 西北大学硕十学位论文 第二章s o c 软硬件协同设计验证策略及结构框架 随着s o c 芯片的功能复杂度和设计规模的不断提高,直接促使在s o c 的设计过程 中的验证流程成为决定整个项目开发进度的关键因素,对芯片进行充分完备的验证是 流片成功的可靠保证。与此同时,针对芯片的全面验证需求也使得设计验证项的复杂 度在不断提高,在单芯片上使i p 模块、处理器、总线以及软件协调工作,不论是软件 或硬件任何一部分设计有缺陷,还是两者协调配合工作出现问题,都将导致整个芯片 设计的失败,传统单一的验证方法已经不能满足s o c 系统的验证需求。根据集成电路 行业设计的统计,验证周期已经占据整个设计周期的7 0 到8 5 的时间,并且对于系 统级和应用级的验证变得更加的迫切,已经逐步成为s o c 设计的开发瓶颈【l6 1 7 】。 因此,基于操作系统的软硬件协同设计验证方法学的实施能够有效提高验证效率。 本章首先针对s o c 设计和验证本身的特点,分析基于a r m 处理器s o c 芯片的软硬件 协同设计验证策略,并从验证目的、验证方法流程以及验证环境这几方面来阐述;然 后针对软硬件协同设计验证的整体结构框架进行讨论,以此引出下文的验证过程。 2 1 s o c 软硬件协同设计验证策略 2 1 1 软硬件协同设计验证目的 对于一个完整的s o c 设计,在计划需求和功能规范制定好以后,硬件和软件的设 计都必须按照规范来设计。验证的目的就是要确保具体设计出来的s o c 系统都满足系 统的功能规范。因此,按照功能规范制定高效可行的验证规范既是必须的也是关键的 环节,在整个验证流程中,验证规范的制定和编写一般都放在项目开始阶段,在规范 中通过详尽、准确的验证项描述来保证验证结果的充分性和完备性。 首先,验证项的判据标准必须是详尽的。对于单个i p 或模块,个详尽的验证项 判据描述需要覆盖本设计的所有功能,例如模块的初始状态、复位状态、正常工作状 态和异常状态等可能出现的所有运行情况;同时需要详尽规范对于i p 和i p 之间,i p 和c p u 之间,m 和总线之间协同工作时的功能状态,例如特殊功能i p 或存储器的数 据读取和写入:i p 模块或c p u 通过总线访问时的协议处理等都要有详细明确的规定; 进而对于系统级的功能验证应该充分考虑软硬件的功能交叉,从应用层面制定需要的 验证项。由人t n 定编写的验证项及验证激励都不可能覆盖到各种功能组合可能出现 的情况,因此在验证项中可以借助验证应用程序项来扩大验证的覆盖面,例如对于以 9 第二章s o c 软硬件协同设计验证策略及结构框架 太网m a c 模块的验证项不但要包括在不同协议层下对不同数据格式的数据包接收发 送情况,而且要提供工作在内环绕、外环绕、多系统联合并行工作状况下的判据标准。 然后,验证项的判据标准必须是准确的。针对被验证模块的验证项要确保判据覆 盖的准确性,由于s o c 系统的本身特点是由内嵌的处理器核控制众多复杂功能的i p 模块集成互连后协调工作,使得多i p 模块协同工作状态的跳转变得更为复杂。准确的 提取和制定验证项来确保验证流程准确性也就更加具有指导意义,例如,对于模块级 的验证,验证项需要明确规定功能寄存器的初始值,功能状态跳转必要的触发信号及 下一个状态的描述,不同级别或类型的中断产生条件及退出时资源的释放等等;进而 对于更为复杂的系统级验证,不同的应用程序或验证用例在不同工作情况下产生的结 果都要在验证项中正确的反映出来:与此同时,也可以采用错误激励注入的方法人工 的注入错误检测用例,确保设计在差错输入的情况下也能正常识别出错误,反过来也 可以检验验证项是否具有很好的准确性。 2 1 2 软硬件协同设计验证方法流程 s o c 为了保证设计周期的可控性以及芯片尽快的流片成功,以采用成熟i p 核实现 资源复用作为设计核心,通过制定系统需求规范,在系统具体功能和框架明确的条件 下,设计和验证阶段是同步进行的,口核的复用技术不仅需要选择适合设计需求的处 理器和高性能的总线完成集成互连,而且要和软件设计协同配合完成整体功能。为了 确保系统设计的验证是充分完备的,基于验证平台的s o c 软硬件协同验证流程实现如 图1 所示。 基于s o c 软硬件协同设计验证技术包含两个重要环节,即硬件平台的搭建和软件 平台的应用,这两部分是s o c 验证的核心。与传统的先硬件再软件的设计验证思路相 比,s o c 软硬件协同设计验证在系统功能划分以后,软件设计能够根据功能规范和验 证规范在设计初期就划分为硬件设备驱动、应用程序和验证程序、验证虚拟模型搭建、 适合的嵌入式操作系统的移植及验证;硬件设计也能够根据验证规范,在模块互连集 成的同时,为硬件验证提供支持,构建f p g a 原型验证平台并生成原型目标镜像文件, 准备板级调试板卡等来辅助完成验证实施。因此整个验证流程中每个阶段各成体系但 又相互支持补充,在某一阶段出现问题后都能够及时的交互反馈,减少了因为硬件设 计失败导致前期整个工作的废弃,使设计周期和验证时间大大缩短,提高了整体设计 的效率。 1 0 西北大学硕上学位论文 不 充 分 系统需求规范 系统整体描述 系统描述验证 验证充分 不 充 分 系统功能软硬件划分 硬件模块设计划分l 软件层次设计划分 验证充分 系统级验证 加载操作系统 模拟应用环境迭代验证 验证充分 后端设计 可蘑用验 证输入 图1 s a c 软硬件协同设计验证的流程 与此同时,在工程实施前期应该决定在验证过程中使用何种高效可行的验证语言。 由于s o c 设计的交叉性特点,不但要求验证语言能够在验证环境中高效执行,并且也 要确保对验证项的设计描述,让软件和硬件设计都能充分理解,尽量减少歧义的产生, 本文中采用的语言有v e r i l o g 、s y s t e mv e r i l o g 、c c + + 等。 研究基于a r m 处理器以高速专用网络通信协议处理s o c 芯片设计为验证对象, 针对芯片本身具有i p 资源丰富、通用性强的特点,搭建基于a r m 处理器功能模型的 虚拟验证平台,针对模块设计或是互连后的模块设计进行信号级的验证,能够在设计 初期纠正显而易见的设计错误,为后续的系统级验证提供保证。模块级软硬件协同验 证目标是针对单个或部分i p 核模块,验证覆盖大部分独立的功能,能够保证设计基本 功能的正确性,但是对于i p 核互连集成后的整体系统,此时由于激励向量或验证用例 无法覆盖全部可能出现的功能,模块级软硬件协同验证只能验证某些关键部分的功能, 不能够保证验证的充分性。因此会进一步将验证级别提升到系统级,将模块级无法完 成的验证项提交给更高层次的系统级验证,应用操作系统及应用验证程序来完成。此 硬验向生览鞭能酾姓成h 统拟型用载 系虚原调加u 核用置再计 复配及设h 于铋件型证 基阡硬原验h于块的证序 基模级验程 第二章s o c 软硬件协同设计验证策略及结构框架 部分的研究内容采用如图2 所示的逐级分层验证策略,针对以下几点详细论述: 图2 基于s o c 的分层验证策略 第一、信号级的验证。在模块或i p 的r t l 代码设计完成之后,需要在系统集成 前针对i p ! 模块级验证,这个阶段应该保证各个i p 模块或是专用逻辑单元的本身功能 项在这一层得到充分验证;同时还要包括各个i p 与片上总线接口设计的功能验证,保 证i p 集成互连后能够正常工作。针对此阶段的i p 模块级验证,需要开发基于h d l 语 言的t e s t b e n c h 和t e s t c a s e ,借助e d a 仿真软件为设计添加激励,通过抓取信号波形变 化来判断逻辑功能是否正确,同时在设计中插入断言语言也可以有效的提高验证的覆 盖率。 第二、系统集成后模块级验证。在整个s o c 系统集成以后,凭借软件虚拟环境实 施各个i p 模块级验证。虽然这一阶段也是针对各i p 模块的验证,但此时系统已经实 现各个i p 的集成互连,通过搭建软件虚拟验证平台,应用处理器功能模型执行软件验 证程序,仿真器通过收集软件验证程序输出的结果来判断确认。 第三、系统集成后系统缴验证。系统集成后由i p 级验证进入到系统级验证,这一 阶段验证的重点不再是各i p 模块的某个功能点,而是更加关注部分系统或是整个系统 的运行,以此来验证设计的正确性。例如:i p 和总线的访问,i p 和处理器访问以及模 块间的互相访问等等是否正常。这一阶段的内容主要包括系统各模块之间互操作功能 验证及基于操作系统的验证。 第四、基于原型的系统级应用验证。通过这个阶段完成功能复杂、验证时间长的 验证项,将整个系统原型置于真实的工作环境中,开发实际验证应用程序,按照制定 1 2 西北大学硕士学位论文 的功能规范对整个系统进行的大量连续的应用验证。这一阶段的内容主要包括基于原 型验证平台的嵌入式操作系统移植、多操作系统的交叉验证以及相关的验证程序和应 用程序设计。同时,为了使验证更加充分和完备,需要凭借多种验证手段互相配合完 成并发式的验证。 2 1 3 软硬件协同设计验证环境 基于a r m 处理器的s o c 验证环境主要有:虚拟原型验证平台和f p g a 原型验证 平台这两种主要的功能验证平台,具体实现如图3 所示。另外,还包括i p 模块级e d a 仿真环境、系统级相关的协同验证板卡。 图3s o c 功能验证平台环境原理图 虚拟原型验证平台优点是便于错误定位、快速排错,其缺点是验证速度较慢; f p g a 原型验证平台的优点是验证速度较快,验证结果直观明显,其缺点是错误定位 较困难。将两者相结合不但可以平衡验证效率而且可以提高验证实施速度。虚拟原型 验证平台通过开发相应的验证组件来模拟芯片工作的应用环境,虚拟原型中需要挂载 第二章s o c 软硬件协同设计验证策略及结构框架 芯片周边资源的功能模型组件,然后将这些组件同s o c 设计的r t l 代码集成到e d a 仿真工具中运行。同时为验证项设计验证程序,将编译链接生成的存储器映像文件加 载到相应的存储器模型中,在仿真器中的处理器模型可以从中提取指令执行,从而达 到模拟芯片内部工作过程来进行各项验证【1 8 】。 f p g a 原型验证平台是将部分或是全部的s o c 硬件设计进行系统逻辑综合后生成 映像文件下载到f p g a 芯片中。f p g a 验证板上除了f p g a 芯片以外,还需要构建与 虚拟原型验证平台中对应的验证组件,包括输入、输出、存储器等等设备器件。事先 将验证程序烧入f l a s h 存储器中或是应用m u l t i i c e 在线调试设备将程序写入s r a m 存储器中,f p g a 验证板上电后处理器从f l a s h 或s r a m 中开始提取指令执行或是 通过在线仿真器执行指令完成模块验证,这样就达到与s o c 芯片实际工作过程相同的 效果。如表1 所示为本文中验证环境所使用的验证工具以及验证语言。 表1s o c 验证环境资源列表 验证环境 l i n u x ,w i n d o w sx p 仿真验证工具 m o d e i s i m6 1 ,m o d e l s i m6 2 b ,q u e s t a6 2 ,s p y g l a s s 程序开发工具 a r m d e v e l o p e rs u i t ev 1 2 硬件描述语言 v e r i l o gh d l 模块验证语言 s y s t e mv e r i l o g ,t c l 软件语言c ,a r mv 4 ta s s e m b l el a n g u a g e 2 2 软硬件协同设计验证整体结构框架 整个s o c 设计以a r m 7 微处理器为核心,采用a m b a 总线架构,集成专用网络 通信协议处理器模块,设计还包括连接网络端口的m a c 核、接收发送总线控制i p 、 片上存储器i p 与主机相连的p c i 总线i p 。另外,为了实现对软件的交互、调试以及 操作系统的移植,还包括片外存储器控制模块、r t c 、w d t 、u a r t 、v i c 、g p i o 等 等i p 。软硬件系统验证整体流程结构框架如图4 所示,下面将针对此结构展开验证。 ( 1 ) 针对系统功能进行软硬件功能的设计划分,在进行i p 模块的集成互连以及 r t l 硬件设计的同时,软件编写系统的设备驱动程序、应用程序和验证程序,并根据 设计搭建虚拟原型验证平台,编写验证用例,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年计算机程序员招聘面试题库及参考答案
- 甘南特岗教师备考题库及答案
- 2025年高中老师招聘面试题库及参考答案
- 2025年技术支持代表招聘面试题库及参考答案
- 2025年制图员招聘面试题库及参考答案
- 2025年国际关系专家招聘面试题库及参考答案
- 2025年风险投资专员招聘面试题库及参考答案
- 2025年计算机视觉工程师招聘面试参考题库及答案
- 2025年出版策划招聘面试参考题库及答案
- 2025年客户支持经理招聘面试参考题库及答案
- 高教社2023马工程国际私法学教学课件u15
- 退费账户确认书
- 基于聚类的图像分割算法研究
- 教练式辅导-GROW模型介绍
- 河南粮投油脂有限公司油脂产业园项目环评报告
- 日中星鸟以殷仲春夏商周三代的星象与神学价值
- 原发免疫性血小板减少症教学查房
- 丈夫出轨净身出户协议书
- 矿泉水行业深度解析
- 部编版语文1至6年级下册教学总结
- 公路工程交工自评报告
评论
0/150
提交评论