位置:51电子网 » 技术资料 » EDA/PLD

现场可编程逻辑器件FPGA的基本结构

发布时间:2008/12/8 0:00:00 访问次数:624

  1.查找表的结构奸原理

  采用查找表(look-up-table)结构的pld芯片称为fpga,查找表简称为lut,lut本质上就是一个ram。 目前fpga中多使用4输人的lut,所以每一个lut可以看成一个有4位地址线的16×1的ram。当用户通过原理图或hdl语言描述一个逻辑电路后,fpca开发软件会自动计算逻辑电 路的所有可能的结果,并把结果事先写人ram,这样,每输人一个信号进行逻辑运算就等于输人一个地址 进行查表,找出地址对应的内容,然后输出即可。表1所示为一个4输人与门的例子。

  表1 lut实现4输入与门的例子

  2.基于查找表的fpga结构

  下面以xilinx的spartan-3芯片为例介绍fpga的内部结构,如图1所示。


图1 spartan-3 fpga芯片内部结构

  spartan-3主要包括可配置逻辑模块(clb)、i/0模块、块ram、乘法器模块和数字时钟管理模块(dcm )。在spartan-3中,clb是主要的逻辑资源,每个clb包含4个slice,并分为2组,如图2所示。左侧一组 支持逻辑和存储功能,称为slicem,右侧一组只支持逻辑功能,称为slicel。slicel减少了clb的大小并 降低了器件的成本。slicem和slicel具有如下相同组件来提供逻辑、运算和rom功能:

  ·2个4输人查找表,f和g;

  ·2个存储单元;


图2 clb内部结构

  ·2个多功能乘法器,f5mux和fgmux(或ftmux,fsmux);

  ·运算逻辑。

  因此,slice可以看成spartan-3实现逻辑的最基本结构。slice结构如图3所示。


图3 slice结构

  3,查找表结构的fpga逻辑实现原理

  以图4所示电路为例,具体说明fpga是如何利用以上结构实现逻辑的。a,b,c,d由fpca芯片的引脚输 人后进人可编程连线,然后作为地址线连到lut,lut中已经事先写人了所有可能的逻辑结果,通过地址查 找到相应的数据后输出,这样组合逻辑就实现了。该电路中d触发器是直接利用lut后面d触发器来实现的 。时钟信号clk由i/o脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出 与i/0脚相连,把结果输出到芯片引脚。这样fpga就完成了图4所示电路的功能。这个电路是一个很简单的 例子,只需要一个lut加上一个触发器就可以完成。对于一个lut无法完成的电路,就需要通过进位逻辑将 多个单元相连,这样fpga就可以实现复杂的逻辑。

  由于lut主要适合sram工艺生产,所以目前大部分fpca都是基于sram工艺的,而sram工艺的芯片在掉电 后信息就会丢失,所以需要外加一片专用配置芯片,在上电时,由这个专用配置芯片把数据加载到fpga中 ,然后fpga就可以正常工作,由于配置时间很短,不会影响系统正常工作。也有少数fpga采用反熔丝或 flashェ艺,对这种fpga,就不需要外加专用的配置芯片。


图4 fpga器件的命名规则

  4.cpld与fpga的选择

  根据cpld的结构和原理可知,cpld分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至20~30 多个组合逻辑输入。而fpga的一个lut只能处理4输人的组合逻辑,因此,cpld适合用于设计译码等复杂组 合逻辑。但fpga的制造工艺确定了fpga芯片中包含的lut和触发器的数量菲常多,往往都是成千上万, cpld一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,fpga的平均逻辑单元成本大 大低于cpld。所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用fpga就是一个 很好的选择。cpld拥有上电即可工作的特性,而大部分fpga需要一个加载过程,所以,如果系统要可编程 逻辑器件上电就工作,那么就应该选择cpld。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



  1.查找表的结构奸原理

  采用查找表(look-up-table)结构的pld芯片称为fpga,查找表简称为lut,lut本质上就是一个ram。 目前fpga中多使用4输人的lut,所以每一个lut可以看成一个有4位地址线的16×1的ram。当用户通过原理图或hdl语言描述一个逻辑电路后,fpca开发软件会自动计算逻辑电 路的所有可能的结果,并把结果事先写人ram,这样,每输人一个信号进行逻辑运算就等于输人一个地址 进行查表,找出地址对应的内容,然后输出即可。表1所示为一个4输人与门的例子。

  表1 lut实现4输入与门的例子

  2.基于查找表的fpga结构

  下面以xilinx的spartan-3芯片为例介绍fpga的内部结构,如图1所示。


图1 spartan-3 fpga芯片内部结构

  spartan-3主要包括可配置逻辑模块(clb)、i/0模块、块ram、乘法器模块和数字时钟管理模块(dcm )。在spartan-3中,clb是主要的逻辑资源,每个clb包含4个slice,并分为2组,如图2所示。左侧一组 支持逻辑和存储功能,称为slicem,右侧一组只支持逻辑功能,称为slicel。slicel减少了clb的大小并 降低了器件的成本。slicem和slicel具有如下相同组件来提供逻辑、运算和rom功能:

  ·2个4输人查找表,f和g;

  ·2个存储单元;


图2 clb内部结构

  ·2个多功能乘法器,f5mux和fgmux(或ftmux,fsmux);

  ·运算逻辑。

  因此,slice可以看成spartan-3实现逻辑的最基本结构。slice结构如图3所示。


图3 slice结构

  3,查找表结构的fpga逻辑实现原理

  以图4所示电路为例,具体说明fpga是如何利用以上结构实现逻辑的。a,b,c,d由fpca芯片的引脚输 人后进人可编程连线,然后作为地址线连到lut,lut中已经事先写人了所有可能的逻辑结果,通过地址查 找到相应的数据后输出,这样组合逻辑就实现了。该电路中d触发器是直接利用lut后面d触发器来实现的 。时钟信号clk由i/o脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出 与i/0脚相连,把结果输出到芯片引脚。这样fpga就完成了图4所示电路的功能。这个电路是一个很简单的 例子,只需要一个lut加上一个触发器就可以完成。对于一个lut无法完成的电路,就需要通过进位逻辑将 多个单元相连,这样fpga就可以实现复杂的逻辑。

  由于lut主要适合sram工艺生产,所以目前大部分fpca都是基于sram工艺的,而sram工艺的芯片在掉电 后信息就会丢失,所以需要外加一片专用配置芯片,在上电时,由这个专用配置芯片把数据加载到fpga中 ,然后fpga就可以正常工作,由于配置时间很短,不会影响系统正常工作。也有少数fpga采用反熔丝或 flashェ艺,对这种fpga,就不需要外加专用的配置芯片。


图4 fpga器件的命名规则

  4.cpld与fpga的选择

  根据cpld的结构和原理可知,cpld分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至20~30 多个组合逻辑输入。而fpga的一个lut只能处理4输人的组合逻辑,因此,cpld适合用于设计译码等复杂组 合逻辑。但fpga的制造工艺确定了fpga芯片中包含的lut和触发器的数量菲常多,往往都是成千上万, cpld一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,fpga的平均逻辑单元成本大 大低于cpld。所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用fpga就是一个 很好的选择。cpld拥有上电即可工作的特性,而大部分fpga需要一个加载过程,所以,如果系统要可编程 逻辑器件上电就工作,那么就应该选择cpld。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!