1. 概述
基于可编程逻辑器件的数字系统设计. 主要内容. 1. 概述. 2. 可编程逻辑器件的结构和工作原理. 3.VHDL 语言. 4. 数字系统设计基础. 5.QuartusII 软件使用. 基于可编程逻辑器件的数字系统设计. 在过去的 40 年中,数字电路发生了巨大的变化. 60 年代,数字电路用分立元件构成,如晶体管和电阻. 70 年代,出现集成电路,进入微电子时代. 小规模集成电路 SSI. 中规模集成电路 MSI. 大规模集成电路 LSI. 超大规模集成电路 VLSI. 巨大规模集成电路 GLSI. 基于可编程逻辑器件的数字系统设计.
1. 概述
E N D
Presentation Transcript
基于可编程逻辑器件的数字系统设计 主要内容 1.概述 2.可编程逻辑器件的结构和工作原理 3.VHDL语言 4.数字系统设计基础 5.QuartusII 软件使用
基于可编程逻辑器件的数字系统设计 在过去的40年中,数字电路发生了巨大的变化 60年代,数字电路用分立元件构成,如晶体管和电阻 70年代,出现集成电路,进入微电子时代 小规模集成电路SSI 中规模集成电路MSI 大规模集成电路LSI 超大规模集成电路VLSI 巨大规模集成电路GLSI
基于可编程逻辑器件的数字系统设计 30年前,Intel公司总裁Moore提出了著名的Moore Law:每经过1.5~2年,集成电路的集成度提高1倍。 今天,单片集成电路中可以集成几亿只晶体管。
可编程逻辑器件概述 一、数字系统设计方法 1.采用标准集成电路设计 电路体积大、重量大、功耗大、可靠性低 2.采用可编程阵列逻辑器件设计 3.采用专用集成电路(简称ASIC)设计
PROM(可编程只读存储器,70年代) PLA(可编程逻辑阵列,70年代中) 简单PLD PAL(可编程阵列逻辑,70年代末) GAL(通用阵列逻辑,80年代中) PLD 复杂可编程逻辑器件CPLD 现场可编程门阵列FPGA 可编程逻辑器件概述 二、可编程逻辑器件的分类
互补 输入 和 项 乘积项 输入 信号 输出 函数 输 入 电 路 与 门 阵 列 或 门 阵 列 输 出 电 路 反馈输入信号 可编程逻辑器件概述 三、可编程逻辑器件的基本结构 由“与门阵列”和“或门阵列”加上输入输出电路构成 任何组合函数都可表示为与—或表达式: 用两级与—或电路实现
A 输入变量 输入变量 16×1 RAM (LUT) B F C D 可编程逻辑器件概述 查找表结构器件 查找表(Look Up Table)实际上是用静态存储器 (SRAM)构成函数发生器。 可一实现任意4变量的组合电路
A 1 A A A A ≥1 & B B F F C C D D ≥1 & F1 F2 × × A B C D A B C D 可编程逻辑器件概述 四、PLD的逻辑符号表示方法 1. 输入缓冲器表示方法 2. 与门和或门的表示方法 × 编程连接 固定连接 F2=B+C+D F1=A•B•C
与阵列 或阵列 A 1 1 B C 1 & & & & & & & & Y0 ≥1 Y1 ≥1 Y2 ≥1 简单可编程逻辑器件 一、可编程只读存储器PROM 特点:与阵列固定、或阵列可编程 与阵列最小项 或阵列最小项的和项
A 1 1 B ABC C 1 ABC ABC & & & & & & & & Y0 ≥1 Y1 ≥1 Y2 ≥1 可编程逻辑器件PLD 例:用PROM实现以下逻辑函数: 解: 对于大多数逻辑函数而言,并不需要使用全部最小项,造成浪费 ABC
简单可编程逻辑器件 (1)由此可写出输出逻辑函数的最小项表达式为: F1=m(4,8,9,12,13,14) F2=m(0,5,10,15) F3=m(1,2,3,6,7,11) (2)把A1A0和B1B0作为PROM的输入信号,F1、F2和F3为或阵列的输出,下图是用PROM实现比较器的阵列图。
简单可编程逻辑器件 (3)选用PROM的容量16×3位可满足要求。 0 . . . 16 可见,以PROM实现简单的组合逻辑电路函数是很方便的。 一般PROM输入地址线较多,容量也较大,又因为PROM的与阵列固定,必须进行全译码,产生全部的最小项。使得PROM芯片的利用率不高,功耗增加。
A 1 B 1 C 1 & & & & & Y0 ≥1 Y1 ≥1 Y2 ≥1 简单可编程逻辑器件 二、可编程逻辑阵列PLA(Programmable Logic Array) 特点:与阵列、或阵列均可编程
A 1 B 1 ABC C 1 ABC ABC & & & & & ABC Y0 ≥1 Y1 ≥1 Y2 ≥1 简单可编程逻辑器件 例:用PLA实现逻辑函数 ABC
B C A 1 1 1 & ≥1 Y & & & 简单可编程逻辑器件 可编程阵列逻辑PAL(Programmable Array Logic) PAL的与阵列可编程,或阵列是固定的。
& ≥1 Y & & & 简单可编程逻辑器件 4种常见的PLD输出电路结构 (1)专用输出基本门阵列结构 或门高电平有效PAL器件(H型) 或非门低电平有效PAL器件(L型) 互补器件互补输出PAL器件(C型)
& I/O & ≥1 EN & & 1 简单可编程逻辑器件 (2)带反馈的可编程I/O结构 输出端为一个可编程控制的三态缓冲器 当EN为0时,三态缓冲器输出为高阻态,对应的I/O引脚作为输入使用; 当EN为1时,三态缓冲器处于工作状态,对应的I/O引脚作为输出使用。 输出端经过一个互补输出的缓冲器反馈到与逻辑阵列上。
& & ≥1 I/O EN & =1 & F(A,B,C) F(A,B,C) 简单可编程逻辑器件 (3)带异或门的输入输出结构 m2 m3 m7 =1
CLK OE & ≥1 Y & EN 1D & C1 & 1 简单可编程逻辑器件 (4)寄存器型输出结构 适合于实现计数器、移位寄存器等时序逻辑电路
简单可编程逻辑器件 例:设计一个模可变的同步递增计数器。当控制信号X=0时为三进制计数,当X=1时为四进制计数。 X——控制输入端 Z1——三进制进位输出端 Z2——四进制进位输出端 经设计得:
Q1 Q1 X X Q0 Q0 Z2 Z1 D0 D1 D D Q Q C C Q1 Q0 CP 与阵列 或阵列 PLA应用举例
简单可编程逻辑器件 SPLD的阵列容量较小,不适合于实现规模较大的设计对象。 SPLD片内触发器资源不足。不能适用于规模较大的时序电路。 SPLD输入、输出控制不够完善,限制了芯片硬件资源的利用率和它与外部电路连接的灵活性。 SPLD编程下载必须将芯片插入专用设备,使得编程不够方便,设计人员 企盼提供一种更加直捷、不必拔插待编程芯片就可下载的编程技术。 SPLD存在问题
复杂可编程逻辑器件 C P L D 的 结 构 和 工 作 原 理
复杂可编程逻辑器件 逻辑单元结构原理图
嵌入式阵列块 逻辑阵列块 IOC IOC IOC IOC IOC IOC IOC IOC IOC IOC IOC IOC IOC IOC IOC IOC I/O单元 FastTrack IOC IOC IOC IOC IOC IOC IOC IOC EAB EAB 复杂可编程逻辑器件 现场可编程门阵列FPGA结构(FLEX10K) 每个LAB由8个逻辑单元(LE)构成
复杂可编程逻辑器件 逻辑单元(LE)构成
FPGA — 现场可编程门阵列FPGA的特点 SRAM结构:可以无限次编程,但它属于易失性元件,每次使用要进行配载; 内部连线结构: EDPLD的信号汇总于编程内连矩阵,然后分配到各个宏单元,因此信号通路固定,系统速度可以预测。 FPGA的内连线是分布在CLB周围,而且编程的种类和编程点很多,使得布线相当灵活,因此在系统速度方面低于EDPLD的速度。
FPGA — 现场可编程门阵列FPGA的特点 芯片逻辑利用率:由于FPGA的CLB规模小,可分为两个独立的电路,又有丰富的连线,所以系统综合时可进行充分的优化,以达到逻辑最高的利用。 芯片功耗:高密度可编程逻辑器件HDPLD的功耗一般在0.5W~2.5W之间,而FPGA芯片功耗0.25mW~5mW,静态时几乎没有功耗,所以称FPGA为零功耗器件。
isp器件有一个专门引脚 ispEN和4个复用引脚SDI、SDO、SCLK和MODE。 当ispEN=高电平时,器件处于正常工作模式;当ispEN=低电平时,器件所有I/O端的三态缓冲电路均处于高阻状态,割断了芯片内部电路与外电路的联系,从而可对器件编程。 可编程逻辑器件的编程技术 一、在系统编程技术(In System Programmable) isp技术用编程器直接在用户的目标系统或印制板上对PLD芯片下载。 具有isp性能的器件是E2CMOS工艺制造,其编程信息存储于E2PROM内,可以随时进行电编程和电擦除,且掉电时其编程信息不会丢失。
可编程逻辑器件的开发过程 可编程逻辑器件设计电路过程如下图所示 设计人员完成 电 路 设 计 设 计 输 入 编 译 综 合 仿 真 编 程 下 载 器时 件序 功检 能查
可编程逻辑器件编程技术 二、icr编程技术 具有icr功能的器件采用了SRAM制造工艺,由SRAM存储编程数据。 事先把编程数据存放于外接PROM、EPROM或E2PROM内,上电后由PLD器件本身控制ROM把数据装入片内,这称为主动型重构方式。
Altera公司生产的高密度、高性能CMOS可编程逻辑器件之一Altera公司生产的高密度、高性能CMOS可编程逻辑器件之一 TMS、TDI、TDO 和TCK是在系统编 程引脚 它有4个直接 输入(INPUT) 一、在系统编程芯片EPM7128S的基本结构 64个I/O 引脚
厂商 软件系统名称 适用器件系列 输入方式 AMD Lattice synario MACHGAL、ispLSI、PLSI等 原理图、ABEL、VHDL文本等 Lattice EXPERT IspLSI、PLSI等 原理图、VHDL文本等 ALTERA MAX、FLEX等 原理图、波形图、VHDL、AHDL文本等 MAX+PLUSⅡ XILINX XC各系列等 原理图、VHDL文本等 FOUNDATION ACTEL ACTEL Designer SX和MX等 原理图、VHDL等 AMD Microsim MACH等 原理图等 ALTERA Quartus MAX、FLEX、APEX等 原理图、波形图、VHDL、Verilog AHDL文本等 XILINX ALLIANCE XILINX各种 CPLD、FPGA 图形、VHDL等多种HDL文本 可编程逻辑器件的开发过程