2009-8-20 1
第 8章 存储器和可编程逻辑器件简介
2,可编程逻辑器件的开发方法
1,电子系统的设计方法
8.2 可编程逻辑器件 (PLD)简介
3,应用简介
8.2.5 可编程逻辑器件的开发与应用本章小结结束放映
2009-8-20 2
复习
PLD在数字集成芯片中的位置?
PAL的结构? 优点?
GAL与 PAL的区别?
CPLD的基本结构?
2009-8-20 3
8.2.5 可编程逻辑器件的开发与应用
8.2 可编程逻辑器件 (PLD)简介
1,电子系统的设计方法传统的系统设计方法为自底向上 。
采用可编程逻辑器件设计系统时,可基于芯片设计,可利用 电子设计自动化 ( EDA) 工具 来完成 。
必须具备三个条件:
① 必须基于功能强大的 EDA技术;
② 具备集系统描述,行为描述和结构描述功能为一体的硬件描述语言;
③ 高密度,高性能的大规模集成可编程逻辑器件 。
2009-8-20 4
可编程逻辑器件的软件开发系统支持两种设计输入方式:
图形设计输入;
硬件描述语言输入 。
现在比较流行的硬件描述语言有 ABEL 和
VHDL。
计算机对输入文件进行编译,综合,优化,
配置操作,最后生成供编程用的文件,可直接编程到可编程逻辑器件的芯片中 。
2009-8-20 5
2,可编程逻辑器件的开发方法
PLD的开发是指利用开发系统的软件和硬件对
PLD进行 设计和编程 的过程 。
开发系统软件 是指 PLD专用的编程语言和相应的汇编程序或编译程序 。 硬件 部分包括计算机和编程器 。
可编程器件的 设计过程,主要包括设计准备,
设计输入,设计处理和器件编程四个步骤,同时包括相应的功能仿真,时序仿真和器件测试三个设计验证过程 。 如图 8-21所示 。
2009-8-20 6
图 8-21 可编程器件的设计流程图
2009-8-20 7
⑴ 设计准备
① 选择系统方案,进行抽象的逻辑设计;
② 选择合适的器件,满足设计的要求 。
低密度 PLD( PAL,GAL等 ) 一般可以进行 书面逻辑设计,然后选择能满足设计要求的器件系列和型号 。 器件的选择 应考虑器件的引脚数,资源 \速度,功耗以及结构特点 。
对于高密度 PLD( CPLD,FPGA),系统方案的选择通常采用,自顶向下,的设计方法 。 在计算机上完成,可以采用国际标准的 硬件描述语言 对系统进行功能描述,并选用各种不同的芯片进行平衡,
比较,选择最佳结果 。
2009-8-20 8
⑵ 设计输入设计者将所设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算机的过程称为设计输入 。
通常有原理图输入,硬件描述语言输入和波形输入等多种方式 。
⑶ 设计处理从设计输入完成以后到编程文件产生的整个编译,适配过程通常称为设计处理或设计实现 。
由计算机自动完成,设计者只能通过设置参数来控制其处理过程 。
2009-8-20 9
在 编译 过程中,编译软件对设计输入文件进行逻辑化简,综合和优化,并适当地选用一个或多个器件自动进行适配和布局,布线,最后产生编程用的编程文件 。
在设计输入和设计处理过程中往往要进行功能仿真和时序仿真 。
功能仿真 是在设计输入完成以后的逻辑功能检证,又称前仿真 。 它没有延时信息,对于初步功能检测非常方便 。
时序仿真 在选择好器件并完成布局,布线之后进行,又称后仿真或定时仿真 。 时序仿真可以用来分析系统中各部分的时序关系以及仿真设计性能 。
2009-8-20 10
⑷ 器件编程编程是指将编程数据放到具体的 PLD中去。对阵列型 PLD来说,是将 JED文件“下载”到 PLD中去;对 FPGA来说,是将位流数据文件“配置”到器件中去。
2009-8-20 11
3,应用简介图 8-22 16位双向移位寄存器试用 CPLD实现一个 16位双向移位寄存器,其输入输出如图 8-22所示 。 图中 Q0~ Q15是 16位状态变量输出 。 D0~ D15为 16位并行置数输入,CR是低电平有效的异步清零端,SR,SL分别是右移或左移串行数据输入端,S1,S0为功能控制端,它们的取值和操作的对照关系如表 8-6所示 。
2009-8-20 12
表 8-6 S1,S0功能控制端对照关系表
2009-8-20 13
假若选择型号为 ispLSI 1024芯片,它含 24个通用逻辑模块 ( CLB),且 I/ O单元数量达 16× 3= 48
个。由此画出引脚分配图如图 8-23所示。
⑴ 器件的选择。
除时钟外,共有 37个 I/ O信号线。设计者可参照有关数据手册进行选择。
2009-8-20 14图 8-23 16位移位寄存器引脚分配图
2009-8-20 15
⑵ 编写设计输入文件 。
本例采用文本输入方式 。 根据移位寄存器设计要求,编写 VHDL源文件 如下:
LIBRARY IEEE;
USE IEEE.STD LOGIC 1164.ALL;
ENTITY SHIFT IS
PORT (
S1,S0,Cr,clk; IN BIT;
SR,SL,IN STD LOGIC,
d,IN STD LOGIC VECTOR(15
DOWNTO 0);
q,OUT STD LOGIC VECTOR(15
DOWNTO 0)
);
END SHIFT;
2009-8-20 16
ARCHITECTURE A OF SHIFT IS
BEGIN
PROCESS( clk,cr)
VARIABLE qq,STD LOGIC VECTOR(15
DOWNTO 0) ;
BEGIN
IF Cr =?0? THEN
qq,=“0000000000000000”;
ELSE IF(clk EVENT AND clk=?1?)
IF S1 =?1? THEN
IF S0 =?1? THEN
qq,=d;
ELSE
qq(14 DOWNTO 0),= qq (15 DOWNTO 1) ;
qq(15),= SL
END IF;
2009-8-20 17
ELSE
IF S0 =?1? THEN
qq(15 DOWNTO 1),= qq (14 DOWNTO 0)
qq(0),= SR ;
ELSE
NULL;
END IF;
END IF;
END IF;
q<= qq;
END PROCESS
END A
可见,整个设计只需选择合适的器件,利用程序语言描述其功能,通过特定的设备将程序下载或配置到器件中,即可完成系统的设计。
2009-8-20 18
本章小结存储器 是一种可以存储数据或信息的半导体器件,
它是现代数字系统特别是计算机中的重要组成部分。
按照所存内容的易失性,存储器可分为随机存取存储器 RAM和只读存储器 ROM两类。
RAM由存储矩阵、地址译码器和读/写控制器三个部分组成。对其任意一个地址单元均可实施读写操作。 RAM是一种时序电路,断电后所存储的数据消失。
2009-8-20 19
ROM所存储的信息是固定的,不会因掉电而消失。根据信息的写入方式可分为固定 ROM、
PROM和 EPROM。 ROM属于组合逻辑电路。
当单片存贮器容量不够时,可用多片进行容量 扩展 。
2009-8-20 20
目前,可编程逻辑器件( PLD)的应用越来越广泛,用户可以通过编程确定该类器件的逻辑功能。
在本章讨论过的几种 PLD器件中,普通可编程逻辑器件 PAL和 GAL结构简单,具有成本低、速度高等优点,但其规模较小 (通常每片只有数百门 ),难于实现复杂的逻辑。复杂可编程逻辑器件 CPLD和现场可编程门阵列 FPGA,集成度高 (每片有数百万个门 ),有更大的灵活性,若与先进的开发软件配套使用,则感到特别方便。 CPLD和 FPGA是研制和开发数字系统的理想器件。
2009-8-20 21
作业题
8-5
2009-8-20 22
本课复习传统的系统设计方法?
采用可编程逻辑器件设计系统的条件?
可编程器件的设计过程?