在系统可编程技术
第 2讲
CPLD和 FPGA的基本结构
一,CPLD性能特点
CPLD-----复杂可编程逻辑器件
( Complex Programmable Logic Device)
1、可多次编程、改写、擦除
2、采用 CMOS EPROM,EEPROM,FLASH和 SRAM等编程技术
3,I/O端数和内部触发器多达数百个,集成度远高于 PAL和 GAL
4、内部延时与器件结构和逻辑连接等无关,容易消除竞争和
冒 险
5、有多加密位,防止非法抄袭
6、采用分区阵列结构,每区相当于一 PAL或 GAL
7、基于乘积项( Product-Term)的 PLD结构
二,LATTICE公司的 ispLSI 1032的结构和特点
ispLSI 1032是 ispLSI 1000系列中容量中等的
器件,具备 5V的在系统编程能力。
1,ispLSI 1032的主要特点,
? 集成密度为 6000等效门,192个寄存器;
? 是电擦写 CMOS( EEPROM)器件;
? 有 84个引脚,其中 64个是 I/O引脚,8个是专
用输入引脚;
? 最大工作频率 fmax = 125 MHz。
2,ispLSI 1032的结构框图 —— 引脚图
3,ispLSI 1032的结构框图 —— 功能框图
1) 集总布线区 GRP( Global Routing Pool)
该区位于
芯片的中
央,其任
务是将所
有片内逻
辑联系在
一起
2) 万能逻辑块 GLB( Generic Logic Block)
GLB位于
GRP的两
边,每边
8块,共
32块
每个 GLB由与阵列、乘积项共享阵列、四输出逻
辑宏单元和控制逻辑组成。
GLB结构
GLB结构
? GLB的与阵列有 18个输入端,其中 16个来自集总布线
区 GRP,2个由 I/O单元直通输入。
? 每个 GLB有 20个与门,形成 20个乘积项,再通过 4个
或门输出。
? 4输出宏单元有 4个触发器,可被组态为组合输出或寄
存器输出(通过编程组态)。
3) 输入输出单元 IOC( Input Output Cell)
输入输出单元
IOC是功能框图
最外层的小方块,
共 64个( IN0 ~
IN63)。该单元
有输入、输出和
双向 I/O三类组态。
可通过对控制输
入输出三态缓冲
器的使能端编程
来选择
4) 输出布线区 ORP( Output Routing Pool)
? 输出布线区 ORP是介于 GLB和 IOC之间的可编程互连阵列;
? ORP的输入是 8个 GLB的 32个输出端;
? ORP的输出有 16个,分别与该侧的 16个 IOC相连;
? 通过对 ORP编程,可以将任一个 GLB输出灵活地送到 16个 I/O
端的任何一个;
? 在 ORP的旁边还有 16条通向 GRP的总线,I/O单元可以使用,
GLB的输出也可以通过 ORP使用它,从而方便地实现了 I/O端复用的
功能和 GLB之间的互连。
5) 时钟分配网络 CDN
( Clock Distribution network)
? CDN的输入信号由四个专用输入端 Y0,Y1,Y2,Y4
有提供;
? CDN的输出有五个,其中 CLK0,CLK1,CLK2提供
给 GLB,IOCLK0和 IOCLK1提供给 I/O单元;
? 时钟专用 GLB( B0)的四个输出送至 CDN,以建立用
户定义的内部时钟电路。
6) 大块结构( Megablock)
? ispLSI 1032 采用了一种分块结构,每 8个
GLB连同对应的 ORP,IOC等构成一个大块。
此外,每个大块中还包括 2个专用输入端,仅供
本大块内的 GLB使用,靠软件自动分配。
? ispLSI 1032 共有 4个大块。
三,isp器件的编程
1,条件,
PC机,ISP编程电缆,ISP Download软件。
微机
ispDOWNLOA
D
Software
( Isp下载软件)
ISP器件
系统电路板
ispDOWNLOAD
Cable
( Isp下载电缆)
2,编程接口,
? 串行数据输入 SDI( Serial Data In);
? 串行数据输出 SDO( Serial Data Out);
? 串行时钟 SCLK( Serial Clock);
? 模式选择 Mode;
? 整个芯片的使能端 ispEN。
当 ispEN引脚加高电平时,器件处于正常模式。当
ispEN引脚加低电平时,器件处于编程状态,所有 I/O端
的三态缓冲电路皆被禁止而处于高阻状态,从而割断了
芯片与外电路的联系,避免了编程芯片与外电路的互相
影响。
在系统编程接口 —— 串行菊花链方式,
ispLSI
1032
ispGDS
在系统可编
程数字开关
ispGAL ispLSI
SDO
SDI
MODE
SCLK
ispEN
5线 ISP编程接口
四,Altera公司的 MAX7128S的结构
Altera公司的 MAX7000系列器件采用多阵列矩阵结构,由
逻辑阵列块 LAB,I/O控制块和可编程互连阵列 PIA构成
MAX7128S的内部线路图
MAX7000系列的单个宏单元结构
1、逻辑阵列块 (LAB)--由 16个宏单元构成
2,可编程连线阵列
不同的 LAB通过在可编程连线阵列 (PIA)上布线,以相互连接构
成所需的逻辑。
3、
I/O
控
制
块
六,FPGA性能特点
FPGA-----现场可编程门阵列
( Field Programmable Gate Array)
1、可多次编程、改写、擦除
2、采用 SRAM等编程技术
3、提供丰富的 I/O端数和内部触发器,集成度远高于 PAL和 GAL
4、内部延时与器件结构和逻辑连接等有关,传输时延不可预测
5、由可编程逻辑模块阵列 CLB,I/O模块和互连资源构成
6、查找表( Look-Up-Table)的原理与结构
基于查找表的结构模块
查找表
LUT
输入1
输入2
输入3
输入4
输出
查找表( Look-Up-Table)简称为 LUT,LUT本质上就
是一个 RAM。 目前 FPGA中多使用 4输入的 LUT,所以每
一个 LUT可以看成一个有 4位地址线的 16x1的 RAM。 当用
户通过原理图或 HDL语言描述了一个逻辑电路以后,
PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结
果,并把结果事先写入 RAM,这样,每输入一个信号进行
逻辑运算就等于输入一个地址进行查表,找出地址对应的
内容,然后输出即可
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
输入 A 输入 B 输入 C 输入 D
查找表
输出
16x1
RAM
查找表原理
多路选择器
例,F= abcd
查找表原理
FLEX 10K系列 FPGA结构图
(1)
逻辑
阵列
LAB
是由
一系
列的
相邻
LE构
成的
(2) 逻辑单元 LE
(2)
逻
辑
单
元
LE
(4)
I/O
单
元
与
专
用
输
入
端
口
EAB 的字长是可配置的
? EAB的大小灵活可变
? 通过组合 EAB 可以构成更大的模块
? 不需要额外的逻辑单元,不引入延迟,EAB 可配置为深度达 2048的存储
器
(5) 嵌入
式阵列
块 EAB
是在输
入、输
出口上
带有寄
存器的
RAM块
,是由
一系列
的嵌入
式 RAM
单元构
成。
FPGA/CPLD多电压兼容系统
内核电压 3.3V,
2.5V或 1.8V
接受 2.5V,3.3V
或者 5.0V 输入
输 出 电 位
标准 Vccio
PLD/FPGA厂商概述
随着可编程逻辑器件应用的日益广泛,许多
IC制造厂家涉足 PLD/FPGA领域。目前世界上有十
几家生产 CPLD/FPGA的公司,最大的三家是,
ALTERA,XILINX,Lattice,其中 ALTERA和
XILINX占有了 60%以上的市场份额。
九十年代以后发展很快,是最大可编程逻
辑器件供应商之一。主要产品有,
MAX3000/7000,FLEX10K,APEX20K,ACEX1K
,Stratix,Cyclone等。
开发软件为 MaxPlusII,QuartusII
Altera
FPGA的发明者,老牌 FPGA公司,是最大可编程
逻辑器件供应商之一。产品种类较全,主要有,
XC9500,Coolrunner, Spartan,Virtex等。
开发软件为 ISE。
通常来说,在欧洲和美国用 Xilinx的人多,在
日本和亚太地区用 ALTERA的人多。 全球 PLD/FPGA
产品 60%以上是由 Altera和 Xilinx提供的。 可以讲
Altera和 Xilinx共同决定了 PLD技术的发展方向
XILINX
Lattice是 ISP技术的发明者,ISP技术极大的
促进了 PLD产品的发展,与 ALTERA和 XILINX相比,
其开发工具略逊一筹。中小规模 PLD比较有特色,
1999年推出可编程模拟器件。 99年收购 Vantis(
原 AMD子公司),成为第三大可编程逻辑器件供应
商。 2001年 12月收购 agere公司(原 Lucent微电子
部)的 FPGA部门。
Lattice在 PLD领域发展多年,拥有众多产品
系列,目前主流产品是 ispMACH4000系列 PLD和
LatticeEC/ECP系列 FPGA,此外,在混合信号芯片
上,也有诸多建树,如可编程模拟芯片 ispPAC,
可编程电源管理,时钟管理。
开发软件 ispSynario,ispLever
Lattice
小 结
? CPLD,FPGA具备高速度、高密度、高可靠性、
低功耗等优点;
? 可在系统多次编程;
? CPLD采用乘积项结构,FPGA采用查找表结构;
? CPLD内部延时确定,FPGA不确定;
? 需专用 EDA软件编程。
作业,P132 4.11 4.12 4.13
第 2讲
CPLD和 FPGA的基本结构
一,CPLD性能特点
CPLD-----复杂可编程逻辑器件
( Complex Programmable Logic Device)
1、可多次编程、改写、擦除
2、采用 CMOS EPROM,EEPROM,FLASH和 SRAM等编程技术
3,I/O端数和内部触发器多达数百个,集成度远高于 PAL和 GAL
4、内部延时与器件结构和逻辑连接等无关,容易消除竞争和
冒 险
5、有多加密位,防止非法抄袭
6、采用分区阵列结构,每区相当于一 PAL或 GAL
7、基于乘积项( Product-Term)的 PLD结构
二,LATTICE公司的 ispLSI 1032的结构和特点
ispLSI 1032是 ispLSI 1000系列中容量中等的
器件,具备 5V的在系统编程能力。
1,ispLSI 1032的主要特点,
? 集成密度为 6000等效门,192个寄存器;
? 是电擦写 CMOS( EEPROM)器件;
? 有 84个引脚,其中 64个是 I/O引脚,8个是专
用输入引脚;
? 最大工作频率 fmax = 125 MHz。
2,ispLSI 1032的结构框图 —— 引脚图
3,ispLSI 1032的结构框图 —— 功能框图
1) 集总布线区 GRP( Global Routing Pool)
该区位于
芯片的中
央,其任
务是将所
有片内逻
辑联系在
一起
2) 万能逻辑块 GLB( Generic Logic Block)
GLB位于
GRP的两
边,每边
8块,共
32块
每个 GLB由与阵列、乘积项共享阵列、四输出逻
辑宏单元和控制逻辑组成。
GLB结构
GLB结构
? GLB的与阵列有 18个输入端,其中 16个来自集总布线
区 GRP,2个由 I/O单元直通输入。
? 每个 GLB有 20个与门,形成 20个乘积项,再通过 4个
或门输出。
? 4输出宏单元有 4个触发器,可被组态为组合输出或寄
存器输出(通过编程组态)。
3) 输入输出单元 IOC( Input Output Cell)
输入输出单元
IOC是功能框图
最外层的小方块,
共 64个( IN0 ~
IN63)。该单元
有输入、输出和
双向 I/O三类组态。
可通过对控制输
入输出三态缓冲
器的使能端编程
来选择
4) 输出布线区 ORP( Output Routing Pool)
? 输出布线区 ORP是介于 GLB和 IOC之间的可编程互连阵列;
? ORP的输入是 8个 GLB的 32个输出端;
? ORP的输出有 16个,分别与该侧的 16个 IOC相连;
? 通过对 ORP编程,可以将任一个 GLB输出灵活地送到 16个 I/O
端的任何一个;
? 在 ORP的旁边还有 16条通向 GRP的总线,I/O单元可以使用,
GLB的输出也可以通过 ORP使用它,从而方便地实现了 I/O端复用的
功能和 GLB之间的互连。
5) 时钟分配网络 CDN
( Clock Distribution network)
? CDN的输入信号由四个专用输入端 Y0,Y1,Y2,Y4
有提供;
? CDN的输出有五个,其中 CLK0,CLK1,CLK2提供
给 GLB,IOCLK0和 IOCLK1提供给 I/O单元;
? 时钟专用 GLB( B0)的四个输出送至 CDN,以建立用
户定义的内部时钟电路。
6) 大块结构( Megablock)
? ispLSI 1032 采用了一种分块结构,每 8个
GLB连同对应的 ORP,IOC等构成一个大块。
此外,每个大块中还包括 2个专用输入端,仅供
本大块内的 GLB使用,靠软件自动分配。
? ispLSI 1032 共有 4个大块。
三,isp器件的编程
1,条件,
PC机,ISP编程电缆,ISP Download软件。
微机
ispDOWNLOA
D
Software
( Isp下载软件)
ISP器件
系统电路板
ispDOWNLOAD
Cable
( Isp下载电缆)
2,编程接口,
? 串行数据输入 SDI( Serial Data In);
? 串行数据输出 SDO( Serial Data Out);
? 串行时钟 SCLK( Serial Clock);
? 模式选择 Mode;
? 整个芯片的使能端 ispEN。
当 ispEN引脚加高电平时,器件处于正常模式。当
ispEN引脚加低电平时,器件处于编程状态,所有 I/O端
的三态缓冲电路皆被禁止而处于高阻状态,从而割断了
芯片与外电路的联系,避免了编程芯片与外电路的互相
影响。
在系统编程接口 —— 串行菊花链方式,
ispLSI
1032
ispGDS
在系统可编
程数字开关
ispGAL ispLSI
SDO
SDI
MODE
SCLK
ispEN
5线 ISP编程接口
四,Altera公司的 MAX7128S的结构
Altera公司的 MAX7000系列器件采用多阵列矩阵结构,由
逻辑阵列块 LAB,I/O控制块和可编程互连阵列 PIA构成
MAX7128S的内部线路图
MAX7000系列的单个宏单元结构
1、逻辑阵列块 (LAB)--由 16个宏单元构成
2,可编程连线阵列
不同的 LAB通过在可编程连线阵列 (PIA)上布线,以相互连接构
成所需的逻辑。
3、
I/O
控
制
块
六,FPGA性能特点
FPGA-----现场可编程门阵列
( Field Programmable Gate Array)
1、可多次编程、改写、擦除
2、采用 SRAM等编程技术
3、提供丰富的 I/O端数和内部触发器,集成度远高于 PAL和 GAL
4、内部延时与器件结构和逻辑连接等有关,传输时延不可预测
5、由可编程逻辑模块阵列 CLB,I/O模块和互连资源构成
6、查找表( Look-Up-Table)的原理与结构
基于查找表的结构模块
查找表
LUT
输入1
输入2
输入3
输入4
输出
查找表( Look-Up-Table)简称为 LUT,LUT本质上就
是一个 RAM。 目前 FPGA中多使用 4输入的 LUT,所以每
一个 LUT可以看成一个有 4位地址线的 16x1的 RAM。 当用
户通过原理图或 HDL语言描述了一个逻辑电路以后,
PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结
果,并把结果事先写入 RAM,这样,每输入一个信号进行
逻辑运算就等于输入一个地址进行查表,找出地址对应的
内容,然后输出即可
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
输入 A 输入 B 输入 C 输入 D
查找表
输出
16x1
RAM
查找表原理
多路选择器
例,F= abcd
查找表原理
FLEX 10K系列 FPGA结构图
(1)
逻辑
阵列
LAB
是由
一系
列的
相邻
LE构
成的
(2) 逻辑单元 LE
(2)
逻
辑
单
元
LE
(4)
I/O
单
元
与
专
用
输
入
端
口
EAB 的字长是可配置的
? EAB的大小灵活可变
? 通过组合 EAB 可以构成更大的模块
? 不需要额外的逻辑单元,不引入延迟,EAB 可配置为深度达 2048的存储
器
(5) 嵌入
式阵列
块 EAB
是在输
入、输
出口上
带有寄
存器的
RAM块
,是由
一系列
的嵌入
式 RAM
单元构
成。
FPGA/CPLD多电压兼容系统
内核电压 3.3V,
2.5V或 1.8V
接受 2.5V,3.3V
或者 5.0V 输入
输 出 电 位
标准 Vccio
PLD/FPGA厂商概述
随着可编程逻辑器件应用的日益广泛,许多
IC制造厂家涉足 PLD/FPGA领域。目前世界上有十
几家生产 CPLD/FPGA的公司,最大的三家是,
ALTERA,XILINX,Lattice,其中 ALTERA和
XILINX占有了 60%以上的市场份额。
九十年代以后发展很快,是最大可编程逻
辑器件供应商之一。主要产品有,
MAX3000/7000,FLEX10K,APEX20K,ACEX1K
,Stratix,Cyclone等。
开发软件为 MaxPlusII,QuartusII
Altera
FPGA的发明者,老牌 FPGA公司,是最大可编程
逻辑器件供应商之一。产品种类较全,主要有,
XC9500,Coolrunner, Spartan,Virtex等。
开发软件为 ISE。
通常来说,在欧洲和美国用 Xilinx的人多,在
日本和亚太地区用 ALTERA的人多。 全球 PLD/FPGA
产品 60%以上是由 Altera和 Xilinx提供的。 可以讲
Altera和 Xilinx共同决定了 PLD技术的发展方向
XILINX
Lattice是 ISP技术的发明者,ISP技术极大的
促进了 PLD产品的发展,与 ALTERA和 XILINX相比,
其开发工具略逊一筹。中小规模 PLD比较有特色,
1999年推出可编程模拟器件。 99年收购 Vantis(
原 AMD子公司),成为第三大可编程逻辑器件供应
商。 2001年 12月收购 agere公司(原 Lucent微电子
部)的 FPGA部门。
Lattice在 PLD领域发展多年,拥有众多产品
系列,目前主流产品是 ispMACH4000系列 PLD和
LatticeEC/ECP系列 FPGA,此外,在混合信号芯片
上,也有诸多建树,如可编程模拟芯片 ispPAC,
可编程电源管理,时钟管理。
开发软件 ispSynario,ispLever
Lattice
小 结
? CPLD,FPGA具备高速度、高密度、高可靠性、
低功耗等优点;
? 可在系统多次编程;
? CPLD采用乘积项结构,FPGA采用查找表结构;
? CPLD内部延时确定,FPGA不确定;
? 需专用 EDA软件编程。
作业,P132 4.11 4.12 4.13