热度 19
2012-8-29 14:10
3331 次阅读|
6 个评论
2.2基于反熔丝技术原理 2.2.1熔丝与反熔丝 在叙述基于反熔丝技术FPGA的电路原理之前,我们先来看看什么是熔丝,什么是反熔丝,以免在后面的叙述中大家会一直带着这个问题,一致越看越费劲。 熔丝的概念大家可能没有,但是保险丝的概念相信更接近我们生活,它们并不仅仅有个丝的关系在里面,其实原理是一样的。小时候,那时候还是老一代电表,几户人家公用一个电表,晚上用的电器多了,特别是那时农村里电视是个打发时间的好东西,一到晚上功率一大,经常断电,一查就是烧了保险丝,当时家里没少备着,看大人们楼梯一架,马上就好了,还以为他们很厉害,修电成了那时的梦想。当然后来才知道这是一件多么容易实现的理想。 我们这里的熔丝是小型的保险丝,小到只有用显微镜才能看得到,它的基本原材料也是硅。保险丝是大功率时会过载熔断,熔丝也一样遇到大电流大电压的时候也会断开。 反熔丝呢?反熔丝仅从文字上看猜到,它们的技术原理正好相反。反熔丝最开始的时候是连接两个金属连线的微型非晶体硅柱,在未编程状态下,非晶体硅就是一个绝缘体,也就是意味着断开,当遇到大电流和大电压的时候就会变成电阻很小的导体,几乎就是通路了。 2.2.2熔丝与反熔丝编程机理 我们大概知道了这个反熔丝的概念了,我们是如何利用这样的技术来实现我们大规模的可编程逻辑阵列的呢?我们先来看几个简单的例子,看看我们这个熔丝和反熔丝是如何形成我们简单逻辑的可编程。 其实最早的为人所知允许开发者进行器件可编程的是这个熔丝技术。如图,是一个简单的或门可编程。 假如我们要实现的关系是 ,那么我们就可以用高电流和高电压将第2、4个电熔丝给熔断,那么相当于2和4是断开的,从而实现我们的功能逻辑。 同样,我们来看看如果用反熔丝是怎样实现我们或门可编程的,如图。 要实现同样的功能逻辑 ,那么可以通过高电流和高电压将未编程的1号和3号反熔丝进行拉长处理,相当于1号和3号开关给合上。 好了我们知道了不管是熔丝还是反熔丝,都相当于开关,只不过熔丝编程操作的是需要的逻辑的反断开,而反熔丝的编程操作是将需要的逻辑给接上。这样就为反熔丝型FPGA提供的可编程基础。这里需要说明的是,我们现在的基于各种技术的FPGA里并没有基于熔丝型的FPGA,但是在可编程的PROM里面有采用熔丝技术的,所以在这里对熔丝可编程性一并做一个说明,也说不准以后会出现熔丝型FPGA。 2.2.3最小单元MUX 什么是MUX?在介绍基于SRAM技术的FPGA里有用门电路搭建过,它是二选一多路选择器。为什么介绍它呢?它是构成基于反熔丝型FPGA的基本结构,是怎样构成的呢?我们还是先看一个这个简单的二选一多路器,如图。 在输入信号s、a、b输入端各选一个反熔丝进行通电拉长,假如是1、3、5,按照之前的约定,那么就得到输出为 。不知道大家发现一个规律没有,当发生乘操作的时候,都有s信号或其反信号,为二选一的选择开关信号;当发生加操作的时候,加的两项加数是作为二选一的被选择信号。从CPLD结构里得知,有了乘和加,就能够实现任何多项式,也就能实现或逼近任意函数了。有些地方有说基于MUX结构的FPGA和这里说的基于反熔丝技术的FPGA结构至少目前说的是一回事,因为目前还没有基于其他技术的FPGA是MUX结构的。 有了这个基本单元,为了让我们熟悉这个结构,我们来看这么一个电路图,如图XX,假如我们将开关我们来看看它实现的是什么功能? 我么先来分析第一个多路器,得到 ,由第二个多路器得到 ,化简得 ,同样可由第三个多路器得到 ,将 f1、f2 代入并化简后得到逻辑 。 2.2.4基于反熔丝技术的优缺点讨论 既然是讨论,那我们就得带着问题进行探讨。为什么我们有了这个基于SRAM技术的FPGA还要用反熔丝技术?它为什么会产生?哪种需求需要它?等等带着这些问题,我们来说下基于反熔丝技术的优缺点。 在上面介绍SRAM技术的之后,我们知道了,基于SRAM技术的最大的缺点就是掉电失配,上电重配,外围必须要用配置存储芯片,占用板级空间,而且基于SRAM的FPGA本身最小单元的面积相对来说比较大,也就决定了由它得到的同等逻辑的FPGA面积大。然而基于反熔丝技术的FPGA是非易失性的,配置数据在系统掉电后依然存在,上电后,系统会立刻使用,不需要额外的配置存储芯片来配置,这样就节约了额外的板级面积了,同时尽管基于反熔丝的需要额外的编程电路,但是当规模达到了百万千万的时候,它的密集性就会很明显了,而现在的一些基于SRAM技术的已达到这个规模了,所以这一点在今后看会越来越明显。其实大家细心一点就会发现,ACTEL的一些型号FPGA芯片大部分面积很小的。 反熔丝型的FPGA的另一个很大的优点也是它能够和基于其他技术的FPGA竞争生存下去的特性就是,它生来就是免疫辐射。这个对于军事航空航天等有特别要求的场合来讲还是非常有用的。在这些环境下,基于SRAM技术的FPGA里面的LUT存储单元在受到外部辐射,粒子流射线会导致存储在SRAM中的逻辑1和0翻转,最终导致整个逻辑功能错乱。虽然基于SRAM的FPGA早期这针对这些环境也有解决策略,对设计采用多倍冗余设计,采用多偏制,一个表保存多份,当其中一份或者几份发生倒转,但是大部分没有发生倒转,程序通过判断后还能正常运行,但是这不是根本解决问题的方法,只是减小错误发生概率,也是以消耗几倍的资源来满足的。 其实基于反熔丝的器件还有一些有点的,功耗低速度快延时小等,问题是说了这么多好处,为什么还是发展的相对基于SRAM技术的FPGA落后很多呢?问题出在于反熔丝制造工艺上,它必须要一些很复杂的处理,能力不行,即使再好也只能眼巴巴的看着。但是后面的发展,这些诱惑性还是会引起厂商的重视的。