EDA技术与应用课件-4-pld器件介绍
- 格式:pdf
- 大小:2.10 MB
- 文档页数:60
可编程逻辑器件PLD讲义1. 引言可编程逻辑器件(Programmable Logic Device,PLD)是现代电子领域中非常重要的元器件。
它们在数字电路设计和嵌入式系统开发中起着关键作用。
本讲义将介绍什么是PLD以及如何使用PLD进行电路设计。
2. PLD的概述PLD是一种可以被编程的数字电路,通过在内部存储器中存储逻辑表达式或程序,在运行时根据输入信号进行逻辑运算,并产生输出信号。
PLD可以根据设计者的需求被重新编程,因此具有很高的灵活性和可重用性。
3. PLD的分类PLD可以被分为三类:可编程逻辑阵列(Programmable Logic Array,PLA)、可编程阵列逻辑(Programmable Array Logic,PAL)和可编程门阵列(Programmable Gate Array,PGA)。
3.1 可编程逻辑阵列(PLA)PLA是一种最早出现的PLD,它由一个积体门阵列和一个可编程的输出逻辑阵列组成。
PLA的积体门阵列实现了各种逻辑门的功能,并且可以通过编程将不同的输入和输出信号连接在一起,实现特定的逻辑功能。
3.2 可编程阵列逻辑(PAL)PAL是一种采用与门矩阵和与非门矩阵的组合来实现逻辑功能的PLD。
PAL具有更高的可编程性,可以实现更复杂的逻辑功能。
3.3 可编程门阵列(PGA)PGA是一种采用了更多逻辑门和可编程连接器的PLD。
PGA具有最高的可编程性,可以实现非常复杂的逻辑功能。
它是目前最常用的PLD类型。
4. PLD的优势PLD相比传统的固定功能电路具有以下优势:•灵活性: PLD可以被重复编程,允许设计者在开发过程中进行修改和更新,从而提高了设计的灵活性。
•可重用性: PLD可以在不同的项目中被重复使用,减少了设计周期和成本。
•集成度高: PLD可以实现多个逻辑元件的功能,并且可以将它们集成在一个器件中,从而减小了电路板的面积和体积。
•速度快: PLD通过硬件逻辑电路实现逻辑运算,相比软件实现的方法具有更快的速度。
EDA技术与应用
前堂回顾
•Modelsim的命令行方式使用
•Verilog语法:
1.reg 类型(wire类型?)
2.运算
3.时延(`timescale,#,#(rise,fall,turn-off))
4.语法:initial , always,assign
5.系统任务
(基本、常用任务)
$display, $monitor, $time, $finish, $stop
目前状态
•学习了基本的verilog语法(用primitives gate构建电路,少部分组合逻辑描述)•Modelsim仿真工具基本使用,仿真电路,确保设计的功能、时序正确
//实验情况?
设计最终需要转换到实际电路,怎么做?
PLD or ASIC
可编程逻辑器件PLD •Programmable Logic Device
•Design→Synthesis tool →PLD编程文件→下载到PLD设备中→Design在PLD中实现,在硬件中验证功能
•使用PLD,需要了解PLD原理,在工具帮助下完成
第3章PLD器件介绍
1.组合逻辑
2.PLD原理
3.商业PLD简介
//目的:了解PLD原理,理解随后的FPGA实验
1、组合逻辑
•组合电路与时序电路combinational ,sequential
//怎么区分组合电路与时序电路?
•组合电路输出仅依赖于输入,无记忆性•时序电路输出依赖于输入与当前状态,有记忆性(内部环回)
组合电路
•输入、输出、函数关系、时间特性•基本门都是组合电路
表达组合逻辑
•真值表
•最简式(布尔代数化简、卡诺图)•最小项和
电路表达
实际电路实现的考虑
•如何更省电路(可能并非最简式)•如何更快
•如何功耗更低
•……
如CMOS工艺中,更容易实现的门是NAND,NOR,NOT,而不是AND,OR
组合逻辑基本构建模块
•Multiplexers (MUX)
•如何实现的?可能有多种
MUX不同的实现方式
decoder
Decoder应用•地址译码
•灵活组合构成其他逻辑
组合逻辑小结
•组合逻辑是所有其他逻辑的基础!
•复杂电路都是由简单逻辑组合实现的!(电阻、电容、电感、晶体管)→基本门电路→(锁存器、触发器)→(寄存器、多路选择器、存储器)→……
2、PLD器件•从ROM开始:3输入4输出
AND-OR实现
实际ROM电路
•AND OR 在实际制造工艺中一般是NOT+NOR,NAND+ NOT实现的//why?
因此更好的实现方式是用NOR,NOT等门实现(前图中的与门、或门) //简单的逻辑转换
与门 非门+或非门
为什么不是NAND(A,B)+NOT实现?
NOT + NOR实现
•上图左侧还有简化,去掉最外层NOT,仅是连线重新改变而已
当ROM存储很大时?
•采用AND-OR结构?
•采用NOR结构?
•Fan-in很大时,NOR门PMOS串联长!
连线长,需要的门数多,面积大,速度慢!
补充:pseudo-nMOS gate •不再是正统的nmos/pmos互补
•weak来由:仅当nMOS网络没有pull-down 时,pMOS才能将输出pull-up
例子:NOR4
•优点:连线短了,速度快了,适于构建大容量存储模块
•缺点:当Y为LOW时,pMOS仍导通,VDD 与GND之间有小的短路电流,要小心设计使用!(CMOS为什么低功耗?)
•CMOS工作时,整体电路一直处于不导通状态(按互补方式连接,nmos导通时,pmos不导通;pmos导通时,nmos不导通)
•仅当状态切换的瞬间,nmos与pmos都导通。
时间短,所以功耗小!
AND阵列(实际是NOR门实现)
OR阵列:NOR+NOT=OR
固定AND,OR可编程
对应简图(“*”代表可编程)
Memory View(看做Memory)
类型
•ROM(Read Only Memory)•PROM(Programmable ROM)•EPROM(Erasable PROM)•EEPROM (Electrically EPROM)
•FLASH MEMORY
大的EEPROM,分成固定大小的区域,可单独编程
ROM-PROM-PAL-PLA
•ROM:mask-programmable •PROM:固定AND-plane,OR-plane可编程•PAL: 可编程AND-plane,固定OR-plane Programmable Array Logic
•PLA:可编程AND-plane,可编程OR-plane Programmable Logic Array
PLA实现
PAL实现
PAL product-term Expansion
Registered output and tri-state output概念
商业化PLD产品结构//要求:理解概念即可
•Altera的epld系列,MacroCell结构•从基本单元看功能:
组合电路:可以bypass寄存器
时序电路:触发器
寄存器化输出
三态输出
Feedback
CPLD (Complex PLD)(MAX7000)
MAX7000 macrocell结构
FPGA(更复杂,功能更多)
•FPGA基于SRAM技术
•CPLD基于Product-Term技术
FPGA原理
•最基本的思想:
用SRAM实现任意四输入逻辑
•任意四输入逻辑表达式展开为如下形式:Y=f(A,B,C,D)
transmission gate-based LUT
•只需更改左侧的值即可实现不同的函数功能!•左侧的值可以采用SRAM实现!
•即:改变SRAM的值,即改变了电路的功能,实现了“可编程”
•使用LUT实现了组合逻辑,时序逻辑?
加入触发器即可!
•LUT+触发器某种方式组合,形成基本逻辑宏单元
EAB结构(存储或者逻辑)
LAB结构。