PLD的设计方法
可编程逻辑器件PLD在数字系统设计中可实现各种逻辑功能,从简单的随机逻辑替换到复杂的控制定序器。
可编程逻辑器件具有成本低、集成度高、使用简便、设计容易,以及具有其它系统设计方法所没有的调试功能。
大多数的PLD器件具有可编程连接的“与—或”阵列结构.可编程阵列意味着其连接 可由用户通过编程来决定 。
PLD器件的分类取决于其“阵列”是可编程的还是固定的。
PROM:固定的’与’阵列和可编程的‘或’阵列,通常用作为存储器,而很少用于 实现逻辑功能 ;
FPAL:“与”阵列和“或”阵列均可编程,使设计最富于灵活性;
最流行的PAL:可编程的‘与’阵列和固定的‘或’阵列,它广泛用于实现各种各样的组咸寄存器型逻辑功能 ;
PLS(Programmable Logic Sequencer可编程 逻辑定序器):两个阵列都可编程,用于专门的状态机应用场合;
PROSE(PROgrammable Sequencer):将可编程阵列与专用的逻辑功能结合起来,为特定的系统应用提供最佳性能,
GAL:每个输出引脚都连到一个输出逻辑宏单元(OLMC),大大改善了输出功能的结构和灵活性。
可编程逻辑器件的选择
不同的生产工艺给PLD器件提供了众多的设计选择方案:
从可编程阵列的“连接线”
熔丝型:(ECL、TTL双极型工艺
UV-EPROM(CMOS工艺)
E2PROM (CMOS工艺)
RAM细胞单元 (CMOS RAM工艺
从运行速度上
ECL工艺的PLD器件用于高速运行电路的设计
CMOS用于低功耗电路的设计
TTL熔丝型PLD器件用于中档设计
工艺的选择主要取决于速度和功耗条件的限制
PLD设计所需的条件
设计软件(PALASM)
器件编程器
软件设计过程:
建立设计文件;
定义所需的逻辑功能并用“积之和”表示,可从真值表或时序图直接导出,也可运用状态图和卡诺图导出;
汇编设计文件,产生JEDEC文件
仿真、测试
将JEDEC文件下载到所选器件中,对器件的每一条连线编程。
将已编程的器件插到印制板中投入运行。
由于编程器与PC机相连,从设计文件的编辑、汇编、仿真、下载以及对器件的编程全部在PC机上完成。
PLD器件的设计过程
第一步是设构思;
第二步是选择合适的器件;
第三步是设计的实施,包括使用测试向量对设计进行仿真;
对器件进行编程;
对已编程PLD进行测试;
并在系统板上验证其功能.
用例子说明各设计过程
68000微处理器中的简单地址译码器
PLD器件设计过程的第一价段是构思设计,对于SSI/MSI设计这也是必需的.PLD器件的优点是在这一阶段,设计者只需考虑期望的逻辑功能,使用SSI/MSI电路进行设计时,在开始设计之前必须考虑各种器件的逻辑限制条件。显然,设计师必须根据系统设计的要求提出一个简洁完整的功能描述;
68000微处理器除有单独的读/写信号线外,还有24条地址线.它需要ROM来存放系统引导代码, RAM来存放数据和运行程序。因此,ROM和RAM在68000微处理器的地址空间里分配地址,即需地址译码器。
地址译码器的作用是一次选择一个存储地址。地址译码器必须选择一个ROM或RAM。当微处理器访问地址空间中的一个地址单元时,通过将某一特定ROM或RAM的芯片选择信号置为真来执行选择操作。
在典型的微处理机系统中,也存在用来寻址I/O器件的电路(如软驱),当微处理器寻址这些I/O器件时,同样对其发出片选信号。
一、设计构思
M86000; 接口逻辑电路;DRAM控制电路;PROM和DRAM芯片
地址线:A0-A23;其中A21,A22,A23与地址选通信号AS和读/写(RW)产生片选控制信号; RAMCS片选信号与A21、A22、A23输入DRAM控制器产生RAM片选信号。
17位数据线:D0-D16
存储器地址分配和映射表
PROM1 | 000000-0FFFFF |
PROM2 | 100000-1FFFFF |
DRAM1 | 200000-2FFFFF |
DRAM2 | 300000-3FFFFF |
DRAM3 | 400000-4FFFFF |
DRAM4 | 500000-5FFFFF |
备用 | 600000-7FFFFF |
根据存储器的地址分配表和设计的功能描述推导出真值表 来自处理器的信号输入到接口逻辑块,所产生的输出是ROMCS1、ROMCS2 和RAMCS片选信号;RAMCS片选信号与A21、A22、A23输入DRAM控制器产生RAM片选信号。
地址 (16进制) | 大小 | A23 | A22 | A21 | 信号 |
000000-0FFFFF | 1 Mbytes | 0 | 0 | 0 | ROMCS1 (低电平有效) |
100000-1FFFFF | 1 Mbytes | 0 | 0 | 1 | ROMCS2 |
200000-2FFFFF | 1 Mbytes | 0 | 1 | 0 | ROMCS3 |
300000-3FFFFF | 1 Mbytes | 0 | 1 | 1 | ROMCS4 |
400000-4FFFFF | 1 Mbytes | 1 | 0 | 0 | ROMCS5 |
500000-5FFFFF | 1 Mbytes | 1 | 0 | 1 | ROMCS26 |
二、PLD器件的选择
分析设计要求,按照是否需要使用寄存器而将其分类成组合型功能和寄存器功能
无需寄存器的逻辑设计
编码器、译码器、多路转换器、多路分配译码器、加法器和比较器等简单的组合逻辑功能块;
需寄存器的逻辑设计
计数器、定时器、控制信号产生器和状态机等
本例-简单地址译码器,不需寄存器
了解各种不同结构特征用于何处将有助于器件的选择.根据器件使用情况的历史记载和器件结构的功能特性,PLD器件可以分成三个基本应用类别,即:
组合型设计;(PAL器件)
简单寄存器型设计;(PAL器件和PLS 可编程逻辑定序器)
复杂的寄存器型(定序器)设计 ;(PAL、PLS和PROSE/FPC(熔丝型可编程控制器)
不同的设计师,同样的设计可能选择不同的,本例选择PAL器件。
选择器件时应考虑的主要功能特性
输入引脚数
输出引脚数(如PLD有内部反馈,输出又可当作输入)
I/O引脚数 (特别适合于涉及总线的应用)
器件速度
对于组合器件,考虑传输延迟时间td
来对于寄存器 型器件,考虑器件的时钟频率fmax,, 寄存器建立时间tpd和时钟传输时间tCLK
器件功耗
寄存器数(若有需要的话)
乘积项数
输出极性控制
下表分别给出了组合型和寄存器型PLD器件,对于本设计实例,我们挑选PAL16L8,它有足够的输入输出端和传输速度(延迟时间为10ns)
组合型PLD器件的主要技术性能指标
寄存器型PLD器件的主要技术性能指标
系统临界的时序限制条件由微处理器的读/写周期和存储器可用的存取时间决定: 存储器存取时间2200 ns; 地址译码时间10ns;
大多数微处理器允许的地址译码时间是10-35ns, 即地址有效之后,正确的存储器片选信号应当有效。
对于本例,可用周期时间为10-35ns,存储器的存取时间为2200ns, 只有20ns作为地址译码时间。可选PAL16L8, tpd =10ns
三、设计的实施
实施设计需要建立设计文件,设计文件在PALASM软件中称为PAL器件说明书(PDS:PAL Device Specification), 文件包括三类信息:
基本管理记录信息:
设计语法
仿真语法
设计文件、文件汇编、仿真、生成JEDEC文件、下载到器件编程器中构造器件
设计文件给出了文件编制方面的信息、所选用的器件名称、信号的名称。
所有的信号名都分配给器件引脚,并且将引脚定义为输入或输出.
设计文件的说明部分还包括按引脚号递增的顺序排列的信号名.如:
Title M68000_ADDRESS_DECORDER 设计的名称
Pattern P8000 模式名或编号
Pevision A 版本号或等级号
Author ENGINEER 设计者姓名
Company MMI SUNNYVALE, CALIFORNIA 公司名称
DATE 07/21/87 建立文件日期
CHIP DECORDER (任一名称) PAL16L8 (器件型号)
NC A23 A22 A21 TOP BOTTOM AS RW NC GND (1-20 引脚列表 )
OE RONCS1 RONCS2 RANCS INIT NC NC NC NC VCC
选择器件
表达设计的方法
-布尔逻辑方程
-状态机语法
汇编设计
仿真设计
下载JEDEC 文件
PLD编程