55
CPLD 基基基基 MAX+PLUSSII 基基 VHDL 基基

● CPLD 基础知识

  • Upload
    fauna

  • View
    134

  • Download
    0

Embed Size (px)

DESCRIPTION

● CPLD 基础知识. ● MAX+PLUSSII 简介. ● VHDL 语言. 兰州石化职业技术学院电子系. CPLD 技术应用. EDA 技术应用. 第 1 讲 前言及可编程逻辑器件. 使用对象: 专用集成电路 ASIC 的芯片设计研发人员 广大的电子线路设计人员 电子设计自动化 EDA ( Electronic Design Automation )技术是以大规模 可编程逻辑器件 为设计载体,通过 硬件描述语言 设计, EDA 软件 编译、仿真,最终 下载 到设计载体中,从而完成系统电路设计任务的新一代设计技术。. 一、前言. - PowerPoint PPT Presentation

Citation preview

Page 1: ●  CPLD 基础知识

● CPLD 基础知识

● MAX+PLUSSII 简介

● VHDL 语言

Page 2: ●  CPLD 基础知识

兰州石化职业技术学院电子系

Page 3: ●  CPLD 基础知识

EDA 技术应用

第 1 讲

前言及可编程逻辑器件

Page 4: ●  CPLD 基础知识

使用对象:•专用集成电路 ASIC 的芯片设计研发人员•广大的电子线路设计人员

电子设计自动化 EDA ( Electronic Design Automation )技术是以大规模可编程逻辑器件为设计载体,通过硬件描述语言设计, EDA 软件编译、仿真,最终下载到设计载体中,从而完成系统电路设计任务的新一代设计技术。

一、前言

Page 5: ●  CPLD 基础知识

EDA 技术的发展及技术特色

EDA 技术与计算机、集成电路、电子系统设计的发展密切相关,汇集了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,开发出来的一整套电子设计系统软件。 EDA 技术经历了三个发展阶段。

20 世纪 70 年代的计算机辅助设计( CAD )阶段。

20 世纪 80 年代的计算机辅助工程设计( CAED )阶段。

20 世纪 90 年代电子系统设计自动化( EDA )阶段。

Page 6: ●  CPLD 基础知识

在这个阶段分别开发了一个个独立的软件工具,主要有电路原理图绘制、 PCB (印刷电路板)图绘制、电路模拟、逻辑模拟等。

它们利用计算机的图形编辑、分析和计算等能力,协助工程师设计电子线路,使设计人员从大量繁琐、重复计算和绘图工作中解脱出来。

但总体来看自动化程度低,需要人工干预整个设计过程。美国 Accel 公司开发的 Tango 布线软件就是最具代表性的产品。

20 世纪 70 年代的计算机辅助设计( CAD )阶段

Page 7: ●  CPLD 基础知识

这一阶段的 EDA 工具以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计完成之前的功能测试问题,代替了设计师的部分工作,利用这些工具,设计师能在产品制造之前预知产品的功能与性能。我们所熟悉的 orCAD 和 Protel 早期的版本是这一阶段中两种典型的设计工具。

但是大部分从原理图出发的 EDA 工具仍然不能适应复杂电子系统的设计要求,而具体化的元件图形制约着优化设计。

20 世纪 80 年代的计算机辅助工程设计 (CAED) 阶段

Page 8: ●  CPLD 基础知识

20 世纪 90 年代,设计师逐步从使用硬件转向设计硬件,从单个电子产品的开发转向系统级的电子产品开发 SOC ( System on a Chip, 即片上系统集成)。

EDA 工具是以系统级设计为核心,包括系统行为级描述与结构综合、系统仿真与测试验证、系统划分与指标分配、系统决策与文件生成等一整套的电子系统设计自动化工具。这时的 EDA 工具不仅具有电子系统设计的能力,而且还能提供独立于工艺和厂家的系统级设计,具有高级抽象的设计构思手段。

具备上述功能的 EDA 软件,可以使得电子工程师在不熟悉半导体工艺的情况下,完成电子系统的设计。

20 世纪 90 年代电子系统设计自动化 (EDA) 阶段

Page 9: ●  CPLD 基础知识

三部分

大规模可编程逻辑器件

硬件描述语言

EDA 开发软件

Page 10: ●  CPLD 基础知识

PLD 能做什么呢?可以毫不夸张的讲, PLD 能完成任何数字器件的功能,上至高性能 CPU,下至简单的 74电路,都可以用 PLD 来实现。 PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。

? PLD

二、可编程逻辑器件

Page 11: ●  CPLD 基础知识

2.1 可编程逻辑器件的分类

PROM PLA PAL GAL

¼òµ¥¿É±à³ÌÂß¼­Æ÷¼þ(SPLD)

CPLD FPGA

¸ßÃܶȿɱà³ÌÂß¼­Æ÷¼þ(HDPLD)

¿É±à³ÌÂß¼­Æ÷¼þ

可编程逻辑器件按集成度分类

Page 12: ●  CPLD 基础知识

2.2 可编程逻辑器件的结构

与 - 或阵列结构( SPLD 、 CPLD )

查找表结构( FPGA )

Page 13: ●  CPLD 基础知识

输入

缓冲

电路

阵列

输出

缓冲电路

出… … 2.3 基本 PLD 器件的原理结构图

与 - 或阵列结构

Page 14: ●  CPLD 基础知识

阵列线连接表示

2.3 基本 PLD 器件的原理结构图

Page 15: ●  CPLD 基础知识

1、输入缓冲器

2.3 基本 PLD 器件的原理结构图

Page 16: ●  CPLD 基础知识

2 、可编程“与”阵列

2.3 基本 PLD 器件的原理结构图

Page 17: ●  CPLD 基础知识

3、可编程“或”阵列 2.3 基本 PLD 器件的原理结构图

Page 18: ●  CPLD 基础知识

可编程“与——或”阵列 2.3 基本 PLD 器件的原理结构图

Page 19: ●  CPLD 基础知识

6、输出电路

完成直接或寄存器输出及输出信号的反馈

2.3 基本 PLD 器件的原理结构图

Page 20: ●  CPLD 基础知识

一位加法器

与阵列(可编程)

或阵列(可编程)

0A1A

1A 1A 0A 0A1F 0F

2.3 基本 PLD 器件的原理结构图

Page 21: ●  CPLD 基础知识

2.4 简单可编程逻辑器件的特点

PROM( Programmable Read Only Memory )可编程只读存储器包括 EPROM、 EEROM。

PLA ( Programmable Logic Array )可编程逻辑阵列

PAL( Programmable Array Logic )可编程阵列逻辑

GAL( Generic Array Logic )通用阵列逻辑

Page 22: ●  CPLD 基础知识

器件名 与阵列 或阵列 输出电路

PROM 固定 可编程 固定

PLA 可编程 可编程 固定

PAL 可编程 固定 固定

GAL 可编程 固定 可组态

4种 SPLD 器件的区别

2.4 简单可编程逻辑器件的特点

Page 23: ●  CPLD 基础知识

1、 PROM表达的 PLD 图阵列

与阵列(固定)

或阵列(可编程)

0A1A

1A 1A 0A 0A1F 0F

用 PROM 完成半加器逻辑阵列

与阵列(固定)

或阵列(可编程)

0A1A

1A 1A 0A 0A1F 0F

011

10100

AAF

AAAAF

011

10100

AAF

AAAAF

2.4 简单可编程逻辑器件的特点

Page 24: ●  CPLD 基础知识

­­2 、 PLA 逻辑阵列示意图

与阵列(可编程)

或阵列(可编程)

0A1A

1A 1A 0A 0A1F 0F

2.4 简单可编程逻辑器件的特点

Page 25: ●  CPLD 基础知识

PLA 与 PROM 的比较0A1A

1F 0F

2A

2F

0A1A

1F 0F

2A

2F

2.4 简单可编程逻辑器件的特点

Page 26: ●  CPLD 基础知识

3、 PAL可编程阵列逻辑

0A1A

1F 0F

0A

1A

1F

0F

2.4 简单可编程逻辑器件的特点

Page 27: ●  CPLD 基础知识

­­­­­General­Array­Logic­Device

•GAL 的与阵列和 PAL 的类似•或阵列及输出寄存器则采用 OLMC输出逻辑宏单元•OLMC 最多有 8 个或项,每个或项最多有 32 个与项•采用 EEPROM 技术,电擦除,可多次编程•可以取代中小规模数字集成电路和 PAL 器件

4、 GAL通用阵列逻辑

2.4 简单可编程逻辑器件的特点

Page 28: ●  CPLD 基础知识

逻辑宏单元

输入 / 输出口

输入口

时钟信号输入

三态控制

可编程与阵列

固定或阵列

GAL16V8

Page 29: ●  CPLD 基础知识

OLMC内部结构

GAL16V8 的结构图

I/O(n)MU

TP

11100100

0

1

F

D

XOR(n)

CLOCK

Vcc

接零级输出

反馈

0AC

1AC

1G 2G

3G 4G

5G

(m)

110110

00

TSMU

X

X

OMUX

0

1

OE

MU

(n)1AC

1AC

(n)

X

接或矩阵

0AC*

Page 30: ●  CPLD 基础知识

引脚图

Page 31: ●  CPLD 基础知识

2.4 LATTICE 公司 ispLSI 1032 的结构和特点

ispLSI 1032 是 ispLSI 1000 系列中容量中等的器件,具备 5V 的在系统编程能力。

1. ispLSI 1032 的主要特点:•集成密度为 6000 等效门, 192 个寄存器;•是电擦写 CMOS ( EEPROM )器件;•有 84 个引脚,其中 64 个是 I/O引脚, 8 个

是专用输入引脚;

•最大工作频率 fmax = 125 MHz 。

Page 32: ●  CPLD 基础知识

2. ispLSI 1032 的结构框图——引脚图2.4 LATTICE 公司 ispLSI 1032 的结构和特点

Page 33: ●  CPLD 基础知识

3. ispLSI 1032 的结构框图——功能框图

2.4.1 LATTICE 公司 ispLSI 1032 的结构和特点

Page 34: ●  CPLD 基础知识

1) 集总布线区 GRP ( Global Routing Pool )

该区位于芯片的中央,其任务是将所有片内逻辑联系在一起

2.4 LATTICE 公司 ispLSI 1032 的结构和特点

Page 35: ●  CPLD 基础知识

2) 万能逻辑块 GLB ( Generic Logic Block )

GLB位于GRP 的两边,每边8块,共 32块

2.4 LATTICE 公司 ispLSI 1032 的结构和特点

Page 36: ●  CPLD 基础知识

每个 GLB由与阵列、乘积项共享阵列、四输出逻辑宏单元和控制逻辑组成。

GLB结构

2.4 LATTICE 公司 ispLSI 1032 的结构和特点

Page 37: ●  CPLD 基础知识

GLB结构

•GLB 的与阵列有 18 个输入端,其中 16 个来自集总布线区 GRP , 2 个由 I/O 单元直通输入。

•每个 GLB 有 20 个与门,形成 20 个乘积项,再通过 4个或门输出。

•4输出宏单元有 4 个触发器,可被组态为组合输出或寄存器输出(通过编程组态)。

2.4 LATTICE 公司 ispLSI 1032 的结构和特点

Page 38: ●  CPLD 基础知识

3) 输入输出单元 IOC ( Input Output Cell )

输入输出单元 IOC 是功能框图最外层的小方块,共 64 个( IN0 ~ IN63 )。该单元有输入、输出和双向 I/O 三类组态。可通过对控制输入输出三态缓冲器的使能端编程来选择

2.4 LATTICE 公司 ispLSI 1032 的结构和特点

Page 39: ●  CPLD 基础知识

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 之间的互连。

2.4 LATTICE 公司 ispLSI 1032 的结构和特点

Page 40: ●  CPLD 基础知识

5) 时钟分配网络 CDN( Clock Distribution network)

•CDN 的输入信号由四个专用输入端 Y0 、 Y1 、 Y2 、Y4 有提供;

•CDN 的输出有五个,其中 CLK0 、 CLK1 、 CLK2提供给 GLB , IOCLK0 和 IOCLK1提供给 I/O 单元;

•时钟专用 GLB ( B0 )的四个输出送至 CDN ,以建立用户定义的内部时钟电路。

Page 41: ●  CPLD 基础知识

6) 大块结构(Megablock)•ispLSI 1032 采用了一种分块结构,每 8

个 GLB连同对应的 ORP 、 IOC 等构成一个大块。 此外,每个大块中还包括 2 个专用输入端,仅供本大块内的 GLB 使用,靠软件自动分配。

•ispLSI 1032 共有 4 个大块。

2.4 LATTICE 公司 ispLSI 1032 的结构和特点

Page 42: ●  CPLD 基础知识

2.5.1­­­­­­FPGA----- 现场可编程门阵列( Field­­Programmable­Gate­Array )

1、可多次编程、改写、擦除

2 、采用 SRAM等编程技术

3、提供丰富的 I/O端数和内部触发器,集成度远高于 PAL和GAL4、内部延时与器件结构和逻辑连接等有关,传输时延不可预测

5、由可编程逻辑模块阵列 CLB 、 I/O 模块和互连资源构成6、查找表( Look-Up-Table) 的原理与结构

2.5 FPGA 性能结构特点

Page 43: ●  CPLD 基础知识

基于查找表的结构模块 基于查找表的结构模块

查找表LUT

1输入

2输入

3输入

4输入

输出

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

2.5.1 FPGA 性能结构特点

Page 44: ●  CPLD 基础知识

00

0

00

1

01

0

00

00

10

1

输入 A 输入 B 输入 C 输入 D

查找表输出

16x1RAM

查找表原理

多路选择器

2.5.1 FPGA 性能结构特点

Page 45: ●  CPLD 基础知识

例: F= abcd

2.5.1 FPGA 性能结构特点

Page 46: ●  CPLD 基础知识

2.6 CPLD 性能特点 CPLD----- 复杂可编程逻辑器件( Complex Programmable Logic Device )

1、可多次编程、改写、擦除2 、采用 CMOS EPROM、 EEPROM、 FLASH和 SRAM等编程技术

3、 I/O端数和内部触发器多达数百个,集成度远高于 PAL和GAL4、内部延时与器件结构和逻辑连接等无关,容易消除竞争和

冒 险5、有多加密位,防止非法抄袭

6、采用分区阵列结构,每区相当于一 PAL 或 GAL

7 、基于乘积项( Product-Term) 的 PLD结构

Page 47: ●  CPLD 基础知识

2.6.1 FLEX 10K 系列 FPGA 结构图

Page 48: ●  CPLD 基础知识

(1)

逻辑阵列LAB是由一系列的相邻LE构成的

行连线带

列连线带

LAB 局部连线

LAB 控制信号

专用输入与全局信号

行连线带

列到行连线带

列连线带

进位输出与级联输出

进位输入与级联输

Page 49: ●  CPLD 基础知识

(2) 逻辑单元 LE2.6.1 FLEX 10K 系列 FPGA 结构图

可编程寄存器

到快速互联通道

到 LAB 的局部互联

Page 50: ●  CPLD 基础知识

PLD/FPGA厂商概述

随着可编程逻辑器件应用的日益广泛,许多 IC制造厂家涉足 PLD/FPGA 领域。目前世界上有十几家生产 CPLD/FPGA 的公司,最大的三家是: ALTERA , XILINX, Lattice ,其中 ALTERA 和 XILINX占有了 60%以上的市场份额。

Page 51: ●  CPLD 基础知识

九十年代以后发展很快,是最大可编程逻辑器件供应商之一。主要产品有: MAX3000/7000,FLEX10K,APEX20K, ACEX1K, Stratix, Cyclone 等。 开发软件为MaxPlusII,QuartusII

Altera

Page 52: ●  CPLD 基础知识

FPGA 的发明者,老牌 FPGA 公司,是最大可编程逻辑器件供应商之一。产品种类较全,主要有: XC9500 , Coolrunner , Spartan, Virtex等。 开发软件为 ISE 。 通常来说,在欧洲和美国用 Xilinx的人多,在日本和亚太地区用 ALTERA 的人多。 全球 PLD/FPGA 产品 60%以上是由 Altera 和 Xilinx 提供的。 可以讲 Altera 和 Xilinx 共同决定了 PLD 技术的发展方向

XILINX

Page 53: ●  CPLD 基础知识

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

Page 54: ●  CPLD 基础知识

Lattice

Page 55: ●  CPLD 基础知识

可编程逻辑器件的发展历程

70 年代 80 年代 90 年代

PR

OM

和PL

A

器件

改进的 P

LA

器件

GA

L

器件

FP

GA

器件

EP

LD

器件 C

PL

D器件

内嵌复杂功能模块的 SoPC