- 博客(0)
- 资源 (2)
空空如也
gal教程及protues仿真
D:\gal\up 的目录
2011-04-30 05:35 .
2011-04-30 05:35 ..
2011-04-29 00:12 73,233 16v.DSN
2001-07-21 21:54 184,514 PLD编程笔记.pdf
2011-04-28 22:20 751,010 gal16v8.pdf
2001-07-21 21:53 116,814 PLD补充.pdf
2011-04-28 22:35 321,024 PLD器件基础及开发系统介绍.ppt
2011-04-28 22:54 14,878 Synplify介绍.docx
2011-04-30 05:38 432 16v.PWI
2011-04-29 00:04 3,475 Last Loaded 16v.DBK
2011-04-28 22:28 7,173,120 计算机系_数字逻辑实验讲解.ppt
2011-04-28 23:46 9,369 cpld的入门交流之一:GAL编程.txt
2011-04-28 22:55 56,320 EDA开发工具简介.doc
2011-04-28 22:32 278,016 ABEL语言.ppt
2011-04-28 22:34 186,241 ABEL_PLD_编程笔记.pdf
2011-04-28 22:33 435,200 ABEL程序设计.pps
2011-04-28 22:28 436,736 P16V8硬件特点.doc
2011-04-30 05:37 temp
2004-04-28 21:35 490,496 Abel4w.exe
2011-04-30 05:39 ABEL4
16 个文件 10,530,878 字节
4 个目录 630,161,408 可用字节
2011-04-30
Abel4w安装包 DOS软件不支持长文件名,解压到根目录下。
DOS软件不支持长文件名,解压到根目录下。
GAL编程,一般可以使用ABEL语言编程,ABEL的语法基本上是由一组逻辑表达式进行叙述,一片GAL能帮我完成什么功能呢?或者说能改
变成什么样的芯片呢?对GAL来说,由于内部的逻辑电路(门)比较少,一般只能完成一些简单的逻辑转换、简单的计数器(位数少)、锁存器
等。一般简单来讲,GAL的可用输入比输出多,如果想用他做地址译码器是比较合适的,在单片机的应用中,往往需要用几个不同的门电路组
合或加上138之类的3-8译码器组合,译出几个特定地址,这才是GAL的专长,可以在一个芯片内完成,使得你的电路简洁,而且输入输出在不
违背基本约定的前提下可以随意调换,使得布板走线容易。先看看下面的一个例子:
module M273 "这是一个类似于74LS273的锁存器程序
title '8-bit Locker
xiaoqi Data I/O Corp.'
M273 device 'P16V8R'; "这里我们使用GAL16V8进行编程
"引脚定义,注意CLK,OE的定义只能使用芯片约定的引脚,不能转移
Clk,OC,I0,I1,I2,I3,I4,I5,I6,I7 pin 1,11,2,3,4,5,6,7,8,9;
Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7 pin 19,18,17,16,15,14,13,12;
H,L,X,Z,K = 1,0, .X.,.Z.,.K.; "类似于c语言的宏定义(代数)
Input = [I7,I6,I5,I4,I3,I2,I1,I0]; "两个集合群定义
Output = [Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0];
equations " global
[Q7..Q0].clk = Clk; "输出与CLK有关
[Q7..Q0].oe = !OC; "输出受!OC才有效
WHEN !OC THEN "如果OC为低电平则
Output := Input; "受时钟触发的锁存
test_vectors ' test Load & Output'
([Clk,OC, Input ] -> Output) "写入芯片以后编程器需要校验的内容
[ K, L, ^h55 ] -> ^h55;
[ K, L, ^hAA ] -> ^hAA;
[ K, L, ^hFF ] -> ^hFF;
[ X, H, X ] -> Z;
end M273 "本模块程序结束
2011-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人