(微电子学与固体电子学专业论文)018μm+fpga系统结构设计与实现.pdf_第1页
(微电子学与固体电子学专业论文)018μm+fpga系统结构设计与实现.pdf_第2页
(微电子学与固体电子学专业论文)018μm+fpga系统结构设计与实现.pdf_第3页
(微电子学与固体电子学专业论文)018μm+fpga系统结构设计与实现.pdf_第4页
(微电子学与固体电子学专业论文)018μm+fpga系统结构设计与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(微电子学与固体电子学专业论文)018μm+fpga系统结构设计与实现.pdf.pdf 免费下载

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

文档简介

e n g i n e e r i n g ) c o s t ,d e s i g nr i s k , s y s t e m s oi t sw i d e l yu s e di n d o m i n a t e db ys e v e r a lf o r e i g n c o m p a n i e sa n dn of p g ap r o d u c ti nc h i n ah a sb e e nd e v e l o p e d t h i st h e s i sw o r k so nt h ed e s i g no f2 0 0 k - s y s t e m g a t ec o m m e r c i a lf p g ac o r e i t f o c u s e so nt w op a r t so fr e s e a r c h :d e s i g na n do p t i m i z a t i o no fan o v e lf p g a c o n f i g u r a b l e - l o g i c c e l la r c h i t e c t u r e ;s y s t e ma n da r c h i t e c t u r ed e s i g no ff p g a t h e w o r ko nf p g aa r c h i t e c t u r ei n t r o d u c e san e wf p g a f d t 2 0 0 k n e ws t r u c t u r e so f c o n f i g u r a b l el o g i cc e l l ( l c ) b a s e do nt w o3 - l u ta n dh i e r a r c h i c a ll c s ( c l u s t e r ) a r ep r o p o s e dt oi n c r e a s et h ea r e ae f f i c i e n c yo fc o n f i g u r a b l el o g i cc e l l t h ec i r c u i to f l e v e ls h i f e ra v o i d st h es t a t i cl e a k a g ec u r r e n ti n d u c e db ys i n g l en m o ss w i t c h e si n c o n n e c t i o nb o x t h ew o r ko nf p g a s y s t e ma n da r c h i t e c t u r ei m p r o v e sc l o c kn e t w o r k s , l o wp o w e rd e s i g na n dt e s t a b i l i t y f o u rg l o b a ll o ws k e wc l o c kn e t w o r k sc a nb e i m p o r t e di nf d t 2 0 0 k l e a k a g ec u r r e n td u r i n gt h et i m eb e t w e e nt h ec h i pi se l e c t r i f i e d b u tn o tp r o g r a m m e di sd e c r e a s e dm o s t l y , g a t e dc l o c ka n di n p u tp u l l - d o w na r eu s e dt o e l i m i n a t es w i n gp o w e ro fu n u s e dl c t e s t i n gc o m p l i c a t i o ni sr e d u c e da n dt e s t i n gc o s t i ss a v e db e c a u s ed e s i g n f o r - t e s ti si n t r o d u c e d a2 0 0 k - s y s t e m - g a t ef d ta r c h i t e c t u r ei s d e s i g n e dw i t h s m i c0 i8 u r n 6 - m e t a l l a y e rc m o sd i g i t a lp r o c e s s l a y o u td e s i g no ff d t 2 0 0 k e x a m i n a t i o nc h i pi s c o m p l e t e dw i t ho n es i x t ho fl c s ,p r o g r a m m i n ga n dt e s t i n gi n t e r f a c e t h ec h i p i n c l u d e s4 16c l u s t e r s ,6 4p r o g r a m m a b l ei oc e l l sa n do n e4 kb i t ss r a m b l o c k k e y w o r d s :f p g ac l b l u t 眦45洲7川ii mmi 舢8 iiii1y l l 2 2 第2 章技术背景3 2 1f p g a 结构研究3 2 2可编程逻辑单元结构6 2 2 1基于查询表( l u t ) 的可编程逻辑单元6 2 2 2 基于与阵列的逻辑块7 2 2 3基于多路选择器( m u x ) 的逻辑单元7 第3 章可编程逻辑资源结构与功能9 3 1f d t 2 0 0 k 可编程逻辑资源结构9 3 1 1基于查询表结构可编程逻辑单元的分析9 3 1 2f d t 2 0 0 k 可编程逻辑单元结构1 1 3 1 2 1f d t 2 0 0 k 可编程逻辑单元簇( c l u s t e r ) 结构l l 3 1 2 2c l u s t e r 内部基本单元s l i c e 和l c 结构介绍1 3 3 1 3f d t 2 0 0 k 可编程逻辑单元( l c ) 功能介绍1 5 输入逻 1 5 1 7 2 0 3 1 3 4 竖直l c 构成的快速数据锁存功能和扫描链功能2 2 3 2f d t 2 0 0 k 可编程输入输出块( 1 0 b ) 结构2 2 3 3本章小结2 3 第4 章单元电路设计和仿真2 4 电平位移电路( l e v e ls h i f t e r ) 一2 4 4 23 输入查询表电路( 3 l u t ) 2 9 4 - 3可编程时序逻辑单元设计3l 4 3 1 带有使能的、可异步复置位的可编程时序逻辑3 1 4 3 2 s c u 单元内复置位信号产生电路3 2 4 3 3s c u 单元内时钟信号产生电路3 2 4 4 可编程逻辑单元( l c ) 整体性能仿真3 3 4 55 管s r a m 编程点设计一3 5 4 6 本章小结3 6 第5 章f d t 2 0 0 k 系统级设计- 3 8 5 1系统时钟网络设计3 8 7 1工作总结5 0 7 2 今后工作展望5 l 附图f d t 2 0 0 k 试验芯片可编程核版图5 2 参考文献5 3 致谢 v i r t e x x i l i 0 1 系列、a l t e r a 公司的a p e x a l t e 0 0 系列、a c t e l 公司的p r o a s i c 【a c t e 0 0 等。 f p g a 能够很好的利用最为前沿的制造工艺和封装工艺,并通过全定制的 电路和版图设计方法优化设计,因此f p g a 的逻辑密度、性能、功能和功耗都 已经得到大幅改进,成本显著下降。目前,芯片的集成度已达到1 0 0 0 万等效门、 速度可达到4 0 0 5 0 0 m h z 【x i l i 0 4 a l t e 0 4 ,内嵌s r a m 、微理器、总线收发器、 高速串行接口、时钟综合及功耗管理等模块。在制造上采用了o 0 9i tm9 层铜 连线工艺 d a a n 0 4 】,并且应用新的封装技术提供了数千管脚的f p g a 芯片。 随着f p g a 在功能、密度、速度上的不断提升和成本的降低,以及用户需 求、协议标准等的变化越来越快,f p g a 芯片不但被用来制作原型机,而且还 被大量地应用到网络、消费电子、科研、航天及国防的许多最终产品中,成为 一系列电子系统的核心。2 0 0 3 年,全世界以f p g a 为代表的可编程逻辑器件销 售额达2 6 亿美元 y o u n 0 4 ,据d a t a q u e s t 预测,以f p g a 为代表的可编程逻辑 器件是半导体工业增长最快的市场领域,其年复合增长率( c a g r ) 高达1 9 5 d a a n 0 4 】。 1 2 工作内容 本论文所做的工作是:设计一个完整可应用的f p g a 内的各种逻辑单元, 完成从电路到最终版图的实现并流片。工作内容主要包括下面的内容: 第一,设计并进行试验性流片以验证自主设计的f p g a 新结构:f d t 2 0 0 k 。 第1 章引言 基于面积、速度设计了新的可编程逻辑单元结构,对输入输出单元的设计和优 化,内部整体时钟网络的设计和优化,整个f p g a 的低功耗设计,可测性设计, 版图设计。进行流片的芯片采用0 1 8 u r n6 层金属c m o s 工艺,包含7 0 万晶体 管。内部包括2 5 6 个可编程逻辑单元,6 4 个双向可编程输入输出单元,一个4 k 单口s e a m ,4 个全局时钟网络。 第二,为软件提供较精确的各逻辑单元延时、功耗和互连线延时的前仿真 数据和版图后仿真数据,以满足软件时序综合、优化以及功耗分析的要求。 1 3 论文结构 本文的结构如下:在第2 章中对f p g a 的技术背景进行简介,包括f p g a 器件的结构、类型,f p g a 结构研究的主要方向及其现状。第3 章介绍了f p g a 内部主要各种逻辑单元结构设计和功能。第4 章介绍各种单元模块电路设计和 仿真结果,包括电平位移电路( l s ) 、可编程逻辑单元( l c ) 、可编程输入输出 单元( i o b ) 、5 管编程点( s 砒蝴) 。在第5 章中,描述了f p g a 核整体结构的 设计,包括时钟网络设计、编程下载接口、芯片低功耗设计和可测性设计。第 6 章介绍了f d t 2 0 0 k 版图设计。第7 章总结了整个论文工作,提出了未来进一 步工作的方向。 2 芯片可编程结构一般包括三个方面:一、可编程控制点;二、可编程的逻 辑、时序单元:三、可编程互连。 可编程控制点的结构是设计可编程芯片的考虑要点之一,可编程芯片的应用 领域很大程度上由它来决定。目前可编程控制点主要采用以下几种结构: s r a m 、e e p r o m 、f l a s h 以及反熔丝。f p g a 中是目前最流行的是s r a m 控 制点,因为其工艺和芯片内其他单元相同而获得最大的集成度,但要求芯片外 接必要的r o m 来为其进行上电编程,由此为使用带来某些不便:e e p r o m 和 f l a s h 由于将s r a m 外接的r o m 集成到芯片内而方便了应用,但是其集成 度不如s r a m 结构,成本较高,制造工艺也更为复杂:反熔丝编程点从g a l 等可编程器件一出现就被采用了,其只能一次写入和低集成度限制了应用,但 由于在抗辐射方面远远优于其他结构而使得在航天等特殊领域占有绝对优势。 可编程逻辑单元( c l b ) 是可编程芯片内部实现各种功能的核心。主流的 可编程逻辑单元分为基于与或阵列结构、基于l u t ( 查询表) 结构和基于m u x 结构。三种结构都是对一个多输入逻辑函数的不同表述,与或阵列结构应用于 c p l d 产品中,l u t 结构在商用f p g a 中最常见,m u x 结构主要在一些研究 领域出现。多数的商用f p g a 都采用l u t 结构,只是内部l u t 连接不同。因 为l u t 可以完成所有对应输入的任意函数并且输出延时固定,为此带来很多好 处,如:映射简单、可配置成s r a m 、可软件精确模拟延迟等。很多研究表明, 4 输入l u t 能够在设计灵活性和c l b 利用率中得到较好的平衡 r o s e 9 3 。 在一个c l b 内l u t 的个数和连接方式是研究最多也是变化最快的,在 第2 章技术背景 x i l i n x 的各个系列中,每个系列其都有变化,但是4 输入l u t 的结构不变。 x c 4 0 0 0 由两个四输入l u t 加一个五输入l u t 组成一个c l b ,s p a r t a n 和v i r t e x 系列则将c l b 内4 输入l u t 的数目增加到4 个以上,这样在减小了互连面积 的同时提高了工作速度。最新的v i r t e x 4 工作频率达到了5 0 0 m h z ,依靠的就是 更加紧密的l u t 连接。 可编程互连是可编程芯片内占用面积最大的部分。互连灵活性和互连面积 是一对矛盾,各种互连结构都是在平衡二者关系。现在主要有平面化互连和层 次化互连。平面化互连将整个芯片内所有c l b 作为同一层次来看待,采用同一 种互连方式;而层次化互连将局部几个c l b 打包成一个子单元,各个子单元间 采用一种互连结构而子单元内部采用另外的互连结构。层次化互连是目前最流 行的互连结构。 口口口口口口口口口口口口 le 三jce 刍le 刍ce 刍l c 目s 目c 目s 目c s 目ce 爿le 刍ce 刍s ce 刍se 刍ce 刍se 爿c le 三| ce 三刍le 目ce 三| l 口口口口口口口口口口口口 图2 。1 对称式f p g a 结构 图2 1 所示是“经典的”对称式f p g a 结构 x i l i 9 5 】,该结构最早由是j r o s e 等人 b r o w 9 2 提出,由可编程逻辑单元( 图中l 所示) 、连接盒( c o n n e c t i o nb o x , 图中c 所示) 、开关盒( s w i t c hb o x ,图中s 所示) 以及连接它们的金属线组成。 可编程逻辑单元能够实现一定的组合逻辑函数和时序逻辑,连接盒将可编程逻 辑单元的输入输出连接到连线金属上,开关盒使得不同的连线之间进行信号的 连接。这是一种平面化的结构,其中所有可编程功能模块都在同一个层次上进 行组织。这种结构得到了最多的关注,多数f p g a 结构的研究在这样的结构框 4 口口口口口口口口口口口口口口口口口口口口口口口口 第2 章技术背景 架下进行。它灵活性好,在不同应用领域中都能得到比较好的面积利用率而且 与这种结构的f p g a 结构相配合的f p g ac a d 软件也较为简单,但是速度性能 相对较差 a g g a 9 4 】 b r o w 9 2 】【c h a n 9 6 w i l t 9 7 】 b e t z 9 8 b e t z9 9 1 。 魏缓彩礴飘溯锈群罄簿鬻彰臻罄翰辨笋俐礴臻甥绨警燃# 维嬲搿嬲黪喾辫掳瑷簿静绣绷糍l 黝彩繁黝缝糍彩劳$ 自掰 口口口口口口口口口口口口 攀 口口口口口口口口口口口口 口口口口口口口口口口口口 口口口。口口口口口口口口口 l v 0 瓦连线l v 0 瓦连线l v 0 互连线 口口口口口口口口口口口口 口口口口口口口口口口口口 口口口口口口口口口口口口 口口口口口口口口 口。l v 0 互连线 l v0 互连线 l v 0 互连线 l v1 互二t 线 馨; l v 2 互连线; 口口口口 么 口口口口口口口口 囊 口口口口口口口口口口口口 隆 口口口口口口口口口口口口 口。口默 口i v 互连线 口l 用旦口 图2 2 层次式f p g a 结构 层次式的f p g a 结构如图2 2 中所示,是通过分层的方法组织可编程功能 模块。每一个层次的可编程逻辑单元都由低一层次上的若干可编程逻辑单元和 可编程连线构成,整个器件由最顶层的可编程逻辑单元、可编程连线和可编程 i o 组成。这种结构面积小、速度性能较好,在f p g a 的规模很大时也能够方便 c a d 软件对可编程功能模块进行处理,但所需的软件算法也较为复杂。 单元电路设计:在主流f p g a 中,不单单有可编程逻辑单元,往往还有很 多连接到互连资源上的专用模块甚至是i p 核。常见的模块有:各种总线、内 部振荡器、p l l 、d l l 、双向i o 、延时控制单元、s r a m 单元,最新的f p g a 产品内还有d s p 、处理器等i p 核。 第2 章技术背景 2 2 可编程逻辑单元结构 可编程逻辑单元( p r o g r a m m a b l el o g i cc e l l ,简称为l c ) 是f p g a 的核心 功能单元。f p g a 主要由阵列式的可编程逻辑单元组成,通过对可编程逻辑单 元的不同配置和连接,编程成为不同的电路来实现设计者所需的功能。在研究 和商业领域提出了众多不同的可编程逻辑单元结构,根据其中组合逻辑功能的 实现方法,典型的结构主要可分为三大类:基于查询表l u t ( l o o k u p t a b l e ) 的结构、基于与或阵列的结构 b r o w 9 6 和基于基本门( 主要是基于多路选择器 m u x ) 的结构 a c t e 9 7 】。本课题对l c 的研究主要从功能、速度、面积等方面 出发,同时也会考虑到对功耗的优化。 2 2 1 基于查询表( l u t ) 的可编程逻辑单元 f 4 l u t 图2 - 3 ( a ) l u t 逻辑结构图【x i l i 9 5 】图2 - 3 ( b ) f = f ( p , q ,r ,s ) 基于l u t 的可编程逻辑单元结构的基本原理就是将所要实现的函数真值表 储存于r a m 中,根据输入选择相对应的函数输出。也可以将其看成一个存储 器,其中内容在器件编程时存入,l u t 的输入相当于存储器的地址输入,从存 储器中读出的值即为函数输出。一个n 输入的l u t ,包含2 n 个r a m 单元,能 够实现2 2 “种函数。图2 3 所示就是输入数n = 4 时的一个l u t 例子。图2 3 ( a ) 中的l u t 结构只画出了1 4 。从图中可以看出,随着输入端的增加,l u t 的规 模将按2 “的规律变化,规模会急剧增加,这是l u t 结构的主要缺点。但是, 采用l u t 作为基本函数发生器的结构,对于工艺映射只要考虑满足输入端数目 的要求即可,非常有利于算法实现。x i l i n x 公司的f p g a 产品中,采用基于l u t 单元的产品典型的有x c 4 0 0 0 系列等,目前较新的有s p a r t a n 和v i r t e x 系列。对 于a l t e r a 公司,相应的有f l e x 8 0 0 0 1 0 k 系列,较新的有a p e x 系列。v i r t e x 系y i j x i l i 0 1 中,每个逻辑单元l c 内包含了一个四输入的l u t ( 4 l u t ) ,4 6 第2 章技术背景 个l c 组成一个逻辑条( s l i c e ) 。而在a p e x 系列【a l t e 0 0 】中,每个逻辑单元l e ( l o g i ce l e m e n t ) 包含了两个3 - l u t ,1 0 个l e 构成一个逻辑阵列块l a b ( l o g i c a r r a yb l o c k ) 。一般说来,基于l u t 的逻辑单元是一种中等粒度的结构。 2 2 2 基于与阵列的逻辑块 基于与阵列的可编程逻辑单 元用在c p l d ( 复杂可编程逻辑 器件,c o m p l e xp r o g r a m m a b l e l o g i cd e v i c e ) 中。这种结构是在 p l d 中逻辑块的基础上发展而 来的,由与逻辑平面、乘积项选 择器及时序模块等部件组成。其 基本原理是:所有的组合逻辑功 能都能采用2 级与或表达式表 达。在逻辑单元中( 图2 - 4 所示) 用与逻辑平面( a n da r r a yp l a n ) 固定实现所需要的与项,再通过 a n da r r a y p l a n e 图2 - 4 与阵列逻辑块的f p g a 结构 对乘积项选择器的编程将实现逻辑所需要的与项选择送到或门中,最终实现所 需逻辑功能。由于该逻辑块的粒度较大( 即逻辑单元实现的逻辑较复杂,所占 面积也较大) ,这种结构有利于实现较多输入的函数,在应用上适合于状态机、 译码电路等控制逻辑。c p l d 产品主要有a l t e r a 的m a x 系歹l j a l t e 0 0 和x i l i n x 公司的x c 7 0 0 0 9 5 0 0 等系y i j x i l i 0 0 。 2 2 3基于多路选择器( m u x ) 的逻辑单元 基于m u x ( 多路选择器) 的可编程逻辑单元的粒度较小、功能较弱且不够 灵活,但硬件面积较小,而且电路速度快。如a c t e l 公司的一些f p g a 产品中 ( a c t - l a c t - 2 4 0 m x 4 2 m x 等) 就主要采用了基于m u x 的逻辑单元,其编 程方式采用反熔丝( a n t i f u s e ) 的一次编程技术 a c t e 0 0 】。图2 5 中所示的就是 该公司的4 0 m xf p g a 中的可编程逻辑单元结构。它通过将输入信号连接到8 个输入端时的不同连接方法来实现不同的逻辑功能。这种结构能够实现四种基 本的逻辑函数( n a n d ,a n d ,o r 及n o r ) ,其中包括任意二输入的函数, 大部分三输入函数和部分四八输入函数,总共可实现7 0 2 种逻辑函数。在 图2 - 54 0 m x 中基于m u x 的逻辑单元结构 设计一个在功能、面积、速度上取得优化、平衡的可编程逻辑单元结构对 于f p g a 的逻辑功能、电路性能、硬件利用效率等具有重要的作用。目前,国 内还没有拥有自主知识产权的f p g a 产品,我们所设计的f d t 2 0 0 k 是基于l u t 结构的可编程逻辑单元和层次式互连结构的f p g a ,在可编程逻辑资源、可编 程互连资源面积利用率和速度方面进行深入的研究。 第3 章可编程逻辑资源结构与功能 第3 章可编程逻辑资源结构与功能 在f p g a 中包括有各种可编程资源,分为可编程逻辑资源、可编程连线资 源和可编程i o 单元。在编程实现电路时,可编程逻辑资源是f p g a 阵列结构 的基本构成单元,用于将电路设计中的组合和时序逻辑功能分块实现;可编程 连线资源将阵列式的可编程逻辑资源连接组成一个整体,完成可编程逻辑单元 间的信号连接功能;可编程l o 单元实现内部逻辑单元和芯片输入输出管脚的 连接。这些可编程资源是f p g a 芯片的核心,可编程资源的设计与优化关系到 整个f p g a 的功能与性能。本章节介绍的就是f d t 2 0 0 k 实验芯片在可编程逻 辑资源方面的结构创新和性能优化。 3 1f d t 2 0 0 k 可编程逻辑资源结构 3 1 1 基于查询表结构可编程逻辑单元的分析 现今最流行的采用基于查询表的可编程逻辑结构f p g a 的较新产品包括: x i l i n x 公司的s p a r t a n 系列和v i r t e x 系列,a l t e r a 公司的f l e x l o k 系列和s t r a t i x 系列。基于查询表的可编程逻辑结构具有以下特点。面积方面:属于中等颗粒, 由于l u t 结构规整,全定制设计的面积可大幅优化;f p g a 中互连资源面积往 往占到整个芯片面积3 4 强,而l u t 结构输入端口数目少并结合层次化布线资 源,因此对互连资源需求相对较少,所以芯片面积利用率较高;其工艺映射只 要考虑满足输入输出端的要求即可,非常有利于算法实现。速度方面:由于l u t 延时固定,内嵌时序逻辑单元( 触发器或锁存器) 也是固定延迟,所以不会产 生太差的延时路径,但同时也不容易优化关键路径,因此速度中等,不过由于 可以方便地估算延时,有利于软件时序综合和优化;功耗方面:u j t 结构适于 层次化阵列分块设计,这样对于内部的逻辑单元阵列块可以利用分块电源管理 实现低功耗设计,因此功耗较低。 f d t 2 0 0 k 可编程逻辑单元( l c ) 基于l u t 查询表结构,为此我们专门研 究了多种已经产品化的基于l u t 结构的可编程逻辑单元。下面列出了两种常用 的基于l u t 结构的商用f p g a 可编程逻辑单元结构图( a l t e r a 公司的f l e x l 0 k 系y 1 a l t e 0 3 和x i l i n x 公司的s p a r t a n i i s p a r 0 4 系列。 汹勘蘑e 身蜮粥躲曲避 图3 1 a l t e r af l e x l 0 k 可编程逻辑单元结构 州7h 粼h 。 时h 嚣瓣 憾 甲组 铂 婵 西, 甜 搬 翔 融 瑚翱 f l 町h 黜h e喇搿h f i g u r e4 72 - s i i c ov l r 自0 xc l b 图3 - 2x i l i n xs p a r t a n i i 可编程逻辑单元结构 分析上面两种成熟的可编程逻辑单元结构和总结众多研究成果 r o s e 9 3 ,可 知一个较优的可编程逻辑单元包括:一个4 输入查询表来完成组合逻辑,一个 与4 输入l u t 相结合的进位逻辑以得到在算术逻辑方面的优化,一个可以和 l u t 输出结合的时序逻辑单元。 l o 第3 章可编程逻辑资源结构与功能 3 1 2 f d t 2 0 0 k 可编程逻辑单元结构 f d t 2 0 0 k 可编程资源采用层次化结构。层次式连线结构结合了对称式连线 和长线连线的特点。采用层次式连线结构的f p g a 主要有x i l i n x 公司的v i r t e x 、 s p a r t a n l i i i i 系列和a l t e r a 公司的f l e x 、a p e x 系列。在层次式f p g a 结构的介 绍中可以看到其中层次式连线的一些特点。在第2 章层次式f p g a 中,模块内 部的连接用低层次的连线完成,由于低层次的连线较短,寄生电阻电容较小所 以能够实现小跨度的快速连线;跨模块的连接用高一层的跨度较大的连线完成, 可以减小连线经过的可编程开关数目,提高速度。这用针对不同类型的线网能 够采用不同层次的连线进行优化实现,使层次式的连线结构有良好的速度性能, 同时其时延也具有一定的可预测性。所以层次式连线结构的f p g a 芯片速度普 遍高于采用对称式结构的f p g a m a r q 0 0 】。 3 1 - 2 1f d t 2 0 0 k 可编程逻辑单元簇( c l u s t e r ) 结构 图3 3 是f d t 2 0 0 k 中可编程逻辑单元簇( c l u s t e r ) 和连接盒之间的连 接关系,由于开关盒( s b ) 不直接和c l u s t e r 相连接,不属于本文章讨论范 畴,所以在此忽略。整个芯片就是由图 3 3 】的单 元以及开关盒阵列构成。可编程逻辑单元簇由4 个可编程逻辑单元构成,输入选择模块从连接盒、 c l u s t e r 输出以及电源和地三组不同类型的输 入信号中为c l u s t e r 选择合适的输入,从而可 实现将连接盒从互连资源送来的信号送给 c l u s t e r ;( 室) c l u s t e r 输出信号的快速反馈, 图3 - 3c l u s t e r 和连接盒 对于特定的时序逻辑设计可提供更快的专用信号传输路径并且减少对布线资源 的压力;为c l u s t e r 提供直接的高、低电位输入,结合c l u s t e r 内部电 路使得c l u s t e r 产生更多的功能,而且当c l u s t e r 内部电路闲置时,可以 提供固定电平,以降低功耗。 图3 4f d t 2 0 0 kc l u s t e r 内部结构 如图3 - 4 是一个可编程逻辑单元簇内部结构,它由上下两个完全相同的可 编程逻辑片( s l i c e ) 以及一个时序控制部件s c u ( s e q u e n t i a lc o n t r o lu n i t ) 构成。一个s l i c e 包含上下两个l c 以及两者间的关联部件,可以完成两个独 立4 输入组合逻辑或者一个5 输入组合逻辑。c l u s t e r 内部的4 个时序单元 作为完全独立对称的单元分布在4 个l c 中,其可以统一配置成带有异步复位 或置位以及使能的d 触发器( d f f ) 或者电平锁存器( l a t c h ) 。c l u s t e r 的s c u 处理从互连、专用时钟网络、全局复位网络送来的时序控制信号,从而 为4 个l c 产生统一的时钟、使能、复置位以及功能选择信号。 f d t 2 0 0 k - c l u s t e r 结构有以下两方面优点。 速度方面:由于c l u s t e r 内4 个l c 紧紧相连,版图紧凑。而对称式结构 中的4 个相邻l c 之间有连接盒和开关盒相隔,其版图连线长度要远远大于 1 2 第3 章可编程逻辑资源结构与功能 c l u s t e r 结构。在深亚微米工艺下,连线电阻、电容大大增加,尤其是长连 线电容已经大于管子栅电容,长连线延迟大于器件延迟,连线长度已经成为电 路性能分析不可忽略的问题。根据o 1 8 u r n 工艺参数计算可得:一个标准反向 器的栅电容大约4f f ,而5 0 u m 长度的连线电容保守估计( 平行板间距大于1 u m ) 都大于5f f 。由版图经验估算,0 1 8 u r n 工艺下对称式结构l c 间间距在1 0 0 u m 以上,而c l u s t e r 结构内部连线问距在5 0 u m 以内。因此c l u s t e r 结构和 对称式结构相比,c l u s t e r 内部l c 间的专用快速信号传输路径延迟要小的 多。 面积方面:对于c l u s t e r 内部l c 组合逻辑功能来说,其和平面化对称式 结构的l c 没有太大的不同,二者在面积方面基本相当;而c l u s t e r 内4 个 时序逻辑单元只采用一个s c u 来控制,相比于对称式结构l c 每个都需要一个 s c u 来说,面积要小的多( 一个功能强大的s c u 版图面积相当于1 4 1 3 的 l c 面积) 。虽然4 个时序逻辑单元只采用一个s c u ,即使用共同的时钟、复位、 d f f l a t c h 选择信号,表明c l u s t e r 内部只能设计成同步电路工作模式, 但这并不会对c l u s t e r 的利用率造成大的影响。因为,对于现在的时序电路 设计来说,基本上都采用同步电路设计方法:而对于异步电路设计来说,以一 个c l u s t e r ( 4 个触发器) 作为一个同步电路单元,粒度已经足够小。例如: 以异步电路设计中的2 n 分频器为例,如果全部采用异步电路设计,需要n 个级 联触发器;若用f d t 2 0 0 kc l u s t e r 结构实现,则先用c l u s t e r 实现同步1 6 分频模块,然后c l u s t e r 间可采用异步工作模式,需要【豢+ 一个c l u s t e r , 所以无论多少分频,其比对称式独立l c 结构最多多用一个c l u s t e r 。和上面 提到的f p g a 内部每个c l u s t e r 可节省3 个s c u 来比较已经显得微不足道。 因此,c l u s t e r 结构在面积方面优势非常明显。 3 1 2 2c l u s t e r 内部基本单元s l i c e 和l c 结构介绍 f d t 2 0 0 kc l u s t e r 内部的l c 基于l u t 查询表结构。如图3 5 是f d t 2 0 0 k 的一个s l i c e 结构( 内部悬空点由编程点控制) ,由两个相同的l c 以及两者 结合部件组成。不同于常见的基于四输入查询表结构的l c ,f d t 2 0 0 k 一个l c 是由两个具有相同输入的3 输入l u t 、多个数据选择器、快速进位链、以及一 个可编程控制时序逻辑单元构成。两个独立三输入查询表和数据选择器可完成 最高4 输入任意组合逻辑,也可以产生两个相同输入的任意3 输入函数。快速 进位单元可以结合1 个3 输入l u t 实现加、减和一位乘加算术逻辑功能;时序 图3 5s l i c e 和l c 结构图 l c 端口说明:a b c d 是主要的逻辑输入端,e 可以作为5 输入逻辑的 个输入端、触发器数据输入端、时钟使能端、扫描链使能控制端中的一种。l e n 是从c l u s t e r 的s c u 部件送来的4 个时序单元公用的局部时钟使能端。 o u t a 0 o u t b 0 是输出端,其中o u t a 是组合逻辑输出端,o u t b 可作为组合 或时序逻辑输出端。每个l c 都有自下而上的竖直专用进位输入、输出端口, 以及专用自下而上竖直移位输入输出端口。由于这两组专用端口不通过互连线 1 4 第3 章可编程逻辑资源结构与功能 资源而和上下相邻的可编程逻辑单元相连,因此这些信号可在l c 间保持高速 传输。 3 1 3f d t 2 0 0 k 可编程逻辑单元( l c ) 功能介绍 在f p g a 应用阶段,用户电路通过映射算法将其设计分块映射到芯片内的 可编程逻辑单元( l c ) 中,因此l c 的功能决定了一个设计是否能够映射到l c 中,需要多少个l c 来映射,以及关键路径上要经过多少个l c 和信号线网的 l c 负载。所以l c 的功能很大程度上决定了整个系统设计应用的灵活性、映射 算法的复杂度、l c 面积利用率、系统最高工作频率等等诸多方面。下面将介 绍l c 的功能,并和常见l c 结构做比较,给出令人信服的结果。从功能上分, f d t 2 0 0 k 可编程逻辑单元( 简称f d t - l c ) 功能可分为组合逻辑功能、算术逻 辑功能和时序逻辑功能,这3 种功能可以相互独立,也可以两两结合。下面介 绍l c 以及s l i c e 在不同配置下所具有的各种功能。 3 1 3 1单个l c 配置4 输入逻辑+ 时序逻辑、单个s l i c e 配置5 输入逻辑 单个l c 产生关于a b c d 的任意4 输入组合逻辑函数f 4 ,并可选择f 4 是否和时序逻辑单元结合,此功能为l c 单元的主要功能。 首先证明任意一个4 输入函数厂 ,b ,c ,d ) 可以由两个独立3 输入函数 g ( a ,b ,c ) ,h ( a ,b ,c ) 和一个m u x 构成,根据s h a n n o n 公式: f ( a ,b ,c ,d ) = d & 厂( 口,b ,c ,o ) l d & f ( a ,b ,c ,1 ) = d & g ( 口,b ,c ) l d & h ( a ,b ,c ) ( g ( 口,b ,c ) = f ( a ,b ,c ,0 ) h ( a ,b ,c ) = f ( a ,6 ,c ,1 ) ) 而m u x 的逻辑表达式正是m 缎( 口,b ,c ) = 云& 口i c & b 所以有: f ( a ,b ,c ,d ) = m u x ( g ( a ,b ,c ) ,h ( a ,b ,c ) ,d ) o 如图3 - 6 ,l c 内两个3 输入l u t 结合一个数据选择器可产生任意关于 刖b c d 的4 ( 或小于4 ) 输入逻辑函数f 4 。f 4 作为组合逻辑输出从o u t a 送 到互连资源。而这时候f 4 可以选择是否和时序逻辑单元结合使用。同样道理, 如图3 5 中s l i c e 的两个l c 的a b c d 输入相同的情况下,二者结合可以产 生任意一个5 输入函数,可以减少延迟路径所经过的互连数目,优化关键路径。 可能性一:f 4 和时序逻辑单元结合使用。当p 0 = 0 时候,f 4 直接送到时序逻辑 单元输入d 端锁存,而时序逻辑锁存使能可选择来自互连输入e 端或者选择时 序逻辑单元块的局部使能端。若e n 来自e 端,使得c l u s t e r 内部的4 个时 序逻辑单元的使能完全独立,具有更大的灵活性,可方便软件进行时序逻辑映 射,从而提高时序逻辑单元的利用率。 组合逻辑和时序逻辑结合的优点有:l 、二者之间不需要额外的互连资源, 大大节省了互连资源开销;2 、直接选通,延迟最小,减少了一级互连延迟,提 高芯片最高工作频率。 可能性二:f 4 和时序逻辑单元分开使用。f 4 不需要锁存,p 0 = i ,此时时序逻 辑单元输入来自组合逻辑不用的e 端,经触发器锁存后从o u t b 端输出,而组 合逻辑f 4 从o u t a 输出,这样l c 内部组合逻辑和时序逻辑分开,互不影响。 组合逻辑和时序逻辑可分开使用的优点:图3 6 a 的f d t 2 0 0 k l c 结构比图3 6 b 的传统l c 结构的利用率高的多。由于f p g a 芯片应用的范围非常广阔,所映 射的电路也各不相同,所以,经常会遇到电路某部分单元组合逻辑规模远大于 时序逻辑的情况( a l u 、乘法单元、译码电路) ,若l c 内部组合和时序逻辑不 能独立使用( 如图3 - 6 b ) ,则在映射了这类电路的l c 中,其内部时序逻辑只能 1 6 图3 7l c 配置成两个具有相同输入的3 - l u t 输出 当输入d 通过c l u s t e r 外部的输入选择模块拉低时候,l c 内两个独立3 输入l u t 产生的两个关于a b c 的函数可输出到o u t a 和o u t b 。这时候, o u t b 变成为和o u t a 一样的组合逻辑输出口。用两个3 输入l u t 代替常用 的4 输入l u t ,只增加6 个晶体管,相对于整个4 输入l u t 的6 7 个晶体管( 不 包括1 6 个s r a m ,分别为:1 6 个驱动反向器( 1 6 2 ) ,单管1 6 选一 ( 1 6 + 8 + 4 + 2 = 3 0 ) ,电平恢复电路( 5 ) ,共3 2 + 3 0 + 5 = 6 7 ) 面积上相对于l u t 只 增加了9 ,对于整个l c 只增加3 。而带来的好处却很多: l 、特定条件下映射结果比4 - l u t 结构有大幅优化。当软件通过特定算法对电 路进行映射时候,并不是映射后所有的逻辑函数都是4 输入逻辑,3 输入以及 小于3 输入的逻辑函数也占有较大比例。通过对一些标准的测试电路映射结果 的分析,发现很多电路都会映射出大量具有相同的输入端口数目小于等于3 的 输入逻辑函数。而单输出的4 - l u t 在实现这些单元时候显然是极大浪费的,而 第3 章可编程逻辑资源结构与功能 如果有两个相同输入3 - l u t 并且带有两个输出,则和4 l u t 相比,在实现这 些电路时候可以减少一半的l u t 数目。分析发现,f p d 2 0 0 k - l c 对于实现输出 端口较多的逻辑函数比一般的基于4 l u t 的l c ( 如x i l i n x 公司的s p a r t a n i i 系列和a l t e r a 公司的f l e x l o k ) 有很大的面积优势,而由于前者同样能完成 4 l u t 功能,所以对于一般逻辑函数两者的映射结果相当。例如:像3 8 译码 器这种输出端口较多的电路,用f d t 2 0 0 k - l c 映射只需要4 个l c ,而用 s p a r t a n i i 映射需要4 个s l i c e 共8 个l c 。其他如全加器电路,s p a r t a n i i 必须利 用内部的进位单元,其输出还只能从进位端输出,不能连接到正常的互连资源 上,而f d t 2 0 0 k l c 可以方便地用一个l c 实现并且从两个输出端输出,这样 f d t

温馨提示

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

评论

0/150

提交评论