




已阅读5页,还剩75页未读, 继续免费阅读
(微电子学与固体电子学专业论文)基于fpga的64位cpu验证平台的建立.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 现代i c 设计中,随着设计规模的扩大和复杂度的增长,验证成为最严唆的 挑战之一。在现代a s i c 设计中,很难用单一的验证方法来对复杂芯片进行有 效的验证,为了将设计错误减少到可接受的最小量,需要将一系列的验证方法 和工具结合起来。 在6 4 位全定制嵌入式c p u 设计过程中,使用了多种验证技术和方法,并 将f p g a 验证作为a s i c 验证的重要补充,加强了设计正确的可靠性。 论文首先介绍了6 4 位c p u 的结构,结合选用的x i l i n x 的v i r t e x t m - 4 系列 x c 4 6 0 器件,制定了f p g a 验证策略。根据6 4 位c p u 设计的特点,分析 和研究了f p g a 验证平台建立中所遇到的问题:r t l 代码的分割和转换,f p g a 实现中的问题和最后的调试。通过选取合适的器件和工具,根据所定制的验证 策略实现了基于f p g a 的6 4 位c p u 验证环境,并利用所建立的验证环境对c p u 进行验证,包括用c h i p s c o p c 进行信号追踪、基于串口的调试机制及用p e d 实 现验证的自动化处理。 最后对目前论文工作进行了总结,得出了一些f p g a 验证工作的初步认识。 并提出了下一步工作的方向。 关键词:i c 设计,6 4 位c p u ,验证,f p g a ,调试 a b s t r a c t a b s t r a c t t h em a j o rc h a l l e n g et h ei cd e s i g ni sc o n f r o n t e dw i t hh a sb e e nt od e s i g nw i t h f a rm o r ec o m p l e xf u n c t i o n a l i t ya n dd o m a i n d i v e r s i t y a tt h ev e r yt o po ft h e c h a l l e n g e st ob es o l v e di sv e r i f i c a t i o n i nm o d e ma s i cd e s i g n ,as i n g l ev e r i f i c a t i o n m e t h o do rt e c h n i q u ec o u l dn o tb eu s e dt os o l v et h ep r o b l e m i n s t e a d ,ac o m p l e x s e q u e n c eo ft o o l sa n dt e c h n i q u e sa r en e e d e dt or e d u c et h en u m b e ro fd e s i g ne r r o r st o a na c c e p t a b l em i n i m u m i nt h e6 4 - b i te m b e d d e dc p u d e v e l o p m e n t , w eu s eav a r i e t yo fv e r i f i c a t i o n m e t h o d st oe u s u f ct h ec p um e e t st h e f u n c t i o n a l r e q u i r e m e n t s f p g a ( n e l d p r o g r a m m a b l eg a t ea r r a y s ) v e r i f i c a t i o n h a sb e e no n eo ft h em o s ti m p o r t a n t s u p p l e m e n ts t r a t e g i e s t h ep a p e rd e s c r i b e st h es t r u c t u r eo ft h e6 4 - b i tc p ua n dm a k e st h ef p g a s t r a t e g yo nt h ef p g aw ec h o s e x c 4 v l x 6 0 t h e nt h ep a p e ra n a l y s i sa n ds t u d yt h e p r o b l e mo c c i l rd u r i n gt h ef p g av e r i f i c a t i o ne s t a b l i s h m e n tp r o c e s s ,m a i n l ya b o u tt h e r t l p a r t i t i o na n dc o n v e r s i o n ,t h ei m p l e m e n t0 1 1f p g aa n dt h ed e b u gp r o b l e m b a s e do nt h ef o r m e rs t u d y , w ee s t a b l i s ht h ef p g av e r i f i c a t i o nf o rt h e6 4 - b i tc p u a n dd e v e l o pk i n d so fu s e f u ld e b u gm e t h o d st od e b u gi n c l u d i n gc h i p s c o p e ,u a r t a n dp c r l 。 a tl a s t i nc o n c l u s i o na n de x p e c t a t i o n , t h i sp a p e rc o n c l u d e ss o m ek n o w l e d g e t h a ti su s e f u lf o rf p g av e r i f i c a t i o nw o r k a n di t g i v e ss o m ep r o p o s a la b o u tf u t u r e j o bb yl i s t i n gs o m ef i e l d st h a ts h o u l db er e s e a r c h e d k e yw o r d s :i cd e s i g n , 6 4 - b i tc p u ,v e r i f i c a t i o n ,f p g ad e b u g 学位论文版权使用授权书 本人完全了解同济大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务:学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名季冲 川年弓月1 1 日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 年月日年月日 同济大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名: 辛冲 沙 年) 月1 1 e t i 第一章引言 第一章引言 现代i c 设计中,随着设计规模的扩大和复杂度的增长,验证成为最严峻的 挑战之一。1 9 9 9 年v i f t u a ls o c k e ti n t e r f a c ea l l i a n c e ( v s i a ) 举行的验证研讨会达成 “验证很棘手”的结论。同时会议还达成另一个共识:在现代a s i c 设计中, 很难用单一的验证方法来对复杂芯片进行有效的验证,为了将设计错误减少到 可接受的最小量,需要将一系列的验证工具和方法结合起来,如传统的仿真、 定向验证、随机验证和形式验证等。经过数周的深入讨论之后,最终结论是“验 证不是很棘手,是非常棘手”。而第三次v s i a 会议的结论是“验证不是非常棘 手,是非常非常棘手”。l l j 1 1 验证在a s i c 设计中的地位和意义 a s i c ( 注:本文中的a s i c 概念更侧重它与f p g a 不同物理实现的特性) 设计的规模、复杂度和成本在不断增加,与此同时,日益激烈的竞争使得今天 的电子产品市场对上市时间的压力极为敏感。一次失败的a s i c 流片不仅会推 迟数个月的上市时间,而且造成金钱的损失( 以典型的0 1 8 u mt 艺为例一次 流片目前的费用就需3 0 万美金) 2 1 。这些因素大大增加了a s i c 设计一次设计 成功咖f i r s t a l m e ) f 瓶, 力,反过来也推动了对芯片和系统快速、高效、低成 本效益的验证的需求。 另外,现代电子设备中智能度的提高和多功能的集成化,芯片的功能复杂 度日益增加,越来越偏向于设计系统集成芯片( s y s t e mo nc h i p ,s o c ) i l j 。这 样的情况使得建立功能验证环境更加困难和耗时。 同时,芯片设计规模越来越多达到和超过百万门级,使得保证验证完备性 的测试向量集变得越来越庞大。 以上三个主要的原因导致在复杂的芯片设计中验证所占的时间己到达总设 计时间的6 0 - - 7 0 。1 1 j 第一章引言 1 2c p u 设计 微处理器设计是芯片设计的核心,研究具有自主知识产权的c p u 将促进我 国芯片设计水平的提高。同时,发展具有自主知识产权的“中国芯”已经关系 到国家的安全,具有重要的战略意义。因此,在我国发展有自主知识产权的c p u 已经成为人们注目的焦点。 倪光南院士从应用的角度把c p u 分为主要的三类,即“x 8 6c p u “嵌入 式c p u ”和“其它高性能c p u ”。x 8 6c p u 是指p c 上使用的c p u ,即x 8 6 体 系结构的c p u ,主要是i n t e l 公司的c p u ,也包括a m d 和威盛等公司与其兼容 的c p u 。嵌入式c p u 是指应用于各种信息设备里的c p u ,一般功能不太强、 主要是以低价格、低功耗为特征,著名的有a l l m 、m i p s 等公司的c p u 。其它 高性能c p u 是指应用于服务器和超级计算机中的高性能c p u ,例如a l p h a 、 u l t r a s p a r c 、p o w e r p c 等等。 开发出有自主知识产权的x 8 6 处理器,目前困难较大,主要是知识产权障 碍和i n t e i a n i d 对x 8 6 架构市场的垄断。而发展以m i p s 体系结构的r i s c 处 理器为突破口,它的有利条件有:一、信息设备种类众多,每类中的各种新产 品层出不穷,信息设备产品的这种特点使大公司很难垄断,容易找到自己的发 展空间。二、芯片设计技术、e d a 工具已有很大发展,可将一个完整的系统 集成在一个芯片上,称为单芯片系统,即s o c ( s y s t e mo nac h i p ) 。这一技术使 开发速度大大加快,直接掌握s o c 技术就可以实现跨越式发展,不必走外国公 司已走过的老路。三、与m i p s 系列处理器配套的软件,从嵌入式o s ( 包括l i n u x 和其它自主o s ) n 在它上面运行的应用程序,不像p c 的软件那样受到微软垄断 的影响,完全可以由我国公司自主开发;四、m i p s 系列处理器对半导体生产工 艺的要求较低,多数不必采用最先进、昂贵的半导体工艺,能充分发挥我国现 有的半导体生产能力。 目前,国内在c p u 设计上主要采用与已有的c p u 兼容的方法。这样做的 好处是便于对体系结构进行分析,并且有大量的软件支持,有利于调试、缩短 开发周期。但是也可以看到,发展兼容的处理器将使我国在c p u 体系结构上的 设计能力落后于其它国家。 目前,包括中科院、北京大学等众多的科研院校及企业都在积极研发具有 自主知识产权的c p u 。无论通用还是嵌入,“中国芯”在过去两年实现了集体突 2 第一章引言 破。虽然在绝对性能上距离国际一流标准尚有差距,但敢于挑战、敢于创新的“中 国芯”,让世人看到了中国r r 成就未来的希望。2 0 0 2 年9 月2 8 日,中科院计 算所在京宣布中国第一款可以进行批量投产的通用c p u “龙芯1 号研制成功。 2 0 0 6 年9 月使用龙芯二号的国产p c 已经正式投入生产。此外,北大众志八六 三c p u 系统芯片系列、星光系列、神威系列、万通1 号、青鸟嵌入式芯片等相 继研制成功。2 0 0 4 年9 月由同济大学,清华大学和上海芯豪微电子有限公司共 同研制的3 2 位高性能嵌入式c p u 已经成为“中国芯”的新成员。 1 3 研究背景和课题意义 2 0 0 4 年,由清华大学、同济大学和上海芯豪微电子有限公司共同研制的3 2 位高性能全定制嵌入式c p u 主频达到5 0 0 m i - i z 以上,功耗0 4 4 5 m 嗍i - i z ,内 核面积2 2 x 1 7 r a m z ,经信息产业部和教育部联合鉴定为国际先进水平( 全定 制设计) 。 在此基础上,同济大学微电子中心把目光瞄准更高性能的c p u 的设计和开 发,2 0 0 6 年承担了国家高技术研究发展计划( 8 6 3 计划) 信息领域超大规模集 成电路专项内的重点项目( 课题编号2 0 0 5 a a l z l 2 9 0 ) “多核c p u 研究”。同济 大学微电子中心主持了该课题的设计研发工作,并首先进行了6 4 位高性能嵌入 式c p u 的设计开发。 1 4 论文的主要工作和创新点 本论文的主要工作是结合“6 4 位高性能嵌入式c p u 开发”项目,根据项 目中的任务分工,为6 4 位c p u 建立了一个实用高效的f p g a 验证环境。 主要工作包括: 一,研究了a s i c 设计中f p g a 验证方法的意义和验证环境建立中所遇到 的问题。针对这些问题,分析和研究现有的解决方法并结合6 4 位c p u 设计, 提出了f p g a 验证的具体策略。 二,根据所定制的策略,结合现有的工具,实现了基于f p g a 的6 4 位c p u 验证环境。 三,利用所建立的验证环境对c p u 进行验证,包括用c h i p s c o p e 进行信号 3 第一章引言 追踪、基于串口的向量调试、验证的自动化实现。 本论文的主要创新点有: 一,根据f p g a 的特性,对c p u 的r t l 代码完成了从a s i c 设计到f p g a 设计的转换,并提出了一系列代码转换的规则。 二,提出并实现了基于串口的向量调试机制。 三,将p e f l 结合运用于基于串口的向量调试机制中,实现了验证的自动化, 提高了验证效率。 1 5 论文的组织结构 本论文共有五章,具体的章节安排如下: 第一章是引言部分,主要介绍了本课题的研究背景和意义。并阐述了验证 在i c 设计流程中的地位和意义。简介了论文的主要工作,说明了论文的创新点。 第二章具体阐述了6 4 位c p u 中f p g a 验证策略。讨论了f p g a 验证在a s i c 设计中的意义和6 4 位c p u 的体系结构。具体阐述了所采用的f p g a 验证策略。 并具体介绍了所采用的x i l i n x 的v i r t c x 蹦- 4 结构原理。 第三章则具体介绍如何建立6 4 位c p u 的f p g a 验证环境。首先针对f p g a 验证环境建立中的问题和解决办法做了具体的探讨,然后具体介绍了6 4 位c p u 的f p g a 验证平台的结构和实现过程。 第四章主要介绍了基于构建好的验证环境对c p u 进行调试的过程。主要有 c h i p s c o p e 、串口调试和验证自动化。 第五章对目前论文工作进行了总结,得出了一些对f p g a 验证工作的初步 认识。并提出了下一步工作的方向。 4 第二章c p u 的f p g a 验证策略 第二章c p u 的f p g a 验证策略 2 1f p g a 介绍 2 1 1f p g a 的发展 可编程逻辑器件随着微电子制造工艺的发展取得了长足的进步。从早期的 只能存储少量数据,完成简单逻辑功能的可编程只读存储器( p r o m ) ,紫外线可 擦除只读存储器( e p r o m ) 和电可擦除只读存储器( e e r o m ) ,发展到能完成中 大规模的数字逻辑功能的可编程阵列逻辑( p a l ) 和通用阵列逻辑( g a l ) ,今天己 经发展成为可以完成超大规模的复杂组合逻辑与时序逻辑的现场可编程逻辑器 件( f p g a ) 和复杂可编程逻辑器件( c p u ) ) 例。 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 门,发展到现在的几百万门,器件的 集成度提高到一个新的水平。尤其是最近几年,f p g a 的主要厂商a l t e r a 、x i l i n x 等不断更新优化产品架构和生产工艺,不断降低f f g a 的功耗和系统成本,推 出了很多高性能低价位的解决方案。f p g a 已大量应用于通讯技术、计算机技 术、仪器仪表、自动化技术等领域中以及视听、医疗电子等设备中1 4 j 。 2 1 2f p g a 的类型 f p g a 的三种基本类型为:可熔断型、e p r o m 型和基于s r a m 的类型。 可熔断型器件通过加入一个较高电压使两个节点间的绝缘材料断开来进行 5 第二章c p u 的f p g a 验证策略 编程。这样不需要存储器来保存程序,但一次写入后不可更改。当形成熔断时 在器件的引脚处永久地生成了低阻通路。熔断通路的尺寸本身很小,在一个 f p g a 上可以分布上百万个器件。这项技术最显著的优点在于熔断的导通电阻 和寄生电容要比传输门和传输晶体管小得多。这将支持更高的交换速度和布线 通路的可预计定时延时。 e p r o m 和基于e p r o m 的技术可通过高电压编程,并采用带电浮栅工艺 来实现。基于这些技术的器件是可重新编程和非易失的,当内置在目标系统中 时可以脱机编程。 基于s r a m 的f p g a 的厂商有很多,如x i l i n x 、a l t e r a 、a t m e l 和l u c e n t 。 f p g a 功能单元的复杂性取决于竞争因素,如果单元的复杂度较低,布线所需 要的时间和资源就较多。另一方面,如果复杂度较高,将会有浪费的单元面积 和逻辑。典型的基本结构包括以下几个部分【5 】: 1 ,实现组合和时序逻辑的可编程功能单元阵列。 2 ,建立信号布线固定的但可编程的互连结构。 3 ,对器件功能进行编程的配置存储器。 4 ,在器件与周围环境之间提供接口的i o 资源。 2 2 在a s i c 设计中f p g a 验证的地位和意义 2 2 16 4 位c p u 的验证方法 在现代a s i c 设计中,很难用单一的验证方法来对复杂芯片进行有效的验 证,为了将设计错误减少到可接受的最小量,需要将一系列的验证工具和方法 结合起来。1 1 】在6 4 位全定制嵌入式c p u 设计过程中,运用了多种验证技术和 方法,建立了一个实用高效的验证环境。 验证贯穿于整个a s i c 设计流程中,这些验证技术大致可以分为四类:基 于仿真的技术,静态技术,形式验证和物理分析。 1 仿真 仿真( s i m u l a t i o n ) 是指从电路的描述( 语言描述或图形描述) 提取模型,然后将 外部激励信号或数据施加于此模型,通过观察该模型在外部激励信号作用下的 反应来判断该电路系统是否实现了预期的功能。设计者主要通过模拟、精确分 6 第二章c p u 的f p g a 验证策略 析来有效地捕捉到设计故障,仿真可以对不同抽象级别的电路进行,基于h d l 语言的仿真工具通常也支持对不同抽象级别的电路的仿真。而传统的仿真工具 是基于原理图设计输入的门级仿真工具,它是传统p c b 和i c 设计中被广泛应 用的仿真工具。 2 静态技术 静态技术包括代码风格检查( 1 i n tc h e c k i n g ) 和静态时序分析( s t a ) 。静态 时序分柝提供电路中所有路径的完全分析而不需要测试向量。 3 形式验证 形式验证主要方法有定理推断法( t h e o r e mp r o v i n g ) ,形式模型法和形式等价 性检查。它提供严密证明而不是实验的结果来验证设计结果的正确性。形式验 证则只是对电路描述本身进行分析,通过静态逻辑推理而实现的,并能直接给 出“正确”或是“错误”结论。 4 物理验证 对物理实现的部分进行验证,包括d r c 、l v s 。在全定制的设计流程中尤 其重要。 图2 1a s i c 设计流程 如图2 1 ,是a s i c 设计的简要流程。c p u 的设计过程主要分为三个部分, 而在每个部分设计结束后都需要进行验证。第一部分为逻辑设计,包括体系结 构的确定,系统建模和r t l ( r e g i s t e r st r a n s f e rl e v e l ,寄存器传输级) 代码编写。 将系统的行为、各个组成部分的功能及其输入和输出最后用硬件描述语言 ( h d l ) 加以描述。在逻辑设计中,主要采用的验证方法有:代码风格检查( 1 i n t c h e c k i n g ) ,逻辑仿真,代码覆盖率分析,f p g a 验证,对某些模块进行基于断 7 第二章c p u 的f p g a 验证策略 言( a s s e r t i o n b a s e d ) 的验证和基于覆盖率导向的验证。 第二部分是电路设计,将逻辑级行为描述转换成使用门级单元的结构描述。 一般使用综合工具来实现控制通道,而数据通道部分的电路则由人工设计完成。 在这个过程中,采用的验证方法有:门级网表的逻辑仿真,形式验证,静态时 序分析( s t a ) 和h s p i c e 仿真。 最后一部分是物理实现,将网表描述转换成版图。采用的验证方法有;d r c ( d e s i g nr u l ec h e c k ) ,l v s ( l a y o u tv ss c h e m a t i c ) ,e r c ( e l e c t r i c a lr u l ec h e c k ) 和后仿真等。 2 2 2f p g a 验证的意义 首先,a s i c 设计周期长、开发费用高、投资风险大。可以从上面的流程图 2 1 看出,从c p u 的系统建模到最后流片,必须经过系统设计、逻辑设计、电 路设计、版图生成、流片等多项步骤,任何一步中的微小错误都会造成最终的 失败。如果硬件测试基于a s i c 样片,发现错误就意味着修改设计或重新设计, 也就意味着数月流片制造的时间浪费。 而运用f p g a 设计方法,可以将电路用f p g a 芯片加以实现,然后插入系 统,实现电路的硬件仿真。由于f p g a 具有可以多次擦写的特点,该过程可以 反复进行,直到得到正确的设计,从而避免了传统的a s i c 设计一次流片失败 所带来的损失。使用f p g a 验证可以随时修改重构系统,灵活方便,f p g a 的 加载则只需要数小时,所以在设计速度( t i m et om a r k e t ) 高于一切的今天,f p g a 验证的意义是不言而喻的。 其次,在现在的i c 设计中,被验证设计的规模日益增大,验证向量的数量 也随之增长,用纯软件仿真器进行仿真验证,将会耗用大量的验证时间。特别 是对门级代码进行仿真验证时,所需要的验证时间将会长得超过项目能容许的 时间【2 1 。在本项目中,所设计的6 4 位c p u 指令集复杂,运行在p c 平台上的软 件仿真只能获得数i k 以上的仿真速度。因此对于c p u 的a s i c 设计,为了实 现很高的仿真速度,就必需采用某神形式的硬件辅助验证。硬件仿真是直接在 实际应用系统中运行,通常测试速度比软件模拟或软硬件合作模拟速度快6 至 8 个数量级1 6 j 。 最后,a s i c 设计复杂性的提高,使设计者能够提供完整模拟所需外部激励 8 第二章c p u 的f p g a 验证策略 信号的可能性降低。由于建立真实硬件目标系统的精确软件模型困难很大,通 过软件模拟或软硬件合作模拟运行真实系统应用难以实现。用软件模型来模拟 目标系统,并不一定总是准确。有时,有的输入输出问题是很难用软件来模拟 的。而f p g a 验证的核心目的是用f p g a 芯片替代a s i c 样片在硬件仿真中的 地位。硬件仿真通常指的是把样片放在实际应用系统中运行,以检查设计的正 确性。由于应用系统最终都是面向人的,所以在硬件仿真中自然比较容易发现 错误。而硬件仿真方式使得用户可以在实际目标系统上运行真实应用,因此一 些在软件仿真阶段可能被隐藏的系统设计缺陷在硬件仿真方式会暴露,可以在 实际系统内验证功能,从而在投片前发现芯片功能问题【“,设计者可以在投片 前及时发现和解决这些错误。 综合上面三个因素,在本项目中,决定使用f p g a 作为c p u 验证方法中的 重要补充手段。 2 36 4 位c p u 的结构 本项目中的6 4 位c p u 是与m i p s ( m i c r o p r o c e s s o r w i t h o u ti n t e r l o c k e dp i p e d s t a g e s ) 系统结构兼容的。m i p s 系列c p u 是一种被广泛使用的r i s cc p u ,它 主要利用软件办法避免流水线中的数据相关问题1 7 。 6 4 位c p u 技术特点有:高效五级指令流水线( p i p e l i n e ) 设计;可执行3 2 6 4 位指令;具有6 4 位整数运算单元;片上内存管理单元( m m u ) ;8 k 片内数据高 速缓存c a c h e ) :1 6 k 片内指令高速缓存( i - c a c h e ) 。 2 3 1 流水线结构 本设计中的c p u 采用5 级流水线结构,采用这种结构设计的c p u 能够运 行在更高的主频上,且能相对降低硬件设计的复杂度和功耗。 此5 段流水线划分如下: ii n s t r u c t i o nf e t c h ( 取指令) dd e c o d e r ( 译码与取操作数) ee x e c u t i o n ( 执行) m m e m o r y( 数据存储) 9 第二章c p u 的f p g a 验证策略 ww r i t eb a c k ( 对齐与写回) 流水线各段具体任务如下: i 段的功能是取指令。在该段中执行的操作是:将程序计数器的p c 值发送 到存储器,取得指令,并将p c 值加4 以获得顺序执行的下一个p c 。在c a c h e a b l e 的指令地址空间中,如果该指令存在于指令缓存中,则直接取出指令,否则需 要从外部存储器读取指令并填入指令缓存,直至当前缓存块填满,再继续执行。 在u n c a c h e a b l e 的指令地址空间中,则直接从外部存储器读取指令。 d 段的功能是指令译码与取操作数。在该段中,首先译出指令,并根据不 同的指令类型,从相应的寄存器中取得操作数。如果指令需要,还要对操作数 进行符号扩展。对于转移指令,下一个的指令地址的计算也是在该段完成。 e 段的功能是指令执行和有效地址的计算。在该段中,a l u 根据指令译码 的结果对d 段准备好的操作数进行相应操作。由于在l o a d s t o r e 结构中,没有 指令既要产生有效地址又要同时进行运算,因此它们可以合并到流水线的同一 级中。 m 段的功能是访问存储器。如果当前的指令是l o a d ,则根据e 段计算得到 的有效地址对存储器进行读操作;如果当前的指令是s t o r e ,则根据有效地址将 相应寄存器的内容写到存储器中。 w 段的功能是写回。如果当前指令为r ,t y p e 或l o a d ,则要在该段将运算结 果或读取到的数据写回到寄存器中。 在这种流水线机制下,乘除法指令执行是通过跟主流水线分开的乘除法流 水线完成的,流水线的运行是跟主流水线( i u 流水线) 并行执行的。当l u 流 水线执行的时候m d u 流水线不会随着i u 流水线的停滞而停滞。m d u 单元包 括结果累积寄存器h i 和l o 、除法器状态机、乘法器状态机和必要的逻辑控制 单元。乘法器判断乘数的位数然后决定应该几次进入乘法器b o o t h 编码单元和 乘法器阵列单元。6 4 * 3 2 和3 2 * 3 2 这两种乘法进入一次,6 4 6 4 乘法要两次进入 乘法器单元。 2 3 2c p u 模块划分 ( 1 ) 算术逻辑单元( a l u ) ( 2 ) 乘除单元( m d u ) 1 0 第二章c p u 的f p g a 验证策略 ( 3 ) 寄存器堆( r f ) ( 4 ) 对准器单元( a l i g n e r ) ( 5 ) 系统管理协处理器( c p 0 1 r 、c p o e ) ( 6 ) 存储管理单元( m m u ) ( 7 ) 程序记数器单元( p c ) ( 8 ) 总线接口单元( b 1 u 、s y s a d ) 图2 26 4 位c p u 结构示意图 算术逻辑单元是微处理器完成数据算术及逻辑运算的部分,面其它部分主 要是为a l u 的处理送入数据和保存运算结果。因此,a l u 是微处理器数据通 路的核心。在6 4 位c p u 中,只有l o a d 和s t o r e 指令直接对内存进行访问,所 有的逻辑运算指令均使用寄存器或立即数寻址方式得到操作数,并且至少其中 有一个寄存器操作数。操作数在“u 中经过计算后会写入寄存器堆。条件转移 指令也需要a l u 的参与,根据运算结果来控制取指单元取得跳转后的目的指 令。 系统控制协处理器( c p 0 ) 实现了2 1 个寄存器,这些寄存器为3 2 位或6 4 位 不等,分别用来提供内存管理以及异常处理的功能。在流水线运行过程中,c p 0 监控c a c h e 系统,并且为流水线提供错误诊断以及控制信息,并提供不同的核 心、用户和管理员模式管理。对这些c p 0 寄存器的访问,处理器提供了专用的 c p 0 指令,如m f c 0 、m t c 0 等。大部分c p 0 寄存器都能够由软件通过c p 0 指令对其进行读写操作,有部分寄存器以及个别寄存器的部分标志位只能由硬 件进行写入,软件只能读取其数据来判断处理器状态。 指令和数据c a c h e 用来提高对存储空间的访问速度,提升处理器的性能。 1 1 第二章c p u 的f p g a 验证策略 由于c a c h e 是以内部流水线时钟( p c l k ) 为工作时钟,所以c a c h e 控制单元能 够配合流水线对c a c h e 进行高速访问。c a c h e 控制单元可以同时并行访问指令 和数据c a c h e 。 内存管理模块( m m u ) 来支持虚拟内存管理。它可以提供6 4 位和3 2 位两 种虚拟地址模式,因此既能够运行6 4 位程序也可以运行3 2 位程序,而在内部 则统一提供3 2 位的物理地址来访问主存或c a c h e 单元。虚拟地址通过内存管理 模块进行虚拟地址到物理地址之间的转换。 p c 模块的功能是,为了让数据流水线正确的运行起来,需要通过对执行单 元的操作码的控制信号进行控制,实现对流水线各级资源的分配和调度,包括 在复位过程、低功耗工作及其它工作模式下进行调度和管理的机制,并且适当 响应一些外部模块信号请求,要实现的功能主要包括:提供流水线及芯片初始 化过程;提供低功耗工作模式管理;p c 指令地址选择;流水线互锁检测与处理; 指令互锁检测与处理;异常响应;m m u 外部数据信号响应。 总线接口单元( b i u ) 是处理器核心与外部的接口。处理器通过b i u 和外 设通信,并处理c a c h em i s s 或者未在c a c h e 中映射的主存空间。外部设备也可 以通过总线接口单元访问处理器内部资源。此外,处理器的各种外部中断请求 也必须通过总线接口单元按优先级将中断请求送入处理器内部。总线接口单元 的工作独立于流水线时钟( p c l k ) ,与系统时钟( s c l k ) 同步。系统时钟与流 水线时钟可根据用户需要选择不同的倍频关系。 b i u 实现了把指令c a c h e 和数据c a c h e 的读写请求通过s y s a d 总线接口和 外面通信。s y s a d 总线使用地址和数据复用总线,实现了s i n g l er e a d , s i n g l e w r i t e 。 b l o c kr e a d 和b l o c kw r i t e 四种总线传输模式。如图2 3 ,s y s a d 模块作为m a s t e r 负责发送s y s a d 总线请求和数据,并接收s y s a d 总线上的响应数据。 c p uc o f e i c e h e f _ 1 s y s a d 习( 黜卜丑一o u t 虮呦 d c c 嬲 图2 ,3s y s h d 总线 第二章c p u 的f p g a 验证策略 2 3 3c p u 的指令系统 6 4 位c p u 的指令系统由三种格式的指令构成。如图2 4 ,包括有: 1 i - t y p e ( i m m e d i a t e ) 操作数之一为立即数 2 j - t y p e q u m p ) 操作数为跳转地址偏移量 3 r - t y p e ( r e g i s t e r ) 操作数都是寄存器数 1 - t y p e ( i m m e d t o 格) j h p e ( d o r r p 3 1 o p 2 62 50 r - t y p e ( r e g i s t e r ) 图2 4 指令格式“1 o p :6 位操作码 璐:5 位源寄存器号 n :5 位目的寄存器号或跳转条件 i m m e d i a t e :1 6 位立即数。条件偏移量或地址偏移量 t a r g e t :2 6 位无条件跳转目的地址 r d :5 位目的寄存器号 s h a r e r :5 位移位位数 f u n c t :6 位功能描述 c p u 所有的指令长度都是3 2 位,分为五种主要的类型: h a da n ds t o r e 指令:用于存储器和通用寄存器之间传送数据,属于i - t y p e 指令,它所支持的寻址方式只有一种,即基址寄存器的值加上符号扩展的1 6 位 立即数作为源或目的操作数的地址。如l wr t ,o f f s e t ( b a s e ) ,1 6 位的偏移地址经 过符号扩展后,和通用寄存器中的基址相加得到虚拟地址,然后根据地址读入 字到r t 寄存器。在6 4 位的模式时,l o a d 进的字要经过符号扩展。 c o m p u t a t i o n a l 指令:用于算术、逻辑、移位和乘除运算。这些指令可分为 第二章c p u 的f p g a 验证策略 r - t y p c 和i - t y p e 两类。如a d dr d ,1 5 ,r t ,通用寄存器r s 和1 1 中的值相加形成 结果,这个结果然后存入r d 中。在6 4 位模式下,操作数必须经过符号扩展。 j u m p 和b r a n c h 指令:用于改变程序的执行顺序。无条件跳转指令分为 i - t y p e 和r - t y p e ,条件分支为l - t y p e 。指令的返回地址保存在3 1 号寄存器。 c o p r o c e s s o r 指令:用于执行协处理器中的操作,这些指令对c p 0 寄存器 进行操作以控制c p u 的存储器和进行异常处理。协处理器的l o a d sa n ds t o r e s 是 i - t y p e 指令。 s p e c i a l 指令:执行一系列的特殊操作,包括从特殊寄存器和通用寄存器之 问移动数据,t r a p ,断点等。他们属于r t y p e 指令。 具体总共包括算术( a r i t h m e t i c ) 指令2 1 条,分支( b r a n c h ) 和跳转( 1 u m p ) 指令1 2 条,指令控制( i n s t r u c t i o nc o n t r 0 1 ) 指令1 条,装载( l o a d ) 、存储( s t o r e ) 及内存控铝l j ( m e m o r yc o n t r 0 1 ) 指令1 6 条,逻辑( l o g i c a l ) 指令8 条,转移( m o v e ) 指令6 条,移位( s h i f t ) 指令6 条,陷阱( t r a p ) 指令1 4 条,分支( b r a n c hl i k e l y ) 指令8 条,特权( p r i v i l e g e d ) 指令9 条。 2 4 基于f p g a 的6 4 位c p u 验证策略 2 4 1 传统的f p g a 验证类型 除了基于f p g a 的验证系统,工业界还有基于高速阵列处理器的验证系统。 他们的原理都是一样,这些系统可以通过编程而具有目标系统的行为,并且这 些目标系统有时可以达到挂接到设计对象最终运行的真实系统中的程度。 f p g a 验证的本质是利用可重配置性来实现设计中的硬件模块,让软件模 块在真正的硬件上高速运行。实现的基础是系统硬件、软件编译器和所运行的 软件模块。 基于f p g a 的验证系统通常包括多个可互联的,高速的,高密度的f p g a 芯片。该验证系统首先需要将可综合的被测设计的r t l 代码在硬件设备上进行 多片f p g a 的自动划分和综合得到门级网表,再进行布局布线,生成可烧入 f p g a 中的位流文件。通常,该系统内的f p g a 阵列一部分用于运行被测设计, 一部分用来设置仿真运行时需要观测的节点控制和保存需要观测节点的运行信 息,这些节点都是仿真时工作站需要调用进行查错的。 1 4 第二章c i u 的f p g a 验证策略 现在市场上有很多f p g a 验证系统,比如h a r d i 公司的h a p s _ 2 0 、$ 2 c 公 司的i fp o r t e r 、c a d e n c e 公司的p a l l a d i u m 和m e n t o rg r a p h i c s 公司的v s t a t i o n p m 。 f p g a 验证基本上分为三种类型: ( 1 ) 仿真的硬件加速( s i m u l a t i o n a c c e l e r a t i o n ) 硬件加速策略是将软件仿真中全部或部分元件映射到特意为加快某些仿真 操作的速度而设计出来的硬件平台之中。最普遍的做法是:测试平台仍然以软 件的形式运行,而实际的待验证设计在硬件加速器中运行。 比如p a l l a d i u m 的s a 模式( s i m u l a t i o na c c e l e r a t i o nm o d e ) ,它就是利用 p a l l a d i u m 的加速仿真性能,将可综合的d u t 设计( 包括芯片内存设计) 移到 仿真器中,行为级的不可综合的测试激励仍然留在工作站上在n c s i m 中运行。 仿真器和测试平台通过p c i 等接口和p a l l a d i u m 进行数据交互,控制仿真的进行。 虽然硬件仿真器中d u t 运行非常快,但受限于不可综合的测试激励所占的 比例以及p a l l a d i u m 与n c - s i m 交互通讯的频度,验证速度的提高比较有限,通 常在数倍至数十倍之间【8 l 。 类似的还有v s t a t i o np m 的l i n k 模式和i pp o r t e r 的c oe m u l a t i o n 模式。, i j n l 【模式下,测试平台运行在工作站上,设计烧入v s t a t i o n ,验证速度也只能 提高几倍。 ( 2 ) i c e ( i n c i r c u i te m u l a t i o nm o d e ) i c e 模式( i n c k c u i te m u l a t i o nm o d e ) ,通常的做法是把所测试的芯片和测 试平台都放进f p g a 中,如v s t a t i o np r o 的i c e 模式。除了目标芯片也映射成 硬件外,可以把设计连接到目标应用系统中,在真实的应用环境中验证该芯片。 由于是在系统上下文环境中验证整个设计,因此可以大大提高功能验证完整性 和有效性,通常其验证速度可达数百千赫兹嘲。同时,由于有了现成的应用平 台,还可以在投片前即开始开发和调试软件,进行软硬件联合验证。 i c e 模式的优势
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025山东菏泽市曹县城镇公益性岗位招聘(第一批)备考练习试题及答案解析
- 2025浙江农业商贸职业学院劳务派遣人员招聘1人考试参考试题及答案解析
- 2025年度办公空间设计与消防设备一体化安装服务合同
- 2025年度音乐剧全国巡演演员培训及后勤保障服务合同
- 2025年教育机构培训场地租赁服务合同范本
- 2025年章琦张伟婚姻解除及共同财产分割详细协议书
- 2025年电商平台核心系统升级与性能优化服务合同
- 2025年度冷链物流集装箱运输合作协议书
- 2025年医疗器械专利产品全国代理销售与区域市场推广合同
- 2025年新能源汽车租赁合同备案及车辆挂靠管理规范
- 《Photoshop图像处理》课件-第一讲 认识PS
- 深度学习教学改进丛书 深度学习:走向核心素养(理论普及读本)
- 大众Polo 2014款说明书
- 人民医院整形外科临床技术操作规范2023版
- 新媒体运营全套PPT完整教学课件
- DB65T 3993-2017旱寒区冬油菜复播油葵栽培技术规程
- 脚手架搭拆施工方案
- 出境竹木草制品自检自控计划书(2021年报海关)
- 汽车风窗刮水器机构设计
- 重庆某广场高边坡喷锚支护施工方案(脚手架设计)
- 压力容器材料
评论
0/150
提交评论