(微电子学与固体电子学专业论文)基于fpga的可重配置片上系统.pdf_第1页
(微电子学与固体电子学专业论文)基于fpga的可重配置片上系统.pdf_第2页
(微电子学与固体电子学专业论文)基于fpga的可重配置片上系统.pdf_第3页
(微电子学与固体电子学专业论文)基于fpga的可重配置片上系统.pdf_第4页
(微电子学与固体电子学专业论文)基于fpga的可重配置片上系统.pdf_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

基l :f p g a 的可审i 己置片卜系统 摘要 随着半导体制造工艺的进步,a s i c 芯片开发的费用迅速增长,面市时间要 求口益紧迫,用户对产品设计的灵活性也提出越来越高的要求,导致a s i c :签片 的设计越来越困难。近些年来,可重配置硬件由于灵活性和费用低等优点表现出 了明显强于a s i c 的发展势头。但可重配置硬件固有的弱点如功耗高、速度慢、 资源冗余等使其在面对复杂功能设计时还是不能够达到要求,因此人们开始考虑 通过技术上的融合在a s i c 与可重配置硬件之间寻找一条中间道路一可编程片 上系统s o p c 。s o p c 不仅可以降低开发s o c 芯片的风险,缩短上市时间,而且 其可重构的灵活能力提供了将同一:i i ;片用到不同应用中去的机会,尤其适用于不 断变化和发展标准的产品开发中,例如通讯和网络芯片产品等。 动态可重构是指在系统运行过程中可重配置部分能够被重复配置,在不同的 时刻完成不同的功能。和静态可重构相比,动态可重构可以更充分的利用可重配 置硬件。动态可重构技术是国际上研究的热点,尤其是在可重配置计算方面。该 技术在理论上已经有了很大发展,但是目前仍然存在很多不足。 f p g a 组未来的发展方向之一是做支持动态可重配置的s o p c 硬件。这是一 项浩大的工程,本文所做的工作是其中的一部分。本文工作共包含两个部分:第 一个部分集中在通用s o p c 硬件平台的设计;第二部分是针对特定应用的动态可 重构硬件平台设计 本文的创新点如下: 1 本文参考已有s o p c 硬件平台,并考虑动态可重配置的要求,提出了一 个新的s o p c 硬件平台,该平台由c p u 、多个f p g ai p 核、片上存储器、 系统互连、配置用硬件等组成,f p g ai p 核通过可编程的系统互连资源 与片上存储器连接。为了支持硬件平台的设计,进一步提炼出了面临的 问题及解决方案。 2 考虑针对特定应用设计优化的可重配置硬件平台。应用选取为j p e g 2 0 0 0 及m p e g - 4 静态纹理图像压缩标准中所需的小波交换。提出了可重构的 二维一级小波变换硬件平台,整体结构采用流水操作,数据分组输入, 行列变换之间无需存储器。结果显示该硬件平台是一种高效高速的结构。 3 在分组输入数据的方式下进行行方向小波变换时,不同组的运算在时间 上是串行的,且所需的运算是不同的。行方向小波变换采用动态可重配 置的思想,硬件设计用可重构硬件实现,在系统运行时切换多路选择器 从而实现不同组对应的运算,在不影响速度的同时节省了系统的面积。 第7 页 基十f p g a 的可重配置片上系统 关键字:动态可重构,部分可重构,可重构计算,小波变换,提升算法 中图分类号:t n 4 7 第8 页 基+ j :f p g a 的町蕈配置片卜系统 a b s t r a c t d u et od r a m a t i c a l l yi n c r e a s i n gd e v e l o p m e n tc o s t ,s h o r t e rt i m et om a r k e ta n d f l e x i b i l i t yd e m a n d ,a s i cd e s i g n s a r em o r ea n dm o r e d i f f i c u l t m e a n w h i l e , r e c o n f i g u r a b l ed e v i c e s a r ed e v e l o p i n gf a s tb e c a u s eo fi t s f l e x i b i l i t y a n dl e s s d e v e l o p m e n tc o s t b u ti n t r i n s i cs h o r t c o m i n g so fr e c o n f i g u r a b l ed e v i c e s ,f o re x a m p l e , h i g hp o w e r , l o ws p e e d ,e t c i n d u c ed i f f i c u l t i e si nc o m p l e xd e s i g n sr e a l i z a t i o n s s o p e o p l eb e g a nt oc o n s i d e rc o m b i n a t i o no fa s i ca n dr e c o n f i g n r a b l ed e v i c eo n as i n g l e c h i p ,w h i c hi ss o p c s o p cc a l ln o to n l yd e c r e a s ed e v e l o p m e n tr i s ka n dt i m i n gt o m a r k e t b u ta l s oc a nb eu s e di nd i f f e r e n ta p p l i c a t i o n s ,e s p e c i a l l yo fp r o d u c t st h a tk e e p v a r y i n g ,f o re x a m p l e ,c o m m u n i c a t i o na n dn e t w o r kp r o d u c t s d y n a m i c a l l yr e c o n f i g u r a t i o nm e 锄sr e c o n f i g u r a b l ed e v i c eo ft h ec h i pc a nb e r e c o n f i g u r e dr e p e a t a b l e ,a n dp e r f o r m sd i f f e r e n t f u n c t i o n sa td i f f e r e n tt i m e s c o m p 盯e d w i t hs t a t i cr e c o n f i g u r a t i o n , d y n a m i cr e c o n f i g n r a t i o n c a l lu s et h e r e c o n f i g u r a b l ed e v i c em o r et h o r o u g h l y i t sa h o tr e s e a r c hi nt h ew o r l d ,e s p e c i a l l yi n r e c o n f i g u r a b l ec o m p u t i n g t h i st e c h n o l o g yh a sd e v e l o p e dal o ti nt h e o r y , b u ti ts t i l l h a sm a n yd e f i c i e n c i e s o n eo ft h ef u t u r e so ff p g ad e v e l o p m e n tg r o u pi st od e s i g nas o p cc h i pt h a tc a n s u p p o r td y n a m i cr e c o n f i g u r a t i o n , w h i c hi sav e r yb i gp r o j e c t w o r ko ft h i sp a p e ri s p a r to ft h i sj o b t h er e s e a r c hc a nb ed i v i d e di n t ot w op a r t s t h ef i r s tp a r tf o c u s e so n d e s i g no fau n i v e r s a ls o p cc h i p t h es e c o n dp a r ti sd y n a m i ch a r d w 盯ep l a t f o r mf o ra s p e c i f i ca p p l i c a t i o n f o l l o w i n gw o r ki sd o n e : 1 p r o p o s e sap r i m a r yh a r d w a r ep l a t f o r mo fs o p c ,p r o b l e m si nf u t u r ed e s i g n , a n dn e x taf l o wt os o l v et h e p r o b l e m , a l s or e , s e a r c h o fd y n a m i c r c c o n f i g u r a t i o n c l e a ro fw h a tc o n s i s ti nd y n a m i cr c c o n f i g u r a t i o na n dt h e s t e p st od e v e l o pad y n a m i cr e c o n f i g u r a t i o ns y s t e mf r o mt h ev e r yf r o n te n do f l l i g hl e v e ll a n g u a g ed e s c r i p t i o nt om a p p i n gt ot h ed e v i c e 2 c o n s i d e ro fh a r d w a r ed e s i g nf o ras p e c i f i ca p p l i c a t i o n , f i n a l l yd i s c r e t e w a v e l e tt r a n s f o r mi sc h o s e n ar e c o n f i g u r a b l eh a r d w a r ep l a t f o r mi sp r o p o s e d r e s u l t ss h o wi t sah i g he f f i c i e n ta n dh i i g hs p e e dd e s i g n 3 r o wm o d u l ed e s i g no ft h ed i s c r e t ew a v e l e tt r a n s f o r mp l a t f o r ma d o p t si d e ao f d y n a m i cr e c o n f i g u r a t i o n i tc a r ls a v eh a r d w a r e a r e aa tn os p e e dd e c r e a s e 第9 页 基于f p g a 的可霞配置片上系统 k e y w or d s :d y n a m i cr e c o n f i g u r a t i o n , p a r t i a lr v c o n f i g u r a t i o n , c o n f i g u r a b l e c o m p u t i n g ,d i s c r e t ew a v e l e tt r a n s f o r m ,l i f t i n ga l g o r i t h m 第l o 页 基二f - f p g a 的可嚏配置片卜系统 图表目录 图1 1 对称式f p g a 结构1 2 图1 2s o p c 包含的内容1 3 图1 3s o p c 的实现方式1 4 图1 4 动态可重配置可提高硬件利用率1 5 图2 1 处理器集成型的硬件结构1 8 图2 2s o p c 硬件平台的通用结构1 9 图2 3g a r p 系统的模块框图1 9 图2 4c h a m e l e o n 系统的模块框图2 0 图2 5 采用多个f p g ai p 核2 1 图2 6 配置情况下的芯片架构2 2 图2 7 用户电路映射到可编程逻辑器件2 3 图2 8 正常工作时的芯片架构2 4 图2 9 提出的初步s o p c 硬件平台2 5 图2 1 0 常规的设计流程2 7 图2 1 l 应用在软硬件平台上实现的设计流程2 7 图2 1 2 应用的要求和硬件设计之间的关系2 9 图2 1 3 嵌入式系统的选择依据2 9 图2 1 4 加入a c t i v eh d l 的e s l 工具3 1 图2 1 5t r i s c e n d 芯片的设计流程3 l 图2 1 6 提出的设计流程3 2 图3 1 静态可重构和动态可重构3 5 图3 2 静态可重构和动态可重构的实例3 6 图3 3 可重构技术与动态可重构技术3 7 图3 4 动态可重构技术的发展历程3 8 图3 5 动态可重构系统设计包含的问题3 9 图3 6 多套配置器件4 0 图3 7 部分可重配置器件4 0 图3 8 包含软硬件的动态可重构系统设计方法4 3 图3 9 混合任务的运行时管理4 4 第3 页 基于f p ( ;a 的可重配置片上系统 图4 1 母函数随伸缩参数a 的变化4 8 图4 2 母函数随平移参数b 的变化4 8 图4 3 小波变换的滤波器实现5 0 图4 4 小波变换的提升方式实现5 2 图4 5 一维小波变换提升方式的数据流图5 4 图4 65 3 小波的提升方式5 5 图4 79 7 小波的提升方式5 5 图4 8 流水线结构5 7 图4 9 折叠结构5 8 图4 1 0 在m u x 控制下折叠结构数据的输入5 8 图4 1 1f l i p p i n g 结构原理5 9 图5 1 可分离的二维小波变换6 0 图5 2 二维二级小波变换6 0 图5 3 基于块的方式6 1 图5 4 基于条的方式6 1 图5 5 直接映射结构6 2 图5 6 基于行变换的结构6 2 图5 7 提出的二维一级小波变换的硬件平台结构图6 3 图5 8 二维一级小波变换的硬件结构6 4 图5 9 对原始数据的扫描及变换结果的输出6 4 图5 1 0 列变换模块的硬件结构6 5 图5 1 l 行变换存储器中保存的数据6 7 图5 1 2m 为奇数时需要保存的数据6 7 图5 1 3m 为偶数时行变换需要保存的中间结果及输出6 8 图5 1 4 行变换模块采用的运算单元6 8 图5 1 5m 为8 时行变换模块中间组所需的运算单元6 9 图5 1 6m 为8 时行变换模块最后一组所需的运算单元6 9 图5 1 7m 为4 时行变换模块各组所需的运算单元7 0 图5 1 8 减少最后一组的运算单元7 0 图5 1 9 中间一般组所需的运算单元7 l 图5 2 0 左边界的硬件实现7 l 图5 2 1 中间第一组的硬件实现7 2 图5 2 2 中间一般组的硬件实现7 2 第4 页 基j ,:f p g a 的可霞配置片 :系统 图5 2 3 右边界第一步的硬件实现7 3 图5 2 4 边界第二步及下一个t i l e 左边界的硬件实现7 3 图5 2 5 行变换模块的硬件电路图7 4 图5 2 6 行变换模块的输入输出7 5 图5 2 7 尺度变换所需的乘法运算8 0 图5 2 8 乘法器d 的实现8 4 图5 2 9 计算数据宽度用数据相关图8 6 图5 3 0 列变换模块位数8 7 图5 3 l 行变换所需的乘法器8 8 图5 3 2 列变换仿真结果8 9 图5 3 3 剜变换仿真结果8 9 表格1 列变换的数据流图6 5 表格2 行变换模块的不同配置7 5 表格3 左边界完成的运算7 5 表格4 所需乘法系数及其c s d 表示8 2 表格7c d f 9 7 滤波器系数8 4 表格8 列变换的数据范围8 6 表格9 行变换数据范围8 7 表格1 0 小波变换硬件平台的比较结果8 9 第5 页 基j :f i g a 的口r 承配置片| :系统 1 1 研究背景 第1 章引言 专用集成电路a s i c ( 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 ) 分为两类:一类 是全定制电路,设计者按规定的功能及性能要求对电路的结构布局、布线进行专 门的最优化设计,以达到:签片的最佳利用;第二类是半定制集成电路,由厂家提 供一定规格的功能块,如门阵列、标准单元等,按用户要求利用专门设计的软件 进行必要的连接,设计出需要的专用集成电路。这两类a s i c 都是固定逻辑器件, 其电路是永久性的,它们完成一种或一组功能,一旦制造完成就无法改变。与 a s i c 对应的是可重配置器件,此类器件可以在芯片设计后通过对电路的编程确 定芯片实现的功能。可编程逻辑器件f p g a ( f p g a f i e l dp r o g r a m m a b l eg a t ea r r a y ) 是最常见的细颗粒度的可重配置硬件,也有针对应用设计的粗颗粒度的可重配置 器件。因为f p g a 的应用面广,所以本文的f p g a 指的是可重配置硬件。a s i c 与f p g a 二者不同的技术特征使得它们被应用于不同的市场a s i c 被使用于 大批量的专用产品,以尽可能均摊高额的设计与制造成本,获得良好的性价比; f p g a 虽单价昂贵,但由于其可编程的灵活性广受小批量应用的青睐。在最近的 几年中,原有的平衡逐渐被打破,f p g a 受到越来越多人的关注【1 】。因为随着半 导体制造工艺的进步,进行a s i c 芯片开发的费用迅速增长,面市时间要求越来 越紧迫,用户对产品设计的灵活性也提出越来越高的要求,导致a s i c 芯片的设 计越来越困难。另一方面,f p g a 可将高昂的设计成本分散到成千上万的产品上, 同时半导体制造技术的进步使得硅器件的单位面积制造成本迅速降低,使得 f p g a 的生产费用在逐渐减少,故f p g a 已经在逐渐取代一些a s i c 设计的市场。 f p g a 经典结构见图1 1 ,由可编程逻辑单元c l b ( c o n f i g u r a b l el o g i cb l o c k ) ( 图中l 所示) 、连接盒( 图中c 所示) 、开关盒( 图中s 所示) 以及连接它们 的金属线组成【2 】,图中四周是可编程输入输出引脚。可编程逻辑单元能够实现 一定的逻辑函数,连接盒将可编程逻辑单元的输入输出连接到金属线上,开关盒 在不同的金属线之间进行连接。当进入深亚微米工艺以后,随着阵列规模的不断 扩大,阵列结构也发生了很大的变化。过去的阵列结构大多采用“细粒度 结构, 即一个c l b 只包含一个基本逻辑单元,阵列中的所有c l b 通过布线资源连接在 一起。这样的阵列结构对实现小规模的电路系统是适用的,但“细粒度 结构实 现较大的设计时,一个不可避免的问题是对布线造成了巨大的压力,既影响了布 通率又增加了连线的延迟。因此,“粗粒度 的可编程逻辑器件结构也逐渐被学 第1 1 页 基十f l e a 的町重配置片上系统 术界和商业界所采用,例如,在可重配置计算应用领域粗颗粒度的结构很常见 【3 】。所谓“粗粒度”可编程逻辑器件结构,就是将若干个基本逻辑单元通过高 速互连连接在一起构成一个c l b ,再用外部互连将所有的c l b 构成一个完整的 阵列。 口口口口口口口口口口口口 粥 口口口口口口口口口口口口 图1 1 对称式f p g a 结构 在1 9 8 0 至1 9 9 0 年代,f p g a 器件规模为数万逻辑门,主要被系统设计人员 用作连接逻辑将电路板上的不同元器件连接到一起,或用来修正a s i c 不方便处 理的问题。2 0 世纪9 0 年代以后,f p g a 在生产工艺、器件的编程和测试方面都 有了飞速的发展,集成度也已经可以达到几十万门,甚至上百万门,工作速率也 可以高达几百兆赫兹。在系统编程技术、边界扫描技术的出现也加快了可编程逻 辑器件的应用。9 0 年代末期,百万门f p g a 产品的出现使在单块芯片中集成系 统级的功能成为可能,f p g a 已经跻身于最复杂的半导体器件之列。现在采用 6 5 r i m 技术的v i r t e x - 5 器件系统时钟频率超过5 5 0 删z ,具备最多达3 3 0 ,0 0 0 个 逻辑单元,1 2 0 0 个用户i o ,1 0 w 位的3 6 k 位块r a m ,3 2 m 位分布式r a m ,连同 丰富的硬化知识产权( i p ) 块。高性能s e l e c t i o t m 特性提供了到6 6 7m b p sd d r 2 s d r a m 和1 2 0 0m b p sq d ri is r a m 等外部存储器的最快连接 4 同样采用6 5 r i m 的a l t e r a 的s t r a t i xi i i 工艺内部时钟高达6 0 0 - l z ,d d r 3 存储器接口速率超过 1 0 6 7 m b p s ,此系列中的e p 3 s l 3 4 0 f 1 5 1 7 最大可提供将近3 3 8 ,0 0 0 个等效逻辑单元、 1 6 。2 7 2 kr a m 位、5 7 6 个1 8 x 1 8 硬件乘法器及1 2 个p l l 。适合高性能计算、新一 代基站、网络基础设施以及高级成像设备等多种应用 5 随着用户需求、协议 标准等的变化越来越快,并随着f p g a 在功能、密度、速度上的不断提升和成本 的降低,f p g a 芯片不再局限于用来制作原型机,而且还被大量地应用到网络、 消费电子、科研、航天及国防的许多最终产品中,成为一系列电子系统的核心 但是f p g a 灵活性的引入也是要付出代价的,冗余逻辑带来了面积增加、延 时增加、功耗增加等。估计f p g a 的面积效率是定制逻辑的1 1 0 或1 2 0 ,工作 频率是定制电路的1 3 或1 5 6 。因为原有f p g a 架构固有的弱点使其在面对 第1 2 页 口口口口口口口口口口口口 基rf p ;a 的口,厦陀置片卜系统 复杂功能设计的要求时还是会感到吃力,因此人们开始考虑将两者结合起来,即 在一个j 卷片中同时包含a s i c 及f p g a 设计,需要变化或不能确定的部分用f p g a 实现,确定好的部分用a s i c 实现,这样的单芯片可以兼顾a s i c 性能高和f p g a 灵活性的优点,这也是常说的可编程片上系统s o p c ( s y s t e mo np r o g r a m m a b l e c h i p ) 。可重构部分的灵活能力提供了将同一s o p c :卷片用到不同应用中去的机 会,尤其适用于不断变化和发展标准的产品开发中,例如通讯和网络芯片产品等。 一个典型的例子是:目前面向国内的移动通讯设备的生产制造由于有w c d m a 、 c d m a 2 0 0 0 及t d - - c d m a 三种通讯协议,通讯设备的生产厂商无法确定最终产 品将采用哪一种协议。如果采用s o p c 硬件进行设计,将通讯协议接口模块用 s o p c 中的f p g a i p 核实现,就可以在产品制成后再对f p g ai p 核进行编程,使 产品与最终决定的协议保持一致,大大地减小了厂商的产品开发风险。s o p c 是 现代电子系统设计的最新发展方向,被视作集成电路产业的未来。s o p c 技术是 个很广的概念,实际上涵盖了嵌入式系统设计技术的全部内容。从大的方面讲, 可以将s o p c 技术分成硬件平台、软件平台和硬件在软硬件平台上的实现,本文 这里考虑的是s o p c 的硬件平台,见图1 2 。下文中的s o p c 指的就是硬件平 台。 图1 2s o p c 包含的内容 s o p c 的实现有两种方式:a s i c 中嵌入可重配置逻辑或可重配置逻辑中嵌入 a s i c ,见图1 3 。a s i c 嵌入可重配置逻辑的方式多见于研究机构,一般针对特 定应用设计硬件平台,如b e r k c r l e y 的g a r p 7 ,s c o r e s ,t o r o n t o 的o n c c h i p 9 等。 而可重配置逻辑中嵌入a s l c 的方式多见于f p g a 厂商。近几年,全球领先的各 f p g a 厂商不断在产品中加入微处理器、存储器、混合信号电路等定制功能模块 供开发者使用。其中最典型的应该是微处理器与f p g a 产品的融合,如x i l i n x 公司嵌入硬核p o w e r p c 微处理器。x i l i n x 提供的v i r t c x 1 ip r o 产品中,除了一 款低容量器件外所有型号中都集成了p o w v r p c 。对于将可重配置逻辑( f p g ai p 核) 嵌入a s i c 中的方式实现的s o p c 芯片,其可编程逻辑与固定逻辑的比例更 接近实际需求,能够获得较好的速度与:卷片面积利用率;另外考虑到已有f p g a 核的设计,故确定采用该方式设计s o p c 。通常在这种形式的s o p c 芯片中通常 第1 3 页 基于f p 6 a 的町莺配置片上系统 会包含一个c p u ,则整个硬件的功能会很强大这方面的研究有a c t e l 的 v a r i c o r e 1 0 ,a t m e l 公司的f p s l i c i1 。a l t e r a 提供基本的f p g a 的单元,由用 户决定f p g a 的规模,将其嵌入到所设计的s o c 芯片中去。国内目前还没有这 方面的研究。 图1 3s o p c 的实现方式 如果在系统运行过程中可重配置部分能够被重复配置,在不同的时刻完成不 同的功能,则该系统称之为动态可重构系统 1 2 】。动态可重构引入了虚拟硬件的 概念,即在需要的时候才真正实现该硬件,它利用不同时刻对器件的复用,可以 提高对可重构硬件资源的利用率。如图1 4 中包含a 、b 、c 三个模块的应用, 用a s i c 方式实现需要在一个芯片上同时包含三个模块,而如果采用可重配置逻 辑硬件,利用动态可重配置的方法对可重配置逻辑复用,则可以用更少的面积实 现该应用。动态可重构是f p g a 及可重构技术的发展方向,代表了一种新的设计 思想,使得数字逻辑系统的设计从原来一味地追求芯片的逻辑规模转向注重对 逻辑资源的时分复用;从功能固定的数字系统转向具有自适应和自修复能力的 数字系统,可以应用在可重配置计算、高速数字滤波器、可进化硬件等方面。动 态可重构系统的设计涉及的范围很广,包括从软件到硬件,从应用最前端高级语 言的描述到后端具体布局布线的实现。动态可重配置技术在国际上研究的很热, 很多学校像b e r k e r l e y 、c m u 、t o r o n t o 等都在进行这方面的研究,不过这些研究 都集中在可重配置计算方面1 1 3 ,国内目前也还未见这方面研究的报导。动态可 重构技术在理论上已经有了很大发展,并且有很多原型系统已经被开发。但是由 于技术条件限制,目前仍然缺乏具有普适性的研发方法,真正使用在产品上的技 术也还有相当的不足。 第1 4 页 基rf l e a 的可疃配置片卜系统 i l m o d u l e a i i m 锄o r y i 回圜 ; i m 锄o r y 图1 4 动态可重配置可提高硬件利用率 综上所述,将a s i c 和f p g a 结合在一起的s o p c 硬件可以兼具灵活性和性 能高的优点,而应用动态可重配置可以更充分的利用可重配置逻辑,提高硬件资 源的利用率。所以将两者结合起来,设计支持动态可重配置的s o p c 平台是f p g a 设计组的发展方向之一,这也是本论文的出发点。 s o p c 设计与f p g a 设计不同之处在于:f p g a 的设计出发点立足于逻辑级, 其基本思想主要是如何设计冗余以达到灵活和性能的平衡。而s o p c 设计的重点 集中在系统级,而且需要同时考虑软硬件协同设计。s o p c 设计除了包含f p g a 所需的软件、c p u 包含的软件之外还要有应用实现相应的支持软件,尤其是对 动态可重配置做支持,这更是一个难点,因为动态可重构本身更强调应用在芯片 上的实现过程而不是j 醛片的硬件设计。这部分是一个非常浩大的工程,本文的第 一部分即是在这方面进行的研究。 动态可重配置的设计思想可以用于实现大规模的同时包含软硬件实现的应 用,也可以是小规模的纯硬件实现的应用。考虑到可行性,论文第二部分选取了 一个小规模的应用,针对这个特定的应用研究动态可重配置硬件平台的设计。动 态可重配置的引入也是要付出代价的,如加入重配置的管理器等,不是所有的应 用都适合用动态可重配置的方法实现,恰当的应用才能更好的体现出动态可重配 置的优点。应用首先定位在图像压缩领域,因为运用可重配置逻辑可以同时对多 个标准做支持,而且图像处理应用中某些操作占据了绝大多数时间,用硬件并行 或流水线的方式实现这些操作和用c p u 的串行进行相比可以实现加速。并且从 分析应用入手,针对应用设计特定的硬件,分析应用过程中对重配置的要求,以 及怎样进行动态重配置,从而对s o p c 硬件设计提供一定支持。考虑到已有基础, 最终选取二维离散小波变换的硬件设计。由于小波变换的计算量很大,在许多实 时应用场合,需要采用;醛片实现才能满足要求。提升算法【1 4 】是第二代小波变换 的构造方法,和传统的m a l l a t 算法相比具有计算量小、原位运算等优点,因此 j p e g 2 0 0 0 标准也推荐采用提升算法来实现离散小波变换 1 5 】。j p e g 2 0 0 0 标准推 荐采用的滤波器有两种,一种是5 3 滤波器,它适用于无损压缩的情况,另一种 第1 5 页 基于f p 6 a 的可重配置片上系统 是9 7 滤波器,它适用于有损压缩的情况。9 7 滤波器实现起来比5 3 滤波器复杂, 本文在深入研究小波变换理论的基础上,主要考虑9 7 滤波器的可重构硬件平台。 1 2 论文章节安排 本论文章节安排如下:第一章讲述了研究背景和课题的研究意义。第二章在 分析查阅现有资料、进行原理分析的基础上,提出了s o p c 硬件的初步平台;提 出了进行下一步工作面临的问题:流片前芯片的验证问题、软硬件协同设计的问 题、而且希望针对特定应用领域进行优化。如何将这些问题统一起来较细节的确 定更为重要:问题的解决有赖于一个好的设计流程,提出了设计支持动态可重配 置的s o p c 硬件平台的设计流程。第三章是对动态可重配置技术进行研究既总 结,提出了设计动态可重构系统从前端高级语言描述到最终映射到器件上的完整 步骤。第四、五章是在研究小波变换理论的基础上,以9 7 滤波器为例设计了一 个基于提升算法的二维一级离散小波变换高效动态可重构硬件平台。第六章是总 结和展望,列出了论文的创新点和小足之处。最后是参考文献和致谢等。 第1 6 页 基予f p 6 a 的可苇配置片卜系统 第2 章s o p c 硬件平台及设计流程 2 1 初步硬件平台的设计 s o p c 硬件的基本特征如下【1 6 】:嵌入式处理器为核心;具有小容量片内高 速r a m 资源;丰富的i p 核资源可供灵活选择;足够的片上可编程逻辑资源; 处理器调试接口和f p g a 编程接口共用或并存;可能包含部分可编程模拟电路; 单芯片、低功耗、微封装。 s o p c 的硬件实现按照可编程逻辑与定制逻辑的比例可以分为2 类:将a s i ci p 核嵌入f p g a 中:将f p g ai p 核嵌入a s i c 中。若采用将f p g ai p 核嵌入a s i c 中 的方式,则所构成的系统中可编程逻辑与固定逻辑的比例更接近实际需求,能够 获得较好的速度与芯片面积利用率。故本文采用将可编程逻辑嵌入到a s i c 中的 方式。 设计s o p c 硬件平台的主要问题为:c p u 、及若干i p 核的选取;f p g ai p 核的 规模、存储器的容量等的确定;如何实现c p u 与r a m 、f p g ai p 核的连接;多个 f p g a 核之间连接的研究:f p g ai p 核配置的管理以及对应的硬件电路;对动态可 重配置的支持;系统级物理设计;系统验证等。上述问题在设计之初就应该统筹 规划。 2 1 - 1 现有硬件平台 已有文献显示,自上世纪九十年代中期,就已经开始有s o p c 技术的研究, 现在国外已蓬勃发展,是各个研究机构及很多国际会议的热点。相关的研究有 b e r k e l e y 的g a r p 及s c o r e 7 、c m u 的p i p e r e n e h 17 、m i t 的r a w is 、t o r o n t o 的o n e c h i p 19 】,w a s h i n g t o i l 的t o t e m 2 0 ,t w e n t e 的c h a m e l e o n 21 等。虽然 有些硬件平台的可重配置逻辑是用多个商用f p g a 实现的,没有集成在单个芯片 上,故而不能叫做s o p c ,但其系统的架构也是可以参考的所以这里不加以区 分。按照可重配置逻辑在系统中所起的作用,已有s o p c 的硬件结构可分为不规 则型、流水线型、和处理器集成型 2 2 。不规则型是指可重配置逻辑按照电路的 需要放置在;卷片的小同地方,系统的部件之间没有统一、严格的组织形式,结构 比较随意,这种结构软件处理起来复杂:流水线型是系统的主要部件以流水线的 形式协同工作,流水线的其中若干级是可重构的部件,能根据需要改变结构进而 改变流水线的功能;处理器集成型是把可重构部分集成到微处理器中,以扩展微 第1 7 页 基于f p g a 的可熏配置片上系统 处理器的功能,这也是目前最常见的结构。 t o t e m 项目将可编程的逻辑分散的放置于j 卷片的各个地方,由于分散放置会 给软件带来相当大的困难,处理不好不仅不会发挥硬件可编程的优势,还有可能 由于面积、时延问题适得其反,而且分散放置情况下时序分析很麻烦。将可重配 置逻辑放置在一起而1 、= 是分散放置可以方便软件的处理,尤其是时序:而日由于 i p 嵌入的方式是以后发展的方向,所以本文倾向于将可编程逻辑作为一个整体 进行设计,这样也便于对其整体的面积和性能进行优化。本文选取处理器集成型 的结构。下面分析一下现有研究机构设计的s o p c 硬件平台。 对处理器集成型的硬件,按照处理器与可重配置逻辑问的耦合程度可以分为 四种 2 2 :可重配置部分作为c p u 的可变内部指令,典型系统如g a r p 系统;作 为协处理器,典型系统包括p i p e r e n c h 、c h a m e l e o n :作为附加的处理部件存在, 如r a w 系统;作为外部单独处理模块,如s p l a s h 系统,见图2 1 。 图2 i 处理器集成型的硬件结构 对于研究机构的硬件结构,图2 2 的体系结构可以基本概括和抽象目前已有 的硬件平台。微处理器通过总线与可重配置逻辑连接在一起:存储器一部分用来 保存可重配置逻辑部分实现的电路本身的数据,另外由于可重配置部分需要被重 复配置以完成不同的功能,存储器还需要保存不同功能之间的数据交换所用的数 据。我们知道可重配置逻辑需要先进行配置,配置结束确定了实现的功能,才能 正常运行,而此图没有加入配置对应的硬件,硬件平台的提出还需看具体的器件 设计。 第1 8 页 墓ff p g a 的n n 宦配置片卜系统 图一 图2 2s o p c 硬件平台的通用结构 g a r p 是由u cb e r k e l e y 的b r a s s 研究小组启动的研究计划,见图2 3 。其目 标是将可重配置逻辑与普通r i s c 处理器集成到一块j 醛片上。g a r p 采用了m i p s 作为其主处理器的原型,通过扩展指令集获得对可重配置硬件的管理。其可重构 部分采用x i l i n x4 0 0 0 系列构成阵列。至于阵列包括多少行,则由具体的应用决 定。可重构阵列的配置和执行由主处理器完成。在g a r p 系统中,所有的配置数 据都存入主存,并采取了很多措施来减少配置带来的延迟,包括支持部分可重构 和配置重定位,以及采用配置存储器等。g a r p 系统同时还包括了支持c 语言的 编译器。该编译器能够在预处理阶段分析用户程序,自动提取其中适合可重构阵 列执行的部分。被提取出来的部分可以被离线综合为配置文件,其余部分依然在 m i p s 上执行。 图2 3o , t u q p 系统的模块框图 c h a m e l e o n 可重构通信处理器( r e c o n f i g u r a b l ec o m m u n i c a t i o n sp r o c e s s o r , r c p ) 鼬c h a m e l e o ns y s t e m s 公司设计的工业界第一款可重构处理器,见图2 4 。 第1 9 贞 基于f p g a 的可重配置片卜系统 r c p 内部包含一个3 2 位嵌入式处理器,3 2 位粗粒度可重构单元,高速系统总线 和可编程的输入输出系统。不同的功能模块采用1 2 8 位的r o a d r u n n e r 总线连接。 r c p 内的嵌入式处理器采用3 2 位的a r c 处理器,可以工作在1 2 5 m 主频。可重 构单元设计了多套逻辑,用户程序可以通过运算结果直接选择硬件配置。此外, 为了加速配置过程,r c p 的配置子系统还引入了多现场的配置方式。c h a m e l e o n 系统提供了基于g n uc 的集成开发环境,能够提供基本的设计、调试和验证功 能。另外值得一提的是c h a m e l e o n 系统中提供了软件工具自动生成e b i o s ( e c o n f i g u r a b l eb a s i ci os e r v i c e s ) ,e b i o s 能够提供资源分配,配置管理和d m a 服务,使得用户不用过多的考虑配置过程的细节。 图2 4c h a m e l e o n 系统的模块框图 通过上述两个结构的分析可以看到,s o p c 硬件平台的设计不仅仅是硬件的设 计,还需要软件的参与,硬件平台的设计是系统级的设计。在硬件设计时应该同 时考虑与软件的结合,以及怎样方便应用在软硬件平台上的实现。下文中首先从 原理上分析如何进行正向设计s o p c 硬件架构,提出了s o p c 的硬件结构,并指出 了硬件架构设计之初应该考虑的问题及对应的解决方案。 2 1 2 硬件平台正向设计 由设计s o c :签片的经验看来,大部分中等规模系统级芯片( s o c ) 的方框图看 起来几乎是相同的。它们都包括c p u 、一个带有高速缓存器的本地总线、一个d r a m 控制器、一个加速器、一个桥接器和一个带有许多i 0 控制器( 从简单的可编程 管脚到相当复杂的模块) 的外设总线。s o p c 硬件平台和s o c 硬件平台的不同之处 在于s o p c 硬件平台中加入了可重配置逻辑。对于处理器集成型的s o p c 的硬件平 台,硬件设计的重点在于对f p g ai p 核的特殊处理。下面从原理上进行分析。 首先,一般片上系统都包含一个处理器,并且有相应的片上总线以实现与其 他模块的互连,如和a r m 核对应有a m b a 总线,和p o w e r p c 对应有c o r e c o n n e c t 第2 0 页 基。i :f p g a 的- 日r 霞配

温馨提示

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

评论

0/150

提交评论