(微电子学与固体电子学专业论文)16位dsp+ip核的设计与验证技术.pdf_第1页
(微电子学与固体电子学专业论文)16位dsp+ip核的设计与验证技术.pdf_第2页
(微电子学与固体电子学专业论文)16位dsp+ip核的设计与验证技术.pdf_第3页
(微电子学与固体电子学专业论文)16位dsp+ip核的设计与验证技术.pdf_第4页
(微电子学与固体电子学专业论文)16位dsp+ip核的设计与验证技术.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(微电子学与固体电子学专业论文)16位dsp+ip核的设计与验证技术.pdf.pdf 免费下载

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

文档简介

摘要 摘要 近年来,随着信号处理技术的发展,d s p 作为关键的信号处理芯片处于飞速 发展的阶段。本文设计了一个1 6 位定点d s p ,该d s p 的存储器采用哈佛结构, 指令的执行采用四级流水线结构,通过d a g 模块完成数据的存取操作,通过p a g 模块完成程序存取操作,通过流水线控制器完成指令的译码操作,c a l u 和p l u 以及存储映射寄存器完成指令的执行以及对数据的运算操作等,时钟的产生以及 芯片的省电模式控制和外部中断同步都是通过时钟控制模块完成;芯片外设包括 串口、t d m 串口、定时器、等待状态发生器、中断产生器和存储映射i o 端口, 实现d s p 内部与外部的数据通信和控制。通过m o d e l s i m 软件对设计代码进行了 仿真验证,通过a l t e r a 公司的e p 2 s 6 0 开发板进行了硬件验证,结果表明该设 计功能正确,达到设计要求。 关键词:数字信号处理器现场可编程逻辑门阵列定点验证 a b s t t a c t a b s t r a c t a st h ec r i t i c a ls i g n a lp r o c e s s i n gc h i p , d s pi sd e v e l o p e dr a p i d l yw i t ht h ed e v e l o p m e n t o ft h es i g n a lp r o c e s s i n gt e c h n o l o g y a16 - b i tf i x e d p o i n td s p d e s i g n e di nt h i sp a p e r h a sah a r v a r dm e m o r ys t r u c t u r e ,af o u rs t a g ei n s t r u c t i o np i p e l i n ei nw h i c hd a t aa n d p r o g r a mi sa c c e s s e db yd a g a n dp a gr e s p e c t i v e l y i n s t r u c t i o nd e c o d i n gi sc o m p l e t e d b yp i p e l i n ec o n t r o l l e rw h i l ei n s t r u c t i o ne x e c u t i o na n dt h eo p e r a t i o no fd a t aa r e p e r f o r m e db yc a l u ,p l ua n dm e m o r ym a p p e dr e g i s t e r s c l o c kg e n e r a t i o n ,i d l e c o n t r o la n de x t e r n a li n t e r r u p ts y n c h r o n i z a t i o ni sc a r r i e do u tb yc l o c kc o n t r o lb l o c k t h ed s p p e r i p h e r a l s ,i n c l u d i n gs e r i a lp o r t ,t d ms e r i a lp o r t ,t i m e r , w a i t s t a t eg e n e r a t o r , i n t e r r u p tg e n e r a t o ra n dm e m o r ym a p p e di op o r t s a r ed e s i g n e dt oi m p l e m e mt h e c o m m u n i c a t i o na n dc o n t r o lt oe x t e m a l d a t a u s i n g m o d e l s i ma n de p 2 s 6 0 d e v e l o p m e n tb o a r d ,t h es i m u l a t i o na n dt h ef p g av e r i f i c a t i o no fd e s i g na r ep e r f o r m e d , t h er e s u l t so fw h i c hi n d i c a t et h a tt h ef u n c t i o no fd e s i g nm e tt h er e q u i r e m e mo ft h e f u n c t i o n k e y w o r d :d s p f p g a f i x e d - p o i n t v e r i f i c a t i o n 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位证书而使用过的材料。与我一同工作的同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 埤 日期:丝芝2 :f :兰 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其他复制手段保存论文。( 保密的论文 在解密后应遵守此规定) 本人签名: 导师签名: 日期:型【:! :三 日期: 兰芝芝;。! :主笸 第一章绪论 第一章绪论 1 1d s p 概述 数字信号处理( d i g i t a ls i g r l a lp r o c e s s i n g ,简称d s p ) 是- i - j 涉及多门学科并 广泛应用于很多科学和工程领域的新兴学科。2 0 世纪6 0 年代以来,随着计算机 和信息技术的飞速发展,有力地推动和促进了d s p 技术的发展进程。在过去的时 间里,d s p 技术已经在图像处理、仪表与控制、语音音频、无线电通信等各个领 域得到了广泛的应用。 数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析, 采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息 并进行有效的传输与应用。与模拟信号相比,数字信号处理具有精确、灵活、抗 干扰能力强、可靠性高等优点【1 3 h 嘲。 d s p 技术已成为数字化社会最重要的技术之一,d s p 可以代表数字信号处理 技术( d i e ms i 弘a lp r o c e s s i n g ) ,也可以代表数字信号处理器( d i g i t a ls i g n a l p r o c e s s o r ) ,前者是理论和计算方法上的技术,后者是指实现这些技术的通用或专 用可编程微处理器芯片。随着d s p 芯片的快速发展,应用越来越广泛,d s p 这一 荚文缩写已被大家公认为是数字信号处理器的代名词。 数字信号处理包括以下两个方面的内容: 1 算法的研究 算法的研究是指如何以最小的运算和存储器的使用量来完成指定的任务,如 2 0 世纪6 0 年代出现的快速傅立叶变换( f f t ) ,使数字信号处理技术发生了革命 性的变化1 2 0 1 。近几年来,数字信号处理的理论和方法得到了迅速的发展,例如语 音与图像的压缩编码、识别与鉴别,信号的调制与解调、加密和解密,信道的辨 识与均衡,频谱分析等各种快速算法都成为研究的热点,并取得了长足的进步, 为各种实时处理的应用提供了算法基础。 2 数字信号处理的实现 数字信号处理的实现是用硬件、软件或软硬结合的方法来实现各种算法。数 字信号处理的实现一般有以下几种方法; 在通用计算机( p c ) 上用软件( 如f o r t r a n 、c 语言) 实现,但这种方法 的速度慢,不适合于实时数字信号处理,只用于算法的模拟。 在通用计算机系统中加入专用的加速处理机实现,以增强运算能力和提高 运算精度。这种方法不适合于嵌入式应用,专用性强,应用受到限制。 2 1 6 位d s pi p 核的设计与验证技术 用单片机实现,用于不太复杂的数字信号处理。不适合于以乘累加运算为 主的密集型d s p 算法。 用通用的可编程d s p 芯片实现,具有可编程性和强大的处理能力,可完 成复杂的数字信号处理的算法,在实时d s p 领域中处于主导地位。 用专用的d s p 芯片实现,可用在要求信号处理速度极快的特殊场合,如 专用于f f t 、数字滤波、卷积、相关算法的d s p 芯片,相应的数字信号处理算法 由内部硬件电路实现。用户无需编程,但专用性强,应用受到限制。 用基于通用d s p 和a s i c 芯片实现。随着专用集成电路a s i c ( a p p l i c a t i o n s p e c i f i ci n t e g r a t e dc i r c u i t ) 的广泛使用,可以将d s p 的功能集成到a s i c 中。一 般来说,d s p 核是通用d s p 器件中的c p u 部分,再配上用户所需的存储器( 包 括c a c h e 、r a m 、r o m 、f l a s h 、e p r o m ) 和外设( 包括串口、并口、主机接口、 d m a 、定时器等) ,组成用户的a s i c 。d s p 核概念的提出与技术的发展,使用户 可将自己的设计,通过d s p 厂家的专业技术来加以实现,从而提高a s i c 的水准, 并大大缩短产品上市时间【i 】。 1 2 研究的目的 信息化已经成为社会发展的大趋势。信息化是以数字化为背景的,而d s p 技 术则是数字化最重要的基本技术之一。 处理数字信号的特殊理由可以是从信号中消除干扰或噪声,得到数据的频谱, 或者把信号变换成更为适当的形式。d s p 现在广泛应用于以前通过模拟方法实现 的领域,或者应用于利用模拟方法难以实现或不可能实现的全新领域。 近几年迅速发展的系统集成芯片( s o c ,s y s t e mo nac h i p ) ,大多以d s p 核 和m c u 核为核心。因此,d s p 技术也毫经成为集成电路设计的核心技术之一。 业内人士预言,d s p 将是未来集成电路中发展最快的电子产品,并成为电子产品 更新换代的决定因素,它将彻底变革人们的工作、学习和生活方式。 d s p 是现代电子技术增长最快的领域,可以毫不夸张的说,d s p 芯片的诞生 及发展对近2 0 年来自动控制、通信、计算机应用等领域的发展起着十分重要的作 用。从某种意义上可以说,一个国家d s p 技术的发展程度,决定了这个国家数字 化技术发展水平的高低。 开展对d s p 的设计研究意义重大。而对一个设计好的d s p ,如何实现对它的 验证以保证其功能特性的正确性,对于设计的成败具有极其重要的意义。为了积 累d s p 设计与验证方面的知识和经验,本文设计了一个1 6 位的定点d s p ,并对 其进行了验证。 第一章绪论 3 1 3 国内外d s p 发展的动态 1 3 1d s p 芯片的发展历程 d s p 芯片诞生于2 0 世纪7 0 年代末,至今已经得到了突飞猛进的发展,并经 历了以下三个阶段。 第一阶段,d s p 的雏形阶段( 1 9 8 0 年前后) 。在d s p 芯片出现之前,数字信 号处理只能依靠通用微处理器( ,u ) 来完成。由于m p u 处理速度较低,难以 满足高速实时处理的要求。1 9 6 5 年库利( c o o l e y ) 和图基( t u k e y ) 发表了著名 的快速傅立叶变换f f t ( f a s tf o u r i e rt r a n s f o r m ) ,极大地降低了傅立叶变换的计 算量,从而为数字信号的实时处理奠定了算法的基础。与此同时,伴随着集成电 路技术的发展,各大集成电路厂商都在为生产通用d s p 芯片做了大量工作。这个 时期的代表性器件主要有:i n t e l 2 9 2 0 ( i n t e l ) 、t t p d 7 7 2 0 ( n e c ) 、t m s 3 2 0 1 0 ( t i ) 、 d s p l 6 ( a t & t ) 、s 2 8 1 1 ( a m i ) 、a d s p 2 1 ( a d ) 等。在硬件结构上,由于内部 没有单周期的硬件乘法器,使芯片的运算速度、数据处理能力和运算精度受到了 很大的限制;同时,有些器件采用了改进的哈佛结构,允许数据在程序存储空间 与数据存储空间之间传输,大大提高了运行速度和编程灵活性,在语音合成和编 码解码器中得到了广泛的应用。 第二阶段,d s p 的成熟阶段( 1 9 9 0 年前后) 。这个时期,许多国际上著名的 集成电路厂家都相继推出自己的d s p 产品。如:1 r i 公司的i m s 3 2 0 c 2 0 、3 0 、4 0 、 5 0 系列,m o t o r o l a 公司的d s p 5 6 0 0 、9 6 0 0 系列,a 1 硷t 公司的d s p 3 2 等。这个 时期的d s p 器件在硬件结构上更适合于数字信号处理的要求,能进行硬件乘法、 硬件f f t 变换和单指令滤波处理,其单指令周期为8 0 1 0 0 n s 。 第三阶段,d s p 的完善阶段( 2 0 0 0 年以后) 。这一时期d s p 制造商不仅使信 号处理能力更加完善,而且使系统开发更加方便、程序编程调试更加灵活、功耗 进一步降低、成本不断下降。尤其是各种通用外设集成到芯片上,大大提高了数 字信号处理能力。这一时期的d s p 运算速度可达到单指令周期1 0 n s 左右,可在 w i n d o w s 环境下直接用c 语言编程。 目前,d s p 硬件结构方面主要是向多处理器的并行处理结构、便于外部数据 交换的串行总线传输、大容量片上r a m 和r o m 、程序加密、增加i o 驱动能力, 外围电路内装化、低功耗等方面发展。软件方面主要是综合开发平台的完善,使 d s p 的应用开发更加灵活方便【l ,。 1 6 位d s pi p 核的设计与验证技术 1 3 2d s p 的发展现状 2 0 世纪8 0 年代以来,d s p 芯片得到了突飞猛进的发展,从制造工艺看,早 期d s p 采用4 p m 的n m o s 工艺,现在的d s p 普遍采用o 1 8 岬或更高的工艺; 从运算速度来看,指令周期从8 0 年代初期的4 0 0 舔降到了1 0 n s 以下,处理能力 提高了几十倍,相应的速度从2 5 m i p s 提高到8 0 0 0 m i p s ;早期的d s p 芯片,其 片内程序存储器和数据存储器只有几百个单元,如今片内程序和数据存储器可以 达到几十k b ,而片外程序和数据存储器可达到1 6 m x 4 8 b i t 和4 g x 4 0 b i t 以上; 目前,d s p 内部均采用多总线和多级流水线结构,加上完善的接口功能,使d s p 的系统功能、数据处理能力和与外部设备的通信功能都有了很大的提高;从引脚 数量上看,d s p 芯片的引脚数量从1 9 8 0 年的6 4 个增加到现在的2 0 0 个以上,引 脚数量的增加也加强了结构的灵活性;为了减小输入信号动态范围和迭代算法可 能带来的误差积累,d s p 芯片的精度要求也越来越高,字长从8 位已增加到3 2 位,累加器的长度已增加到4 0 位,从而提高了运算精度。同时,采用超长指令字 ( v l l w ) 结构和高性能的浮点运算,扩大了数据处理的动态范围。随着d s p 芯 片的发展,d s p 系统的成本、体积、重量和功耗有很大程度的下降【l 】 对于国际d s p 发展的现状,国外的商业化数字信号处理器一直保持着快速的 发展势头。欧美等科技大国保持着国际领先的地位。在全球的d s p 市场中,1 1 公司独占鳌头,占世界市场的4 5 份额,其次是朗讯( 2 8 ) 、a d i ( 1 2 ) 、摩 托罗拉( 1 2 ) 、其他公司( 3 ) 。 近年来我国的数字信号处理学科发展较快,d s p 处理器已经在我国的数字通 信、雷达、图像处理等方面得到了广泛的应用。 我国在信号处理理论、高速高性能数字信号处理器设计和制造方面与国际先 进水平还有较大差距。而且,主要的数字信号处理器件基本完全依赖进口,这也 是我国半导体研究领域需要大力加强的工作之一。 对于d s p 的验证,其技术和数字i c 系统的验证技术相同,主要包括仿真技 术、静态技术、形式技术、物理验证与分析技术以及f p g a 验证技术等等,通过 将这些验证技术贯穿到整个数字i c 设计的过程中,可以实现对i c 系统比较完整 的验证,从而保证l c 系统功能的正确性。 1 3 3d s p 的发展趋势 d s p 芯片将越来越多地渗透到各种电子产品当中,成为各种电子产品尤其是 通信类电子产品的技术核心。 未来d s p 将向着以下几个方向发展: 1 向着系统集成d s p 发展。缩小d s p 芯片尺寸始终是d s p 的技术发展方向。 第一章绪论 当前的d s p 多数基于r i s c ( 精简指令集计算机) 结构,这种结构的优点是尺寸 小、功耗低、性能高。各d s p 厂商纷纷采用新工艺,改进d s p 芯核,并将几个 d s p 芯核、m p u 芯核、专用处理单元,外围电路单元、存储单元统统集成在一个 芯片上,成为d s p 系统级集成电路。这样的集成缩小了整机的体积,缩短了产品 上市的时间,是一个重要的发展趋势。 2 内核结构进一步改善。多通道结构和单指令多重数据( s i m d ) 、超长指令 字结构、超标量结构、超流水结构、多处理、多线程及可并行扩展的超级哈佛结 构( s h a r c ) 在新的高性能处理器中将占据主导地位。 3 进一步降低功耗和几何尺寸。由于d s p 的应用范围已扩大到人们工作生 活的各个领域,特别是便携式手持产品对于低功耗和尺寸的要求很高,所以d s p 有待于进一步降低功耗。按照c m o s 的发展趋势,依靠新工艺改进芯片结构, d s p 功耗尺寸的降低是完全可能的。 4 追求更高的运算速度。由于电子设备的个人化和客户化趋势,d s p 必须追 求更高更快的运算速度,才能跟上电子设备的更新步伐。 5 与可编程器件结合。d s p 的许多新应用需要比传统d s p 处理器更加强大 的数字信号处理能力,设计者往往会借助p l d 和f p g a 来满足他们日益提高的信 号处理需求 5 1 。与常规d s p 器件相比,f p g a 器件配合传统的d s p 器件可以处理 更多信道,可在基站中用来实现高速实时处理功能,满足无线通信、多媒体等领 域多功能和高性能的需要f 1 7 1 。 6 定点d s p 是主流。虽然浮点d s p 的运算精度更高,动态范围更大,但定 点d s p 器件的成本较低,对存储器的要求也较低,而且耗电较省。因此,定点运 算的可编程d s p 器件仍是市场上的主流产品。据统计,目前销售的d s p 器件中 的8 0 以上属于1 6 位定点可编程d s p 器件,预计今后的比重将逐渐增大。 随着验证技术的逐步发展,验证方法由最初的直接测试向量生成( d i r e c t e d t e s tv e c t o rg e n e r a t i o n ) ,到约束随机测试( c o n s a a i m e dr a n d o mt e s t ) ,再到覆盏 驱动验证( c o v e r a g e - d r i v e nv e r i f i c a t i o n ) ,一直到最新的基于断言的验证方法 ( a s s e r t i o n - b a s e dv c r i f i c a t i o n ) ,各种验证方法在不断创新发展。 随着半导体制造技术不断的前进和相应的设计规模以及复杂度飞速的增长, 使得传统的软件仿真工具已不可能完全解决功能验证的问题。而且一些需要处理 大量实时数据的应用( 如视频) 也越来越多,因此要求能够在接近实时的条件下 进行功能验证。 f p g a 验证成为i c 设计流程中重要的一个环节,一方面作为硬件验证工具, 可以将所设计的r t l 级代码综合实现后写入f p g a 芯片进行调试检错;另一方面 可以进行软件部分的并行开发,在验证板上检测驱动程序、启动操作系统。总的 来说,f p g a 验证是整个i c 设计中一个重要而且有效的验证步骤,用来改进r t l 6 1 6 位d s pi p 核的设计与验证技术 级设计代码,验证功能的正确和完整性,提高i c 流片成功斛们。 1 4 本文的基本结构 在这篇文章中,主要完成对一个1 6 位定点d s pm 3 2 0 c 5 0 的结构进行阐述和 分析,并说明了数字i c 设计和验证方面的一些基本问题,介绍了对整个d s p 从 功能验证到f p g a 验证的整个过程。本文的内容分为五个章节: 第一章为绪论,首先介绍信号处理器的发展,然后阐明了本文研究的目的, 接着对国内外d s p 的发展动态进行了简单的说明,最后指出了本文的基本结构。 第二章针对数字i c 设计和验证进行了简要的叙述,简述了i c 设计的主要流 程,讨论了业界常用的各种数字i c 验证的方法,并对f p g a 的验证方法进行了 重点阐述。 第三章从c p u 、时钟控制、外设、存储映射寄存器和存储器配置五个方面对 所设计的d s p 进行了结构分析,并指出了各个模块主要的功能和工作过程。 第四章通过验证过程的例程和结果介绍了m 3 2 0 c 5 0 的验证方法。 第五章为结束语,对本文所做的工作和结果进行了简要的总结,并提出了一 些不足之处。 第二章数字l c 设计与验证方法概述 7 第二章数字i c 设计与验证方法概述 2 1 数字i c 设计概述 i c 设计必须考虑功能、性能以及面积的折中。随着l c 系统向s o c 演化,i c 设计要考虑和鳃决的问题变得越来越复杂。 数字i c 设计方法可以分为自底向上和自顶向下的两种基本方法。自底向上的 方法是充分利用工艺特性和电特性都相当成熟的典型基本电路单元,白底向上地 综合设计出各种芯片产品的过程1 , 1 1 。 而自顶向下的方法是从系统级开始,然后通过各种e d a t 具,实现逻辑级的 设计,最后直到物理级的设计,并生成相应的版图。这种方法是目前业界最普遍 利用的方法。一个典型的基于模块的自顶向下的数字i c 设计流程一般可以分为四 部分:算法建模、r t l 编码、综合和版图设计。设计流程图如图2 1 所示,如果把 设计流程看成一个黑盒子,那它的输入就是规格的制定,而输出就是g d si i 文件, 其中流程图的右边列举出了每个过程常用的语言和e d a 工具。 图2 1 数字i c 设计流程 l m i n c v d i 镩,v 眦。 d 一即o 帅一打 p 口m c d h m s m o t m , u t 8 1 6 位d s pi p 核的设计与验证技术 r t l 编码是将设计思想转换为电路实现的步骤。在现阶段,设计者主要用 v e r i l o gh d l 与v h d l 进行r t l 实现。一般而言,在业界v e r i l o gh d l 更常用,在学 术界v h d l 更流行。进行i m 设计时,要考虑到性能、面积、可复用性、易读性、 可测性、功耗等诸多因素。 在r t l 编码完成后,要对r t l 代码实现的功能进行验证,这就需要构建测试平 台( t e s t b e n e h ) ,并通过添加测试向量来对其进行验证。 在r t l 验证通过以后,就可以利用逻辑综合工具生成门级网表。综合可以分为 逻辑综合和物理综合。逻辑综合的结果没有芯片规划( f l o o r p l a n ) 的信息,而物理 综合是在芯片规划之后,重新进行综合。 综合完成之后,在版图设计之前要对设计进行验证和时序分析,此时的验证 主要是比较综合后的电路功能和综合前的电路功能是否一致,可以通过等价性验 证的方法来完成。除了验证综合后的功能外,还要对设计进行时序分析,检查设 计是否满足时序要求,静态时序分析是检查i c 系统时序的重要手段。 在版图设计前的验证完成了之后,就要开始进行芯片规划和布局布线的工作, 在布局布线完成之后,要对设计进行布版后的验证和时序分析等工作,由于此时 进行的验证包含了更多的物理信息,所以具有更高的验证精确度。对于布版后进 行的静态时序分析,由于电路中的每个物理连线的拓补结构已经确定,连线上的 寄生参数也就确定了,可以通过参数提取工具提取出寄生参数文件,加上此时物 理级时钟网络的引入,静态时序分析工具可以根据寄生参数文件和时钟树的物理 信息准确的进行时序分析。 当版图设计完成之后,就可以生成g d si i 文件,将此文件送到工厂进行生产。 2 2 数字i c 验证概述 验证在设计中有很重要的地位,对于今天上百万门的大规模数字i c ,可重用 的p 核以及片上系统( s o t ) 的设计,随着工艺水平的不断提高,集成度的不断 增大以及速度的不断增加,数字i c 芯片的设计变得越来越复杂,同时也对验证提 出了更高的要求,验证的工作量和时间所占的比例也越来越大,对于目前超大规 模数字i c 设计的整个过程中,验证占用了整个设计的7 0 左右的时间。 验证贯穿了i c 系统设计的每个阶段( 从算法架构设计直至物理设计) 。 在系统设计阶段,采用仿真方法进行性能分析和协议分析。 在电路,逻辑设计阶段,采用软硬件协同验证:用仿真和f p g a 验证功能;用 静态时序分析工具验证时序;用形式验证检查设计是否正确。 在物理设计阶段,采用物理验证( l v s 、d r c 等) :用静态时序工具验证最 终时序,用形式验证检查布局布线过程是否正确。 第二章数字i c 设计与验证方法概述 9 在验证中,错误发现得越早,对开发进度的影响越小,这时验证就越有价值。 因此,要尽量在设计的早期阶段( 算法架构设计、r t l 设计) 进行充分的验证。 常用的验证大致分为如下几类:仿真技术、静态技术、形式技术、物理验证 与分析技术、f p g a 验证等。 2 2 1 仿真技术 仿真是功能验证的主要手段,其基本原理如图2 2 所示。 图2 2 仿真基本原理 除了功能检查,用仿真方法还可以检查系统的时序。与静态时序方法相比, 仿真的方法更为直观,能较为真实地模拟出电压发生交化、串扰及毛刺、电容耦 合等各种情形下电路的运行情况,其缺点是运行时间较长,且时序检查不完整【3 j 。 仿真贯穿了i c 设计的整个阶段。 1 在系统级设计阶段,通过行为仿真,可以达到下述目的; ( i ) 分析算法是否正确; ( 2 ) 验证性能是否满足要求; ( 3 ) 验证系统划分是否合理。 系统级设计可大致分为浮点数算法设计、定点数算法设计、架构设计等几个 步骤。在每一步都可以进行系统仿真。 系统级的仿真可以采用数据流仿真方法( 不包括时间信息) 和基于周期的仿 真方法。 在系统中,通常用s y s t c m c c m a t l a b 来描述系统模型。系统模型可以作为 后续阶段验证的参考。例如,在r t l 设计中,可以利用系统模型的输出结果作为 参考标准,检查r t l 设计得到的结果是否正确。 2 逻辑电路设计阶段的仿真 逻辑设计阶段的仿真分为r t l 仿真与门级仿真两种。 r t l 仿真是验证系统功能是否正确的重要手段。在r t l 仿真中,如何合理构 造测试平台( t e s t b e n e h ) 、如何进行“c o m c tc a s e ”的验证,是困扰设计者的难题, 也是目前验证的热点。一个测试平台应包括如下部分:待验证设计( d u v ) 、激 励向量( s t i m u l u s ) 、响应监测器( m o n i t o r s ) 、响应比较电路( 用于检查设计的输 出是否与期望的一致) 门级仿真速度较慢,通常只是作为一种辅助手段来检查时序是否满足要求, 所以通常只需运行很少的几种激励即可。 1 0 1 6 位d s pi p 核的设计与验证技术 在逻辑设计阶段,目前有许多成熟的仿真工具,如n c - v e d l o g 及v c s ,他们 属于事件驱动的仿真工具,既支持r t l 仿真也支持门级仿真。 仿真方法存在测试覆盖率低的缺点。 2 2 2 静态技术 静态技术包括代码静态( 1 i n t ) 检查和静态时序分析。用静态技术来实现验证 不需要测试平台和测试向量。 1 代码静态检查 代码静态检查对设计对象的代码作静态检查来验证其在语法上的正确性。可 以在设计周期的早期进行代码静态检查,查出设计代码中的简单错误,避免使用 更高级的工具而耗费大量的时间。 2 静态时序分析 设计对象中的每一个存储元素和锁存器都有时序要求,如建立时间、保持时 间和各种延迟时序。静态时序分析是检查i c 系统的时序是否满足要求的主要手 段。静态时序分析工具根据网表中各节点的负载,利用综合库中各单元的延时查 找表,计算出单元延时及连线延时,从而可以判断在该设计中寄存器之间最长路 径上的延时有多少,是否满足最大时钟约束。如果不满足,则静态时序分析工具 会给出建立时间( s e t u pt u n e ) 违例。静态时序分析工具还会分析保持时间( h o l d t i m e ) 违例,保持时间违例跟时钟树有关。 静态时序分析可分为两类:逻辑级分析和电路级分析。前者针对用标准单元 构成的网表,后者主要针对模拟电路和混合电路。 在进行逻辑级静态时序分析时,需要输入如下内容:网表、综合库、时序约 束( 时钟、输入延时、输出延时等) 。 如果是对布局布线之后的网表进行静态时序分析,还需要输入寄生参数文件 ( 该文件包含了由版图提取的网表中各节点的寄生电容和寄生电阻等信息) 。 2 2 3 形式技术 用仿真的方法验证系统功能有两个缺点:一是很难对一些隐蔽错误进行定位, 二是要耗费大量的仿真时间。随着系统规模的增大,这些缺陷越来越令人无法容 忍。由于形式验证方法具有穷举性,理论上,形式验证将保证非常高的验证速度 和1 0 0 的覆盖率,并且不需要用于验证的测试平台和测试向量,因此,形式验 证是最有希望解决这些问题的途径。 形式验证技术可大致分为模型检查( m o d e lc h e c k i n g ) 、定理证明( t h e o r y p r o v e r ) 和等价性检查三类。 第二章数字i c 设计与验证方法概述 l i 模型检查将设计对象的行为同用户自定义的一组逻辑属性相比较( 所定义的 属性是直接从设计规范中提取出来的) ,通过有效的搜索方法来检查给定的系统是 否规范。模型检查是目前研究的热点,但其验证的电路规模受到限制这一问题还 没有得到很好的解决。 定理证明是把系统与规范都表示成数学逻辑公式,从定理出发寻求描述。定 理证明验证的电路规模不受限制,但需要使用者的人工干预及较多的背景知识。 目前这种技术仍然处于学术研究的阶段。 等价性检查是证明同一个设计对象的两个不同视图彼此等价的一种方法。它 利用数学技术来验证参考设计与改动后的设计等价。这种工具可以用来验证r t l 级对r t l 级、r t l 级对门级以及门级对门级实现之间是否等价。因为等价性检 查工具拿参考设计同目标设计对象作比较,因此参考设计功能是否正确是很关键 的。在进行扫描链重排、时钟树综合等过程中,都可以用等价性检查保证网表的 一致性。 2 2 4 物理验证与分析 在深亚微米设计中,必须将所有的电学问题和工艺都纳入考虑并解决互连线 寄生效应,因为互连线延迟凌驾于门延迟。在物理验证阶段,要完成的检查包括: 时序、电源网络分析、d r c 、l v s 、串扰、取电压降、电迁移、功耗分析、工艺 天线效应、相移掩模和光学临近效应修正( o p t i c a lp r o x i m i t yc o r r e c t i o n ) 。工业界 现有的常用做法是:在版图之前的设计阶段估算各种物理效应,在版图之后的设 计阶段再提取和分析这些物理效应 9 1 。 2 3 f p g a 验证 从1 9 8 5 年x i l i n x 公司推出第一片现场可编程门阵列( f p g a ) 器件,f p g a 已经历了二十几年的发展历史。f p g a 取得了长足的发展,从最初的1 2 0 0 个可利 用门,发展到9 0 年代的2 5 万个可利用门,而今天,国际上的f p g a 著名厂商 a l t e r a 公司,x i l i n x 公司又陆续推出了数百万门的单片f p g a 芯片,将现场可编 程器件的集成度提高到一个新的水平。 虽然今天f p g a 越来越多的可以取代a s i c ,并且直接应用于最终产品,但 是作为数字a s i c 设计的最终验证手段,f p g a 验证还是被广泛采用。本节将从 f p g a 的基本结构出发,详细介绍f p g a 的验证技术。 1 2 1 6 位d s pi p 核的设计与验证技术 2 3 1f p g a 的基本结构 本文主要利用了a l t e r a 公司的f p g a 芯片来做验证,下面就以a l t e r a 公司的 f p g a 为例对f p g a 验证进行简要的介绍。 a l t e r a 的产品结构一般包括如下结构:逻辑阵列模块( l a b ) 、t f i m a t r i x 存储 器模块( r a m ) 、数字信号处理模块( d s p ) 和锁相环模块( p l l ) 下面以s w a t i x 器件为例说明a l t e r a 公司产品的结构,其内部结构如表2 1 所示,结构排布如 图2 3 所示。 表2 1s t r a t i xi i 器件的内部结构 t a w # 1 - 1 $ 船a c l x i i 砌f a t r r l l y 砌蛔 h a n ”ep 2 s 1 5p 2 s 3 0e p 2 湖e p 2 s 9 0e 粥1 3 0e p 2 s 1 8 0 1 - k6 2 4 01 3 , 5 5 22 4 1 7 6 3 6 3 8 45 3 , 0 1 b7 1 7 6 0 知h 脚il o o k u p l a b l o s ( a l u t s ) ” 1 2 4 2 7 , 1 0 44 8 , 3 5 2 7 2 7 6 8 1 0 6 0 3 21 4 3 , 5 2 0 e q 6 - v a l o n tl e o 2 1 5 。6 0 03 3 8 8 06 0 ,4 4 09 0 9 6 0伯25 4 0 1 7 9 。4 0 0 i d 5 1 2 r a m h 柏 1 0 4碰蚴绷8 9 3 0 1 0 1 4 k 嗍h b7 81 4 4嘲4 0 e6 7 6 8 m - r a mb t o d 氆o124e0 t o t a lr 埘鼬 4 1 9 3 2 b1 。3 6 9 7 2 82 5 4 4 1 9 2 4 5 2 0 ,4 8 06 7 4 7 8 4 09 。3 0 4 0 d s p 醵幽1 21 6 3 6 4 8 6 3 l i m i t x1 8 - b i t m u l t i p l i e r s 埘4 88 4 1 4 41 9 22 5 乏3 斛 k n h l m e e dp l l 22 4 幸4 4 鼬p 山 44 8 b8 8 m a 姗mu s e rv od i 3 5 7 1 89 舵 1 2 6 1 1 7 0 图2 3s t r a t i x i i 结构图 第二章数字i c 设计与验证方法概述 1 逻辑阵列模块( l a b ) 逻辑阵列模块( l 惦) 的主要结构是八个自适应逻辑模块( a l m ) ,还包括 一些进位链和控制逻辑等结构。自适应逻辑模块( a l m ) 是s t r a t i xi i 器件的基本 模块,每个a l m 中包含了两个可编程的寄存器,两个专用全加嚣,一个进位链, 一个共享算术链和一个寄存器链。组合逻辑模块( c o m b i n a t i o n a ll o g i c ) 中包含 了两个4 输入的查找表( u j t ) 结构和4 个三输入的查找表( u ,r ) 结构,通过 对查找表( l u t ) 结构的设置可以实现不同的f p g a 逻辑。其结构如图2 4 所示f 5 】。 o “w 血 1 b g w 删* f d 擅w t o 和m l i 酬u 齿 t o 鲈m 嘣# i 叫r a 础叼 t o 。n 刈w i 酬m u 蚺q 啊d | j 帆o 城且h 啊l 9 咀 图2 a a l m 的结构示意图 2 存储器模块( r a m ) s t m t i xn 器件具有t r i m a t r i x 存储结构,它包括三种大小的嵌入式r a m 块。 t r i m a t r i x 存储器包括5 1 2 b i t 的m 5 1 2 块,4 k b i t 的m 4 k 块和5 1 2 k b i t 的m - r a m 块,每个都可以配置支持各种特性。t r i m a t r i x 存储器结构提供了多达9 m b i t 的 r a m ,使得s t r a t i x 器件系列成为大存储容量应用的可行方案。 t r i m a t r i x 存储器提供了三种存储结构,能够实现复杂设计中的各种存储功 能。其中m 5 1 2r a m 可以灵活的配置为简单双口r a m 、单口r a m 、f i f o 、r o m 和移位寄存器等结构;m 4 kr a m 可以灵活的配置为真双口r a m 、简单双口 r a m 、单口r a m 、f i f o 、r o m 和移位寄存器等结构;m - r a m 可以灵活的配置 为真双口r a m 、简单双口r a m 、单口r a m 和f i f o 等结构。设计者能够在存储 带宽苛刻的应用中使用小的m 5 1 2r a m 块作为f i f o 功能和时钟域缓冲;m 4 k 块 是中等大小存储应用的理想选择,比如异步传输模式( a r m ) 信元处理;m - r 朋讧 块非常适合于诸如口包缓冲和系统高速缓冲等大缓冲的应用。 3 数字信号处理模块( d s p ) d s p 块架构是为实现多种最大性能和最小逻辑资源利用率的d s p 功能而优 化的。每个d s p 块提供了乘法器、加法器、减法器、累加器和求和单元,这些都 i i = i 1 4 1 6 位d s pi p 核的设计与验证技术 是一般d s p 算法中常用的功能。 每个d s p 块能支持不同的乘法器比特大小( 9 x 9 、1 8 x 1 8 、3 6 x 3 6 ) 和操作模 式( 乘法、复数乘法、乘累加和乘加) ,每个d s p 块提供了2 8 g m a c s 的d s p 吞吐量。最大s t r a t i xi i 器件e p 2 s 1 8 0 器件有9 6 个d s p 块,提供了2 8 4 g m a c s 的吞吐量,能支持3 8 4 个1 8 x 1 8 乘法器。s t r a t i xi i 器件的吞吐量比现今市场上单 芯片d s p 处理器高几个数量级。d s p 块配置为1 8 x 1 8 的结构如图2 5 所示。 啦曲f & r 瑚 r * m 图2 5d s p 块配置为1 8 x 1 8 的结构图 d s p 块增加了新的舍入和饱和支持,便于将d s p 固件代码导入f p g a 。一些 应用如话音处理,由于存放数据的存储缓冲是固定宽度,可以使用舍入和饱和。 早些时候,数字信号处理器设计者使用定点数字,f p g a 必须修改设计以适应舍 第二章数字i c 设计与验证方法概述 入和饱和。采用支持舍入和饱和的d s p 块,现在更容易将基于d s p 处理器的设 计导入到f p g a 实现中。 4 锁相环( p l l ) s t r a t i xi i 器件具有多达1 2 个锁相环( p l l ) 和4 8 个独立系统时钟,可以作 为中央时钟管理器,满足系统时序需求。s t r a f i xi i 器件在成功的s t m t i x 器件架构 基础之上提供了先进的片内p l l 特性,如扩频时钟、时钟切换、频率合成、可编 程相移、可编程延迟、外部反馈和可编程带宽。s t r a t i xi i 器件还提供p l l 重配置 性,允许用户无需重新编程整个器件,只改变p l l 的配置。另外,s t r a t i x 快速 p l l 也支持动态相位调整( d p a ) 特性,它能够动态的纠正高速系统中的通道至 通道偏移。s t r a t i xi ip l l 增加了系统和器件性能,提供了先进的时钟接口和时钟 频率合成。其原理如图2 ,6 所示。 d 缸a t t t t b 2 3 2f p g a 验证流程 图2 6 s t m t i x i i p l l 原理图 细i o n 柚 a o c k * 嚏啪a g l o b c o e k n 嘲 i 幻 鼬h 嗤 f p g a 验证就是通过仿真、时序分析、上板调试等手段检验设计正确性的过 程。f p g a 验证过程和i c 验证过程基本一样,也要通过: 设计输入; 功能验证; 综合; 布局布线; 时序验证; 下载并进行板级调试。 1 设计输入 所谓设计输入,是利用h d l 输入工具、原理图输入工具或状态机输入工具 等把所要设计的电路描

温馨提示

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

评论

0/150

提交评论