已阅读5页,还剩78页未读, 继续免费阅读
(通信与信息系统专业论文)一种远程soc仿真验证加速器的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 片上系统( s o c ) 设计在近年得到了迅猛发展,它相对于专业集成电路( a s i c ) 的 最大不同之处在于其系统特性,除了包含大量硬件模块之外,还需要大量的软件, 如操作系统、驱动程序、通信协议以及各种应用程序等,其设计复杂度远高于传 统的芯片。因此对其芯片的仿真也变得非常困难。随着一些复杂的片上系统的出 现,功能仿真逐渐成为制约片上系统开发的关键问题。为了提高s o c 芯片的开发 效率,缩短s o c 上市时间,业界已经提出了各种功能仿真技术来提高仿真效率, 软硬件协同仿真技术就是其中典型的一种加速仿真技术。 本文介绍的基于网络的远程s o c 仿真验证加速器,以软硬件协同验证技术为 主要思想进行总体设计,利用远程调试器实现服务器与用户f p g a 目标板之间的 互连,由a r m 和f p g a 构成的调试器完成软硬件间的实时双向数据传输和数据 变换,另外由目标f p g a 上嵌入的协同仿真接口模块与用户待测设计( d u r ) 无缝整 合,达到充分利用了软件灵活、硬件工作速度快的特点。较之其他设计方案,本 文所述方案着重考虑了资源占用低、调试灵活以及仿真手段丰富等方面,可为系 统设计提供超大规模的、可重用的、可灵活扩展的系统硬件平台。 本文作者的工作主要包括:理论学习、软硬件环境通信协议的制定、硬件仿 真平台所有模块r t l 代码的编写与验证、硬件系统的调试和软硬件系统的联合调 试、参与软件系统中a r m 设计等。本文的主要内容如下: 1 s o c 仿真验证加速技术的理论知识介绍。 2 s o c 仿真验证加速器的总体设计思想以及优劣势。 3 s o c 仿真验证加速器软件系统的设计要点及软硬件系统通信协议和数据 格式介绍。 4 s o c 仿真验证加速器硬件系统的设计实现。 5 加速器软硬件联合调试,测试其功能正确性以及性能指标并给出分析及改 进方案。 关键词:软硬件协同仿真,现场可编程逻辑门阵列,片上系统,调试器 a b s t r a c t a b s t r a c t c o m p a r i n g 、) l ,i mt r a d i t i o n a la p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ( a s l c lw h i c h c o m p r i s e sam a s so fh a r d w a r em o d u l e s ,s y s t e mo nc h i p ( s o c ) i n t e g r a t e ss o f t w a r es u c h 嬲o p e r a t i n gs y s t e m ,d r i v e r , p r o t o c o l sa n da p p l i c a t i o np r o g r a m s t h u s ,s o ci sm u c h c o m p l e xf o rd e s i g na n dd i f f i c u l tf o rv e r i f i c a t i o n n ef u n c t i o n a lv e r i f i c a t i o nh a s g r a d u a l l yb e c o m eo n eo ft h eb o t t l e n e c k sf o rs o cd e s i g n , d u et o t h ei n c r e a s i n g c o m p l e x i t yi nb o t hh a r d w a r ea n ds o f t w a r e ,a n dt h ei n c r e a s i n gi n t e r a c t i o nb u r d e n b e t w e e nt h e m i no r d e rt oe x p l o i ts o ce f f i c i e n t l y , v a r i o u ss i m u l a t i o nm e t h o d sh a v eb e e n p r o p o s e d , a m o n gw h i c hh a r d w a r e s 0 1 a r e ( h w s w ) c o - s i m u l a t i o nh a sab r i g h t p r o s p e c t i nt h i sp a p e r , as o cv e r i f i c a t i o na c c e l e r a t o rb a s e do nn e t w o r k si sp r o p o s e d ,w h i c h i sd e s i g n e db a s e do nt h et h e o r yo fc o s i m u l a t i o no fh w s w i tu t i l i z e sad e b u g g e rt o i n t e r c o n n e c tt h es e r v e ra n dt h ed e s i g nu n d e rt e s t ( d t r r ) o nr e m o t ef p g ab o a r d t h e d e b u g g e r , w h i c hi sc o m p o s e db ya r m a n df p g a , e s t a b l i s h e sar e a l t i m eb i d i r e c t i o n a l d a t ap a t ha n dc o m p l e t e st h ed a t ac o n v e r s i o n t h ee m b e d d e di n t e r f a c em o d u l ec a nb e s y n t h e s i z e dw i t hu s e r sd u ts m o o t h l y i no u rp l a t f o r m , t h es o f t - w a r ed e s i g nc a nb e s i m u l a t e di nt h es e r v e r , w h i l et h eh a r d w a r ed e s i g nc a l lb es i m u l a t e di nf p g ab o a r d w h i c hg i v e sam o r er e l i a b l er e s u l t a n dt h eh a r d w a r ee n v i r o n m e n tc a nb es h a r e da m o n g g e o g r a p h i c a l d i s t r i b u t e du s e r st h r o u g hr e m o t ei n t e r a c t i o nw i t hi n t e r n e t a n dt h i s p l a t f o r mi sf l e x i b l et ou s ea n de a s yt oe x t e n d t h em a i nw o r k sc a nb es u m m a r i z e da s f o l l o w i n g 1 i n t r o d u c t i o no ft h em e t h o dr e l a t e dt os o cs i m u l a t i o na n dv e r i f i c a t i o n a c c e l e r a t i o nt e c h n o l o g y 2 n l eo v e r a l ld e s i g ni d e aa n df e a t u r e so ft h ea c c e l e r a t o r 3 1 1 1 ek e yp o i n t so ft h es o f t w a r es y s t e md e s i g na n dt h ed e t a i l so ft h e c o m m u n i c a t i o np r o t o c o la n dd a t af o r m a tb e t w e e ns o f t w a r ea n dh a r d w a r es y s t e m s 4 n l ed e s i g na n di m p l e m e n t a t i o no ft h eh a r d w a r es y s t e m 5 c o d e b u go ft h es o f t w a r ea n dh a r d w a r es y s t e m s ,v e r i f i c a t i o no ft h e a c c e l e r a t o r sf u n c t i o na n dt e s ti t sp e r f o r m a c e ,a n a l y s i so ft h es i m u l a t i o ns p e e d sa n do u r i i a b s t r a c t p l a nf o ri m p r o v e m e n t s k e yw o r d :s o f t w a r e h a r d w a r ec o - s i m u l a t i o n ,f p g a , s o c ,d e b u g g e r i i i 表索弓 表索引 表6 1 测试焉d u t 基本数据一6 5 表6 2 两加法器v e c t o r 模式下的速度测试结果6 6 表6 3 两加法器c o s i m u l a t i o n 模式下的速度测试结果。6 7 表6 - 4 协同仿真接口模块对目标f p g a 资源占用情况6 7 i x 图素弓 图索引 图2 1典型数字i c 设计流程7 图2 2 一致性检查的原理1 3 图2 3 信号级协同仿真的系统层次模型1 5 图2 - 4v e c t o r 模式的协同仿真的系统结构1 6 图2 5c o s i m u l a t i o n 模式的协同仿真的系统结构1 6 图3 1仿真验证加速器的系统结构组成1 9 图3 3c o s i m u l a t i o n 模式数据流框图2 1 图3 4删的应用软件分层2 2 图3 5 协同仿真接口的串并转换2 3 图4 1程序体系层次划分2 6 图4 2 文件转换翻译过程2 7 图4 3 客户端服务器通信流程。3 l 图4 4 配置和读取配置信息过程3 6 图4 5 协同仿真过程3 8 图5 。1控制f p g a 内部结构总图4 5 图5 2 配置模块原理结构图4 7 图5 3配置模块f s m 配置b i n 文件时的状态转移图4 8 图5 4 状态寄存器域4 9 图5 5 读状态寄存器f s m 状态转移图4 9 图5 - 6 发送激励接收响应模块的原理结构图5 0 图5 7 发送激励模块f s m 状态转移图5 l 图5 8 接收响应模块f s m 状态转移图5 1 图5 - 9 接收响应模块f s m 状态转移图5 4 图5 1 0 目标f p g a 内部原理图5 5 图5 1 1 协同仿真模块结构图5 7 图5 1 2 协同仿真模块f s m 状态转移图5 7 图5 1 3 协同仿真接口模块与d u t 的连线5 8 图6 1调试器实物照片6 0 v n 图索弓 图6 2 生成b i n 文件6 1 图6 3 远程下载时控制窗口信息6 2 图6 4v e c t o r 模式传输文件时控制窗口信息6 3 图6 5v e c t o r 模式仿真结果6 4 图6 - 6c o s i m u l a t i o n 模式仿真结果6 5 v i i i 缩略语 a s i c c r c c t d f t d m a d r c d u t e d a e v c d f i f o f l i f p g a h d l i c i e e e d j t a g l v s r a m r o m i 玎l s o c s t a t a p t c k t c p t d i 缩略语 a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t c y c l i cr e d u n d a n c yc h e c k c 1 0 c kt r e e d e s i g nf o r t e s t d i r e c tm e m o r ya c c e s s d e s i g nr u l ec h e c k d e s i g nu n d e rt e s t e l e c t r o n i cd e s i g na u t o m a t i o n e x t e n dv a l u ec h a n g ed u m p f i r s ti n p u tf i r s to u t p u t f o r e i g nl a n g u a g ei n t e r f a c e f i e l dp r o g r a m m a b l eg a t ea r r a y h a r d w a r ed e s c r i p t i o nl a n g u a g e i n t e g r a t e dc i r c u i t i n s t i t u t eo fe l e c t r i c a la n de l e c t r o n i c e n g n e e r s i n t e l l e c t u a lp r o p e r t y j o i n tt e s ta c t i o ng r o u p l a y o u tv ss c h e m a t i c r a n d o ma c c e s sm e m o r y r a n d o mo n l ym e m o r y r e g i s t e rt r a n s f o r m a t i o nl e v e l s y s t e mo nc l l i p s t a t i ct i m i n ga n a l y s i s t e s ta c c e s sp o r t t e s tc 1 0 c k t r a n s m i s s i o nc o n t r o lp r o t o c o l t e s t d a t a i n x 专用集成电路 循环冗余校验 时钟树 面向测试设计 直接内存存取 设计规则检查 待测设计 电子设计自动化 扩展型变值存储 先进先出 外部语言接口 现场可编程门阵列 硬件描述语言 集成电路 美国电气电子工程 师学会 知识产权 联合测试行动小组 版图与电路图对比 随机存取存储器 只读存储器 寄存器传输级 片上系统 静态时序分析 测试访问接口 测试时钟 传输控制协议 测试数据输入 缩略语 t d o t m s u d p v l s i v p i t e s td a t a0 u t t e s tm o d es e l e c t u s e rd a t a g r a mp r o t o c o l v e r yl a r g es c a l ei c v e r i l o gh d l p r o c e d u r ei n t e r f a c e x i 测试数据输出 测试模式选择 用户数据报协议 超大规模集成电路 v e r i l o g 程序接口 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:年f 月午日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:堑些塑 导师签名:垂呤雹j 壶 日期:伽歹年r 月 第一章绪论 第一章绪论弱一旱骚琴艺 片上系统( s o c ) 设计在近年来得到了迅猛发展,它相对于专业集成电路( a s i c ) 的最大不同之处在于其系统特性,除了包含大量硬件模块之外,还需要大量的软 件,如操作系统、驱动程序、通信协议以及各种应用程序等,其设计复杂度远高 于传统的芯片。因此对其芯片的仿真也变得非常复杂、非常重要,同时也变得非 常困难;这是因为,s o c 的仿真不仅仅需要对系统硬件方面进行仿真,还要对软 件进行仿真,也就必须进行软硬件协同仿真。随着一些复杂的片上系统的出现, 功能仿真逐渐成为制约片上系统开发的主要因素。为了提高s o c 芯片的开发效率, 缩短s o c 上市时间,业界已经提出了各种功能仿真技术来提高仿真效率,软硬件 协同仿真技术就是其中典型的一种加速仿真技术。目前各种软硬件协同仿真方法 侧重点主要是提高仿真效率方丽,两在系统灵活性、占用硬件资源等方藤讨论较 少。本文则着重在上述方面讨论了种软硬件协同仿真加速验证的平台。 1 1 研究背景 a s i c 产品是从用硬件描述语言( 如v e r i l o gh d l ,v h d l ) 开始进行数字逻辑电 路设计的,经过相关的仿真、综合擞门级网表、验证直至完成电路布局布线并优 化,最终经流片成功形成的芯片产晶。 随着电子系统集成程度的快速增长、半导体制造工艺的不断发展以及生产成 本的大幅下降,一个复杂电子系统的主要功能已经够集成到单颗芯片上完成,a s i c 的技术从芯片集成的理念发展成为基于嵌入式核的片上系统( s o c :s y s t e mo nc u p ) 的概念。简单地说,s o c 是种将多个独立的v l s i 设计融合在一起,来完成某一 特定应用系统所需全部功能的集成咆路。 s o c 芯片设计与传统的芯片设计有很大的不同,最大不同之处在于其系统特 性,除了包含大量硬件模块之外,还需要大量的软件,如操馋系统、驱动程序、 通信协议以及各种应用程序等,因而其规模和复杂度都较传统a s i c 设计大得多, 并且在s o c 设计中大量的采熙知识产权核( i pc o r e :i n t e l l e c t u a lp r o p e r t yc o r e ) 复用的 技术【l l ,其开发通常是基于本组织已开发的m 核或者是购买的其它组织的m 核, 然后髯设计翥;要的新l p 核,再将这些臻核整合成一个完整的系统,其设计复杂度 电子科技大学硕士学位论文 远高于传统的芯片。 为了保证s o c 在流片前满足系统设计所规定的功能要求,必须在设计过程中 进行严格的系统仿真与验证。随羞s o c 系统的扩大,s o c 的设计验证都变褥异常 的困难。通常在一个s o c 片上系统的设计中,s o c 的验证工作通常占整个开发周 期的7 0 的时闻以上疆j 。丽对一个设计的验证,决定采用什么样的方法和策略是非 常复杂的决策过程。业界存在着相当多的验证手段和验证策略,现在经常采用的 芯片验证技术主要有:形式验证( f o r m a lv e r i f i c a t i o n ) ,静态时序分析( s t a t i ct i m i n g a n a l y s i s ) 和功能验证( f u n c t i o n a lv e r i f i c a t i o n ) 。 仿真技术是设计验证的主要形式。从抽象的层次来看,包括基于事件 ( e v e n t b a s e ds i m u l a t i o n ) 的仿真技术,和基于时钟周期的仿真技术( c y c l e b a s e d s i m u l a t i o n ) 和基于事务级豹验证( t r a n s a c t i o n b a s e dv e r i f i c a t i o n ) 技术,软硬件协同验 证( s o f t w a r e h a r d w a r ec o - v e r i f i c a t i o n ) 技术。 由于验证已成为设计环节中最重要工作量,也最为繁重的一环,功熊验证已 经成为开发s o c 的主要瓶颈之一。随着片上系统规模的不断增大,软件仿真器的 性能急利下降,仿真器的速度甚至下降到1 - 5 h z 。按照这种速率,当设计过程需要 几百万个时钟周期来充分仿真验证功能的情况下,调试需要数年的时间才能完成。 纯粹的采霜计算机软件仿真已经不能满足s o c 芯片开发和上市时间 ( t i m e t o m a r k e t ) 的需求【3 】,系统的仿真验证速度亟待提高。同时,由于s o c 芯片 的设计与验证不仅包括系统结构和硬件r t l 级模型的设计与验证,还包括其嵌入 式软件的设计与验证。s o c 芯片的设计验证需要研究如何并行开发软件模块和硬 件模块,缩短系统的整体开发周期,现在流行的做法是将两部分放到一个环境中 进行协同设计验证。因而在众多仿真验证形式中,软硬件协同验证技术由于其自 身的优点被致推崇。它将一个复杂的s o c 设计按照i p 模块进行划分,采用基予 模块的验证技术,将一部分或全部模块下载到可编程逻辑硬件上,用硬件电路来 模拟该部分模块的功能,该部分电路工作在接近实时的运行速度,而其余部分设 计和测试平台仍然运行在硬件仿真器中,通过硬件平台来取代纯粹的计算机仿真, 从而大大的提高对s o c 芯片的仿真验证速度 4 】。该方法结合了软件仿真实现简单 和硬件仿真实现速度高的优点,既很好的提高了验证速度,实现起来也不复杂。 软硬件协同验证平台作为强有力的开发调试手段,它在仿真速度、验证规模、对 实际环境的逼近程度等方面都表现出显著的优势。 目前国际上s o c 的验证平台有两大方向,一是“软硬件协同仿真 ( c o s i m u l a t i o n ) 目前业界流行的软硬件协同仿真工具有;s y n o p s y s 公司的e a g l e i , 2 第一章绪论 i n n o v e d a 公司的v - c p u ,m e n t o rg r a p h i c s 公司的s e a m l e s s ,其中s e a m l e s s 工具是 在业晃反映比较好的软硬件协同仿真工具,市场份额占有率高达8 0 以上。得到 了1 0 0 多家c p uc o r e 公司的支持。二是硬件加速平台( h a r d w a r ea c c e l e r a t o r s ) 和原型验证平台( p r o t o t y p i n gs y s t e m s ) ,典型商用s o c 验证平台产品如a p t i x 公司的 m p 4 c f ,和h a r d i 公司的h a p s ,b e r k e l e y 大学的b e e 等【蜘。 1 2 课题的意义 随着电子系统集成程度的快速增长、半导体制造工艺的不断发展以及生产成 本的大幅下降,推动了s o c 产业迅猛发展,对s o c 硬件验证加速模拟器的需求也 将随之增长。本课题设计的仿真平台的典型用户为i c 设计公司、电子行业研究所、 高等院校。目前大多数i c 设计公司的硬件验证平台的验证规模都不大,随着i c 设计规模的增长,在未来的几年里,都会面临s o c 硬件验证平台的升级需求。 本s o c 仿真验证加速器将首先在四川1 虹微技术有限公司芯片设计部门和电子 科技大学通信抗干扰技术国防重点实验室使用,通过实际应用,不断完善用户界 面的友好性、设备的可维护性。之恁向长虹集团的各设计部门及其它工业部门推 广,稃进一步商用销售。 本系统可以提高芯片开发设计效率、节约产品上市周期,有利于企业扩大生 产、增加就业、提高综合效益。通过提供先进的设计手段,可以便该领域的从业 人员培养更为方便可行。 圜内在这一课题上也展开了多项的研究,提出了各种软硬件协同仿真的方法, 但侧重点主要是提高仿真效率方面,丽在系统灵活性、占用硬件资源、仿真方式 的多样性等方面的支持比较欠缺。随着用户待测设计( d u t ) 复杂度的不断提高,硬 件仿真平台髫标板的i o 资源舅趋紧张,系统应尽量少地占用耳标板的i o 资源。 另外,为了满足不同用户的不同仿真习惯,满足不同仿真阶段的特殊需求,仿真 平台应支持多种仿真模式。同时,为了实现磺发匿嚣久分布式地仿寞,仿真平台应 支持远程仿真调试功能。本文设计了这样一种软硬件协同仿真平台并进行了实现 验证,并对其中的一些闻题釉可以继续改进的方蘑提出自己的设想并加以展望。 电子科技大学硕士学位论文 1 3 课题来源和本文的主要内容 本论文课题来源于四川省科技重点项圈超大规模片上系统设计与验证加 速模拟器项霹。项跫立项时,有一项指标( 可配置i o 数1 0 0 0 线) 是参考已完成的 s o c 协同验证系统原型样机的指标提出。在本项目研制过程中,原来的设计方案 为了支持协同仿真,需要占用大量i o 资源,对用户d u t 造戒较大压力。逯过调 研,现修改为使用几根串行i o 。新的方案为用户节约了大量物理i o 资源,同时 验证能力没有下降。 在超大规模片上系统设计与验证加速模拟器项目中,笔者参与了整个硬件平 台设计中几乎所有工作,其中主要工作如下: 1 对软硬件协同验证技术的研究。 怠括了解s o c 软硬件协同仿真环境,深刻理解软硬件协同仿真技术的模式, 同步方式;在学习这些知识之后对软硬件协同仿真各种模式的实现方案加以分析 研究,同时考虑远程下载和调试戆力的实现,提密我们设计验证老羹速器的设计方 案。 2 硬件系统的实现。 硬件系统主要包括调试器和目标板。调试器主要由a r m 和控制f p g a 构成, 嚣标板模拟应用目标系统。包括a r m 的远程通信程序,控制f p g a 蠹各功能模块 和目标板内仿真接口模块r t l 代码的编写,运用m o d e l s i m6 2 b 进行功能和时序 仿真,调试器远程下载、读取配置信息、向量模式和协同仿真模式、晷标板待寞 接口模块的分块上板调试。同时由于x i n l i n x 提供的技术文档关于j t a g 配置下的 数据流解释有误,笔者对整个配置信息流用逻辑分析仪捕获并加以分析得出自己 的理解并加以实现,使得远程下载顺利实现。 3 整个超大规模s o c 设计与验证加速模拟器的联合调试。 包括接因模块的设计与代码编写,p c 终端,调试器和目标板的联合调试,以 及整个加速模拟器的性能速度测试。 本论文将着重介绍基于网络的s o c 仿真验证加速器整体设计及硬件系统的实 现。 4 第一章绪论 1 4 论文组织结构 全文共分七章: 第一章为绪论,介绍了课题的相关研究背景、意义、来源以及本人参与的主 要工作。 第二章介绍了验证的重要意义,常觅方法和s o c 仿真验证加速器系统的原 理。 第三章介绍了基于网络的远程s o c 仿真验证加速器系统结构的总体设计。 第四章详细介绍了s o c 仿真验证加速器硬件软件系统的的设计实现。 第五章详细介绍了s o c 仿真验证加速器硬件硬件系统的的设计实现 第六章介绍了本仿真验证平台的功能以及速度测试并给出了我的认识,并给 出两种认为可行的改进方案。 第七章对全文的工作进行了总结,并展望了下一步的工作稠今后研究的重 点。 电子科技大学硕士学位论文 第二章s o c 加速仿真验证技术研究 要实现完整的验证,需要从设计规范接近确定开始介入到设计流程中去,验 证工作将一越持续到版图阶段。随着集成电路的复杂度越来越高,验证已经成为 集成电路设计流程中开销最大的工作。由于s o c 的系统特性,使得在众多仿真验 证形式中,软硬件协同验证技术由于其自身的优点被一致推崇。这种技术是将一 个复杂的s o c 设计按照i p ( i n t e l l e c t u a lp r o p e r t y ) 模块进行划分,采用基于模块的仿 真技术,将一部分或全部模块下载到可编程逻辑硬件上,用硬件电路来模拟其功 能,该部分电路工作在接近实时豹运行速度,焉其余部分设计仍然运行在软件仿 真器中,通过硬件平台来取代纯粹的计算机仿真,从而大大地提高s o c 芯片的仿 真速度。同时在协同验证环境孛能够及时发现软硬件中所存在的致命闳题,避免 在最后集成测试阶段重新进行软硬件的调整。本章主要介绍s o c 技术及其验证技 术的相关背景知识,软硬件协同验证技术的基本思想和原理。 2 。1lc 的设计流程 现代豹数字l c 设计流稷广泛采用h d l ( h a r d w a r ed e s c r i p t i o nl a n g u a g e ) 的设计 方法。采用h d l 语言描述硬件电路的最显著的意义在于,可以借助于 e d a 正l e c t r o n i cd e s i g na u t o m a t i c ) q - 具,将很多繁杂的工作( 如逻辑化简、卡诺图等) 交给计算机完成,而工程师则可以更专注于系统设计。可以极大地提高i c 开发的 效率。图2 1 中给激典型的数字l c 设计流程。 1 ) 设计流程从设计规范开始,设计规范文件是指包括功能、速度、硅面积、 功耗、可测试性以及决定设计的其它准烫t 的详细设计说明书;在设计之初, 系统工程师首先根据设计规范利用抽象的高级语言如c c + + 、m a t l a b 、行 为描述的h d l 建立系统的功能模型,并对该模型进行仿真验证。如果该 功能模型不能满足系统的功能要求,就要修改设计模型,并进行仿真,直 到满足为止。在系统、算法验证确定可行时,才能转到电路级的设计中去, 如果在后面电路设计中发现前面系统设计的问题,修改将会非常费时,还 可能导致整个项爵的颠覆,因此必须保证传递到电路级设计的系统是可行 的。 6 第二章s o c 加速仿真验证技术研究 图2 1 典型数字i c 设计流程 2 ) 两层r t l ( r e g i s t e rt r a n s f o r m a t i o nl e v e l ) 级的h d l 描述漱硬件电路的结 构,并利用动态仿真工具进行功能仿真,直到功能正确为止; 3 1 进行综合。用v e r i l o g 或v h d l 或s y s t e m c 等硬件描述语言设计电路,需 要将语言描述转换为电路图描述,即用芯片制造商( f o u n d r y ) 提供的基本电 路单元( 蜀标工艺库) 实现蔫硬件描述语言撼述的电路的功能。综合分为三 个步骤:逻辑综合、优化和扫描链插入。 4 ) 剩用形式验证工具确认综合过程后的门级阂表( n e t l i s t ) 没有改变毫路的逻 电子科技大学硕士学位论文 辑功能。 5 ) 门级网表的静态时序分析( s t a t i ct i m i n ga n a l y s i s ) 用于确保门级网表都能 满足系统的时穿约束,若不满足时序,需重新综合。 6 ) 布局规划,自动布局布线将逻辑门映射到特定工艺的版图上,插入时钟树 ( c l o c kt r e e ) ,傲全局布线。 7 ) 接着就导出网表与综合前的网表再次进行形式验证,确保这些步骤没有改 变设计的功能。 8 ) 导出全局布线后的网表进行静态时序分析,看其时序是否收敛。 9 ) 详细布局布线。 1 0 ) 后时序静态时序分析。 最后就是生戒流片所需的g d si i 文件,当所有的约束都满足后就可以进行工 艺流片。从上面所述设计流程上看,每一步设计完成后都紧跟着其相应的验证步 骤。验证出错后都要重新回到前一步修改设计,设计和验证交叉进行,当所有的 验证都通过后才可以进行工艺流片。典型的芯片设计过程是一个瀑布型结构,必 须一步步确定、验证。设计越进行到后端的设计反复,越耗时,有时甚至导致整 个项因的反复。 2 2 验证在集成电路设计中的地位 由前述的设计流程可以清楚的知道,在集成电路设计中,验证是贯穿于设计 中的每一步的,从最初豹利用高级语言建立功能模型开始,设计过程中的每一步 都要进行验证。以便尽可能早地发现设计中存在的错误,并对设计进行修改,从 而缩短设计周期,降低芯片成本。 随着集成电路的广泛应用,对功能正确性及速度、功耗、可靠性等都有严格 要求。其中,功能正确性是最基本的要求。2 0 0 3 年度的国际半导体技术发展报告 ( i n t e r n a t i o n a lt e c h n o l o g yr o a d m a pf o rs e m i c o n d u c t o r ,i t r s 2 0 0 3 ) 指出,验证已经成 为集成电路设计流程中开销最大的工作陵l 。在目前的工程项目中,验证工程师的数 目超过了设计工程师,对于复杂的设计更是达到了2 :l 或者3 :1 的比率。根据摩尔 定律,“集成电路芯片上所集成的电路的数日每隔1 8 个月翻一番,这种扩展是 建立在电路的复杂度与电路的功能可以互为表征的基础上的。功能的扩展为验证 带来很大的挑战,使验证时间占到整个i c 设计时间的7 0 以上,日益成为集成电 路设计中的个瓶颈,从而突出了验证的地位。同时,验证不仅是研究领域中的 第二章s o c 加速仿真验证技术研究 热点,它与企业的经济效益也是直接相关的。例如,1 9 9 4 年奔腾处理器浮点处理 部分嬲现瑕疵而被迫召回,i n t e l 为此付出了4 7 5 亿美元的高昂代价。因此,必须 要有高效的设计验证方法来将设计错误发生的可能性降低到最小,同时又要缩短 产品面市时间,从而实现经济目标。随着计算机软件技术的快速发展,集成电路 验证技术已由晶体管级的电路仿真到逻辑仿真,发展到能够实现对电路r t l 描述 进行r t l 仿真的全方位仿真验证技术。 2 3 验证技术简介 验证是为了确保设计实现满足了设计规范的要求。验证的目的在于证明设计 中没有错误,然而事实上验证只能证明某些设计错误存在或不存在,验证是一个 穷举的过程,一个设计验证到什么程度才叫充分,对一个设计的验证采用什么样 的验证策略和手段,怎样做好验证计划来控制验证过程,协调验证资源昵? 对于 一个设计的验证,到底采用什么样的验证手段和验证策略是一个非常复杂的决策。 目前,在i c 设计领域存在着相当多的验证手段,其中主要的验证手段可以大致的 分为:仿真技术,静态时序分析技术和形式验证技术。 2 3 1 仿真 仿真是验证的主要形式,它是指通过运行在计算机上的e d a 工具对设计的实 现进行检查和校验的一个过程。它的主要影式是通过向设计旌加激励,并监测其 响应,判断设计是否满足规范的要求。在i c 设计流程中,仿真主要分为功能仿真 和时序仿真。功能仿真又翼q 逻辑仿真,在布局布线前进行,是指不考虑器件延时 和布线延时的理想情况下对源代码进行逻辑功能的验证;而时序仿真是在布局布 线后进行,它与特定的器件有关,并且包含了器件稠布线的延时信患,主要验证 源代码在目标器件中的时序关系,加入延时信息后,是否满足时序要求得到正确 的功熊。,由予加入了延时信患,时序仿真工作量大,耗时长。 从仿真的抽象层次来看,包括基于事件的仿真,基于时钟周期的仿真,和基 于事务( t r a n s a c t i o n ) 的仿真技术。 在基于事件的仿真中,仿真器将输入激励的变化认为是事件的触发,每一个 仿真辩闻仿真器处理一个事件触发,根据事件触发的内容对整个设计重薪计算直 到一个仿真稳态出现为止。如果输入信号在一个时钟周期内到达但是不同的输入 信号到达的时闻不尽相同,则基于事件的仿真机制决定仿真器在一个时钟周期内 9 电子科技大学硕士学位论文 计算多次。翻输入信号的每次变化仿真器都对毫路的输激值进行重薪计算,它 为设计提供了更为精确的仿真环境,同时覆盖了设计的功能和时序模型,仿真结 采精确,这静仿真方法j 常窑易探测到设计中的毛刺电路尤其适焉于异步电路的 仿真,然而,基于时间触发的仿真e l j 于算法复杂而导致仿真速度较慢,不太适合 于大规模电路的仿囊。 基于时钟周期的仿真是在一个时钟周期内部没有时间概念,它只在时钟的上 升沿或下降沿触发,每个时钟周期的时间进行一次计算。基于时钟周期的仿真可 以在一定的程度上提高仿真速度,但是它只适合于同步设计的电路仿真,对于异 步电路刘有可能产生错误的仿真结果。 基于时钟周期的仿真技术和基于事件的仿真技术各有优缺点,对于同步电路 采餍基于时钟周期的仿真技术可以获得较快的仿真速度,基于事彳牛的仿真技术可 以完整的模拟实际的硬件电路信号的每一个变化,真实的反映电路的运行状态。 僵实际的电路通常都不全是同步电路,同时还包含有异步的电路结构。单纯采用 基于周期的仿真方法不能准确的反映硬件的状态,采用基于事件驱动的仿真算法 又不能获得较快的仿真速度。现在绝大多数的仿真器都集成了事件驱动的仿真器 和基于时钟周期的仿真器,将电路中满足基于时钟周期仿真的部分设计运用基于 时钟周期仿真算法进行仿真,而将其余部分用基于事件仿真算法进行仿真,两种 不同类型的仿真协同工作,起对整个设计进行仿真【5 】,在联合仿真期间,各个仿 真器的在仿真时间的推进机制上相互制约,互相等待,保证协同仿真的时间同步。 在每一个绝对时刻上,所有的仿真器都工作在同一个仿真时刻点上,当前的时刻 仿真完成后,所有仿真器同时将仿真时间推进到下一个仿真时刻。因此,联合仿 真的速度取决于最慢的仿真器的运行速度。联合仿真的瓶颈在于,联合仿真中各 个仿真器之间的大量的数据通信和相互等待1 5 】。 基于事务豹验证方法可以在一个更高的层次上进行验证,可以明显地减轻测 试工作、简化调试,并有助于统计测量功能覆盖率,可以给设计者更多的信心。 利用事务进行测试,比从查看信号之间的详细电平转换和时序信息进行测试要简 单得多,因为基于事务的检验方法提供了邋接解决这些低层问题所需的基本结构。 2 3 。2 静态时序分析 传统的时序验证方法是动态时序仿真,此方法的优点是比较蛊观,但它实际 上是在验证功能的同时验证时序,需要输入向量作为激励。随着电路逻辑规模的 1 0 第二章s o c 加速仿真验证技术研究 增大,所需要的向量数量以指数增长,验证所需时间几乎占到整个设计周期的 7 0 ,而且这种方法难以保证足够的覆盖率。鉴于此,这种方法已经越来越少地用 于时序验证,取而代之的是静态时序分析技术。 在数字电路中,触发器能够正常工作的条件之一是必须满足触发器的建立时 间( s e t u pt i m e ) 年i 保持时间( h o l dt i m e ) 的约束,否则触发器就不能正常地工作,输 出将不能确定为逻辑离或者低电平。系统将会进入亚稳态( m e t a s t a b i l i l y ) 引,从而 导致系统功能错误。建立时间的约束是指在触发器的时钟有效沿来临时,触发器 的数据输入端的数据必须保持稳定的最短持续时闻。保持时间是指在触发器的时 钟有效沿来临之后,数据端的输入数据需要继续保持稳定的最小时间。只有触发 器的建立时闻和保持时间都满足时,系统才能正常的工作。 静态时序分析技术是一种穷尽分析方法,用以衡量电路性能。它提取整个电 路的所有时序路径,通过计算信号沿在路径上的延迟传播找出违背时序约束的错 误,主要是检查建立时间和保持时间是否满足要求,而它们又分别通过对最大路 径延迟和最小路径延迟豹分析得至u t 7 。静态时序分析的方法不依赖于激励,且可以 穷尽所有路径,运行速度很快,占用内存很少。它完全克服了动态时序验证的缺 陷,适合进行超大规模的片上系统电路的验证,可以节省多达2 0 的设计时闻。 因此,静态时序分析器在功能和性能上满足了全片分析的目的。支持片上系统设 计,即它为很快满足设计时序要求取得了突破,能提供百万f _ 】级设计所要求的性 能,并在一个合理的时间内分析设计,而且它带有先进的时序分析技术和可视化 的特性,用于全芯片验证。从图2 一l 中也可以清暾的看到从逻辑综合开始屠的每一 步设计都伴随着静态时序分析的验证步骤。 静态时序分析非常适合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石墨生产环境报告制度
- 小板厂车间生产规章制度
- 会计师安全生产责任制度
- 机械加工部安全生产制度
- 安全生产信息畅通制度
- 2026年会计从业资格证考试财务分析题库
- 2026年网络广告投放师广告优化专业笔试模拟题
- 2026年会计职称考试题库财务报表编制与解析
- 2026年中级医药销售代表专业知识模拟测试题
- 企业解散清算专项法律服务成果落地方案
- 数字孪生方案
- 【低空经济】无人机AI巡检系统设计方案
- 金融领域人工智能算法应用伦理与安全评规范
- 机动车驾校安全培训课件
- 2025年役前训练考试题库及答案
- 2025年公务员多省联考《申论》题(陕西A卷)及参考答案
- 附:江西省会计师事务所服务收费标准【模板】
- 合欢花苷类对泌尿系感染的抗菌作用
- 合伙人股权合同协议书
- 工程施工监理技术标
- 年终尾牙会领导讲话稿
评论
0/150
提交评论