通用阵列逻辑电路 GAL 实现基本电路的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验十四 通用阵列逻辑电路GAL实现基本电路的设计
一、实验目的
1.学习ABEL-HDL语言的编程、编译及操作;
2.掌握编程器的使用方法;
3.了解GAL16V8的结构及其应用;
4.掌握通用阵列逻辑GAL的设计、编程、下载、验证功能的全部过程。

二、设计任务与要求
1.基本设计任务与要求
(1)用GAL16V8D实现基本逻辑门电路。

按如图5-40所示基本逻辑门,设定GAL16V8D的输入、输出引脚并画出其引脚排列图,用ABEL语言设计编写实现基本逻辑门电路的源程序;
(2)用ABEL—HDL作为设计工具,使用通用阵列逻辑器件GAL16V8D实现如图5-41所示的触发器。

2.扩展设计任务与要求
参照基本设计任务与要求的内容,独立设计一个新的组合电路和简单时序电路,要求编写源程序,在实验箱上实现,并进行功能测试。

图5-40基本逻辑门图5-41触发器
三、实验原理
CAL是由可编程的与阵列、固定(不可编程)的或阵列、可编程的输出电路——输出逻辑宏单元(OLMC)三部分电路构成。

CAL芯片必须借助CAL的开发软件和硬件(编程
器),对其编程写入后,才能使空白的CAL芯片具有预期的逻辑功能。

GAL16V8系列的输出宏单元(OLMC)共有三种工作模式,它们是寄存器模式、复杂模式、简单模式,编译软件根据用户源文件中定义方程式的类型。

运用这些工作模式,可实现简单的门电路和较复杂的时序逻辑电路。

GAL16V8的引脚排列如图5-42所示。

图5-42 GAL16V8引脚图
用ABEL语言编写的源程序,是不能直接对芯片编程下载的,必须经过ABEL语言的处理程序,将用户编制的源程序转换为器件的下载数据文件,即:﹡·JED数据文件,通过编程器再将﹡·JED数据文件写入到GAL芯片,这样GAL芯片就具有用户所需要的逻辑功能。

ABEL语言处理程序的功能是将用户编制的源文件转换为器件的下载数据文件。

这个处理软件由6个既相互联系又独立的处理程序组成。

图5-43给出了ABEL语言处理程序的流程。

四、实验仪器、设备与器件
1.计算机清华同方
2..4G\256M\60G
2.编程器SUPERPRO--Ⅲ
3.实验仪 SZ---1
4.软件系统SP3、ABEL--HDL
5.通用阵列逻辑器件 GAL16V8D
五、实验内容与操作步骤
1.按基本设计任务与要求设计、编辑出ABEL语言源程序
2.源文件的输入
⑴在WINDOWS桌面上,单击“开始”,点击运行功能,输入CMD命令,点击确定按钮后,切换到DOS状态下,出现“D:\>”提示。

⑵D:\>E:(切换到E盘)
⑶E:\>CD WINSP3 (转换到WINSP3子目录下)
⑷E:\WINSP3>EDIT 文件名(源文件的主文件名,由学生自己起名) ABL(ABL为
源文件的扩展名)
⑸源文件输入完成后,按ALT+F键击活菜单,选择SA VE存盘。

图5-43 ABEL语言处理程序流程图
3.对源程序进行编译
⑴在WINSP3子目录下,运行ABEL批处理命令,对源文件进行编译。

即:
E:\WINSP3>ABEL 源文件的主文件名(不加源文件的扩展名),按Enter键;编译过程中产生以下中间文件:
*·LST 列表文件
*·OUT 内部熔丝图数据文件
*·SIM 仿真文件
*·DOC 文本说明文件
*·JED 下载数据文件(只有编译通过之后才产生此文件,该文
件的主文件名是源程序中器件声明关键字DEVICE前
面的变量名)
⑵用DIR命令检查*·JED文件是否存在
E:\WINSP3>DIR *·JED,按Enter,此时计算机显示器的屏幕上显示所有的JED文件,学生可根据所设计的源设计程序,确认自己的*·JED数据文件是否产生,如果没有生成JED 文件,须要查找原因。

4.下载
⑴首先打开编程器的电源开关,并使编程器的器件锁紧夹处于打开状态。

⑵在WINDOWS桌面上双击编程器图标,进入SUPERPROⅢ编程器工作状态的界面。

以后的操作为:
①点击“器件”按钮,选择所用器件的模式、生产厂家和器件型号:模式选PLD,生产厂家选LATTICE,器件型号选GAL16V8D。

②点击“文件”菜单,选择装入文件功能,装入要下载的数据文件(*·JED)。

③点击“运行”按钮,在器件操作菜单中选择PROGRAM功能,再点击“运行”按钮。

此时观察信息窗口的显示结果,如果显示结果失败,需分析原因并处理解决,如果显示结果成
功,则往下进行。

5.对GAL器件进行功能测试
将编程过的GAL器件插入实验系统中,按要求连接成进行功能验证所需的电路,根据设计的器件功能进行验证。

6.按扩展设计任务与要求设计、编辑ABEL语言源程序,并进行编译、下载及功能测试。

六、实验报告要求
1.用GAL16V8芯片实现如图5-40所示的基本逻辑门,设定输入和输出引脚,画出内部配置及引脚图;
2.编写设计ABEL源程序;
3.写出主要的实验步骤及实验结果;
4.写出心得体会。

七、预习要求
1.预习教材中有关通用阵列逻辑GAL内容;
2.预习实验指导书的内容,并按要求完成实验指导书中给出的实验任务,在此基础上设计一个新的组合电路和简单时序电路,要求编写源程序,写出预习报告。

八、思考题
1.若用GAL16V8实现某一逻辑电路,对1号和11号引脚有何特殊要求?
2.GAL16V8的哪些引脚专用输入、输出?
3.GAL16V8的与阵列各有多少条行线和列线?
九、参考源程序
1.用GAL16V8D实现图5-40基本逻辑门电路参考源程序:
module examplel
title’basic logic gate Li and zhang 1997·10’
name device ' P16V8s';”器件声明
a, b, c, d, e Pin 19, 1,2, 3, 4;”引脚声明
m,n,p,q,h Pin 5,6,7,8,9;
i,j Pin 11,12;
u,v,w,x0,y0,z0 Pin 18,17,16,15,14,13;
X=.X.;”常数声明
Equations ”逻辑功能描述
u=!a;
v=b&c;
w=d#e;
x0=!(m#n);
y0=!(p$q);
z0=!(h&i&J);
test_vectors ”测试向量
([a,b,c,d,e]一>[u,v, w])
[0,x,x,x,x ]一>[ l,x,x] ;
[1,x,x,x,x]一>[0,x,x];
[x,0,0,0,0]一>[x,0,0];
[x,0,1,0,1]一>[x,0,1];
[x,1,0,l,0]一>[x,0,1];
[x,1,l,1,1] 一>[x,1,1]; ”测试非门、与门、或门
test_vectors
[m,n,p,q] 一>[x0,y0];
[0,0,x,x]一>[1, x];
[0,1,x,x ] 一>[0, x];
[1,0,x,x ] 一>[0, x];
[1,1,x,x ] 一>[0, x];
[x,x,0,0] 一>[x,1];
[x,x,0,1] 一>[x,0];
[x,x,1,0] 一>[x,0];
[x,x,1,1]一>[x,1]; ”测试或非门、同或门
test_vectors
[h,I,j]一>[z0];
[0,0,0]一>[l];
[0,0,l]一>[1];
[l,0,0] 一>[1];
[1,1,1]一>[0]; ”测试与非门
end examplel
2.使用通用阵列逻辑器件GAL16V8D实现如图5-41所示触发器的参考源程序:module example2
title ‘composite logic li and zhang 2000.9’
s2 device ‘p16v8r’;
s,r,qs1, qs0 Pin 2,3,19,18;
t,qt1,qt0 Pin 5,17,16;
d,qd1,qd0 Pin 6,15,14;
j,k,qj1,qj0 Pin 7,8,13,12;
clk,pr,clr,oe Pin 1,4,9,11;
X = .X .;
C,Z =.C.,.Z.;
equations
qs1=!s#r&qs1;
qs0=!r#s&qs0;
qt1:=pr&clr#!clr&!t&qt1#!clr&t&qt0;
qt0:=clr#!pr&!t&qt0#!pr&t&qt1;
qd1:=pr&!clr#d&!clr;
qd0:=clr#!d&!pr;
qj: =pr&!clr#j&qj0&!clr#!k&qj1&!clr;
qj0:=clr#!j&qj0&!Pr#k&qj 1&pr ;
end example2。

相关文档
最新文档