A) 源程序文件编写的格式
编写源程序文件可以用任何文本 (ASCII码)编辑软件编写,文件的扩展名应为“.PLD”。
源程序文件的格式为(见例子):
第1行:器件型号,必须起始于第一行,必须用大写字母,如GAL20V8。
第2行:标题
第3行:设计者姓名,日期等说明
第4行:电子标签
第i行开始:引脚名表,可占用多行。
第j行开始:逻辑表达式,可占用多行
第k行开始:程序描述,DESCRIPTION是描述关键字,不可少,必须用大写字母。以后的文字将被FM程序认为注释而忽略,最后以END(可省略)结束。
注意:
l 第1行到第4行各功能的位置不能改变,也不能加入回车符,第2-4行的内容由设计者决定。
l 关键字“DESCRIPTION”所在行后面不能跟任何描述。
l 注释使用“;”开始,可在任意位置添加,但单独起始一行的注释只能在第4行后添加。
l FM软件对大小写字符敏感。
l 一个GAL设计源文件最多只能有200行,超过200行的部分将被FM程序忽略。
B) GAL器件型号标志
对GAL16V8、GAL16V8A器件可以使用GAL16V8,对GAL20V8、GAL20V8A器件可以使用GAL20V8
C) 引脚名表
从1号管脚开始至最后一个管脚,其中未用管脚命名为NC,电源命名为Vcc,地线命名为GND,其余引脚可以自行命名,但长度不能超过8个字符。引脚名之间用空格、制表符、回车符、“Form feeds”符分隔,一行写不下可写到第二行。
D) 源程序文件的逻辑表达式格式
表达式可以有下列三种格式:
SYMBOL=EXPRESSION
SYMBOL:=EXPRESSION
SYMBOL.OE=EXPRESSION
其中SYMBOL是输出引脚符号名,允许加前缀“/”表示逻辑反。EXPRESSION是逻辑公式,是以逻辑运算符隔开的引脚符号序列。OE表示输出允许。
格式一指由符号名指定的输出引脚总是取表达式的当前逻辑值,即组合逻辑公式。
格式二指只有在时钟上升沿,才把表达式的值赋给输出脚,之后输出脚保持此状态,直到下一个时钟上升沿到来。即时序逻辑公式。
格式三指当表达式的结果为真(1)时,由符号名指定的输出脚才输出有效电平,否则保持高阻态。这种方式只允许表达式包含一个乘积项,即只能由‘与’和‘非’两种运算组成,这是由GAL器件的结构决定的。
E) 源程序文件逻辑公式中的逻辑运算符
逻辑公式可以含有下列三种逻辑运算符:与‘*’、或‘+’、非‘/’。逻辑表达式必须采用与-或(积-和)形式。
由于GAL硬件结构的限制,表达式中的或运算符不应多8个(有三态控制的应小于8个),参加与运算的引脚不应多于16个 (对16V8) 或20个 (对20V8)。表达式中不得有任何括号,FM不对表达式进行任何化简。
如果对某个引脚进行了三态输出控制,那么全部引脚的输出表达式中最多只能有七个或项,并且须列出全部输出引脚的三态控制逻辑。无须三态控制的引脚可用Vcc作为控制逻辑。
如:实现组合逻辑X=A+B+C+/D的FM表达式可以写成:
X=A+B+C+/D
或
/X=/A*/B*/C*D
实现组合逻辑Y=/(E+F+G+H),且输出有效与否由逻辑关系I*J*/K决定,FM表达式可以写成:
/Y=E+F+G+H
Y.OE=I*J*/K
值得注意的是由于GAL结构上的特殊性,有时某些合法的表达式会产生编译错误,这时应该通过阅读GAL器件手册或调换某些引脚来解决。
F) GAL的引脚表中引脚名的极性、逻辑方程中符号名的极性、输出有效电平的高低和输出反馈项的极性之间有一定的关系,如下表所示。
引脚表极性
逻辑方程极性
输出有效电平
输出反馈项极性
/X
/X
H
/X
/X
X
L
/X
X
/X
L
X
X
X
H
X
2) FM的使用方法,编译源程序文件
A) 在命令行提示符下键入FM并回车,或双击FM程序,屏幕上将出现键入输入文件名的提示:
Please enter file name ( .PLD ASSUMED )
B) 键入已准备好的GAL设计源文件名(可省略PLD后缀)并回车后,FM将自动检查源文件格式,检查通过后屏幕上将出现菜单并提示键入相应的选择项 (数字键1-5)。
FastMap Menu -- Current Source File -> V67.PLD
1) Create Document File (source plus pinout)
2) Create Fuse plot File (human readable fuse map)
3) Create Jedec File (programmer fuse map)
4) Get a new Source File
5) Exit from FastMap
Please enter number corresponding to desired operation
其中V67.PLD为输入的源文件名,1-5项为:
第一项为建立列表文件操作,将产生后缀为LST的列表文件。
第二项为建立熔丝图文件操作,将产生后缀为PLT的熔丝图文件。
第三项为建立JEDEC文件操作,将产生后缀为JED的JEDEC文件。
第四项为读入一个新的源文件。
第五项为退出FM操作。
列表文件和熔丝图文件可供核对参考.JED文件并将用来完成编程。如果源程序中含有语法错误或存在结构冲突等问题,FM将指出。出错时可用Ctrl-Break退出。