PLD/FPGA 结构与原理初步(二)

转载 2011年01月15日 11:16:00

PLD/FPGA 结构与原理初步(二)

 

来自:http://www.fpga.com.cn/

 

 

一.查找表(Look-Up-Table)的原理与结构

 

采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。

查找表(Look-Up-Table)简称为LUT,LUT本 质上就是一个RAM。 目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每 输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

下面是一个4输入与门的例子,

实际逻辑电路
LUT的实现方式

a,b,c,d 输入

逻辑输出
地址
RAM中存储的内容

0000

0
0000
0
0001
0
0001
0
....
0
...
0
1111
1
1111
1

 

 

二.基于查找表(LUT)的FPGA的结构

 

我们看一看xilinx Spartan-II的内部结构,如下图:

xilinx Spartan-II 芯片内部结构
Slices结构

Spartan-II主要包括CLBs,I/O块,RAM块和可编程连线(未表示出)。在spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。 Slices可以看成是SpartanII实现逻辑的最基本结构 (xilinx其他系列,如SpartanXL,Virtex的结构与此稍有不同,具体请参阅数据手册)

altera的FLEX/ACEX等芯片的结构如下图:

altera FLEX/ACEX 芯片的内部结构

 

逻辑单元(LE)内部结构

FLEX/ACEX的结构主要包括LAB,I/O块,RAM块 (未表示出)和可编程行/列连线。在FLEX/ACEX中,一个LAB包括8个逻辑单元(LE),每个LE包括一个LUT,一个触发器和相关的相关逻辑。 LE是FLEX/ACEX芯片实现逻辑的最基本结构(altera其他系列,如APEX的结构与此基本相同,具体请参阅数据手册)

 

二. 查找表结构的FPGA逻辑实现原理

 

我们还是以这个电路的为例:

A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然 后作为地址线连到到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。 该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的 输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了图3所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)

这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。

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

 

三. 其他类型的FPGA和PLD

   随着技术的发展,在2004年以后,一些厂家推出了一些新的PLD和FPGA,这些产品模糊了PLD和FPGA的区别。例如Altera最新的MAXII 系列PLD,这是一种基于FPGA(LUT)结构,集成配置芯片的PLD,在本质上它就是一种在内部集成了配置芯片的FPGA,但由于配置时间极短,上电 就可以工作,所以对用户来说,感觉不到配置过程,可以传统的PLD一样使用,加上容量和传统PLD类似,所以altera把它归作PLD。 还有像Lattice的XP系列FPGA,也是使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和PLD类似,但是因为容量大,性能和传统 FPGA相同,也是LUT架构,所以Lattice仍把它归为FPGA。

 

四. 选择PLD还是FPGA?

 

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

PLD/FPGA 结构与原理初步(一)

PLD/FPGA 结构与原理初步(一)一.基于乘积项(Product-Term)的PLD结构 采用这种结构的PLD芯片有:Altera的MAX7000,MAX3000系列(EEPROM工艺),Xili...
  • zhongrg
  • zhongrg
  • 2007年09月13日 17:44
  • 882

PLD/FPGA 结构与原理初步(一)

PLD/FPGA 结构与原理初步(一) 来自:http://www.fpga.com.cn/  一.基于乘积项(Product-Term)的PLD结构 采用这种结构的PLD...
  • nemoium
  • nemoium
  • 2011年01月15日 11:11
  • 232

PLD,CPLD,FPGA区别

入门以后可以学习Xilinx的ISE,Altera的QuartusII学习CPLD初学者,建议选用LATTICE,这家公司在此方面有优势主流还是Altera和Xilinx,毕竟是最大的两家PLD公司(...
  • zyboy2000
  • zyboy2000
  • 2009年05月11日 10:37
  • 6297

FPGA组成、工作原理和开发流程

********************************LoongEmbedded******************************** 作者:LoongEmbedded(kan...
  • LoongEmbedded
  • LoongEmbedded
  • 2012年01月07日 09:11
  • 10421

FPGA 二选一数据选择器

模块文件程序: module selector(a,b,key,led); input a; input b; input key; output led; assign le...
  • u011430438
  • u011430438
  • 2016年01月29日 19:04
  • 1209

PLD- FPGA与CPLD的区别

http://home.eeworld.com.cn/my/space.php?uid=170289&do=blog&id=31215 FPGA与CPLD的区别 多篇整合 系统的比较,与大...
  • iamlvshijie
  • iamlvshijie
  • 2013年01月22日 17:23
  • 787

Cardboard虚拟现实开发初步(二)

Google Cardboard 虚拟现实眼镜开发初步(二) Cardboard SDK for Unity的使用 上一篇文章作为系列的开篇,主要是讲了一些虚拟现实的技术和原理,本篇就会带领大家去...
  • sunmc1204953974
  • sunmc1204953974
  • 2015年08月02日 09:06
  • 9614

FPGA内部结构

逻辑块(Logic Block),Altera称之为逻辑阵列块(LAB),Xilinx称之为可配置逻辑课(CLB) 逻辑单元在ALTERA叫作(Logic Element,LE)LE,在XILNX中叫...
  • fengyuwuzu0519
  • fengyuwuzu0519
  • 2017年05月22日 20:53
  • 966

HTML初步认识

HTML初步认识本篇博客给大家带来html最基础的东西,也就是初步认识html,打算从以下几个方面给大家介绍: 认识什么是纯文本文件txt HTML是负责描述文档语义的语言 HTML骨架和基本语法 可...
  • u010624986
  • u010624986
  • 2016年12月16日 23:46
  • 552

FPGA第二篇:查找表结构(LUT)

这篇博客为了阐明以下原理: (1)任何组合逻辑电路均可化为”与或“表达式,用”与门-或门“二级电路实现,而任何时序电路又都是组合电路加上存储单元(触发器)构成。因此,从原理上说,与或阵列加上触发器的结...
  • qq_30866297
  • qq_30866297
  • 2016年04月20日 15:14
  • 4298
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PLD/FPGA 结构与原理初步(二)
举报原因:
原因补充:

(最多只允许输入30个字)