1
10.8
现场可编程门阵列
FPGA:Field Programmable Gate Array
2
FPGA是现场可编程门阵列( Field
Programmable Gate Array )的简称,80年代中期由美国 Xilinx公司首先推出,是一种大规模可编程数字集成电路器件.它能使用户借助计算机自行设计自己需要的专用集成电路芯片,
在计算机上进行功能仿真和实时仿真,及时发现问题,调整电路,改进设计方案.
3图 10.8.1 FPGA的基本结构框图
4
一,FPGA的基本结构
1.CLB:
2.IOB:
分布于芯片中央,实现规模不大的组合、
时序电路。
分布于芯片四周,实现内部逻辑电路与芯片外部引脚的连接。
3.IR,包括不同类型的金属线、可编程的开关矩阵、可编程的连接点。经编成实现 CLB之间,CLB与 IOB之间的连接。
5
4.SRAM:
存放 CLB,IOB以及互连开关的编程数据。断电时,SRAM
信息丢失,FPGA不能实现任何功能。每次通电时,
需给 SRAM“装载”信息,自动完成。信息存放在
EPROM。
SRAM的特点:可靠,抗干扰能力强,综合测试能力强。
图 10.8.2 FPGA内 SRAM单元
Q
Q
T
读 /写数据组态控制
6
二,CLB和 IOB
Xilinx公司提出 FPGA,产品速度更新很快,主要有以下产品:
XC2000,XC3000,XC3100,XC4000,XC5200,XC8100
等。
XC3020-70PC68C
代号系列类型
2000个门速度 封装类型引脚数工艺级别
7图 10.8.3 XC2000系列的 CLB电路
1.XC2000系列的 CLB
8
四变量的任意函数
F
G
A
B
C D
Q
(a) 四变量任意函数
9
(b) 2个三变量任意函数三变量的任意函数
F
G
A
B
C
D
Q
三变量的任意函数
A
B
C
D
Q
10
图 10.8.4 CLB中组合逻辑电路的 3种组态
(c) 五变量任意函数三变量的任意函数
F
G
A
B
C
D
Q
三变量的任意函数
A
C
D
Q
M
U
X
(动态选择两个三变量函数 )
11
例 用查询表方式实现 2输入 (A,B),2输出 (G,F)
的组合逻辑电路。
图 10.7.5 两变量通用逻辑模块的原理图
12
表 10.7.1两变量通用逻辑模块的真值表输 入 输 出
A B F
0 0 0 ( C2 )
0 1 1 ( C1 )
1 0 1 ( C0 )
1 1 0 ( C3 )
13
2.XC2000系列的 IOB
图 10.7.6 XC2000系列的 IOB
14图 10.7.7 XC2000内部的互连资源
15
三,IR
1.金属线
(1)通用互连 ( General-Purpose Interconnect )
(2)直接互连 (Direct Interconnect)
(3)长线 (Long Line)
2.开关矩阵 (SM,Switching Matrices)
3.可编程连接点 (PIP,Programmable Interconnect Points)
16
图 10.7.9 开关矩阵每个引脚的连接选项
17
图 10.7.10 XC2000的直接互连线
18图 10.7.11 XC2064的长线
19
例:用 XC2000系列器件实现一个 4位二进制同步加 /减计数器。
解:
设 M为控制信号。当 M=0时,为 4位二进制同步加法计数器,其状态方程为:
Q0n+1=[?Q0]·CP?
Q1n+1=[Q0?Q1+?Q0Q1]·CP?
Q2n+1=[Q0Q1?Q2+Q0Q1Q2]·CP?
Q3n+1=[Q0Q1Q2?Q3+Q0Q1Q2Q3]·CP?
当 M=1时,为 4位同步减法计数器,状态方程为:
Q0n+1=[?Q0]·CP?
Q1n+1=[?Q0?Q1+Q0Q1]·CP?
Q2n+1=[?Q0?Q1?Q2+?Q0?Q1Q2]·CP?
Q3n+1=[?Q0?Q1?Q2?Q3+?Q0?Q1?Q2Q3]·CP?
20
因为一个 CLB含有一个 DFF,可实现一个 4变量的组合函数或一个 5变量逻辑函数,需 4个 CLB实现上述功能:
组合函数 1D Q
>C1
组合函数 1D Q
>C1
组合函数 1D Q
>C1
组合函数 1D Q
>C1
M
Q0
Q0
Q1
M
M
M
Q0
Q1
Q2
Q0
Q1
Q2Q
3
CLK
Q0
Q1
Q2
Q3
21
10.8
在系统可编程器件
ISP-PLD:In System Programmability PLD
22
在系统可编程( In-System Programming)
技术又称在线可编程技术,90年代由美国 Lattice
公司研制开发。在系统可编程技术允许设计人员在产品设计、制造甚至是进入使用阶段通过设计软件对器件、电路板或整个电子系统的逻辑功能随时进行调整或重新设计,为用户提供了极大的方便。
23
一、低密度 ISP-PLD
1.组成
2.工作方式
(1)正常工作方式
(2)诊断方式
(3)编程方式
24
图 10.8.1 ispGAL16Z8的电路结构框图
25
图 10.8.2 ispGAL16Z8片内状态机的状态转换图
HH
26
图 10.8.3 诊断 /编程方式的引脚配置
27
二、高密度 ISP-PLD
1.组成
(1)通用逻辑块 GLB
(2)集总布线区 GRP
(3)输出布线区 ORP
(4)输入 /输出单元 IOC
(5)时钟分配网络 CDN
28
44引脚 PLCC封装图
29
ispLSI/pLSI 1016
44引脚 PLCC封装引脚图
30
GLB
ispLSI1016的结构图
31
图 10.8.4 ispLSI1016的结构图
32
2.通用逻辑块 GLB(Generic Logic Block)
(1)组成
(2)组态
① 与阵列
② 乘积项共享阵列
③ 4输出逻辑宏单元
④ 控制逻辑
① 标准组态
② 高速直通组态
33
③ 异或逻辑组态
④ 单乘积项组态
⑤ 多模式组态
3.集总布线区 GRP(Global Routing Pool)
4.输出布线区 ORP(Output Routing Pool)
5.输入 /输出单元 IOC(Input Output Cell)
6.时钟分配网络 CDN(Clock Distribution Network)
7.大块 (Mega block)结构
34
图 10.8.5 GLB的结构专用输入
35
(a)标准组态
36
(b)高速直通组态
37
(c)异或逻辑组态
38
(d)单乘积项组态
39
(e)多模式组态图 10.8.6 GLB的几种 组态
40
乘积项共享阵列
41
图 10.8.7 ORP逻辑图
42
图 10.8.8 跨越 ORP连接方式
43
图 10.8.9 IOC结构图
44
图 10.8.10 IOC组态举例
45
图 10.8.11 CDN逻辑图
46
图 10.8.12 1016大块方框图
47
图 10.8.13 大块的输出使能控制
48
ISP 编程接口
49
作业题
10.8
10.9
10.10
50
ISP Synario System设计套件是基于
Synario软件的可编程逻辑器件开发系统,它能够支持 Lattice ispLSI器件,PLSI器件,
ispGAL器件,ispGDS器件以及全系列 GAL器件的设计,编译和逻辑模拟。
ISP Synario System中包含了原理图输入,
ABEL硬件描述语言 ( HDL )输入,功能模拟器和波形显示器。在混合式设计输入模式下允许在同一器件的设计中同时采用原理图,高级语言,真值表和状态图方式,使设计灵活简便。
51
Y1端是 功能复用 的,不加控制会默认为 复位端 ( RESET),要将 Y1用作 时钟输入 端,必须进行定义。
建立描述 Y1功能的参数文件,Y1ASCLK.PAR”