(微电子学与固体电子学专业论文)soc软硬件联合仿真验证系统研究.pdf_第1页
(微电子学与固体电子学专业论文)soc软硬件联合仿真验证系统研究.pdf_第2页
(微电子学与固体电子学专业论文)soc软硬件联合仿真验证系统研究.pdf_第3页
(微电子学与固体电子学专业论文)soc软硬件联合仿真验证系统研究.pdf_第4页
(微电子学与固体电子学专业论文)soc软硬件联合仿真验证系统研究.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(微电子学与固体电子学专业论文)soc软硬件联合仿真验证系统研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着电子系统复杂度的增加和片上系统的发展,对系统在设计阶段进行实时 验证的要求越来越重要,搭建专用模拟验证系统不仅成本高,而且周期长。本篇 论文在国内外相关验证系统技术的基础上,提出了自己的s o c 软硬件联合验证系 统的解决方案。软件的设计和硬件系统架构的设计都已经完成,并在此基础上进 行了联合仿真模式、数据流模式以及事务级模式的软硬件联合验证实验。达到了 国外同类产品的先进水平。 本篇论文首先介绍了国内外软硬件协同验证系统验证技术进展,并给出了软 硬件协同验证系统的设计原理以及硬件部分的整体设计架构。最后从三个方面重 点阐述了硬件系统的设计: 1 软硬件协同验证系统三种验证模式板级系统的设计,包括两块p c b 板卡的 设计,一块是p c i 接口板卡的设计,另一块是联合仿真c s m 板卡的设计。 2 设计实现了软硬件通信系统和仿真系统。软硬件通信系统包括p c i 接口转 接电路,s c e 。m i 协议的设计实现和l v d s 传输系统;仿真系统是整个系统设计的 核心,采用了多状态机协同设计和标准总线接口模型思想,重点阐述了主控指令 编码,解码状态机的设计。 3 在实际系统中验证硬件平台的可靠性,功能的可实现性,以及涣4 试的正确 性,还有三种验证模式的验证速度等指标性能,最后在总结系统运行情况后对系 统进行了一定的优化设计。 整个系统电路的设计都通过了p c 仿真软件的前仿真和后仿真,然后下载到 f p o a 进行了功能的验证并通过了实际平台的运行测试。所有的相关指标都达到了 协议的规定。 关键词t 片上系统,软硬件联合验证,标准联合验证模型接1 :3 ,低压差分信号 塑! 坠竺! a b s t r a c t a st h er a p i dd e v e l o p m e n to ft h es o ca n ds i g n i f i c a n ti n c f e a s eo ft h ee l e c t r o n i c s y s t e mc o m p l e x i t y , t h er e q u i r e m e n to fr e a lt i m ev e r i f i c a t i o na tt h ed e s i g ns t a g ei s b e c o m i n gi n c r e a s i n gc r u c i a l , h o w e v e r , t h ep 矗c co fb u i l d i n gv e r i f i c a t i o np l a t f o r mf o r s p c c i f i cs y s t e mi sn o to n l yh i 醢c o s tb u ta l s ol o n gd e v e l o p m e n tc y c l e an o v e ls o c s o r w a r e & l m r d w m ec o - v e r i f i c a t i o ns o l u t i o ni sp r o p o s e db a s e do nt h er e l a t e de x i s t i n g v e r i f i c a t i o ns y s t e mt e c h n i q u e t h er e s u l t so fc o - s i m u l a t i o nm o d e ,v e c t o rm o d ea n d t r a n s a c t o rm o d et e s tm a d eo nt h ep l a t f o r mi n d i c a t e dt h a ti t sp e r f o r m a n c eh a sa c h i e v e d t h ea d v a n c e dl e v e lc o m p a r e dw i 也o t h e rg l o b a lr e l e v a n tp r o d u c t s n et e c h n i c a ld e v e l o p m e n to fv e r i f i c a t i o ns y s t e mh a sb e e ni n t r o d u c e df i r s t l yi nt h e t h e s i s ,t h et h e o r yf o rt h eh a r d w a r es t r u c t u r ea r et h e np r o v i d e ,f i n a l l y , t h eh a r d w a r e s y s t e md e s i g nw i l lb ed e m o n s t r a t e df r o mt h x e ea s p e c t s : 1 - t h ed e s i g no f s o f t w a r e & h a r d w a r ec o e m u l a t i o nv e r i f i c a t i o ns y s t e ma tp c b l e v e l , i n c l u d i n gt h ep c ii n t e r f a c eb o a r da n dt h ec s mb o a r d 2 1 kd e s i g na n dr e a l i z a t i o no ft h es o r w a r e & h a r d w a mc o m m u n i c a t i o ns y s t e m , w h i c hi n c l u d e st h ep c ii n t e r f a c ec i r c u i t , s c e - m ip m t o e n la n dl v d st r a n s m i s s i o n s y s t e m t h es i m u l a t i o ns y s t e mi st h ec o r ef o rw h o l es y s t e m w ea d o p ts t a n d a r db u s i n t e r f a c em o d ea n dm u l t i p l es t a t em a c h i n ec o - d e s i g n a d d i t i o n a l l y , t h ec o n t r o l i n s t r u c t i o n sf o re n c o d e & d e c o d es t a t em a c h i n ea r ed i s c u s s e di nd e t a i l - 3 t h er e l i a b i l i t yo fh a r d w a r ep l a t f o r m , t h er e s l i z a f i o no ft h ef u n c t i o n s ,t h e c o r r e c t n e s so f r e s u l t s ,a n da d d i t i o n a l l y ,t h ev e r i f i c a t i o nt i m ef o rt h r e ev e r i f i c a t i o n1 1 1 0 d e a r et e s t e di na c t u a ls y s t e n lf i n a l l y , t h es y s t e mi so p t i m i z e d 髓1 e s y s t e m c i r c u i t d e s i g n e d f i r s tw a sv e r i f i e dv i ap r e - s i m u l a t i o na n d p o s t - s i m u l a t i o nb yp cs i m u l a t i o ns o f t w 舡ea f t e rw h i c h , t h ec i r c u i tw a sd o w n l o a d e do n f p g af o rv e r i f i c a t i o n , w h i c hg i v e sag o o dr e s u l tt h a tp e r f e c tm e e t st h er e q u i r e m e n t so f t h ep r o t o c 0 1 k e y w o r d :s y s t e mo i lac h i p ,h a r d w a r e & s o r w 趾ec o r v e r i f i c a t i o ns y s t e m ,s t a n d a r d c o - e m u l a t i o nm o d e l i n gi n t e r f a c e ,l o wv o l t a g ed i f f e r e n c es i g n a l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 麟:堪些吼印霹月蝈 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:1 渺导师签名:三址 日期:2 f 年i 月1 1 日 第一章绪论 , s 0 0 技术懿筒会 第一章绪论 在2 0 世纪9 0 年代中期,a s i c 技术从芯片集成的理念发展成为基于嵌入式核 的片上系统( s o c ) 概念。简单地说,s o c ( s y s t e mo nc h i p ) 是一种将多个独立的 v l s i 设计拼合在一起,来完成某一应用所需的全部功能的集成电路。在s o c 的定 义串,觋确鹩强谲了驻务于多种应用前称为“核”( 也可称为知识产权模块、虚拟 单元和宏单元) 的预先设计的复杂功能模型。在一个s o c 芯片中,a s i c 制造商 可以使用自己设计的软核,也可以使用来自无加工线( f a b l e s s ) 或者无芯片 ( c h i p l e s s ) 设计公司设计的核。 由于s o c 芯片内核的集成数量越来越多以及嵌入式软件的应用,使s o c 设 计的复杂挂投大鼹增加了。两且职计还会继续毁摄高镪速率增热。由子核规模的 增大和工艺尺寸的缩小使芯片的复杂性增加了,因而使设计规范中必须考虑更多 的参量。例如,以前芯片设计仅仅考虑功能、延迟、功耗和可测性就足够了。现 在,对信号的完整性、电迁移、封装影响、电磁耦合和射频效应的考虑变得越来 越必要了。除了m 核复杂性增加之外,嵌入式软件的容量也以大大高于摩尔定律 的速度增如。 在所有的s o c 设计中。预先设计的核是基本的部件。系统芯片由各种满足片 上功能的嵌入核组合而成。这些核包括微处理器、大型存储器阵列、音频和视频 控制器、调俸h 解调器、2 维和3 维图像控制器、d s p 功能模块等。这些核主要包括 三种级别:软核、固核和硬核。软核、固核及硬核间的权衡要依据可服用性、灵 活性、可移植性、性能优化、成本及面市时间等进行综合考虑。 当前s o c 中通常会用到的部件有以下几类: 多个s r a m d r a m ,c a m ,r o m ,和f l a s h 存储器模块; 片内微处理器,傲控制器d s p ; 片上总线; p l l : a d c d a c 功能模块: 特殊功能模块; 电子科技大学硕士学位论文 2 d 3 d 图形运算单元; 接口模块( 如p c i , u s b ) ; 传统上,集成电路的前端设计是从定义系统行为或算法形式开始,到完成版 图规划后结束;后端设计是从布局怖线开始,一直到版图送出( t a p e o u t ) 为止。 这样,前端设计工程师对后端流程不甚了解,而后端工程师同样对前端知之甚少。 若想高效率地完成s o c 的设计,需要的是能够完成从定制系统设计要求到芯片级 集成前的物理设计的纵向集成设计工程师。 综合现在各种主流s o c 设计方法,简要介绍如下: 系统级设计:分析系统功能需求,对系统进行建模,分析,并对主要性能进行 设计( 如带宽、核心功能清单、编码模式以及主要性能等) 碑以及寄存器传输级设计:包括具体系统架构的设计,核心口的应用,以及 芯片各种功能模块寄存器传输级的设计。包括原理图输入、行为仿真和功耗分析 等。 设计优化:逻辑综合,功耗优化,前端版图规划,时钟设计,测试综合以及 时钟综合网表处理。 设计验证:静态时序分析,测试结构验证,形式验证,门级仿真,门级功耗 估计以及版图前技术检查。 版图设计:布局布线,设计规则检查,电路版图一致性检查,寄生参数提取, 后时序仿真。 由于使用多方提供的各种软核、固核和硬核,因此s o c 设计可能会遇到非常 高的集成复杂度、接口和同步问题、数据管理问题,以及设计验证和测试闯题、 结构和系统级问题。另外,使用不同厂商提供的各种逻辑、存储器和模拟,混合信 号的核还会引发s o c 设计中多方面的问题。据专门调查机构的最新调查,主要存 在以下一些设计问题: 曲移植方法学:无网表核,与版图相关的步长,宽长比例失调,手绘版图; 砩时序问题:时钟重分配,硬核宽度与间距不一致,天线规则不一致,芯片 多层布线导致的r c 寄生效应,时序重验证,电路时序; 工艺与原材料问题:非工业标准工艺特性,n 阱树底的连接,衬底原始材 料,端口与目标工艺底层闻差异; m 其他问题:混合信号设计不可移植,模拟电路底精度差,功耗问题; 2 第一章绪论 1 2 软硬件协同设计验证技术的发展 1 2 1 软件硬件协同设计技术 软硬件协同设计的整个流程从确定系统要求开始,包括系统要求的功能、性 能、功耗、成本、可靠性和开发时间。由这些要求形成通常由开发小组和市场专 家共同制定的初步说明文档。t o p - d o w n 方法整体考虑了s o c 芯片软、硬件系统 设计的要求。把系统需求、处理机制、芯片体系结构、各层次龟路及器件、算法 模型、软件结构、协同验证等紧密结合起来,从而用单个或极少几个芯片完成整 个系统的功能l l i ,其设计流程如图1 2 1 所示,分为以下几个主要步骤: 1 ) 系统总体方案设计:芯片系统功能、指标定义、需求分析、产品市场定位, 软顾件划分、指标分解等整体方案论证; 2 ) 软、硬件方案设计:确定软、硬件体系结构,模块功能的详细描述及技术 指标要求,时序及接口定义等工作; 3 ) 模块设计开发:完成硬件模块的开发,行为及时序仿真测试,底层硬件驱 动程序编写,算法设计及仿真,协议和应用软件的设计与开发。对于复杂的功能 模块,可进一步划分成子模块。在算法仿真时,根据系统指标的要求划分出信号 处理硬件加速模块; 软、硬件协同仿真测试:主要测试系统方案和软、硬件模块设计功能的正 确性; 5 ) 样机平台的测试:主要是自建或专用的验证平台,测试整个设计的功能、 性能指标是否达到要求。 t o p - d o w n 设计过程体现了层次化及目标化的系统设计思想。在$ o c 芯片设 计时具有如下的优点t 2 1 : 1 ) 整体考虑了s o c 芯片中软件及硬件设计。s o c 芯片通常内嵌了m c u 和 d s p 处理器,软件包含了硬件驱动、算法、协议、应用程序、实时操作系统等。 在设计工作中软件占有相当太的比例,软件的难度和工作量随芯片复杂度的增加 而进一步提高; 舢采用软、硬件协同设计,使软、硬件开发、测试工作并行进行; 3 ) 有利于知识产权核l i p ) 的采用和可重用i p 模块成果的产生; 4 1 更加完善的测试、验证手段,由于a s i c 的集成度、复杂度不断增加和投 4 1 更加完善的测试、验证手段,由于a s i c 的集成度、复杂度不断增加和投 第一章绪论 1 2 软硬件协同设计验证技术的发展 1 2 1 软件硬件协同设计技术 软硬件协同设计的整个流程从确定系统要求开始,包括系统要求的功能、性 能、功耗、成本、可靠性和开发时间。由这些要求形成通常由开发小组和市场专 家共同制定的初步说明文档。t o p - d o w n 方法整体考虑了s o c 芯片软、硬件系统 设计的要求。把系统需求、处理机制、芯片体系结构、各层次电路及器件、算法 模型、软件结构、协同验证等紧密结合起来,从而用单个或极少几个芯片完成整 个系统的功能【l 】,其设计流程如图1 2 1 所示,分为以下几个主要步骤: 1 ) 系统总体方案设计:芯片系统功能、指标定义、需求分析、产品市场定位, 软硬件划分、指标分解等整体方案论证; 2 ) 软、硬件方案设计:确定软、硬件体系结构,模块功能的详细描述及技术 指标要求。对序及接f 定义等工作; 3 ) 模块设计开发:完成硬件模块的开发,行为及时序仿真测试,底层硬件驱 动程序编写,算法设计及仿真,协议和应用软件的设计与开发。对于复杂的功能 模块,可进一步划分成子模块。在算法仿真时,根据系统指标的要求划分出信号 处理硬件加速模块; 铷软、硬件协同仿真溅试:主要测试系统方案和软、硬件模块设计功能的正 确性; 5 ) 样机平台的测试:主要是自建或专用的验证平台,测试整个设计的功能、 性能指标是否达到要求。 t o p - d o w n 设计过程体现了层次化及目标化的系统设计思想。在s o c 芯片设 计时具有如下的优点刚: 1 ) 整体考虑了s o c 芯片中软件及硬件设计。s o c 芯片通常内嵌了m c u 和 d s p 处理器,软件包含了硬件驱动、算法、协议、应用程序、实时操作系统等。 在设计工作中软件占有相当大的比例,软件的难度和工作量随芯片复杂度的增加 而进一步提高; 采用软、硬件协同设计,使软、硬件开发、测试工作并行进行; 3 ) 有利于知识产权核0 p ) 的采用和可重用d 模块成果的产生; 钔更加完善的测试、验证手段,由于a s i c 的集成度、复杂度不断增加和投 皇至型垫奎兰塑主堂垒堕塞 片费用较高,芯片功能和性自测试以及验证在s o c 开发工作中起着越来越重要的 作用; 系统总体方案设计 i 硬件方案,模块划分ii 软件分层结构麒块划分 i i i iz上 i 模块1 摸块2 模块“ 硬件驱动程序 i 算法设计,仿真 协议应用软件 l i ll i l | r - 戟、硬件协同仿真验证 差于功能样机平台的验证 图1 2 1 软件硬件协同设计流程 5 ) 增加了对流片厂家选择的灵活性,符合当今芯片设计中,系统及前端设计 与后端工作无关性的准则。综上所述,采用t o p d o w n 方法设计s o c 芯片,可充 分保证芯片功能和性能技术指标达到设计要求,有利于缩短开发周期。降低开发 成本及产品的单片价格。 1 2 2 软件硬件协同验证技术 琶裁a s | c 和昌0 c 芯片复杂度不断增加,量软 年所占的比镪和难度逐渐提高, 几乎达到5 d 。在理想情况下,软、硬件的工作应同步进行,同时结束。但在实 际情况下,软件开发因缺乏目标物理模型,通常只能进行一些与底层硬件无关的 高层软件开发和验证。大量的软件调试、集成工作在硬件完成之前无法开展,只 能在系统集成与测试阶段,前期设计的错误和缺陷等问题才会暴露出来。通常采 用修改软 串和降低产器总体毪链指标的方法来完残目臻产品鲍研发。在阚题严重 时,系统开发工作还得重新从头进行,难以满足芯片上市时间越来越短的要求。 为此,出现了以m e n t o r 公司和a p t i x 公司开发的软、硬件协同设计与验证工具。 这些工具可在芯片开发初期为软件提供硬件仿真调试环境,在后期提供软、硬件 第一章绪论 协同验证平台。这类工具可以满足软硬件功能验证的要求,但对复杂系统的性能, 特别是实时性等方面的验证还难以达到要求。 传统的s o c 设计中,其过程一般是系统的预研,划分各功能模块( 包括软件、 硬件) ,具体模块酶实现,然后是各个模块的集合、验证。按照传统的方法,硬俸模块 和软件模块各自分开验证其功能是否正确,也就是说,它们的验证不在同一个环 境之下。这种方法存在很多缺点。首先,硬件和软件模块必须根据系统要求,建立 各自的验证环境,这必然导致两个环境的不一致性;同时,额外增加了硬件模拟软 件环境和软件模拟硬件环境的仿真模型;另外,仿真模型有别于实际的代码,以至 于最后整合对,容易产生不可预期的错误,导致整个设计的反复。软硬件协愿验证。 则在最大程度上解决了分开验证的缺点,使软件和硬件能够尽早协同运作,让软件 调试和硬件调试在同一时间进行,及时发现软件和硬件的错误【孔。 s o c 不仅在规模上与传统的芯片有着很大的差别,而且在设计方法上也有着本 质的不同,在s o c 的设计中,会大量的运用m 复用技术,并且不仅包含大量的硬 件电路设计,而且包含了楣当部分的软件设计,也就是说,在s o c 设计中要同时考 虑硬件和软件的设计,还要考虑不同的口核整合后是否髓够正确协同的工作。即 是说,在验证时不仅仅是硬件的验证,还包含软件的验证,也就是说要进行软、硬 件协同验证。并且随着一些复杂s o c 的规模超过两千万门,以及对开发和集成嵌 圈1 2 2 软硬件的验证过程在整个设计周期中提前 入式软件的需求持续增加,软件模拟器已经力所不及。在设计过程需要几百万个 电子科技大学硕士学位论文 时钟周期来充分溺试和验证软件功能的情况下,软件仿真器的性能下降到1 - s h z 。 如果将一部分设计映射到硬件来实现,就可以极大的提高系统的仿真速度。 也就是漩,只有软、硬传协冠验 芷才是真正意义上的系统验证。并能极大的提高仿 真的速度。软、硬件协同验证主要目的是验证软件能否在期望的硬件电路上正确 运行,和验证软件与硬件之闻的接口是否能正常工作【4 。如图l 2 2 所示。 软硬件协同验证的主要目的是通过一个纽带,让软件验证器和硬件验证器协 同工作;软硬件协同验证的组成部分包括:协同仿真内核( c o - s i m u l a t i o nk e r n e l ) 、 指令集模拟器( i n s t r u c t i o ns e ts i m u l a t o r 、h s ) 、调试接口( d e b u g g e r n 斌f a c c ) 、硬件 模拟内核( 磁m 懈s i m u l a t i o nk e r n e l ) 、硬件模拟接口( h f l m v c b r cg i m a l a t i o n i n t e r f a c e ) 、总线功能模型f u n c t i o nm o d e l s , b n d ) 、存储模型m i 哪o r ym o d e l s , m m ) ,等等。协同仿真内核控制着软硬件两方砸仿真过程的通讯。协同仿真内核接 收和处理来自指令集模拟器的所有地址信息和请求,判断这些地址请求是通往总线 功能模型饵f m ) 还是直接通往本地存储器模型。指令集模拟器毋s ) 是一个抽象的功 能行为模型,模拟指令执行时数据处理的过程。指令集模拟器( s ) 用以执行代码编 译器为特定c p u 编译后的机器码。总线功能模型( b f m ) 模拟处理器的外围活动, 软件的调用被转换为测试向爨去测试硬件仿真器,硬件仿真器对模拟做出反应并 通过b f m 返回到软件模拟环境。b f m 就提供了从软件的搡作到硬件的实际的每 个信号线上的转换的接口。硬件模拟内核和硬件模拟接口则执行包含多个总线功 能模型( b f m ) 、存储模型o 心椰、以及用户硬件逻辑的硬件模块的仿真模拟洒。 软硬件协同验证软件环境,其实就是仿真实际的嵌入式系统硬件环境。其数据 过程是。数据请求由执行在指令集模拟器s 的软件发出,然后通过协同仿真内核 和硬件模拟内核。当总线功能模型毋f m ) 、存储模型( m m ) 接收到数据请求,则提 供或者接收c p u 端需要的或者发送过来的数据。协同验证也是基于建立模型后的 验证,针对不两的c p u ,必须有不同的c p u 横型。因为指令集模拟器毋s ) 不是一般 的c p u 硬件仿真模型,所以它可以做到某些指令周期的优化,比如可以去除一些 无效的指令周飙从而使仿真速度加快。 1 。3 本文主要的研究内容 本文的研究工作是设计一套软硬件联合验证系统,选套系统主要有三种验证 模式:联合仿真验证模式、数据流验证模式以及事务级验证模式。为了完成这个 工作,主要要完成软件集成环境的设计,硬件联合仿真系统酶设计,验证原型主 第一章绪论 机系统的设计。本文主要阐述的是联合仿真系统硬件部分的设计,包括三种验证 模式在硬件上的实现。本文主要有三部分内容: 第一部分工作是对软硬件协同验证的两种验证模式硬件部分设计出来,其中 包括两块p c b 板卡的设计,一块是p c i 接口板卡的设计,另一块是联合仿真 c s m ( c o s i m u l a t i o nm o d e l ) 板卡的设计。 第二部分工作是对两种验证模式的工作原理硬件部分的电路设计,还有就是 这两块板卡上f p o a 内部电路的设计,p c i 板卡上主要是数据通信信道的设计, c s m 板卡主要是指令处理和总线接口的设计,这是整个项目的核心工作。 第三部分工作是在实际系统中验证硬件平台妁可靠性,功链的可实现性,以 及测试的正确性,还有三种验证模式的验证速度等指标性能。最后在总结系统工 作情况对系统进行了一定的优化。 皇! 型垫查堂堡圭兰垒笙壅 第二章软硬件协同验证系统的设计原理 2 , 协同验证系统原理概述 2 1 1 系统的设计要求 本协同验证子系统为用户从一些流行的仿真器接口到可重配的硬件原型平台 之闻提供一个高速的链接,它能够帮助设计者通过这个系统在硬件原型平台上运 行寄存器级的钡4 试向量( t e s t b e n c h e s ) 、事务级的模型( t r a n s a c t i o n - l e v e lm o d e l s ) 和数据流钡4 试激励( t e s tv e o t o r ss e t s ) 。此协同验证子系统提供了一系列可任意组 合的高性能的验证方式。系统的硬件包括为位于软件运行平台一侧的p c i 接1 :3 卡 和与硬件接口的联合仿真子板( c o s i m u l a t i o nm o d e l ) ,其中c s m 子板与主机系统 僚扩展缓侔稽租连,p c i 卡插在工作站或p c 钓p a 插槽,采用乙、囝s 稚线与c s m 子扳相联。软件主要提供p c i 接口驱动和常用仿真软件的接口c - a p i ( 与c 系列 的仿真器的接口库) 、p l i ( 与v e r i l o g 仿真器的接口库) 和f l i ( 与v h d l 仿真器 的接口库) 【6 】。主要硬件平台架构见下图2 1 1 所示。 图2 3 1 协同验证系统硬件平台桨构 三种验证模式的简介: 联合验证模式;验证速度可达1 0 sk h z ,验证的原理是把一部分设计下载到 第二章软硬件协同验证系统的设计原理 原型硬件平台,一部分设计和测试向量运行子常见的仿真器上。 数据流验证模式:验证速度可达1 0 0 sk h z ,验证原理是把数据流从工作站或 p c 动态下载到硬件平台。 事务级模式:验证速度可达m h z ,验证原理是通过s 钮n d a r dc o - e m u l a t i o n m o d e l i n gi n t e r f a c e ( s c e - m i ) 标准把工作站或p c 上运行的系统级的模型和测试激 励与硬件平台连接起来进行信息交换。 2 1 2 系统的验证理论分析 随着集成电路的复杂度越来越高,系统级芯片f s o c ) 的功自越来越强大,在 s o c 设计中通常都引入了p 复用技术( i pr e u s e ) ,由很多的经过验证的弹核组 成,通常一个s o c 都是由很多的模块构成的,如微处理器( m c u ) ,存储器 ( m e m e o r y ) ,数字信号处理器( d s p ) 组成,以及由很多的用户自己设计的模 块,我们如何保证我们的设计在最后生产出来后都是正确无误的可用的。这就必 须要在进行实际的工业化生产之前,进行s o c 的仿真和验证,随着s o c 系统的扩 大,s o c 的设计验证郡变得异常的困难。通常在一个s o c 系统芯片的设计中,s o c 的验证工作通常占整个开发周期的7 0 的时间。 s o c 的验证就是一个确保s o c 设计满足了设计参数说明文档的要求的过程。 在整个s o c 的验证过程中面临着这样一些问题:需要儆多少验证就足够了,如何 规划验证和缩短验证的时间。 1 ) 传统的验证方法 当前被广泛使用的验证技术主要有动态验证技术和静态验证技术。而静态验 证技术又分为功能验证和时序验证,仿真就是一种常用的动态验证技术。 逻辑仿真直接采用电路的布尔逻辑进行建模,而不关心电路所处的中间状态, 这一简化大大降低了验证电路所需要的计算代价,使得验证速度得以大大提高,当 前,实现逻辑仿真有两种方式,即事件驱动仿真( e v e n t - d r i v e ns i m u l a t i o n ) 和周期驱 动仿真( c y c l e d r i v e ns i m u l a t i o n ) 。在事件驱动仿真中,仅在电路某些节点的逻辑电 平发生改变的情况下才对电路中相应节点的逻辑值进行重新计算。而周期驱动仿 真只是在有效的时钟边沿检测到输入信号发生变化时才重新计算相关的输出结果, 这样就极大地如快了仿真器的处理速度,但周期驱动仿真只提供了一种快速的功 能仿真手段,它不能进行时序分析,且它的应用局限于同步设计。目前,有些仿真器吸 收了这两种技术的优点,在仿真开始时,对于同步设计,采用周期驱动仿真,而在 9 电子科技大学硕士学位论文 随后的验证中再采用事件驱动仿真,对电路进行全面的验证。 由于动态验证对资源的需求很大,因此动态验证技术无法胜任大规模集成电 路验证。解决这个问题的关键是在寄存器传输级( r t l ) 采用侠速的功能验证,而 在门缓采用赫态验证。静态验证包括形式验证和静态时序分析。形式验证采用形 式化技术来验证两个设计在功能上的等效性,它哥以用来验证电路不同层次设计 之阀功能的等效性,也可阻验证同一层次不同设计之闻功靛的等效性。当其中某一 描述作一些微小变化届,就可以在修改前和修改螽两个描述之间进行功能等效验 证。 静态验证的另一个技术是静态畦序分析。静态时序分析是分析、诊断和确认 一个设计的时序特性的彻底方法。它将整个电路分解为一组组路径然后分别计算 电路中每条路径的延时。并对照时序约柬检查任何可能的时序违反情况。静态时序 分析检壹的重点是时序单元的建立时同( s e t i 单t i m e ) 和保持( h o l dt i m e ) 时阀。由于 静态时序分析不需要输入向量,因此它比传统的仿真技术要快好几个数量级,适用 于较大的设计,它可以辨别出设计中所有的关键路径( c r i t i c a lp a t h ) ,但其所辨认出 的关键路径中可能存在着伪e - e ! ( f a l s ep a t h ) ,置它只对同步电路有效。相耽之下,动 态验证不局限于同步电路,且验证的结果比较准确,不会辨别 珏伪路径,但其不足 在于速度较慢,且有可能遗漏某些关键路径,因为仿真技术在辨别关键路径时严 重依赖予输入向量。因此,在当前较大豹设计中,一般要嘲时使用仿真和静态验证 技朱以尽可能保证设计的可靠性研。 。 2 ) 软硬件联合仿真模式验证 在这种模式下,被测试的对 象商一部分是存在于计算机的 h d l 仿真器中,还有一部分是 存在于可重构的硬件原型验证 平台上,例如f p g a 组成的平 台。仿真器基于数据的计算和原 型平台上的电压信号之间的信 卧一翘2 息交互正是这种模式的核心蛳唧。圈2 1 2 软硬件联音伉真模式 软硬件联合仿真模式见圈2 , 1 2 ,在邀稚模式下软件和硬件交互的是周期精确 的信号。仿真器的仿真状态在每一个仿真周期由软件模型( s w m o d e - ) 采样、格式 化、打包,然后把这个数据包通过s c e - m i 协议的抽象通道发送到硬件端,在硬件 端这些数据包被解包,在时钟的控制下按照总线接口的模式被发送到d u t ( d a t a 1 0 第二章软硬件协同验证系统的设计原理 u n d e rt e s 0 。在这同时,d u t 的响应又在时钟的控制下被采集、格式化、打包, 逆向处理之后信息被发送到h d l 仿真器,至此联合仿真模式验证进行了一个周期。 其他两种模式在我们的软硬件协同验证平台上也已经成功实现了,对现在的i c 设 计者来说,软硬件联合仿真模式是比较普遍的【1 0 】。 3 ) 基于事务层的验证 事务是一次性完成的一组操作或信号变化,见图2 1 3 所示。在一个抽象概念 上包括信号的传送,数据的处理、变化,系统的状态等。事务可以用开始时间、 结束时间、数据变化与流向、控制信号的动作以及其他一切相关的信息来描述, 这些信息可以作为事务的属性 来存储。事务的概念很宽,可以 简单到存储器的读写,复杂到很 多数据的处理与传输。事务也可 以由多个操作、多个时钟周期来 组成。例如,一个以太网事务可 以处理一个完整的以太网数据 包f l l l 。 图2 1 3 事务的基本概念 基于事务的验证把验证提高到一个更高的水平。可以把单独信号的特殊性。比 特和字节的繁琐性都被模型化并且包装起来,这样把验证提高到更高的抽象的层 次上,这个层就是事务层,这样能够更有效地完成更多的功能。运用这种基于事务 的验证方法可以给验证过程的每一个环节带来好处。事务是一个抽象的层次,在 这个层上,设计的功能可以用特定的语言来描述,并且,可以用很高效的方法验 证一个设计是否满足要求。基于事务的验证允许代表单个或者多个时钟周期的大 量数据不经多次调用而直接进入模拟器,极大地提高了模拟性能。而传统的验证 环境都是基于事件和周期的仿真,必须在每个时钟周期甚至子周期提供验证数据。 具体比较见图2 1 4 所示。 不仅如此,基于事务的验证方法还能提高测试能力,暴露某些甚至也许是很 隐蔽的缺陷,可以改进结果的检查能力,能够准确、有效地检测出缺陷。当个 设计在信号层经常要关注那些l 或0 时,设计者可以借助基于事务的方法很方便 快捷地创建测试方法。系统结构设计人员可以不用费心去思考那些使能信号、地 址总线等等之间细节的关系,而是更多的关注数据的流向,处理,存储,以及电 路的状态和动作等这类事务。基于事务的这种方法可以说是自然验证方法在设计 的更高抽象层的一种扩展。典型的基于事务验证的流程包括三个阶段:测试生成、 电子科技大学硕士学位论文 设计调试、功能覆盖率分 析。基于事务的验证技术 将处理器定义为h d l 总 线功能模型( b f m ) 和c 语言问的接口部件。c 语 言侧包括测试控制、数 据产生与检查,以及 c ,c + + 抽象层,后者执行 数据操作,如分段与重 蒜干信号与蔫7 基于攀务 1 试向量州试、r翱试中台措建撤 试甓哦 搽建援雉 方侄 煎看波形j 缸疆 对审务的矗栈 甚立件 美联因粜丹 e 汁鲋试 钎、锚谟显示、 跟踪、记最等 氍麟 力幢快挺 狴僻t 并非常 它疆矗率任t 矗* 方健 组、打包和协议相关的功图2 1 4 蓦于事务的验证于传统的验证方法的比较 能。这种面向事务的定位,加上平台库所提供的数据打包能力具有多个优点。首 先,它为测试者提供了一个结构化的视角和简单的应用程序接口( a p i ) 。这可以把 测试者从底层总线协议的细节中解放出来,只关注于产生完成测试目标所需要的 条件,从而产生更有效率的铡试代码编写和更高的测试质量,其次,它提供可重 用性,即通过改变底层的b f m 模型,为一个接口所写的测试可以运行在另外一个 不同的接口上。最后,它可以提高性能。基于事务的传输层把c 语言一侧的事务 请求映射到h d l 寄存器,控制b f m 中的状态机。相对于发送周期性的信号请求, 或者单个信号的编程语言接口( p l i ) 请求,使用事务传输层具有巨大的速度优势。 在很多情况下,性能的提升超过几个数量级。事务级模式的验证原理见图2 1 5 所 图2 1 5 事务级模式的验证原理 第二章软硬件协同验证系统的设计原理 示。 由电子设计自动化领域一个组织a c c e l e r a 定义了一个标准叫做s c e m i ,该标 准对基于事务的协同仿真提供了标准定义。s c e m i 标准定义了与硬件信息端口通 信的软件代理, s c e - m i 允许在软件代理和h d l 信息端f i 之间有多个虚拟通信 通道。在事务架构的硬件和软件两方面都符合工业标准接口。a p t i x z a i q 的s c i - m i 基础结构可由s c e - m it r a n p o r t e r 独立提供,并包含在p r e pm e s s e n g e r 标准协同 仿真传输层中。传输层的t e s t b e n c h p l u s ( t b p ) 软件支持线程,这样可以启动多个并 发任务。这一特性加强了对被测试器件( o u t ) 的控制,更接近于仿真真实的系统级 性能 5 1 。 4 ) 基于测试数据流的验证 基于数据流的验证,就是说测试向量是从工作站上以数据流的形式传送到被 测试单元d u t ,事实上,在软件级就将测试位流打包后按照s c e - m i 的标准传送 到硬件一侧,然后再解包后作为数据流传递个测试单元,经过d u t 处理后,经过 相反的路径传送回软件仿真环境。利用这种验证方法可以将验证速度提高到凡百 k h z 。而测试向量的多少主要取决于用户工作站的磁盘空间。 2 2 系统设计的协议分析 2 2 1p c i 协议分析 1 ) p c i 接口的基本原理和特点 p c i 局部总线是微型计算机中处理器存储器与外围控制部件、扩展卡之间的 互连接口。由于p c i 局部总线独立于处理器的独特设计和其高性能、低成本、开 放性等方面的优势,它已成为微型计算机事实上的总线标准,并在嵌入式计算机 和工业控制计算机方面具有广泛的应用前景。随着更多的计算机外围接口设备放 弃原有i s a 总线而采用p c i 总线,设计满足p c i 总线规范的外围接口设备( 包 括硬件设计和软件设计) 变得越来越重要。由于p c i 局部总线所涉及的概念比较 复杂,规则繁多,因此这种设计较为困难。p c i 总线之所以被迅速推广,是因为它 有很多其它外部总线不可比拟的优点,从传输角度来看,其特点尤为突出: 曲高带宽:p c i 总线宽度3 2 6 4 位; ”高主频:主频为3 3 6 6 m h z ; c ) 同步控制、突发传输获取很高的传输速率; 电子科技大学硕士学位论文 d ) 隐蔽的总线仲裁减小了仲裁开销; e ) 地址擞据总线复用,经济地利用总线信号,降低了成本。 p c i 局部总线接口设计方法p c i 总线有着良好的扩展性,可通过p c i p c i 桥路 进行扩展。p c i 总线支持自动配置,扩展卡不需开关或跳线设置。要设计p c i 接口 电路,必须深入了解p c i 总线规范。此外,要应用e d a 工具和选用合适的对p c i 兼 容的复杂可编程器件方能进行接口电路设计。p c i 总线接口设计必须严格遵守p c i 总线规范、电子技术规范。一般的集成电路不宜作p c i 接口电路。p c i 总线是c m o s 总线,在传输信号消失后,稳态电流是很小的,大多数电流消耗在上拉电阻上。p c i 总 线基于反射波信号而不是入射波信号。总线无终端的特性导致传输线终端的反射 波与入射波叠加后达到所需的电平值。p c i 规范要求集成电路的引脚有上拉电阻以 防止振荡或在输入缓冲器上的功率消耗。除此之外,要求芯片的输入引脚有箝位特 性。 p c i 局部总线接口功能在电路设计中, e c i 局部总线接口电路主要有以下几个 功能: 地址译码及命令译码地址译码时由于p c i 总线可以采用正向方式和负向方式 进行译码,因此应视具体应用情况选择适当的译码方式,一般选择正向译码;为保证 不会出现地址冲突,应采用全地址译码;命令信号线c m e 3 :0 】撑必须参加译码。 产生地址p c i 的猝发传输方式包括一个地址周期和若干个数据周期,因此在 p c i 输出接口电路中包含高速的地址产生部件用于向后级应用电路提供地址。 产生控制信号p c i 总线上的数据传输基本上由f 孙伍样、y 捍、t r d y # 和 d e v s e l # 四根信号线控制。因此必须根据主从设备的闲忙等情况相应产生这些控 制信号。另外,p c i 输出接口电路还能完成地址锁存、数据分离、命令锁存及字节 选择信号分离的功能。当然整个电路设计必需考虑p c i 规范中信号的负载能力。 2 ) p c i 接口信号 p c i 信号可分为七大类:地址和数据信号、接口控制信号、错误报告信号、伸 裁信号、系统信号、中断报告信号、其它可选信号。 3 ) p c i 总线命令 p c i 支持的总线命令如下表2 2 1 ,主要是3 2 位模式的p c i 命令集,是由 c b e # 3 :0 信号所决定的。 表2 2 i p c i 命令集 c b e # 3 c b e # c 仍e 抖 1 ) c m e # 0 命令类型 l o0 oo

温馨提示

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

评论

0/150

提交评论