原创 Altera Cyclone系列FPGA资源介绍

2011-3-7 21:54 6941 7 8 分类: FPGA/CPLD

         FPGA和单片机一样,是一颗芯片,既然是芯片,就有一些内部资源。

        Altera的FPGA最基本的资源是LE,通过查看Cyclone系列FPGA手册可以看到,一个LE主要包括了一个四输入查找表,也就是LUT,LUT本质上就是一个RAM。目前Cyclone系列使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户用程序描述了一个逻辑电路以后,FPGA开发工具会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。除了一个四输入查找表以外,还有一个可编程寄存器,至于为什么说可编程,是因为可以通过程序来配置为异步或者同步触发器,具体的结构可以看Cyclone系列的芯片手册。我们通常看Altera的FPGA资源大小,就是看他有多少个LE。

        Cyclone系列芯片里面16个LE组成一个LAB,而每个LAB都有LAB控制信号,按照顺序排列在FPGA内部,每个LAB内部之间的LE数据通信通过Register chain传输,每个LAB之间的通过行或者列互联信号通信,相连的LAB,或者LAB周围的RAM,乘法器,PLL都可以通过互联线号驱动其周围的LAB。

        Cyclone系列的FPGA有内部的RAM,起初Cyclone和CycloneII系列的RAM采用的M4K,也就是说一个RAM块有4K个位,如果包括校验位,那么有4608位,可以配置为不同模式不同位宽的RAM或者ROM,而CycloneIII和CycloneIV系列的FPGA的RAM采用M9K,也就是每一块有9K数据,其实只有8192位,加上校验位的话为9216位,所以,一个M9K可以配置的RAM最大数据宽度为8192,当然,不管M4K还是M9K,都可以配置为不同模式的RAM或者ROM。这里的ROM数据,实际上是最后写到编译后的文件SOF文件或者POF文件里面去的,如果只是要修改ROM数据,可以通过指令直接修改SOF文件或者POF文件。而不需要再重新编译。

        Cyclone系列FPGA还有硬件乘法器,18*18的乘法器,可以配置为2个9*9的乘法器 ,当数据宽度大于18时候,采用多个乘法器合并实现,我们在VHDL或者Verilog里面的乘号,Altera的在FPGA软件综合自动采用乘法器替代。

        除此之外,Cyclone系列FPGA还有内部PLL,在CycloneIV之前的Cyclone系列的PLL,基本上都是通用的PLL,也就是说,可以对时钟进行倍频、分频或者移相,也可以将PLL时钟输出到专用的PLL输出管脚上,通常SDRAM的时钟都是由这些专用时钟驱动,但是注意,输入时钟是有范围的,具体可以见手册。而CycloneIV的GX系列FPGA内部集成收发器,每个收发器都有专用的PLL。从CycloneIII开始内部的PLL支持实时动态重配,具体的动态重配方法可以通过Altera的ALTPLL_RECONFIG核来实现。

       值得注意的是,FPGA时钟是至关重要的,时钟的好坏直接关系到系统的稳定,可以打个比方,电源如一个系统的血液,时钟就是一个心脏。所以,无论是Altera还是Xilinx,都会在FPGA设计上面重点提到全局时钟等概念。

      除了以上资源外,还有就是IO口资源,FPGA的IO口资源相当丰富,FPGA的IO可以根据REF电平不同接收或输出不同的电平标准的信号,如3.3V LVTTL,如2.5V的LVDS,LVPECL或者SSTL-2等,并且可以通过程序来设置驱动电流强弱,片内OTC,差分匹配,DDR输出等,CyclonreIII以及CycloneIV还支持片内上拉电阻,输入输出延时等。CycloneIV GX系列还带有高速收发器,PCIe硬核等。

        另外,CycloneIII后的系列增加了一个在线重配模块SEU,这样,可以在线将配置程序少烧写到FPGA的配置芯片剩余的地方,FPGA自动通过该模块判断是否是可用程序以,如果是,FPGA可以用该模块将旧程序替换为新程序自己升级自己。类似于ARM德IAP。

      以上就是Cyclone系列FPGA的一些基本资源,对于Stratix系列的FPGA,内部的资源相对于Cyclone系列的要更加丰富,功能更加强大,比如,逻辑资源不再是LE,二是ALM,不再是乘法器,而是DSP模块等,具体可以参看具体的芯片手册。

文章评论1条评论)

登录后参与讨论

用户377235 2013-5-2 19:29

总结的很棒,希望能够学习借鉴下博主的经验心得!

用户166060 2009-12-25 12:49

“将Mini2440开发板改成一个高速采集系统”,主意不错,小弟建议:可以把2440当单片机跑,感觉效率更高,不一定非要跑操作系统。^_^

yueleilei2004_790049340 2009-12-23 20:18

软件和硬件干好一样就可以了 革命各有分工嘛!

用户52478 2009-12-23 00:30

软件和硬件很多都相关。我觉得轮岗是不是可以试试了?至少达到相互岗位初级水平。另外一些硬件需要软件配合,这样很多事情都要牵扯到部门级别的合作问题了。

朱玉龙 2009-12-21 19:10

在小公司就怕,软件编不好(一个人能完成的软件功能和规模有限并且缺乏交流和规范性),硬件设计有缺陷(这个就属于既干软件又干硬件就不停在妥协,你都不知道哪个迁就哪个)

用户371925 2009-12-21 17:45

大公司都常把软件硬件分开做的;小公司是一个干两个事,各有利弊吧!
相关推荐阅读
用户226122 2011-04-19 15:51
Altera Cyclone系列 FPGA 的配置
        和单片机一样,FPGA运行也要有程序在里面,将程序烧写到FPGA内部的过程叫做FPGA的配置。FPGA的配置有很多种,但是无论那一种最终目的都是将程序弄到FPGA内部从而让FPGA能够...
用户226122 2011-03-29 21:45
FPGA起步说
        FPGA设计说难不难,说简单不简单,就和练武一样,学习FPGA需要先大一点基础,就像练武之人也要扎马步一样,基础打好了,才能更好的 深入学习。            首先,我觉得最重要...
用户226122 2011-03-14 20:33
Altera编程杂谈
        不同的FPGA内部有不同的结构,就好比不同的单片机有不同的处理器一样,不同的处理器指令不一样,这是因为每个处理器的指令都是根据处理器硬件设计的,那么FPGA也一样,不同的FPGA编写代...
用户226122 2011-03-07 22:13
FPGA杂聊
        什么是FPGA,说白了FPGA就是一种芯片,英文翻译为Field Programmable Gate Array,也就是现场可编程门阵列,它可以通过你写的程序改变自身的逻辑结构,从而实...
用户226122 2011-03-05 21:40
开通博客
    今天开通EDN博客。      有些时候,人是有懒惰性的,有些时候,人也会忘记,有些时候,人还会骄傲。人毕竟是人,不是神,人吃五谷杂粮,也就只能做点点人间小事,今天开通这个博客,只是想记录一下...
我要评论
1
7
关闭 站长推荐上一条 /2 下一条