当前位置:文档之家› fpga第二讲

fpga第二讲

fpga第二讲
fpga第二讲

现在开始FPGA的第二讲:

本讲内容:

一、可编程逻辑器件基本原理与结构,

第二、硬件描述语言简介

一、可编程逻辑器件基本原理与结构:

可编程逻辑器件基本原理与结构,在第一章第一讲介绍的基础上,我们再略为对基本的、简单的可编程逻辑器件做一个描述,我们重点分析CPLD和FPGA。

可编程技术发展历程:

在第一讲我们讲到了,从70年代80年代90年代器件是怎么一步步发展起来的。那么在这个基础上我们再看一下,在70年代以存储器为主的出现的可编程逻辑器件就是PROM,我们注意PROM实际上也可以实现逻辑功能的,只是在大规模的PROM器件下,利用率不是很高。然后出现了可编程的处理单元,就是CPU,80年代。我们说一个电子系统尤其是数字电子系统有三部分组成的,一个是CPU,CPU包括:单片机、DSP处理器或者是微处理器,这些处理器的指令和数据,就必须有存储器,存储器也是可编程的,但是另外一部分是电子系统的控制逻辑,或者我们说相应的粘附逻辑Logic,到90年代之前,这些粘附逻辑用的器件都是中小规模的器件,并不是可变成编程的,到了80年代后期和90年代初,出现了可编程逻辑器件以后,这样粘附逻辑也可以实现可编程,所以这个时候电子系统的三部分:CPU、存储器和逻辑,都是可编程的,这样的话对数字系统设计带来很大的方便,但是这三部分可能没有作到一个芯片上,随着半导体工艺的进一步,线宽的进一步缩小,逐步把存储器作到逻辑芯片里头,慢慢的把CPU微处理器集成到芯片里头,就可以按照系统级的要求来设计芯片,出现了片上系统,这样一些片上系统,如果用可编程逻辑器件来实现就是可编程的片上系统或者叫做SOPC,或者叫做CSOC。

什么是可编程系统?

那么从上面一个图,从存储器到CPU到逻辑电路再到一个系统,这样一个可编程技术的发展历程,我们现在来看一下,什么是可编程系统?刚才说了构成电子系统尤其是数字电子系统的三个部分是CPU、存储器和控制逻辑,在他们都是可以编程的情况下,系统可以很方便的更新、修改或者在现场装修,达到的缩短产品样品的开发周期,产品的上市时间和节约成本,这样的一个系统是可编程的系统,如果还能把这三个部分集成到一个芯片内,那么就是可编程的片上系统,或者叫做SOPC或者叫CSOC。

6、PROM

第6页这就是我们第一章看到的PROM的结构,我们说PROM是与阵列固定,或阵列可编程,这个图也可以说明PROM除了存储一些程序以外,也可以实现相应的逻辑。

7、PLA

PLA可编程逻辑阵列,第一章我们也指出了,可变成逻辑阵列是与阵列和或阵列两者都可编程的,那么在确定了你的与、或阵列的逻辑关系以后,我们可以把多出来的阵列部分可以节省下来,所以在半导体工艺里头,如果用PLA来实

现的话就可以节省面积和资源。

8、PAL

PAL器件是与阵列可编程或阵列固定,那么在实现逻辑阵列里头,PAL是用的最多的,PAL器件是一次性编程的,所以发展又出现了可以有输出可编程的多次使用的GAL器件。

9、PROM/PLA/PAL比较

这里呢我们把PROM、FPLA、PAL和GAL再列一个表说明一下,从阵列结构上来说,这四种器件都是由与阵列或阵列构成的,但是PROM是与阵列固定,或阵列可编程。PLA这里叫做FPLA,现场的可编程逻辑阵列,是与阵列或阵列都是可编程的,PAL可编程阵列逻辑,那么与阵列可编程,或阵列固定。GAL和PAL 是相同的,就是将来的输出是可以反复编程的,这四种器件PROM、FPLA、PAL 和GAL。我们说它是小规模的、简单的可编程逻辑器件,也就是我们第一章所说的简单PLD,或者说SPLD.

10、CPLD 复杂PLD器件,

复杂可编程逻辑器件,那么这个图表示了复杂可编程逻辑器件的结构,这个图上的FB(Function Block)就是功能块,一个功能块就相当于简单的CPLD当中的一个PAL器件,比如说22微时,这个图表明CPLD.

11、这里我们举个CPLD的例子,从这个例子我们可以看出,除了可编程阵列以外,还会有功能块和触发器电路来构成我的这个功能块,这个图实际上包含三个与门、或门再到易或门的宏单元再加上触发器,那么是不是使用触发器将来可以用多路开关来控制。

12、CPLD

实现一位全加器 CPLD怎么样实现逻辑功能的话,我们举一个CPLD的例子

13、FPGA:

现场可编程门阵列FPGA,FPGA从它提出这样的概念和推出这样的产品的时候,要求它必须有三种可编程的资源,就像这个图上给出来的,那么这个中间的更加表示了器件内部的结构,就是说一般的可编程逻辑器件,因为现在国际上都是把FPGA和CPLD都叫做可编程逻辑器件,只是结构上不同,我们一个叫做复杂PLD,一个叫做FPGA,FPGA和实际上都是四周是IO,中间是相应的逻辑电路,FPGA的中间的电路像阵列一样的纵横排列的,有行有列的排列的逻辑单元,中间实际上就是为连接的互连的资源。按照这种的结构,实际上必须具备三种可编程的资源,这三种可编程的资源是,I/O是可编程的,用户可以设置引腿是输入还是输出,是什么电平,是CMOS电平还是TTL电平,可以决定我是有没有上拉或者是信号激变的情况,或者是速率的快慢等等,这是一个资源,可编程资源,IO就是用户可编程的。第二个逻辑是可编程的,也就是说它中间的排成行和列的这些逻辑单元是可编程的,可以实现我们在第一讲的组合逻辑电路和时序逻辑电路,也就是说在这个逻辑块里头有实现组合逻辑的块和集成的元件触发器,下面我们讲到这样的东西怎么样构成可编程逻辑单元,这是第二

个可编程的逻辑资源,也就是说逻辑是可编程的,那么包括了组合的逻辑和触发器的时序电路;第三个可编程的资源,是可编程的互连线资源,在贯穿了行和列的逻辑块之间,分布了很多的互连线,这些互连线是可编程的,你用哪些用什么方式来把各种的功能连接起来完成我所要做的设计,那么具有这三种可编程资源以后呢,就构成了FPGA。我们又根据FPGA的逻辑实现的方式和它可编程的方式分为两类,一类它的逻辑是用查找表来实现的,编程是通过SRAM

方式来实现的,把这个类叫做SRAM查找表结构,还有一类逻辑是通过多路开关来实现的,编程是通过熔丝的通断来实现的,我们称它为多路开关反熔丝结构,或者说是反熔丝的多路开关结构。下面我们针对这两类,一类是SRAM查找表结构,一类是反熔丝的多路开关结构,来介绍一个FPGA的结构和原理。

14、SRAM查找表结构—Altera:

这个呢是SRAM查找表结构中的代表之一Altera的逻辑单元的图,大家可以看出有一个查找表实现的逻辑单元,这个逻辑单元中间的部分有四个输入,后面有一个触发器,中间还会有一些进位的逻辑和逻辑的扩展的能力,这个在早期没有,在后面的发展把这个加进去了,这个是SRAM查找表结构之一Altera的逻辑单元。

15、SRAM查找表结构—Xilinx逻辑单元

SRAM的查找表的另外一个代表,是Xilinx逻辑单元,这个逻辑单元也是查找表的,两个逻辑单元构成了一个逻辑片,叫Slice,这个图我们也可以看出来,上下也两个输入的查找表,每个都配有一个触发器,这是SRAM查找表的结构另外的一个代表Xilinx。

SRAM查找表结构—Lattice:

第16页就是第三个SRAM查找表结构的代表,Lattice的FPGA,它的逻辑的单元也是这样,像这个图上给出来的,它的逻辑单元一个查找表可以是五个输入,但是它可以分成两个四输入,也就是说它一个逻辑单元有两个输出,输入是五个,输出是两个,那么可以分成两个四输入,分别产生输出,所以我们也说它是四输入的逻辑单元,后面有四个触发器来构成,所以我们列出来了目前的FPGA市场上有代表性的三款SRAM查找表的结构一个是Altera,一个是Xilinx,另外一个是Lattice。

17、实现一位全加器

下面我们来看一下查找表的一个结构,怎么样实现逻辑功能,我们同样以实现一位全加器进行说明,在这里我们把一位全加器的真值表列出来的,三个输入信号A0、B0和进位出CI,要产生了输出S0和C0,那么按照和信号的输出是三个输入信号A0、B0、C0异或的结果,我们可以列出它的真值表,也就是说A0、B0两两相异或的时候呢,只是两个输入信号不同的时候得1,相同的时候得0,那么再跟CA异或的时候呢,不同的时候得1,相同的时候得0。这样我们就得到它的输出为0110,那么下半部分同样异或的结果跟11与的时候呢,01就得1,11就得0,所以下半部分1001。这三个信号异或的结果的真值表,三个信号两两相与相加相或的结果,我们可以列出C0的进位出的真值表,比如说A0和B0的相与是0,A0和CA相与是0,或起来还是0,那么或的话,要求三个

信号与出来都为1的时候才能得1,A和B,A0B0相与得1,其他两个呢,1跟0与是0,有一个1或起来会得1,只要两两相与里面有一个为1,那么输出就为1这个是真值表。那么查找表的结构实际上把真值表存在一个存储器里头,查找表就相当于一个存储器,这个存储器SRAM来做的。这个时候查找表的输入信号就变成查找表的地址,根据你输入信号的数值决定在查找表什么地址把它的真值取出来,就得到了我要的输出。所以在查找表里,输入信号是查找表的地址,根据输入的信号数字的实现它的逻辑功能,一般这个查找表16×1的存储器,这个图给出来了,一位全加器的实现的逻辑功能查找表来实现的。对于器件来说,只是一个存储器存取的时间,实现复杂的逻辑功能比真正的逻辑器件因为花费的存储时间,查找表怎么实现逻辑功能的,实际上把输入的信号作为查找表的地址存储相应的数字来实现相应的逻辑功能,不管逻辑功能多少的复杂,只化费一个存储器存取时间来提高运行的速度。

SRAM查找表FPGA-Altera:

第18页给出了SRAM查找表的结构的FPGA Altera的一个结构图,那么这个结构图,只是列出来了左上角四周是IO,中间是逻辑块,间隔中间是一个连线,那么它的逻辑块构成逻辑阵列扩充构成逻辑功能这是第18页。

SRAM查找表FPGA-Xilinx:

19、SRAM查找表结构的FPGA Xilinx的一个结构图,也是取的它的左上角,左边上边是它的IO块,可编程的IO资源,那么中间的排成两列,就是可编程的逻辑资源,那么这里或用横断出来这部分叫做配置存储器,这种SRAM查找表的结构,刚才我们说的SRAM是配置的方式是通过SRAM来定,也就是说器件怎么工作,是通过配置的存储器SRAM来作的,来决定器件的什么东西怎么连接起来的,实现什么功能,完成它的逻辑功能。所以这里强调一下,SRAM查找表的FPGA,SRAM我们在分类上说它是编程的方式用的SRAM存储器,但实际上这个图上可编程的逻辑单元查找表也是用SRAM来做的,所以这个SRAM应该有双重的含义,既可以说它是查找表的实现方式,本意是SRAM是配置也是用SRAM,所以不要忘了,SRAM不只是说我形容了查找表是SRAM,更主要的是配置的存储器也是SRAM做的,那么正是由于FPGA的存储器是用SRAM来做的,所以它是掉电丢失的,也就是说这样的FPGA一断电,器件把它的功能丢失了,不知道作什么,而一上电的时候呢需要对它进行配置,下面我们谈到怎么样的配置,也正是因为SRAM的配置方式,所以它是可以反复的编程的,是它真正的具备了可编程的功能,这种的可编程功能包括:动态的可编程,在线的可编程,使它具有灵活的,也正是因为这一点才能实现,原理和结构,进行了说明,那么上面就是SRAM的查找表的结果进行了说明,下面我们看一下另外一类结构:反熔丝的多路开关型的FPGA。

反熔丝的多路的开关型-Actel

20、反熔丝的多路的开关型为代表的Actel器件,在这个图上我们可以看出来,左边的这部分逻辑功能是由三个二选一的多路开关,加上一个两输入的或门构成,而中间的这个部分是由三个二选一的多路开关加上一个两输入的与门和两输入的或门组成,左边的这个图是另外的表示方法,因为从外部来看,多路开关有四个输入的信号WXYZ,控制的信号分别是S0、S1、S2、S3,左边这种S0

和S1应该用与门,中间S1、S2通过与门控制两个多路的开关。

21、反熔丝多路开关型实现全加器:

那么上面的这种三个二选一的多路开关加上一个两输入的或门,构成了这样一个逻辑块,它所实现的功能我们可以列出这样一个方程式来,也就是说,它的输出F跟四个输入信号w、x、y、z和四个控制信号S1、S2、S3、S4之间的关系,没有S0。那么这里列出来了,也就是说输出函数F在S3跟S4或为0的情况下,我们选择上面一个二选一多路开关,那么在S1为非的时候选w,在S1为真的时候我们选x,所以它的方程式为S3或S4非的时候S1非w加上S1x,当S3跟S4或出来为1的时候那么选下面一个二选一多路开关的输出,当S2

为非的时候我们选Y,当S2为1的时候我们选Z,所以就得到了F输出函数,输出信号F的函数表示式,那么我们可以设置每个变量为一个输入信号或一个固定电平,对于这个函数值,我们可以实现702种逻辑函数。 当S1和S2通过一个与门来控制的时候,这样的一种逻辑函数能够实现的逻辑函数,比其他的逻辑函数大概达到760。

22、反熔丝多路开关型-QuickLogic:

那么这里呢我们同样举实现一位全加器的和信号S跟进位信号CO的情况来看,信号应该怎么设置,那么这个时候我们设置S4等于0,S3等于进位入,W设置成A,S等于A非,S1等于B,然后呢Y等于A非,Z等于A,S2等于B,S1,S2都设置为B,那么我们把这样的一些数值带进去,S4为0,S3等于Cin。实际上,第一项S进位入的非,然后S1等于B,那么S1的非就是B非,w是A非,再加上S1等于B,S等于A非,所以这个设置就是CI进位入取非,然后与上B 非A,加上A非B,B非A加上A非B这就是AB的异或,这个异或跟CI的非与,那么我们再看后面一项S4为0,S3为C入,所以S3加上S4就等于Ci,后面的S2是B,B非,Y是A非,所以是B非A非再加上AB,这个是A和B的同或,那个是异或,这个是同或,所以C1的非与上AB的异或加上C1与上AB的同或,实际上这个就是ABC的三个信号的异或,所以这个f得到的就是S0进位和的输出,那么同样我们把S4等于0,S3等于A,w等于1,S1等于B,Y等于C1,z等于1,S2等于代到上面的式子里面去,那么就是S非上Cin非与0,再加上非与0就等于0,所以再加上Cin与上B,后面一项S3S4这两个和,实际上变成了A,而S2等于B非,C1加上B1,这样的话将来就会出现一个A跟B的相乘,A非BCin加上BC1,S2因为等于B,B非Cin所以有一个B非Cin乘以一个A非Cin乘,我们把C1提出去就得到了Cin跟A非B加上B非A相与,再加上AB,最后得到的就是AB的异或与再加上AB与,Cin和AB的异或与就相当于Cin跟A与Cin跟B与,再加上AB的与,所以我们的进位出按这个得到的是两两相与和的结果,实际上通过输入的信号或者是固定的电平,加到多路开关的控制信号上实现相应的逻辑功能,这个例子说明了反熔丝的多路开关型,是如何实现逻辑功能的,对反熔丝的编程方式说明一下,刚才我们说了FPGA 通过SRAM,通过掉电丢失的,具备了可编程的功能,对反熔丝的多路开关型,编程是反熔丝.首先说它为什么是反熔丝,相对于原来我们的PROM里头实现的编程的方式是熔丝形式的,也就是说连接的时候编程以后把熔丝的绕段,那么就断开了,编程是使这个熔丝由通到断,所谓的反熔丝恰恰的相反,反熔丝编程的时候由断变成通,由高阻变成低阻,那么同样的熔丝把它编程了以后,它

由通变断不能恢复,反熔丝在编程以后,把它从高阻变为低阻接通了以后,不可能再变为高阻断开,所以反熔丝的编程方式同样是一次性的,这个就是说不能够反复的编程,这是这两种编程的方式上很大的区别,一个是可以反复的编程,一个是反熔丝的,而ARAM的编程的次数不受限制。

23、逻辑单元(LE)定义:

那么反熔丝多路开关性的另外一个代表,就是Quicklogic。LE是另外一种反熔丝的形式,也就是说编程之后有高阻变成低阻接通,它的逻辑单元的情况比刚才的Altera要复杂,还是用一些多路开关来实现,所以我们都把它归为反熔丝的多路开关型,它的代表厂家一个是Actel, 另外一个是Quicklogic,那么鉴于SRAM查找表的FPGA具有反复的可编程的能力,所以我们主要讨论的SRAM查找表的FPGA,因为它可以反复编程的话,对于科研、研制样机都的好处,所以我们把重点放在SRAM查找表FPGA,那么根据我们前面列举的三家SRAM 查找表的FPGA结构:Altera、Xilinx和Lattice,刚才我们看了它的逻辑单元的情况,那么在这里我们又在23页列出来了他们的逻辑单元,Xilini可能有四输入的查找表加上逻辑单元构成了可配制的逻辑块,总之在一个单元里头可能会有两个四输入的逻辑单元,那么Altera是由一个四输入的查找表加上一个触发器有构成的逻辑单元,那么他在把逻辑单元排成逻辑阵列,Lattice 是在Lucent基础上实现的,所以我们刚才说它的五输入实际上有两个输出,也可以看成是两个四输入的查找表,那么两个五输入构成了四个输入,再加上四个触发器构成就相当于四个逻辑单元,那么我们说了因为从现在的FPGA的结构来看,一般都是四输入的查找表再加上触发器,构成一个叫逻辑单元(LE),定位为四输入的查找表加上一个触发器构成的一个逻辑单元我们叫做逻辑单元。

24、逻辑单元与逻辑门

下面我们看一下逻辑单元和逻辑门的关系,这张图上给出来逻辑单元和逻辑门之间的关系,逻辑单元中间的查找表四输入的查找表在实现一个与非门的时候他才等效一个逻辑门,当他把四输入的复杂的逻辑功能实现了,大概能够等效到8-9个门,那么逻辑单元的触发器构成这样一个D触发器,大概也需要8

-9个门,所以当你做最简单的逻辑时候,逻辑门大概也就是10来个门左右。当你做到复杂的逻辑时候逻辑单元加上触发器大概可以是17-18个逻辑单元,我们并不知道究竟想实现什么逻辑,我们只能按平均数来算,所以我们把一个逻辑单元的等效的逻辑门平均下来看就是12个门,从这张图可以看出来,如果是10万个逻辑单元,逻辑门是120万门,这个表一方面给出了逻辑单元到逻辑门之间按等效的计算是一个12个门的关系,而且也说明了它的发展的趋势在这个坐标,因为是对数坐标,线性增长的速度比较快,随着工艺线宽的缩小,是一个指数性上升曲线,对数上变成了直线,那么这个呢也就是说不同的器件等效的门的多少,这就是等效门数的算法,要注意的是我们说的逻辑门,实际上尤其是Xilinx FPGA有一个系统门的差别,Xilinx的查找表可以作为用户的ROM用,当你把这个查找表作为用户的ROM来用的时候,那么想实现一个16×1的存储器,等效的门数相当于64个门,门数增加的比较快,但是我们又不可能把FPGA作为存储器来用,只是为了运算方便把运算结果暂时的存储在逻辑查找表中,便于用的时候立即取过来,所以当您把查找表作为用户的ROM

来用的时候,是要占逻辑资源的,那么放的地方也是随着你的结构哪里方便我就放哪里放,所以这种存储器又叫做分布ROM,它可以分布在芯片的任何位置,只是用查找表来实现的,用他来做分布ROM的时候这个等效的门数相当于一个16×1的存储器相当于64门,实际上计算是这样,假设1/4的查找表来实现的ROM,这个时候不说用户的逻辑门,而是说系统门,以1/4的逻辑单元查找表来实现用户的ROM,相当于逻辑门翻番,也就是说原来是5000门的逻辑门,如果用1/4来实现,系统门就是1万门,简单的换算方式,这个是Xilinx单元里有这个概念,其他的A或者是Altera,他们不能实现用户的ROM,所以没有这个计算的方法,这里只有作一下说明。

25、可编程I/O-Altera

那么下面我们再看一下,最基本的FPGA的可编程资源的可编程I/O,那么第25页就给出了Altera的可编程的I/O,就是从进来以后可以控制或者是内部的功能输出或者是外部的信号的输入,都还有三态门来控制这个信号,所以在I/O里头包括三个触发器然后还加上它的控制电路。

26、可编程I/O-Altera

那么同样是Altera的可编程的I/O比较详细的结构,刚才是个简化的图,现在这个就是详细的图。

27、可编程I/O-Xilinx

Xilinx的可编程的I/O,这张图是早期的,它只有两个触发器,输入可以寄存输出也可以寄存,那么其实新的可编程的I/O它的控制也是个寄存器,可以由用户来规定逻辑电平,上拉电阻,信号畸变等等要求。

28、FPGA Process Trend:Deep Submicron Technology

FPGA的工艺趋势,那么这张图实际上说明了随着半导体工艺的发展,现在FPGA 的供电的电压也做相应的变化,这张图说明了在0.5微米的半导体工艺之前,当线宽缩小的时候我们保持了供电的电压5V不变,我们把这种线宽的缩小叫做固定电压缩小,固定电压的缩小还是能够带来速率的提高,但是在0.5微米的工艺之后,如果我们再保持电压不变,随着线宽的缩小,片内的晶体管数大量增长,工作电压再不变的话,那么功耗就会太热了,因为功耗跟电压的平方成正比,跟工作频率成正比,跟分布的参数C成正比,所以我们减小电压是最有效降功耗的方式,所以在0.5微米以后线宽缩小的时候,我们实行了全电压缩小,就是说线宽缩小,我工作电压也要缩小,所以就会出现了0.35微米的工艺我们采用3.3V电压,0.25微米的工艺2.5V电压,0.18微米的时候我们用1.8V供电电压,0.15微米的时候我们用1.5V电压,0.12微米的时候我们用1.2V电压,目前大概保持内心电压在1V左右,1V-1.25V,再要往下缩小的时候,降功耗就要采取其他的工艺的措施来保证降电压,所以现在的FPGA

芯片可能会出现I/O供电是3.3V,内心的供电是1.2V,参考的电压是2.5V这样多电压的情况,其目的就是保证功耗能够降下来,因为功耗是跟供电电压的平方成正比,所以降电压是最有效的措施。

29、Trend:More Layers of Metal

那么随着线宽的缩小,在每个芯片的金属连线的层次也越来越多,这张图说明了连线的金属层次随着增加的情况,现在已经可以达到十几层十层以上,那么更多的金属层就等于增加了FPGA跟CPLD的不同率,可以有更高的密度,更高的性能,更快的编译时间,所以现在都是采取了多层的金属连线。

30、90nm Cross-Section(SRAM)

这长图是一个SRAM的90纳米工艺的横截面,最下面是扩散区,上面是基础层,然后有金属层123,中间是通孔, 这是工艺上90纳米的一个横断面。

31,Increasing Mask & Wafer Costs

线宽的缩小增加了掩模跟Wafer的成本,一个是掩模的层次增加了,一个也改善了工艺,另外呢也许多新的装置,这些都增加了开发成本,图上给出了不同工艺的情况下,随着工艺的发展所要求的开发成本。

32、Minimum Order Quantities

随着Wafer尺寸的增加,最小的订货量也增加了,如果我们以6英寸的Wafer 在0.6微米的工艺下能够切割出来的片子数为1的话,8英寸的Wafer应该是200毫米的直径硅片,以0.2微米来说可以增加30倍的数量,以12英寸的Wafer 300毫米直径的话,0.15微米的工艺下那么它的片子数量一下子增加了200倍,相对于6英寸,所以要求最小的订货量增加。

33、逻辑限制与焊盘限制

我们下面看一下图,在线宽比较宽的时候左边的这张图,我的逻辑还没有集成多少,占的硅片面积已经比较大了,所以就是说一个复杂系统的多个逻辑,我们可能需要多个片子来实现,每个片子就限定了它的逻辑,所以叫做逻辑限制。在这样一个逻辑限制尺寸上,我放这些I/O足足的由余,不会引起die尺寸的增加,右边的这个图,当线宽的缩小以后,我已经集成了比原来足够多的逻辑以后,占的面积很小,因为我的线宽缩小了。但是对数据的要求可能从原来的8位增加到16位,增加到32位甚至到64位,对I/O的需求都大大增加,如果把我在周围把这些I/O排下来的话,就会把我的die的尺寸增大了,所以这个时候对die尺寸的限制,是焊盘的数目限制所以我们叫做焊盘限制或者叫做焊盘限制,那么在的限制之下逻辑已经放的足够多了,这个时候由于把die的尺寸增大了,我就有空间可以把一部分的存储器做成成块的ROM放在FPGA里面,这就出现了块ROM,也就是说在逻辑已经可编程的情况下,如果把存储器放进去,电子系统片上系统的集成迈了一步,而且这些都是可编程的,下一步如果嵌入处理器集成到芯片里头就完全的做成SOPC了。

34、Increasing Development Costs

那么作所有的结果都增加了开发的成本,增加了掩模和Wafer的成本,对各种半导体设计开始的时候,设计的时间加长,布局布线时候加长,校验的时候加长,这些都增加了设计的成本。这就是下面要介绍的各种开发的工具怎么样很好的完成这些设计,因为随着设计向系统级设计迈进,设计的要求也高了,没有更好的设计工具会造成成本的极大增加。 35、SOPC基本结构

第35页,刚才说了,随着线宽的缩小,存储器放进去以后,或者其他的功能

块也放进去以后,使得FPGA往可编程系统集成的方向发展,就出现了SOPC的基本结构,那么这里列出来了SOPC可编程片上系统的结构,仍然包含的只为逻辑控制实现的最基础FPGA的三个要求:可编程的输入输出单元、可编程逻辑单元、和可编程的多层次的布线资源之外,嵌入式块RAM,嵌入式功能的模块,嵌入式专用IP核,使得FPGA能够满足SOPC的这些一些要求,可编程的片上系统的要求,下面我们针对这六个方面看一下,第一个是可编程的输入输出单元.

36、可编程输入/输出单元

这里给出了Altera可编程的输入输出单元,实际上这里两种器件,是它的CycloneII的FPGA的低档次和高档次的I/O,低档次像我们前面介绍了2C5的器件可能分四个IO组,每边一个组,规模大一点的CycloneII器件,每边分成两个I/O组,一共8个组,这些组可以分别支持列出的各种的I/O标准,使它满足系统设计的接口要求,有的是接到PCI的、有的接到DRAM 接口的、有的接到图形处理接口,有的是接到其他如SSTL,HSTL,CMOS差分等各种的接口要求。

37、输入/输出单元结构(Stratix) 那么这里列出了来Stratix的输入输出的单元结构,所以在这个输入输出单元主要满足SOPC的要求,按照系统接口的要求,设置多个I/O组来满足系统接口的要求。

38、可编程逻辑单元-Normal Mode

我们看一下可编程逻辑单元,那么从这个可编程逻辑单元看,除了四输入的查找表,由一个四输入的查找表加一个触发器来构成逻辑单元之外呢,它可能还增加了进位连接,或者是级联链连接,逻辑单元可以很方便的级链起来,构成更大的结连链实现更多的加法或者乘法等等。

39、可编程逻辑单元-Arithmetic Mode

这个还是对A了刚才是它的正常的模式,实现逻辑功能,这一页说明的算术模式,实现算术运算的功能,这里的进位逻辑起到更加重要的作用,可以帮助算术更方便。

40,LAB Structure

是它的逻辑单元,逻辑阵列块,就是他把逻辑单元排成逻辑阵列,实现更强的功能,更好的级连,加上每个阵列的周围布线资源,构成的LAB的结构。

41、自适应逻辑模块(ALM)方框图

那么在SOPC的情况下,高档的器件还增加了自适应的逻辑模块叫做ALM,那么这张图给出了ALM的专用资源,有两个全加器、两个寄存器、进位链、寄存链和和共享的算术链,那么这些资源在自适应的逻辑模块中通过两个全加器、两个寄存器、进位链、寄存链和共享的算术链,可以有效的实现各种算术函数和移位寄存的功能。

42、ALM-Normal Mode

那么这是刚才说的自适应逻辑模式的正常模式Normal模式,Normal模式这里包括了更大的查找表结构,比如说6输入的查找表,比较灵活,它的这种自适应的能力来满足各种逻辑函数集成要求。

43、ALM-Extented LUT Mode

这是自适应逻辑模块的扩展的查找表模型,它已经扩展成5输入的一个查找表去做一些事情。

44、ALM-Arithmetic Mode

第44页是自适应的模块的算术模式,按四输入的查找表加触发器来实现算术的运算,所以在自适应的逻辑模块中间查找表可以很方便的适应不同用法的需要,

45、ALM-Shared Arithmetic Mode

自适应的逻辑模块的共享算术模式,那么跟上面不同的是,原来的两个四输入的查找表加一个加法器现在可能接连更多的加法器,作一些共享的算术模式,和刚才的算法模式有了扩展接连的比较多。

46、ALM-Shared Arithmetic Mode例子

我们可以看一下,第46页,这个自适应逻辑模块在共享算术模式下的一个例子,怎么样来完成一个乘法运算,这个图的左边给出了乘法运算的方式,怎么样在结构上来完成,利用自适应的逻辑模式这种共享的算术模式把一个复杂的运算方式集成进去。

47、存储器链

算术模式的寄存器链的一种结构,它把寄存器接连起来,形成了移位寄存的功能,在SOPC里头具有更强的功能,还引入了自适应的模块,还有算术的模式,正常模式还有扩展的共享的模式等等。

48、可编程的布线资源-R4 Interconnect

第48页是可编程的布线资源,在Altera的器件里头有四行的互联,一下子一根联线管四根的逻辑阵列,在行方向的互联。

49、可编成布线资源-C4 Interconnect

是在列方向管四列的连接的方式。

50、共享算术链、进位链和寄存链互连

共享算术链、进位链和寄存器链互连的方式,每个的自适应的逻辑块它的这些算术链、进位链和寄存链互连都要互相的连接起来,保证它能够多个接连,这都是互连资源的东西。

51、嵌入式块存储器-M512 RAM

第四个在SOPC的基本模式,我们上面介绍的三个基本的可编程的互连、可编程的逻辑、可编程的I/O这三个原来基本要求之外,功能也都扩展了,由于从

逻辑限制变成了PI的限制,我们可以在芯片上集成嵌入式的块存储器或者其他的功能块,我们先来看一下嵌入式的块存储器,那么这里介绍了Altera的FPGA有M512RAM,它可以配置简单的双口和单口RAM、和移位寄存,它的规模比较小,是一个512位RAM,叫做M512RAM。

52、嵌入式块存储器-M4K RAM

除了 M512RAM以外,还有4KRAM,就是每一块RAM是4K位的,那么M4KRAM可以配置成双口和简单双口、单口RAM、FIFO、ROM和移位寄存,刚才M512RAM

只能配置成简单的双口和单口RAM,那么这个地方的M4KRAM可以配置成真正的双口和简单的双口或者单口的RAM,因为它的规模比512大。

53、嵌入式块存储器-M-RAM

第三个还有可配置为真双口、简单双口和单双口RAM,FIFO作寄存的M-RAM,这个规模更大。这三种的形式,嵌入式块RAM:M512 RAM、M4K RAM和块存储器M-RAM

54、

它的层次就是这样,在左边的白块就是M512,第二个逻辑阵列之间加入的就是M4K,那么更大的右边的是MRAM,这样的一些不同规模的RAM将来可以为不同的应用来做,方便用户实现更高性能的系统功能。

55、独立时钟的双口存储器

除了刚才嵌入的块存储器有三种类型:M512、M4K和MRAM,还嵌入的功能块的是独立的时钟,讲一下在双口存储器的时钟的连接。"

56、嵌入式功能块-PLL CLK DPCLK

介绍嵌入的功能块,是锁相环和时钟,这里头给出了系统功能要求的情况下,可以提供的PLL的功能,就是锁相环的功能,这两个图左边的也是在Cyclone 器件里头规模比较小的时候的PLL功能块,而右边这一张是规模比较大的时候,PLL的数目也增加了,连接的方式也在这表示了。

57、PLL位置

那么这就给出来了在实际芯片上PLL的位置。

58、全局和区域时钟连接

第58页就给出了全局的时钟和局部时钟的连接关系。因为FPGA的逻辑单元随着器件规模的增加要保证到每个触发器触发时间一致的情况下,它必然有相应的时钟的连线来解决,有全局的时钟连线和局部的时钟连线。

59、LAB&I/O Clock

第59页给出了逻辑阵列块和I/O时钟的一些关系图。

60、I/O Clock Group

第60页给出了I/O的时钟组的情况,因为我们已经把I/O分成的不同的块,

每边两个组,每个时钟块实际上分四个区域,分头的来提供I/O的时钟。

61、I/O Clock Group

当器件的规模增加像61页所示,当我的I/O时钟分得更多的时候,同样的4K 分别对这些I/O组进行时钟 ,在FPGA里头时钟模块包括PLL等等的结构形式,将来在同步的设计里头对时钟的一些问题作进一步的讨论。

62、嵌入式功能块-内嵌乘法器

下面我们再看一下嵌入式的功能块,刚才我们已经讲了,嵌入的块RAM或者嵌入的时钟模块PLL等,那么现在我们看一下嵌入的功能块内嵌的乘法器,在PI 有限的内部有空间的情况下除了保证FPGA的功能外,嵌入更多的嵌入功能块,乘法器也是一个。那么这张图给出了嵌入的乘法器占一定的逻辑列数,嵌入的触发器是18×18位的,实际上可以拆成两个9×9的乘法器。

63、两个9×9乘法器

第63页这样一个18×18位的可以拆成两个9×9的乘法器,那么每个9位也是通过寄存以后再去做的。

64、

那么这个乘法器的相应的连接或时钟的电路在64页里头给出来了,那么在有了嵌入乘法器,当器件的线宽缩小规模更大的时候呢,进一步的可以提供了DSP 模块,就是乘法累加的模块。在高档的一些器件里头,Altera公司的Stratix Ⅱ器件里头就提供了DSP的模块,除了作乘法以外,还可以作累加计算,满足的DSP的要求,这里我们将来会有专门的章节来讲。

66、嵌入式IP核-DSP模块(Stratix Ⅱ)

66页,实际上也是一个嵌入式的IP和DS模块接连起来实现更强的DSP功能。

67、嵌入式IP核-DSP模块(Stratix Ⅱ)

表示的是Altera Stratix Ⅱ的布局。那么一般情况下,DSP模块大概占四行的LAB,在一列里头有多少个DSP模块取决于器件的规模,规模大,如果LAB 的行数多,DSP的模块也就多,将来能够实现的功能也就大。

68、DSP模块-乘法器尺寸和配置

在DSP模块里头乘法器的尺寸是可以进行设置改变的,那么一般可以实现三种乘法器:一种是9×9位,一种是18×18位还有一种是36×36位的乘法器,如果是实现9×9位的乘法器,大概可以有8个乘法器在一个DSP模块里头,带8个乘积输出;如果是18×18位的乘法器,有4个乘法器带4个乘积输出;36×36位是1个乘法器带1个乘积输出。

那么只有18×18位的乘法的情况下,可以实现两个52位的乘法累加,带有2个52位的乘法累加器;那么在9×9位的乘法模式下,可以有4个两乘法器的相加器,可以实现两个9×9的复数相乘,在18×18位的乘法模式下,有两个两乘法器相加器,也可以作两个18×18复数乘,那么4乘法器相加器在9×9

位的情况下,是两个,在18×18位的情况下是1个,也就是说乘法器的尺寸是可以进行配置和选择的。

69、软乘法器-Soft Multiplier

那么下面介绍的嵌入器的模块是一种软核,不是硬件的模块,主要是嵌入处理器,在Altera的FPGA中嵌入的微处理器叫做Nios II。

70、(六)嵌入式IP核-Nios II处理器系统

这张图就是Nios II的结构,有一个Nios II处理器核,再利用一个Avalon switches相当于一个总线功能的转换矩阵开关组织,来跟外部的器件连接,如和串口的UART的驱动和定时器Timer1,Timer2 跟LCD的屏幕连接的话由LCD 的驱动器,然后驱动。按钮呀!按钮开关呀!LED的显示和其他的译码显示有通用的I/O接口驱动来实现,其他以太网的连接有以太网的接口,跟Flash 的连接有 Flash 的接口,还可以跟外部的SDRAM ,Flash存储器等等的连接,那么也有相应的控制器,此外还可以跟片内的大规模存储器的连接等等,这个是Nios II处理器的结构,它也是一个32位的处理器。

71、嵌入式IP核-Nios Ⅱ处理器核方框图

Nios Ⅱ处理器IP核的方框图,它和一般的处理器结构类似,包括了ALU,完成各种逻辑功能运算单元,还包括32个通用寄存器和16个控制寄存器,然后有程序控制器和地址产生器,抓取指令,例外控制器、中断控制器,其他还包括指令和数据Cache,这样一种结构是RISC处理器哈佛结构,它的指令和数据总线是分开的,专门有指令口和数据口指令和数据连接,它是软核,是RISC 32位哈佛结构处理器核.

72、利用配置引导-Nios ⅡIP Core

那么Altera在设计软件中,Nios ⅡIP核提供了三种类型,一种是Nios Ⅱ的经济型Nios IIe、还有一种是Nios Ⅱ的标准型Nios IIs,还有一种Nios Ⅱ快速型Nios IIf,有专门的导引卡对三种处理器核来进行IP核配置。对于经济型Nios Ⅱe,是32位RISC处理器,经济型占用资源较少,只占用600-700个逻辑单元,大概需要两个M4K的块RAM,最高速度达到8DMIPS;第二个类型是Nios Ⅱ的标准型Nios Ⅱs,同样是RISC 32位处理器, 包括指令Cache,中断,跳转预测,还有硬件乘法器,桶形的移位寄存器,占的资源达到1200-1400个逻辑单元,用2个M4K的块存储器,还加上Cache存储器,运行速度达到37DMIPS;第三种类型就是Nios Ⅱ的快速型Nios IIf, RISC的32位处理器, 包含了指令Cache,跳转预测,硬件乘法器还有数据Cache,还有动态的跳转预测和硬件的触发器,占的资源达到1400-1800个逻辑单元,需要至少3个M4K块存储器加上Cache 存储器,可以达到60DMIPS,在导引卡上根据所选择的器件资源来选择你相应的Nios Ⅱ处理器核的类型。

73、利用配置引导-JTAG Debug Module

那么除了可以选择不同类型的Nios Ⅱ处理器核以外,在软件上还可以通过导引配置诊断模式,是通过JTAG连接的诊断模式,诊断模式,Altera提供了5种,一种是不带诊断,这种就是不占逻辑资源,不占逻辑单元不占块存储器;还有

是4个层次的诊断分为 L1、L2、L3、L4。那么在L1这个层次是一个JTAG,通过JTAG接到一个目标器件上,可以下载软件做设计软件的断点,大概需要300-400个逻辑单元,两个M4K的块存储器;L2也可以下载软件也可以做软件的断点,但是还有触发器等其他的一些资源,除了软件的断点以外还有两个硬件的断点,占用到800-900个逻辑单元,需要两个M4K存储器;还有L3,除了下载软件的目标板连接以外,有软件断点,两个硬件断点还可以做指令追踪、片上的逻辑追踪,它占用的资源达到2400-2700个的逻辑单元,大概需要4

个M4K存储器;还有一个就是L4,除了软件断点以外,还可以设置4个硬件断点,4个数据触发器,还有指令追踪和片上的逻辑追踪、片外的追踪,大概需要3100-3700个逻辑单元,需要4个M4K的存储器。

74、利用配置引导-Custom Instructions

除了诊断模式的配置以外,Nios Ⅱ还允许引入定制的指令,把定制的指令逻辑连接到Nios Ⅱ ALU以后,可以达到十到百倍的性能改进。这也使软核功能增强了。

75、Altera TriMatrix TM Memory in Stratix Ⅱ

从前面的介绍嵌入的功能模式,包括硬结构和软核,看到了Altera器件里头块存储器的结构大概有4个层次,量比较多的512位存储器块,可以实现小规模的,移位寄存,还有FI的滤波器的延迟线等等,再扩充一步是M4K的块存储器,再大规模就是MRAM,512Kbit的更大的块叫做MRAM,可以作将来视频的帧缓存,回声对消的数据存储等等。除了内部的三种类型的块存储器之外,还有一个跟外部的专用的外部存储器的接口,来达到高速的。因为不可能把所有的存储器都作进去,随着存储器规模的增加,它可以实现更多位的更大的存储器缓冲,存储器的带宽就会增加。

76、 Altera TriMatrix TM Memory in Stratix Ⅱ

进一步说明了在FPGA内部的三种M512、M4K和MRAM的规模和结构,512位块RAM大概可以达到767个块,那么4Kb的块最多可以达到364块,那么能作到的为数是36位的宽度,512位的宽度只能是18位的宽度,那么最大的512K位可以达到144位宽度,最多的时候可以达到9块,9块规模比较大,这是块RAM。

77、Core Performance Roadmap

第77页说明了Altera器件在工艺线宽缩小的情况下性能的改进,以频率来说随着工艺线宽的缩小,工作频率达到300兆,性能改进的过程中包括结构改进,用深蓝色的表示,工艺的提高这个浅蓝色的表示,黑色表示工艺的线宽规模的扩展来提高的性能,走的这样的一个道路,工艺和性能的改进和结构的改进都促进性能进一步的提高。

78、Logic&Memory Roadmap

78页是一个存储器和逻辑所走的发展的路,黑色立柱表示单元逻辑的数量增加,那么从97年到2004年大概是达到了18万个逻辑单元;2000-2004有了飞跃的增长,从90纳米的采用,那么蓝颜色的曲线表示存储器位数的规模增长,同样有一个跳越,这是2001-2002年时候存储器的位数大规模的增长,

从一批ES80存储器的位置达到了7-8兆位,最多可以达到9兆Bit,所以逻辑单元的数量的增加和存储器块规模的增长使得FPGA的功能越来越强,以后看到多方面的应用上有显著的优势。

79、SRAM查找表FPGA-Lattice器件新特性

上面介绍了Altera公司的SRAM查找表结构的FPGA的器件特性,下面我们介绍另外两家SRAM查找表结构FPGA的器件特性,Lattice器件的特性。这里给出了Lattice的ECP2的结构,像图上看出,包括了这些部分,中间部分有可编程的功能单元,PFU,还是DSP模块,支持累加乘法和累加等,下面的黑色是存储器块是18K Bit双口的存储器,一共有多少块,还有时钟的PLL锁相环电路,右边是I/O方面,有灵活的系统I/O缓冲,灵活的布线资源,是片内的,配置的逻辑包括加密更新等等,下面两个给出了振荡器和配置口,对器件进行配置的配置口,这也是Lattice比较新的器件ECP2。

80、LatticeECP2-Architecture

这里给出了LatticeECP2的结构,像图上看出的,包括这些部分,在中间的部分有可编程的功能单元叫做PFU还有DSP的模块,支持累加乘法和累加等,下面的黑色的是存储器块,是18kbit的双口RAM,双口存储器一共有多少块,还有就是系统时钟的PLL电路,锁相环电路或DLL电路,右边列出是I/O方面,有灵活的系统I/O缓冲,预制的源同步的电路还是灵活的布线的资源,还有配置逻辑,包括加密和更新等等。下面两个给出了 的振荡器和配置口,这也是Lattice的这也是比较新的器件ECP2。

81、sysDSP Block

ECP2里面的DSP模块,叫做sysDSP Block。有可编程的乘法器,如果说36×36是1个,18×18是4个,9×9位是8个,做可编程的加减或累加,可以实现可编程的流水线,输入中间输出的流水,达到325兆赫的性能,每个器件提供高达28.6GMAC(乘法累加)/秒,适合广泛的DSP功能单元,包括FFT、FIR滤波器、复数运算等等。

82、PFU(可编程功能单元)

可编程功能的单元FPU可以作到资源的最优化,最好的匹配用户的应用,最快的速度,最佳的成本,设计的工具可以调整到最佳利用这些有效的资源,它的结构也是叫做逻辑片Slice,一共有4个逻辑片在一个FPU里头,逻辑片3除了012之外,逻辑片3不支持进位逻辑,不带触发器也不作分布RAM用。

83、sysMEM Block RAM

存储器模块叫做sysMEM Block RAM。提供了18K位的存储器模块,在350兆的工作频率,每个器件有多个块ROM,ECP2最多达到56个,最少3个,表内给出了相应的可以配置的情况,可以配置成宽度和深度不同的块ROM应用,单口双口和准双口和RAM等等的工作的模式。口的宽度可以相应的调整。上面的表给出了1位、2位、4位、9位,18位,36位等等。

84、Pre-Engineered Source Synchronous I/O

预制的源同步I/O,可以实现高速的存储器接口,DDR1和2的两种形式,还有实现高速的源同步的接口包括SPI4.2和ADC/DAC变换,预先制造的I/O逻辑,支持DDR到SDR的变换,Gearbox逻辑,DQC/Strobe算法等等,这是Lattice SRAM 查找表结构的FPGA的一些新器件的特性,从这里可以看出DSP的性能,块RAM 的性能也同样的具有,在时钟信号的支持上有新的方面增加。

85、下面我们介绍一下SRAM查找表FPGA-Xilinx器件的特性。

86、Xilinx Virtex 4 Archtecture

Xilinx最新推出的SRAM查找表结构是叫做Virtex 4,这是第一个FPGA系列,它引入了3个分别不同的平台,为专门的应用,LX为逻辑为主的设计,SX以DSP为主的应用,FX是系统级的,嵌入了微处理器在里头,包括硬的微处理器,Power PC是应处理器,所以是为不同的应用专门设计的可以选择不同的平台。达到性能和成本的最佳化。

87、Virtex 4 LX

那么这个就是Virtex 4的LX的系列的特点,大家注意到这是一种新的ASMBL 的方式的结构,已经排列起来,后面我们看到I/O成两列的贯穿整个器件,包括XtremeDSP处理器, 主要是以逻辑为主,LX里头逻辑片的电路应该是数量更多。

88、Virtex 4 FX

FX类似于Virtex Ⅱ Pro一系列器件,里头有一个1-2PPC405的处理器而且MGTs传输有效地支持高速串行接口。包括以太网的MSC对网络通讯有效,Virtex 4 FX还支持以太网的MSC进行通讯,FX系列偏向系统集成的,与Virtex-Ⅱ Pro.集成了硬核极其类似的。

89、Virtex 4 SX

第89页,Virtex 4 SX系列与FX逻辑系列相比偏向于提供更多的专用算术单元,着重于Xlilinx对DSP应用的支持。这三张图给出了带X的和带+的DSP

逻辑片,器件里头多达512个,包括了块RAM是18K位的块ROM,一般是300-500左右,其他的逻辑电路。不同的片中,LX逻辑片比较多,SX是DSP处理片比较多SX包含了Virtex Por处理器,FX还包含了PowerPC处理器。

90、4th Generation Virtex

所以Xilinx的Virtex到Virtex 2到Virtex 2 PROM到Virtex 4,经历了4代,性能不断的提高,满足FPGA需求。

91、

下面我们看一下先进的处理工艺,采用先进的90纳米的工艺,用了11层的金属铜的连线,还有3层氧化物的工艺,可以达到更低的静态功耗,独有得好处是成本降低、性能提高、功耗减少、密度增加。

92、Xilinx/UMC铜工艺将改善器件性能

这里给出了铜工艺对性能改善的曲线,可以看到铜可以减少导线的延时,提高了处理速度,增加了器件的性能。所以Virtsx 4应用了11层金属铜的连线提高性能。

93、新的ASMBL TM列结构

给出了ASMBL TM这样一个新的FPGA列结构,结构上是一种变革性进展,使得不同的分化的功能资源可以混合在一起,从逻辑、DSP、块ROM、I/O、高速的串行口、DCM、处理机器Power PC、数字的时钟管理,按列的形式连接起来,使得倒装的封装工艺成为可能,采用ASMBL的列结构的新的结构,在这个结构里头I/O可以成列的贯穿器件分布,在这个图上可以看出来,左边右边各有两列I/O贯穿整个器件,从上到下。

94、优化的逻辑组织

在逻辑组织上进行了优化,是至今比较先进的CLB,有高性能也减少了所占用的资源的面积,第二、有增强的进位链,提供了高达25%的系统加速,独有的分布ROM和SRL16的选择,可以有高达16位的利用率的增益。

95、ChipSync TM工艺的重要进展

这是前面提到的ChipSync TM工艺,那么预先设计的源同步逻辑,嵌入在全部I/O中,关键的特性更容易设计,性能更高,资源上更节省。

96、XCITE数字地控制阻抗(DCI)

那么第三代的DCI可以作到串行、并行、差分终端。可以实现温度电压补偿,PCB设计更容易,有`更少的电组阻,终端在源或负载,一组端接两个电阻可以了,中端再负载都可以了。与I/O标准一起工作, 比如说STL等等。所以他在DCI的数字的控制阻抗,印制板上更少的电阻,实现相应的端接。

97、先进的串行I/O接口

先进的串行I/O接口,Virtex 4 RocketIOTM收发器是一个全双工串行收发器的模块,带集成的SERDES、时钟和数据恢复CDR。从662Mbps到大于10个Gbps 的运行,是一个很宽的运行的范围,与Virtex Ⅱ Pro兼容,支持片到片的(Chip to chip),背板、chip-to-optics就是光端的连接。

98、Smart RAM 存储器层次

那么Xilinx在片内存储器方面大概有3个层次,一个是分布RAM,它的四输入的查找表,不仅可以实现逻辑也可以实现用户的ROM RAM,也可以实现串行的移位积存,SRL16做移位寄存的,用查找表实现的,可以节省触发器;另外一个是块RAM,是真正的双口的RAM,现在做到有多个18K位的块RAM,可以实现4,除了这些片内的以外,高速的存储器接口,跟片外的接口,符合I/O标准的,这是智能的片内存储器的几个层次。

99、新一代Xtreme DSP

那么Xilinx新一代的DSP的模块是叫做Xtreme DSP,有任选累加器、加法器,任选的流水寄存器,达到了2-10倍的可替代方案的性能,可以级联按全速组

合DSP处理片,DSP性能提高,高达500M赫兹的真正18位的x 18bit MACC性能。

100、Xtreme DSP处理片(Slice)

这个就是Xtreme DSP处理片的内部结构,除了乘法器,输入端增加了两极的流水寄存器,后面又有加法器可以实现累加和加,可以很多的算术的功能实现,最大的工作频率500M赫兹。

101、Xtreme DSP Slice Cascade

DSP的处理片怎么样进行接连,Xtreme DSP处理片可以直接利用专用的互联从处理片到处理片接联在一起,有专用的互联线,接连一列的长度跟器件的具有的Xtreme DSP处理片数量来定的。级联中的C输入在两个Xtreme DSP处理片之间或单个处理堆共享。所谓的单个处理片堆是两个接连之后叫做处理堆,注意要选择的算法与每个Xtreme DSP处理片的C输入无关。选择的算法不要和C 的输入发生关系,接连以后性能可以提高。

102、集成PowerPC 405

Virtex 4 集成了PowerPC 405的处理器,PowerPC 405是现在世界上最广泛的应用嵌入的处理器结构,性能可以达到450M赫兹,680的DMIPS,它的功耗比较低,每兆赫兹才0.29毫瓦,是第二代带PowerPC 405的FPGA,它保持了软和硬的IP核,采用的CoreConnectTM总线的结构,给出了全系列系统级的IP 核,另外新的APU接口,可以提供从FPGA组织到PowerPC 核的直接存取,方便了微控制器和协处理器的支持。

103、新的Tri-Mode Ethernet MAC

新的三模式的以太网的MAC,Virtex 4完全的集成了以太网的多媒体的存储控制EMAC,可以作到每秒10/100/1000Mbps的处理速度,每个Virtex 4 FX器件有2到4个核,和UNH兼容,与PowerPC共用或者单独使用,关键的好处每个以太网的MAC节省多达4000个逻辑单元。实现单片的1000Base-X 的以太网的连接,主要为网络管理或遥远FPGA监控来定制,这是三种模式。

104、Virtex-4 保护芯片的AES提供设计安全性

利用256bit AES算法加密位流,密码的密钥可以自动地擦除恶意的篡改,是标准设计流程的一部分。所以在FPGA的销售上,Xilinx满足了美国政府的安全模式的设计标准。

105、减少动态功耗提高功能性

采取了很多的措施进一步减少动态的功耗,提高性能。静态功耗漏泄电流主要由工艺产生的,动态的功耗跟频率的增长有关,因为动态的功耗P=CV2F,跟电压的平方成正比,跟频率成正比,跟分布电容C成正比,频率的增加会提高功耗,所以在Virtex它采取了很多的措施减小功耗,首先工艺上利用三氧化物的工艺低于40%的静态的功耗,90nm的工艺,可以有低于50%的动态功耗,因为有更低的核电压,更小的电容,动态功耗也是降了50%。然后利用了集成硬IP核,可降低10倍的动态功耗,因为硬核可以用更少的晶体管实现,几个

措施使得Virtex 4功耗有明显的下降。

106、减少功耗的好处

减少功耗得好处就是发热的考虑简化了,关于热沉甚至于可以不用考虑,简化了系统的发热设计,到底是用风冷等等,方便了供电的系统设计,可以用较小的供电电路,元件比较少,PCB的空间减少,也降低了系统的成本,图上给出了一些原来需要风冷的,到Virtex 4现在不需要了,以前的供电电路印制板占比较大的空间,现在空间省下了。

107、信号和功率完整性的封装制造

它采用了信号和功率完整性的封装制造,这个图给出来的,改善信号和功率完整性,最小化封装和PCB电感,使的封装最小化和PCB电感也最小化,减少噪声大概是2/3,另外还有多方面的仿真设计和校验,而不需要附加的成本,利用与前几代相同数量的PCB层,降低了成本。

108、在Stratix特性基础上开发

这里给出了Altera的 Stratix的特性,关键的特性和改进有:TriMatrixTM

存储器,数据信号处理模块,外部存储器接口,每秒840Mbps差分I/O引脚,远程的系统更新.Stratix 2的特性和改进有:改善了存储器性能,2-4倍的DSP带宽,最新的外部的存储器接口,每秒达到1Gbps带DPA的差分I/O引脚,还有设计加密技术。

109、Stratix II 封装和用户输入/输出引脚

Stratix II封装列出来都是PGA封装,有484脚、672脚、1020脚和1508脚,外形尺寸从23毫米见方到27毫米见方到33毫米见方到40毫米见方,型号有EP2S15、EP2S30、EP2S60、EP2S90和EP2S130,EP2S180、那么上面列出来的I/O引脚的总数包括了8个可用作数据输入的专用的时钟输入引脚,那么对于EP2S60、EP2S90、EP2S130、EP2S180的引脚数包括了8个专用PLL的输入。

110、聚焦终端市场

给出了一些器件在应用上瞄准了终端市场的FPGA的应用,包括消费类、电子HDTV机顶盒、通讯、汽车和工业自动化、工业应用,计算机方面的应用、无线方面的应用、通讯方面的应用都可以用到FPGA。

111、强大的Cyclone功能

Altera 的Cyclone器件的强大功能,有以太网的存储器接口,还有差分的性能,嵌入的存储器,锁相环等等.从前面的几家的比较看出应用的终端的市场类似,功能有很大的提高。

112、设计流程趋势

那么在设计流的趋势上,在新世纪从ASIC设计流到FPGA的设计流形成了一个统一的设计流,可以共用的IP核来实现。

113、所提供的IP

这些IP特性的提供,从IP设计,IP设计工具,到移植和定制方面,另外是设计的通用方面,提供了很多新的方便。

114、不管是Altera的DSP或者是Xilinx ,Lattice有相应的软件支持,给出来Altera DSP Builder和Matlab的联合,可以加速DSP设计,这在后面我们还会介绍。

115、这个是DSP Builder设计里头怎么样应用IP核设计,我们在后面更详细的介绍。

116、利用DSP构造器中的IP核

在DSP设计里头怎么样应用IP核在DSP设计,我们后面更详细的介绍。

117、这章的最后介绍硬件的描述语言的简单的介绍。

118、硬件的描述语言HDL,硬件的描述语言就是描述数字电路和系统的一种计算机语言,利用这种语言,可以从上层(顶层)到下层(底层)(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示复杂的数字系统。这章一开始把数据系统通过复习给出了复杂设计系统的层次从电路级到逻辑级

到寄存器转移级到系统级这样的层次结构,那么硬件描述语言的发展至今已有20多年的历史,对设计自动化曾起到了极大的促进和推动作用,20世纪80年代后期,VHDL和Verilog HDL先后成为IEEE标准。VHDL是美国的一个超高速集成电路的开发计划首先采用硬件描述的语言设计来提交设计,最后变成IEEE 标准。随着系统级FPGA以及系统芯片的出现,软硬件协调设计和系统设计变得越来越重要,为适应新的情况,出现了很多新的硬件描述语言,像Superlog、System Verilog、SystemC、HandleC、Cynlib C++等等,很多为系统的设计提出的,但是有的不一定很成熟。

119、学习HDL的几点重要提示

了解HDL的可综合性问题:

如果程序是用于硬件实现(如用于FPGA设计),就必须保证程序可综合,即程序的功能可以用硬件电路实现,不是所有的HDL描述都能用硬件实现的。

我们后面的硬件描述语言介绍VH用综合的角度说,用硬件电路设计思想来编写HDL.编写HDL,就是在描述一个电路,写完一段程序后,应当对生成的电路有大体上的了解。这是对一般逻辑电路.

语法掌握贵在精,不在多:30%的基本HDL语句就可以完成95%以上的电路设计,很多生僻的语句并不能被所有的综合软件所支持。容易产生兼容性问题,也不利于其他人阅读和修改。这里强调的一个是为硬件的设计,可综合的硬件关键是要通过实践来掌握它。

120、HDL开发流程

用 HDL开发CPLD/FPGA的完整性流程为:

相关主题
相关文档 最新文档