|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
[FPGA的13条重点知识详解( _2 z B; G# B# T
$ q- N, K+ I: x$ K m( R/ N1、查找表 LUT 和编程方式# N+ g0 {. n- q0 O. u. w
第一部分: 查找表 LUT
: J N) Z$ H/ jFPGA 是在 PAL、GAL、EPLD、cpld 等可编程器件的基础上进一步发展的产物。它是作为 ASIC 领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。 ! V7 `, z& ]; x
& V7 T# T6 K" [
由于 FPGA 需要被反复烧写,它实现组合逻辑的基本结构不可能像 ASIC 那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好 地满足这一要求,目前主流 FPGA 都采用了基于 SRAM 工艺的查找表结构,也有一些军品和宇航级 FPGA 采用 Flash 或者熔丝与反熔丝工艺的查找表结 构。通过烧写文件改变查找表内容的方法来实现对 FPGA 的重复配置。
5 @) ~ `# F6 P8 }
2 E) z2 Y. C+ v+ b根据数字电路的基本知识可以知道,对于一个 n 输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在 2n 种结果。所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA 的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。 " o7 ^* o5 g4 T6 w
+ H/ G- j9 q G. K3 z* M8 y查找表(Look-Up-Table)简称为 LUT,LUT 本质上就是一个 RAM。目前 FPGA 中多使用 4 输入的 LUT,所以每一个 LUT 可以看成一个有 4 位地址线的 的 RAM。 当用户通过原理图或 HDL 语言描述了一个逻辑电路以后,PLD/FPGA 开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。 + U$ T% n% \' C
- [ T+ C, b: |下面给出一个 4 与门电路的例子来说明 LUT 实现逻辑功能的原理。
8 y3 x# S8 t! g2 J' S8 z. P$ ~
/ Y1 F7 @ w/ V: c5 b8 e3 q0 N/ F. O. [/ m
例 1-1:给出一个使用 LUT 实现 4 输入与门电路的真值表。
3 D- Z* |& V& ?6 z' j 2 S( t7 ]7 p2 [( S/ D
从中可以看到,LUT 具有和逻辑电路相同的功能。实际上,LUT 具有更快的执行速度和更大的规模。 5 m0 {5 W# X- T* A8 d) W( r
' A! o; g' t) r9 R1 z6 f+ R( C* n第二部分: 编程方式
$ E& B& M+ a8 u% Y......! d2 {' Z9 r+ A V3 @
|
|