(微电子学与固体电子学专业论文)可编程逻辑器件(cpldfpga)的架构研究与实现.pdf_第1页
(微电子学与固体电子学专业论文)可编程逻辑器件(cpldfpga)的架构研究与实现.pdf_第2页
(微电子学与固体电子学专业论文)可编程逻辑器件(cpldfpga)的架构研究与实现.pdf_第3页
(微电子学与固体电子学专业论文)可编程逻辑器件(cpldfpga)的架构研究与实现.pdf_第4页
(微电子学与固体电子学专业论文)可编程逻辑器件(cpldfpga)的架构研究与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(微电子学与固体电子学专业论文)可编程逻辑器件(cpldfpga)的架构研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 可编程逻辑器件( c p l d f p g a ) 已经在工业自动化、通讯、航空航天、汽车电子、 医药、消费类电子和其它高新技术领域得到了非常广泛的应用。它具有编程方式简单, 速度快,可靠性高,开发周期短,开发工具和设计语言标准化,功能强,应用广泛,适 应性强,易学易用等诸多优点,使得它在当今市场上占据越来越重要的地位。 本文介绍了各种编程技术的编程原理,c p l d f p g a 的逻辑结构和互连资源,在系统可 编程技术以及可编程逻辑器件的开发实例。在此基础上,本文着重对可编程器件 ( c p l d f p g a ) 结构中的一些关键参数进行具体分析与讨论,如在分析f p g a 的资源互连 时,线宽、线距、线长对芯片的面积、延时、功耗的影响,并针对具体的工艺库分析它 们的最优值;其次对芯片的外围电路灵敏放大器进行优化和改进,虽然面积有所增加, 但在没有功耗增加的基础上放大器的性能得到了提升;最后,在两种加法器的f p g a 实 现时,通过a l t e r aq u a r t u s l i 仿真软件分析了它们的性能、面积和功耗并进行了比较。 关键词:可编程逻辑器件c p l d f p g a 在系统可编程技术( i s p ) 阵列式灵敏放大器 江南大学硕士学位论文 a bs t r a c t p r o g r a m m a b l el o g i cd e v i c e ( c p l d f p g a ) h a sb e e na p p l i e di nm a n yf i e l d s ,i n c l u d i n g i n d u s t r ya u t o m a t i z a t i o n ,c o m m u n i c a t i o n , a v i a t i o na n da i r c r a f t ,v e h i c l ee l e c t r o n i c s ,m e d i c i n e , 0 0 n s u m ee l e c t r o n i c sa n do t h e rh i 吐t e c h n o l o g yf i e l d s t h ea d v a n t a g e si n c l u d es i m p l e p r o g r a m m i n gm e t h o d ,h i g l 】s p e e d , h i g hr e l i a b l i t i t y , s h o r tr e s e a r c hc y c l e ,s t a n d a r dd e s i g n l a n g u a g ea n dt o o l so fe x p l o i t a t i o n ,s t r o n gf u n c t i o n , w i d ea p p l i c a t i o n ,s u p e rf l e x i b i l i t y , e a s y t os t u d y , m a k i n gi tp l a y i n gm o r ea n dm o r ei m p o r t a n tr o l e si nm a r k e t v a r i o u sa l lk i n d so fp r o g r a m m a b l ep r i n c i p l e s t h e1 0 9 i ea r c h i t e c t u r ea n di n t e r c e n n e c t r e s o u r c eo fc p l d f p g ah a v eb e e nd e s c r i b e df i r s t f o l l o w i n gb yt h ei n s y s t e m p r o g r a m t e c h n o l o g ya n dd e s i g nf l o wo fp l di nm i st h e s i s b e s i d e s s o m ek e yp a r a m e t e r so ft h e c p l d f p g as t r u c t u r eh a v eb e e na n a l y z e da n dd i s c u s s e di no r d e rt og e tt h eb e s tv a l u e s f o r e x a m p l e ,t h ew i d t h ,s p a c i n gd i s t a n c ea n dl e n g t ho fw i r e sh a v eg r e a ti n f l u e n c eo nt h e a r e a , d e l a ya n dp o w e r t h eo p f i m a lv a l u e sr e s p e c t i v e t ot h ed e t a i l e dl i b r a r ya r eo b t a i n e d s e c o n d t h ea r r a ys e n s i t i v i t ya m p l i f i e rh a sb e e nd i s c u s s e da n do p t i m i z c d a l t h o u g ht h el a y o u t a r e ai n c r e a s e s ,t h ep e r f o r m a n c ei si n p r o v e dw i t h o u ta d d i f i o n a li n c r e a s ei np o w e t f i n a l l y w h e nr e a d i n gt w oa d d e r sd e s i g n sv i af p g a t h ea l t e r aq u a r t u si is o r w a r ei sa p p l i e dt o a n a l y z ea n dc o m p a r e t h e i rp e r f o r m a n c e a r e a sa n d p o w e rc o n s u m p t i o nb e t w e e nt h e c o m b i n a t i o n a la n ds e l f - t i m e da d d e r s k e y w o r d s :p r o g r a m m a b l el o g i cd e v i c e ,c p l d f p g ai n s y s t e m p r o g r a m m a b l e s e n s ea m p l i f i e r 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 本人为获得江南大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:日期:沙。7 年月循 | 关于论文使用授权的说明 本学位论文作者完全了解江南大学有关保留、使用学位论文的规 定:江南大学有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文,并且本人电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 签名:监导师签名: 日期:7 年b 月日 第l 章绪论 1 1 本课题研究的背景 第1 章绪论 随着半导体技术的发展,属于p l d ( p r o g r a m m a b l el o g i cd e v i c e s ) 类型的复杂可 编程逻辑器件现场可编程逻辑器件( c o m p l e xp r o g r a m m a b l el o g i cd e v i c e f i e l d p r o g r a m m a b l eg a t ea r r a y ) 已经在工业自动化、通讯、航空航天、汽车电子、医药、 消费类电子和其它高新技术领域得到了非常广泛的应用。它不仅具有开发周期短,成本 低,适应性强等诸多优点,而且还有其它多方面的优势: ( 1 ) 编程方式简便。先进的c p l d f p g a 产品越来越多地采用了在系统配置编程方式。 在+ 5v 工作电平下可随时对正在工作的c p l d f p g a 进行全部或部分地在系统编程,并可 进行所谓“菊花链式”多芯片串行编程,特别对于s r a m 结构的f p g a ,其下载编程次数 几乎没有限制。 ( 2 ) 高速。c p l d f p g a 的时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用 领域和实时测控方面有非常广阔的应用前景。 ( 3 ) 高可靠性。c p l d f p g a 的高可靠性还表现在几乎可将整个系统下载于同一芯片 中,从而大大缩小了体积,易于管理和屏蔽。 ( 4 ) 开发工具和设计语言标准化,开发周期短。由于开发工具的通用性、设计语言 的标准化以及设计过程几乎与所用的c p l d f p g a 器件的硬件结构没有关系,使得设计成 功的各类逻辑功能块有很好的兼容性和可移植性,它几乎可用于任何型号的c p l d f p g a , 从而使得片上系统的产品设计效率大幅度提高。 ( 5 ) 功能强大,应用广阔。目前,c p l d f p g a 可供选择范围很大,可根据不同的应用 选择不同容量的芯片。利用它们可实现几乎任何形式的数字电路或数字系统的设计。 ( 6 ) 易学易用,开发便捷。c p l d f p g a 应用的学习不需太多的预备知识,只要具有通 常的数字电路和计算机编程基础知识,就足以在短期内握基本的设计方法和开发技巧。 正是由于以上诸多优点,可编程逻辑器件c p l d f p g a 在我国已大量应用到产品的研 制和最终产品中,它们在降低产品成本的同时又极大地缩短了产品上市时间,可产生巨 大的经济效益。 1 2 国内外研究现状 目前,国内对于可编程器件的研究主要集中于它的应用方面,即通过具体的开发应 用来实现各种不同的功能: 如可用于高速信号处理系统【”、超高速数据采集系统【2 】、通信接口芯片【3 】、各种滤 波科】、卷积t u r b o 码和时空码编码器【7 j 等电路设计中。在国防、航天领域,也有许多 方面应用了c p l d f p g a 。如在飞机动力综合测试系统中,测量飞机启动发电性能参数 方面应用c p l d f p g a 实现键盘接口1 ;雷达测距机中采用c p l d f p g a 器件实现数据 处理和测距机主回路两大部分例。因此,可编程逻辑器件将是未来数字集成电路的主要 发展方向之一,而且目前的市场形势也已清晰的表明可编程器件在各种电子产品中占据 了越来越重要的地位。 在器件的结构方面,国内外同行在基于不同工艺的基础上也对器件的逻辑模块,布 江南大学硕士学位论文 局布线,输入输出等结构做了很多研究。这些研究的过程和结论对未来可编程器件的发 展产生了重要的影响。 国外的发展由于市场本身的迫切需要,使得可编程逻辑器件的研究和发展都非常迅 猛,无论是它芯片本身的结构设计,还是它的应用设计,都达到了一个非常崭新的高度; 在芯片的设计方面,主要由国外的的几大公司所垄断,基本上我们所用的开发平台基本 上都是根据这几大公司所提供的器件。 目前国内对于可编程器件的研究多处于应用设计阶段,而对于它们具体的结构,映 射工艺,资源互连等方面的涉及比较少,正是由于目前国内对于这些方面的研究不够深 入和全面,使得国内可编程器件的研发生产多处于仿制阶段。 1 3 研究的目的和任务 本课题所要完成的任务是对可编程器件( c p l d f p g a ) 结构中的一些具体关键参 数进行分析与研究,以便得出一些最佳值,如在分析f p g a 的资源互连时,具体的线宽、 线距、线长对芯片的面积、延时、功耗有着怎样的影响,并基于具体的工艺库分析它们 的最优值:对芯片的外围电路灵敏放大器进行合适的优化和改进,使得在没有功耗增加 的基础上放大器的性能得到了提升。最后,在两种加法器的f p g a 实现时,通过a l t e r a q u a r t u s i l 2 2 仿真软件分析它们的性能、面积和功耗并进行比较。由于本课题只是初步 尝试,仅仅是对一些具体可编程器件的结构方面做出一些研究,在分析的过程中对很多 情况进行了简化和假设,而且根据模型和工艺的不同,因此得出的结论可能存在一些偏 差。 1 4 论文的结构安排 论文的结构安排如下: 第1 章简要介绍了本研究课题的学术背景、国内外研究现状、c p l d f p g a 发展中 存在的问题及研究的目的任务,最后介绍了论文的结构安排。 第2 章简要叙述了几种编程逻辑管的编程原理和c a d 设计流程,并分析了c p l d 和f p g a 的异同。 第3 章根据不同的编程技术对三种不同的基本逻辑模块进行分析,重点讨论各逻 辑模块的一些关键参数,并且分析了a l t e r a 和x 订i n x 公司系列产品的相关逻辑结构。 第4 章对p l d 的互连资源进行了讨论,着重阐述f p g a 的互连资源,对影响布局 布线的一些因素进行了研究。 第5 章对在系统可编程原理进行阐述,结合具体的产品对数据的读写过程进行分 析和仿真:而且对阵列式灵敏放大器的结构进行优化和改进,在功耗没有增加的情况下 使得灵敏放大器的性能得到了提升。 第6 章 两种加法器的f p g a 实现,并通过a 1 t e r ao u a r t u s i l 2 2 仿真软件分析它 们的性能、面积和功耗并进行比较。最后,对并对本文的工作进行了总结并对未来的工 作进行了展望。 2 第2 章可编程逻辑器件的相关介绍 第2 章可编程逻辑器件的相关介绍 2 1可编程逻辑器件的编程元件 根据擦除过程的不同,p l d 使用的内部编程元件主要有如下三种类型: ( 1 ) 一次性编程的熔丝( f u s e ) 或反熔丝( a n t i f u s e ) 开关; ( 2 ) 基于浮栅技术的存储器。包括紫外线擦除和电擦除的e p r o m 、e e p r o m 与f l a s h m e m o r y ( 闪速存储器,简称为闪存) ; ( 3 ) 允许无限次编程使用的静态存储器( s r a m ) : 在这三种类型的编程元件中,前两种为非易失性的元件,编程后即使系统断电,它 们存储的编程信息也不会丢失,而且e e p r o m 和闪存可多次反复编程写入,而静态存储 器( s r a m ) 属于易失性的编程元件,掉电后存储的配置数据将立即消失,它也可多次反 复编程使用。 2 1 1 熔丝和反熔丝开关元件 每个编程单元由一个三极管和接在其发射极的熔丝组成。图2 1 表示了熔丝编程电 路的结构图。 图2 1 熔丝编程电路的结构图 上图中三极管的基极与集电极相当于接在字线与位线之间的二极管。编程时,如果 需要在某处存放信息“0 ”,则只要按地址提供一定的脉冲电流,将该处熔丝烧断即可, 而未熔断熔丝的地方则表示存放了信息“1 ”。 采用熔丝编程工艺的主要缺点是熔丝烧断后不能恢复,因此只能一次性编程,并很 难测试其可靠性,故容易造成整个器件逻辑功能的不正确。为了保证熔丝熔化时产生的 金属物质不影响器件的其他部分,还需要为熔丝留出较大的保护空间,因此熔丝占用的 芯片面积较大,影响了p l d 器件集成度的提高。 而反熔丝开关正好克服了这些缺点,它通过击穿介质来达到连通线路的目的。在未 编程时处于开路状态,当加上编程电压后,反熔丝就会由高阻抗变为低阻抗,导致两个 极间的连通,并且编程电压撤除后开关也一直处于导通状态,由于在介质击穿后不可恢 复,故反熔丝也是非易失性的一次性可编程元件;由于反熔丝元件占用硅片的面积小, 所以它的集成度很高;它还具有较高的抗辐射能力及很好的工作稳定性,一般多用在工 作条件要求较高的军品系列器件上。 江南大学硕士学位论文 2 1 2 紫外线擦除、电改写的e p r o m ( u v e p r o m ) e p r o m 是一种用紫外线擦除存储信息、用电信号来实现数据编程写入的存储元件。 目前人们已使用叠栅注入m o s 管( s i m o s 管) 来制作e p r o m 的存储单元“。 采用叠栅注入m o s 管( s i m o s 管) 制作e p r o m 的存储单元,可以提高e p r o m 的工作速 度,降低编程工作电压。图2 2 即为s i m o s 管的结构原理图和符号。它是一个n 沟道增 强型的旧s 管,有两个重叠的栅极( 控制栅g 。和浮栅g ,) 。控制栅g c 用于控制读出和写 入,浮栅g ,用于长期保存注入电荷。若在漏极和源极之间加上约几十伏的脉冲电压,沟 道中会发生雪崩击穿。电子加速穿越s i o :层注入到浮栅中,使浮栅g r 带上负电荷,即相 当于存储了“0 ”。由于浮栅周围都是绝缘的s i o 。层,泄漏电流极小,所以一旦电子注 入到栅极后,数据“0 ”能够长期保存,当浮栅g ,无电子积累时,相当于存储了“1 ”。 e p r o m 浮栅编程器件克服了熔丝和反熔丝编程器件只能一次应用的缺陷,但擦除存储在 这种e p r o m 中的数据要使用专门的紫外线擦除装置,且擦除时间较长,这给实际应用带 来了很大的不便。 图2 2s i m o s 管的结构和符号 2 1 3 电擦除、电编程的e e p r o m 用e e p r o m 作为编程器件采用的是另一种浮栅编程技术,它的编程元件称为浮栅隧 道氧化层m o s 管“2 1 ( 简称f l o t o x 管) ,其结构如图2 3 所示,该管主要是在浮栅与漏极 区之间有- - d , 块面积极薄、厚度为l o l s n m 的s i o :绝缘层区域,称为隧道区。在控制 栅加上几十伏正脉冲电压后,就可以在浮栅与漏极区之间的极薄绝缘层内产生隧道效 应。编程时,源漏极接地,控制栅g 。加2 0v 脉冲电压,衬底中的电子通过隧道效应注 入到浮栅中,脉冲电压撤除后浮栅内的电子可以长期保留。擦除时,将控制栅接地,源 极浮起,在漏极上加2 0v 高压脉冲,浮栅上的电子通过隧道返回衬底,从而擦除了浮 栅内的电子电荷。可见e e p r o m 的编程和擦除都可以通过在漏极和控制栅上加一定的幅 度和极性的电脉冲来实现。由于擦除方便、工作速度快、有效改写次数多,因而e e p r o m 很受用户欢迎。 图2 3e e p r o m ( f l o t o x 管) 的结构示意图 4 o-o 第2 章可编程逻辑器件的相关介绍 2 1 4 闪存的特性与编程 闪存( f l a s hm e m o r y ) 又称快擦快写存储器“( 即f l a s h 的含义) 。它可以在m s 级 时间内擦除全部或一段存储的信息,而不像e e p r o m 那样一次只能擦除一个字节。闪存 的单元结构与工作特性与e p r o m 中的叠栅注入m o s 管( s i m o s 管) 相似,但又有如下3 点 显著不同: ( 1 ) 闪存的绝缘氧化物层相对更薄,一般都不超过约0 o lpm ,这使得编程电压及擦 写电压可以做到较低。 ( 2 ) 闪存的两块区域不对称( 源极区域较大) ,致使闪存的扩散速度远远大于叠栅型 存储单元。 ( 3 ) 闪存芯片内所有叠栅m o s 管的源极是连在一起的,所以闪存擦除时可将全部存储 单元同时予以擦除。 快闪存储器的编程和擦除分别采用两种不同的机理。在编程时与e p r o m 相似,即利 用雪崩注入的方法使浮栅充电:而在擦除方法上与e e r p o m 相似,即利用隧道效应使浮 栅上的电子通过隧道返回衬底。 由于闪存芯片的结构特性及较高的电子扩散速度,使闪存的擦除速度和写入速度远 高于基于普通叠栅存储单元的e e p r o m ,成为非易失性高速存储芯片的应用主流和发展方 向。 2 1 5s r a m 编程元件 f p g a 器件主要使用静态存储器s r a m 作为编程单元,这种s r a m 被称为配置存储器。 x i l i n x 公司生产的f p g a ,其s r a m 编程单元的基本结构如图2 4 所示。 图2 4f p g a 中s r a m 编程单元的基本结构 然而,这种s r a m 编程单元的基本结构与常见的作为数据存储器使用的s r a m 有所不 同。它由两个具有下拉n 沟道晶体管和上拉p 沟道晶体管互补的反相器和一个控制读写 的m o s 开关组成。配置数据写入时,m o s 开关管导通,写入配置数据( 0 或1 ) 。在工作状 态下,m o s 开关管处于截止状态,配置单元的数据从反相器的q 端读出。无论存储0 或 1 ,其输出端都处于低阻状态,若使状态发生翻转需要一个较大的电流,因此这种s r a m 结构具有很强的抗干扰性:它还具有高密度、高速度和高可靠性以及很高稳定性,即使 在不良的供电条件下,它也能正常工作;另外,由于提高了电路密度,有利于在单位面 积上实现更多的功能。 2 2c a d 设计流程 c a d 设计流程如下:首先,s i s “”用来完成不受约束的逻辑电路优化。接着就是用合 适的映射工艺把该语言描述映射到4 输入的查找表和触发器中。然后通过各种封装算法 ( 如t - v p a c k ) 把l u t 和寄存器组合在一起并形成所需要的输入和尺寸合乎要求的逻辑 模块,如图2 5 所示。 逻 ( 4 图2 5t - v p a c k 进行封装的实例 电路 根据w = w m 。进行布线 畏据f p g a 的布线决定关键 径和晶体管的面积( v p r ) 图2 6f p g a 的c a d 设计流程图 然后再把逻辑模块的网表和全局布线结构的描述读到布局和布线工具中( v p r ) , v p r 根据每个通道内不同的线道数进行布线,并且把不同的逻辑模块放到合适的位置, 6 第2 章可编程逻辑器件的相关介绍 同时进行恰当的二元搜索并在全局布线区内完成布线以便知道所需要的最小线道数,并 且使它们符合电路性能要求。例如,v p r 按二比一的比例布线时,先尝试在水平方向实 行1 2 线道的连接,在垂直方向实行6 个线道的连接,若这个布线成功,v p r 接着又会尝 试在水平方向实行6 线道和垂直方向实行3 通道,从而最终实现线道的最小值,如图2 6 所示。 2 3 可编程逻辑器件c p l d 与f p g a 的比较 c p l d 是在p l d 器件的基础上发展起来的,以与或阵列为特征。a l t e r a 公司于8 0 年 代中期将e p r o m 和更大规模的p l d 相结合,构成了它称之为的c p l d 产品。整体结构如 图2 7 所示,该结构由与平面和一组宏单元组成逻辑阵列块,通过行列长线实现互连。 f p g a 首先由x i l i n x 公司于1 9 8 4 年提出,其目标是将v l s i 门阵列技术的高逻辑密度和 通用性与用户现场可编程器件的设计灵活、上市快捷及产品的有效性结合起来,整体结 构如图2 8 。除了x i l i n x 公司基于查找表的f p g a 结构以外,还有基于多路选择器和基 于组合门等多种形式的f p g a 。c p l d 与f p g a 的性能比较如下表2 1 。 宏单元 图2 7c p l d 的结构图 面i = d 连接 = j 面百e = j 连接 堡垫f = 爿模块 = 爿堕生f = 爿模块 连接 = = 趸再t = d 连接 = = | i 窆辑 模块目塑堡 = 爿模块 = 爿塑兰 趸再仁= = j 连接e = 丁画i 匕= d 连接 堡堕f = 爿模块f = 爿堡兰f = 爿模块 连接 = = r 面矿b :d 连接 = = i 晡 模块仁= 爿堕堕仁= 爿模块仁= 爿堡堡 图2 8f p ( ;a 的岛式结构图 盅 掣 赢 世 蒜 斟 江南大学硕士学位论文 表2 1c p l d 和f p g a 的性能对比 c p l d f p g a 实现机理 基于可编程与或阵列的乘积项结构基于查找表结构 工艺一般基于f l a s h 工艺,e e p r o m 工艺 一般基于s r a m 工艺 编程特点 可在系统编程,掉电不失效,编程次数可达可在系统编程,掉电失效,无 1 0 0 0 0 次限制编程 用途特点 适合于组合逻辑复杂的设计,可编程与阵列对更适合时序逻辑要求较高和 于多扇入的设计也更为有效带存储逻辑的设计 规模一般规模和可用门相对较小规模较大 逻辑粒度粗粒度( 逻辑块级) 细粒度( 逻辑门级) 总的来说,f p g a 的编程灵活性要大大强于c p l d 器件。但是。f p g a 的逻辑门级编程 优势也决定了它的不足之处:基本单元之间的连线趋于复杂,影响了芯片的有效工作速 度。 总结 本章主要介绍了几种可编程单元的编程原理,并分析了它们相应的优缺点。然后介 绍了可编程逻辑器件的c a d 设计流程以及c p l d 和f p g a 两者不同方面的比较。 第3 章c p l d f p g a 的逻辑结构 第3 章c p l d f p g a 的逻辑结构 逻辑模块( l o g i cm o d u l e ,l m ) 是c p l d f p g a 实现各种逻辑的核心,逻辑模块对 f p g a c p l d 的芯片面积、速度性能、c a d 工具的开发都有重要的影响。随着逻辑块功能 度的增加,每个模块的引出端和面积都将增加,而实现一个电路所需的模块总数也就 相应减少,这将影响了芯片中布线面积的比例。下面对几种主要的逻辑模块进行讨论分 析。 所有的可编程逻辑器件都含有很多规则阵列的基本逻辑单元,最基本逻辑单元通常 有三种:( 1 ) 基于多路选择器的基本逻辑单元;( 2 ) 基于可编程的与或阵列逻辑:( 3 ) 基 于查找表的基本逻辑单元。 3 1基于多路选择器的基本逻辑模块 基于多路选择器( m u x ) 的逻辑模块在资源利用率方面有很大的优势,它可以提供 丰富的寄存器,而且非常适合于d l v e r i l o g 自动逻辑综合,使得设计者可以借助于 高层次综合工具来提高设计效率。a c r e l “”公司的f p g a 产品使用的就是这种逻辑模块。 如图3 1 为a c t l 采用的逻辑模块。 图3 1a c t l 逻辑模块 f 3 1 1s h a n n o n 展开定理 该定理可以将大函数分成几个小函数。使用该定理,根据变量a 展开布尔逻辑函数 f : f = a f ( a = 1 ) + a f ( a = o ) ( 1 ) 例如,用s h a n n o n 展开定理可实现如下函数,采用的是a c t l 逻辑模块: f = ( 彳b ) + ( 曰c ) + d ( 2 ) 首先f 对于b 展开: f = 占( a + d ) + b 7 ( c + d )( 3 ) 9 江南大学硕士学位论文 ( 3 ) 式表述了一个2 :i m u x ,b 为两个输入 f ( a = i ) 和f ( a = 0 ) 之间的选择端。 又把f 2 对a ,f 1 对c 进行展开: f 2 = a + d = ( ae 1 ) + ( a e d ) ( 4 ) f i = c + d = ( c e l ) + ( c e d ) ( 5 ) 通过( 4 ) ( 5 ) 可以看出,f 可通过将a 、b 、c 安排在a c t i 逻辑模块的选择线上,且 把1 和d 作为m u x 的数据输入来实现。其具体的连接方式如图3 2 所示: a 0 = d a i = i 。b 0 = d ,b i = i ,s a = c ,s b = a ,s o = 0 ,s i = b 。 3 1 2a c t i 模块 o b f 图3 2 用删x 实现的逻辑表达式 通过s h a n n o n 展开定理,所有的函数都可以展开成若干个更小的布尔函数,并且可 以用m u x 电路来实现。通过对输入a 0 、a 1 和s a 的选择,2 输入m u x 能实现所有的基本 门电路函数。 采用a c t 模块做p l d 的基本逻辑单元有以下优点: ( 1 ) 可有效实现多种函数功能电路。例如,a c t i 逻辑模块能实现所有2 输入函数、 大多数3 输入以及许多4 输入的函数,总共为7 0 2 个逻辑功能。 ( 2 ) 可用两个a c t i 逻辑模块来构成触发器实现时序逻辑。虽然使得布图简单有效, 但连接两个逻辑模块的同时增加了互连和相关的寄生电容。为了减少这些不足,在a c t 2 和a c t 3 系列中为了实现时序逻辑,将a c t l 模块和一个由基本门构成的d 触发器组合来 实现时序单元。 ( 3 ) a c t e l 逻辑综合软件可以很简单有效的满足时序逻辑映射;而且,a c t 逻辑模块 的物理对称性极大的简化了布局和布线步骤,因此,使得布线的速度快,功能强,但也 牺牲了部分性能。 3 2 基于与或阵列的基本逻辑模块 3 2 i 乘积项结构p l d 的逻辑实现原理 现以一个简单的电路为例,具体说明p l d 是如何利用与或阵列结构实现逻辑的,电 路图如3 1 所示: 1 0 第3 章c p l d f p g a 的逻辑结构 日 c d c “ 图3 3 实现f = ( a + b ) c - d 的逻辑电路 假设组合逻辑的输出( a n d 3 的输出) 为f ,则: f = ( a + b ) c d = a c d7 + b c d p l d 将以下面的方式来实现组合逻辑f : 图3 4f = ( a + b ) c d7 的p l d 表示 a ,b ,c d 由p l d 芯片的管脚输入后进入可编程互连阵列( p i a ) ,在内部会产生a ,a 反,b ,b 反,c ,c 反,d ,d 反8 个输出。图3 4 中每一个叉表示相连( 可编程熔丝导通) , 在每个可能的连接上,用e p r o m 晶体管作为下拉,使水平的乘积项线与垂直输入线相连。 将l 加到未编程的e p r o m 晶体管栅端,则乘积项线拉低为0 。且编程的n 沟晶体 管的阈值电压高于v m 并总是断开,因此己编程的晶体管对于乘积项线无影响,所以得 到:f = f 1 + f 2 = ( a c d ) + ( b c d ,) 。 3 2 2 基于乘积项的逻辑模块 图3 5 为一基于乘积项的逻辑模块,电路中d 触发器的实现比较简单,直接利用宏 单元中的可编程d 触发器来实现。时钟信号c l k 由i 0 脚输入后进入芯片内部的全局时 钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与i o 脚相连, 把结果输出到芯片管脚。 图3 5 基于乘积项的u f 江南大学硕士学位论文 上面是一个很简单的例子,只需要一个逻辑模块就可以完成。但对于一个复杂的电 路,就需要通过并联扩展项和共享扩展项将多个逻辑模块相连,同时,逻辑模块的输出 也可以连接到可编程连线阵列,再做为另一个模块的输入。这样p l d 就可以实现更复杂 逻辑。 3 2 3c p l d 与或阵列的输入端数目 n 为乘积项的输入数,( 1 + 置n 一。) 2 为当单元内部出现反馈时所需要增加的单元 尺寸,a 。,。k 1 0 l 。为k 个乘积项单元的面积,k 。为一个逻辑单元中未使用的逻辑面积 的比例因子,因此还要与( i + k 。n ) 相乘,a 。为布线区的面积( 假定每个单元的 布线面积固定为一常数) 。 一眦( ) = 彳b 。,眦。k 吨即( 1 + 刚) 2 ( 1 + 置矿+ 垒唑唑气竽 ( 6 ) d 为量化的速度性能值,t 。为逻辑单元的延迟时间,t 。为布线部分的延迟 时间。 。m2 i i 瓦n ( ,) ( 7 ) 式表明当单元输入数较大以及单元内部的延迟时间较小时( 假定布线部分的延时 保持常数) n 值将较大“”。 乘积项面积 k 【个数l 图3 6 输入个数与面积之间的变化关系 图3 6 表明了基于p a l 结构的c p l d 模型参数变化情况,由上图可知:8 i 0 输入、 3 4 输出、1 2 1 3 个乘积项的p l d 阵列具有较好的面积利用率“。 一个k 个输入、n 个乘积项、m 个输出的p l d 模块,只需k n 个编程管,而且p l d 模块简化了连线结构,在实现高输入端数的函数时非常有利。 3 2 4a l t e r am a x7 0 0 0 系列的单元结构 a l t e r ap l d 采用浮栅e e p r o m 存储单元的c m o s 技术进行布线。其c p l d 系列包括 k a x 5 0 0 0 ,7 0 0 0 和9 0 0 0 系列,a l t e r a 系列器件的宏单元结构“如图3 7 : 1 2 第3 章c p l o f p g a 的逻辑结构 图3 7 宏单元的具体结构 宏单元包括逻辑阵列( 可编程与平面) 、驱动或门的乘积项选择矩阵和可编程触发 器。可编程阵列的功能与小型p a l 类似,形成乘积项( 并非最小项) 并通过或运算得到 表达式。每个宏单元拥有来自p i a 的3 6 个输入端及1 6 个形成扩展信号的附加输入端。 p i a 作为全局总线提供了多重l a b 、专用输入端和i o 引脚之间的连接,它为逻辑单元 的输出和l a b 的输出输入提供了包括预计定时的完整连接。与f p g a 中使用的更高集成 度、基于沟道的结构相比,这种连接减低了结构的集成度。 每个宏单元生成5 个乘积项,并提供给选择乘积项矩阵。由选择乘积项矩阵可将乘 积项送到或门、异或门、逻辑拓展器的输入端、预置清除时钟信号端或触发器的使能输 入端。 i o 控制模块在i o 引脚,p i a 和l a b 之间建立了连接。( 专用) 全局输入时钟信 号( g c “) 和低电平有效清除信号( g c l r n ) 与所有宏单元相连。所有i o 控制模块相 连的输出由低电平有效信号o e l n 和o e 2 n 使能。l a b 的第8 到1 6 输出引脚可以进行编程 到其连接到i o 引脚,而第8 到1 6 个i 0 引脚可以进行编程将其通过i o 控制模块连 接到p i a 。每个l a b 包括具有相同基本结构的进一步细化的可编程宏单元阵列。 每个宏单元的触发器可以单独编程以实现各种触发器。每个宏单元的触发器可以按 照三种方式实现同步:( 1 ) 由全局时钟信号驱动,( 2 ) 由乘积项驱动,( 3 ) 通过前 面的模式驱动并由选择乘积项矩阵的一项进行门控。注意乘积项信号可以由宏单元的逻 辑模块产生或直接由i o 引脚得到。同样可以将清除输入信号编为全局清除信号,或由 选择乘积项矩阵得到的乘积项。预置输入是由选择乘积项矩阵得到的乘积项。由组合逻 辑模块得到的信号通过可编程寄存器盘路开关连接到i o 控制模块( 组合输入) 或触发 器的d 输入端( 已记录的输出) 。清除和预置的动作为异步动作。 3 2 5 可共享扩展器 可共享扩展器可以让宏单元使用l a b 中其他宏单元未使用的乘积项来通过多于5 项的乘积项更有效的组合成快速复杂逻辑。 共享扩展器增加了可用于形成表达式的常量个数。l a b 中每个宏单元的未使用乘积 项可以取反并作为逻辑扩展反馈到逻辑阵列中。以便同一l a b 中的其它宏单元与门使用。 这样通过使用其他宏单元的完整乘积项可以生成更为复杂的三层与非一与一或结构。l a b 中共用的乘积项可以减少实现逻辑所需的全部资源。如图3 8 所示显示了在l a b 中如何 形成共享扩展器。 江南大学硕士学位论文 共享拓展器的缺点是存在额外的逻辑延迟,这是由于需要通过乘积项阵列的再次传 输引起的。在逻辑工具将逻辑赋予宏单元( 逻辑赋值) 前,我们通常不知道是否需要使 用逻辑拓展器。因为不能确切的预估时序,因此h t e r am a x 结构不是严格确定的。但 是,一旦知道了信号通过阵列是1 次还是2 次,就可以简单而精确的预估延迟。这是 a l t e r am a x 结构非常重要而有用的特征。 n u p n u tn l 厂 厂、 a l 广 厂、 -,j l 厂 _ _ _ - 匕 - 一叫卜_ j 、 3 6 位信号 3 2 6 并行扩展器 图3 8a t e r a7 0 0 0 系列:共享扩展器 每个宏单元的输出通常只由其5 个乘积项的和式组成,这对于大多数逻辑形式是 足够了,但并不能满足所有的逻辑形式。并行扩展器( 如图3 9 ) 增加了可用于通过将 宏单元的输出与相邻宏单元的输出连接形成一个表达式的乘积项的数目。每个宏单元的 5 个乘积项可以与同一l a b 中相邻宏单元并行扩展器所提供的最多1 5 个另外的乘积项相 加。并行拓展器被分配在最多有5 个附加乘积项的分组中。l a b 中的1 6 个宏单元被分为 两组,每组8 个,每个都可以作为借出或借入并行扩展器。在8 个一组的宏单元中,一 个宏单元能够向其低位宏单元借并行扩展器。 图3 9a l t e r a7 0 0 0 系列:并行扩展器 1 4 第3 章c p l d f p g a 的逻辑结构 3 3 基于查找表( l u t ) 的基本逻辑模块 3 3 1 基于l u t 的l m 的实现原理 查找表( l o o k u p t a b l e ) 简称为l u t ,l u t 本质上就是一个r a m 。 目前f p g a 中多 使用4 输入的l u t ,所以每一个l u t 可以看成一个有4 位地址线的1 6 x l 的r a m 。当用 户通过原理图或h d l 语言描述了一个逻辑电路以后,p l d f p g a 开发软件会自动计算逻辑 电路的所有可能的结果,并把结果事先写入r a m 。这样,每输入一个信号进行逻辑运算 就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。 下面是一个4 输入与门的例子, 实际逻辑电路l u t 的实现方式 i 至当 :地址线 l 。h ,瑚l 输出 c i di 正盱) i a ,b ,c ,d 输入逻辑输出 地址 r a m 中存储的内容 0 0 0 000 0 0 0o 0 0 0 lo0 0 0 10 o0 1 1 1 111 1 1 11 继续以上面的电路为例,a ,b ,c ,d 由f p g a 芯片的管脚输入后进入可编程连线,然后 作为地址线连到到l u t ,l u t 中已经事先写入了所有可能的逻辑结果,通过地址查找到 相应的数据然后输出,该电路中d 触发器是直接利用l u t 后面d 触发器来实现。时钟 信号c l k 由i o 脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。 触发器的输出与i o 脚相连,把结果输出到芯片管脚。 上面的例子很简单,只需要一个l u t 加上一个触发器就可以完成。对于一个l u t 无 法完成的的电路,就需要通过进位逻辑将多个单元相连,这样f p g a 就可以实现复杂的 逻辑。 为了实现查找功能,在模块里面还要一个译码器,以便对地址线进行译码。 3 3 2l u t 与岛式f p g a 的面积和延迟的关系 岛式结构的f p g a 为经典的f p g a 架构,如图3 1 0 所示,基本逻辑单元( b l e ) 是由 k 一输入的l u t ,一个d f f 以及一个2 输入的m u x 组成,k - l u t 可以实现的功能数为r , 基于l u t 的逻辑模块通过改变l u t 的输入数可以很容易的实现不同的功能,l u t 的输出 连着d f f ,d f f 用来实现基本的时序功能,而m u x 用来实现是时序输出还是组合输出。 并且该结构是由布线通道围绕逻辑模块所组成的,如图3 1 1 所示,假设w 为布线通道 的线道数”“。 k - r - 输入 图3 1 0 基于l u t 的基本逻辑单元的结构 输出 我们以一个片瓦( t i l e ) 部分为一单位面积原型,一个片瓦部分包括一个逻辑模块 和它周围的布线资源。 圈3 1 1 面积模型 假设a r 为一个l m 的面积,凡为l u t 存储位所需的面积,又因为个k 一输入的l u t 可 以存储2 位的信息,a f 为一个l m 中其它逻辑部分的面积。因此,一个逻辑模块的面积 为: a l = 2 b + a f ( 8 ) 对于特定的工艺,逻辑模块的面积由输入k 决定( 在a b 和a f 为常数的情况下) 。 而布线面积是由布线线道的宽度和相邻线道的距离所组成,因为每个线道在开关变化时 至少需要一位的信息进行控制,而线道倾斜度的平方与每位所需的面积相当,假定通道 的宽度为巩,一个t i l e 单元的水平和垂直通道的布线面积为4 曙+ 2 以钟。 因此每一片的区域面积( 包括布线面积) 为 一= 爿? + 一j = ( 佤破+ 万) 2 m 这里的n s 为所需的模块数。对于个k - l u t 的f p g a ,通道的宽度w 。可以表达为: 睨= 竽争而l - p 【( 舡1 】 在这里n 为逻辑模块的数目,p 为一参数,范围大概在0 7 - 0 8 2 r q 。 瓦= 争w 竿等籍澎若, m k = z “k 击 1 6 ( 9 ) ( 1

温馨提示

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

评论

0/150

提交评论