课题七可编程逻辑器件GAL的应用.ppt
课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用任务一任务一 应用应用GAL制作制作8路输出控制器路输出控制器 任务二任务二 应用应用GAL制作复合逻辑门电路制作复合逻辑门电路 任务三任务三 应用应用GAL制作十进制数码显示器制作十进制数码显示器 任务四任务四 应用应用GAL制作制作4位左移寄存器位左移寄存器 任务五任务五 应用应用GAL制作四进制加法计数器制作四进制加法计数器 任务六任务六 应用应用GAL制作十进制加法计数器制作十进制加法计数器 在集成电路芯片中,一类是定制芯片,它们的逻辑功能是确定的。另一类是可编程逻辑器件PLD,用户可以通过编程方式写入逻辑功能。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 GAL16V8D管脚排列中,I表示逻辑输入端,CLK表示时钟脉冲输入端,O,Q表示输出端,表示输出3态控制端。电源电压典型值+5V,输出电流较大,可以直接驱动LED负载。任务引入任务引入 任务一任务一 应用应用GAL制作制作8路输出控制器路输出控制器课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用8路输出控制器测试电路 课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用一、可编程逻辑器件一、可编程逻辑器件PLD1.PLD逻辑符号逻辑符号PLD逻辑符号相关知识相关知识课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用PLD结构图2.PLD结构结构课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用3.GAL16V8结构结构(1)8个输入缓冲器(2)8个输出/反馈缓冲器(3)8个三态输出缓冲器(4)8个输出逻辑宏单元OLMC(5)1个时钟输入缓冲器CLK(6)1个输出使能缓冲器(7)1个可编程的与门阵列 4.GAL的工作模式和逻辑组态的工作模式和逻辑组态 GAL16V8系列器件共有3种工作模式,它们是简单模式、复杂模式和寄存器模式。工作模式组 态简单模式S无反馈组合输出组态 本级组合输出邻级输入组态邻级输入组态复杂模式C有反馈组合输出 无反馈组合输出寄存器模式R寄存器输出组态 组合输出组态3种工作模式和7种组态的关系课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用二、用户源文件二、用户源文件module DS00 模块名是模块名是DS00 IO device P16V8S;使用器件为使用器件为P16V8S,IO是烧写文件是烧写文件名名 D0,D1,D2,D3,D4,D5,D6,D7 pin 1,2,3,4,5,6,7,8;输入端管脚声明输入端管脚声明 Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7 pin 19,18,17,16,15,14,13,12;输出端管脚声明输出端管脚声明 CTRL pin 9;控制端管脚声明控制端管脚声明 input =D7.D0;input是输入端是输入端D7D0的集合的集合 output=Q7.Q0;output是输出端是输出端Q7Q0的集合的集合equations 逻辑方程式关键字逻辑方程式关键字 WHEN CTRL=0 THEN output=!input;逻辑功能逻辑功能 WHEN CTRL=1 THEN output=input;逻辑功能逻辑功能end DS00 模块模块DS00结束关键字结束关键字课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用三、编程软件三、编程软件课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 在编辑区写入用户源文件程序后,单击软件界面上设备库键,程序自动装载相应器件P16V8,单击编译键,自动生成WORD文件和烧写文件io.jed,Doc键和Jed键由灰白色变成黑色可用。编译结束后,单击保存键保存文件DS00.abl。下次可单击打开键,打开已保存的文件。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用用编程器制作用编程器制作8路输出控制专用芯片路输出控制专用芯片 任务实施任务实施 1.用编程电缆连接编程器和计算机。2.将GAL16V8芯片插入编程器40脚插座,锁紧手柄。注意芯片凹口方向与插座凹口方向一致,芯片右边沿紧贴插座内边沿。3.接通电源,编程器电源指示灯亮。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 4.进入编程界面,选择“可编程逻辑器件”,生产厂商“LATTICE”,在芯片型号中选择“GAL16V8D”。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 5.单击装载键,在D:Abel4wMyFiles文件夹中找到烧写文件io.jed。找到烧写文件io.jed课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用6.单击打开键,选择.JED文件格式。选择JED文件格式课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 7.单击确认键,将烧写文件io.jed装入编程器缓冲区。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 8.在操作界面上选择“先擦除、检查空、写器件、校对数据”组合操作,按下自动键后开始操作。烧写文件写入芯片操作界面课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用操作步骤操作步骤 (1)关闭电源,将GAL16V8D芯片插入面包板上。(2)将发光二极管和电阻串联插入输出端管脚。(3)用插接线连接输入端电平,例如,D0D3接高电平,D4D7接低电平。(4)将插接线插入控制端管脚。(5)检查+5V电压是否正常。(6)接通电源后,当控制端接地时,输出端状态与输入端状态相反。(7)拔出控制端插接线,即控制端悬空为高电平时,输出端状态与输入端状态相同。任务二任务二 应用应用GAL制作复合逻辑门电路制作复合逻辑门电路通过编程方式在一片芯片中实现多个不同逻辑的门电路。任务引入任务引入 一、运算符号一、运算符号运算符表达式举例说 明运算优先级A求十进制补码1AB减3A+B加3*A*B乘2/A/B无符号整除2%A%B取模:无符号整除的余数2AABA右移B位2算术运算符相关知识相关知识逻辑运算符运算符表达式举例说 明运算优先级!A非(取反)1&A&B与2#A#B或3$A$B异或3!$A!$B异或非(同或)3关系运算符运算符表达式举例说 明运算优先级=A=B等于4!=A!=B不等于4AB小于4=AAB大于4=A=B大于或等于4课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用二、用户源文件二、用户源文件module DS01 模块名是DS01 gate device p16v8s;使用器件为P16V8S,gate是烧写文件名 a,b,c,d,e,f pin 1,2,3,4,5,6;输入端管脚声明 g,h,i,j,k pin 7,8,9,11,12;输入端管脚声明 u,v,x,y,z pin 19,18,16,15,13;输出端管脚声明equations 逻辑方程式关键字 u=a&b;与逻辑门 v=c#d;或逻辑门 x=!e;非逻辑门 y=f$g;异或逻辑门 z=!(h&i&j&k);与非逻辑门end DS01 结束关键字课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 在编程操作界面,生成WORD文件和烧写文件gate.jed。编译结束后,单击保存键保存文件DS01.abl。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 5.单击装载键,找到烧写文件gate.jed。用编程器制作复合逻辑门专用芯片用编程器制作复合逻辑门专用芯片 任务实施任务实施14略,与前面的任务中操作步骤相同。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 5.单击装载键,找到烧写文件gate.jed。用编程器制作复合逻辑门专用芯片用编程器制作复合逻辑门专用芯片 任务实施任务实施14略,与前面的任务中操作步骤相同。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用6.单击打开键,选择JED文件格式。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 7.单击确认键,将烧写文件gate.jed装入编程器缓冲区。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 8.在操作界面上选择“先擦除、检查空、写器件、校对数据”组合操作,按下自动键后开始操作。操作过程中TOP851面板指示灯不停闪烁,约几秒钟时间整个操作过程结束,面板指示灯停止闪烁,状态显示“正常结束”,表示写入数据完全正确。复合逻辑门专用芯片制作完毕,从编程器中取出芯片待用。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用操作步骤操作步骤 1.关闭电源,将GAL16V8D芯片插入面包板上。2.将发光二极管和电阻串联插入输出端管脚。3.将插接线插入输入端管脚。4.检查+5V电压是否正常。5.接通电源后,逐个测试5个门电路的逻辑功能。任务三任务三 应用应用GAL制作十进制数码显示器制作十进制数码显示器十进制数码显示器测试电路任务引入任务引入 本任务用GAL器件制作十进制数码显示器。一、属性字符串一、属性字符串属性字符串属性字符器意 义属性字符器意 义com组合型输出keep不将此信号从方程式中简化掉reg寄存器型输出reg_dD型触发器invert目标器件中的反相器reg_jkJK型触发器buffer目标器件中的缓冲器reg_srSR型触发器neg未规定的逻辑为1 reg_tT型触发器pos未规定的逻辑为0 相关知识相关知识二、关键字二、关键字ABEL 关键字CASEEQUATIONSLIBRARYTEST_VECTORSDEVICEFLAGMACROTHENELSEFUSESMODULETITLEENABLEGOTONODETRUTH-TABLEENDIFPINWHENENDCASEINSTATEWITHENDWITHISTYPESTATE-DIAGRAM 关键字是一类特殊的标识符,可以大写或小写,它们表示的含义相同。课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用三、用户源文件三、用户源文件module DS02 bcd7 device P16V8s;bcd7是烧写文件名 i1,i2,i3,i4 pin 1,2,3,4;i5,i6,i7,i8,i9 pin 5,6,7,8,9;a,b,c,d,e,f,g pin 19,18,17,16,15,14,13 istypeCOM;定义为COM型truth_table 表格关键字 (i9,i8,i7,i6,i5,i4,i3,i2,i1-a,b,c,d,e,f,g)0,0,0,0,0,0,0,0,0-1,1,1,1,1,1,0;0 0,0,0,0,0,0,0,0,1-0,1,1,0,0,0,0;1 0,0,0,0,0,0,0,1,0-1,1,0,1,1,0,1;2 0,0,0,0,0,0,1,0,0-1,1,1,1,0,0,1;3 0,0,0,0,0,1,0,0,0-0,1,1,0,0,1,1;4 0,0,0,0,1,0,0,0,0-1,0,1,1,0,1,1;5 0,0,0,1,0,0,0,0,0-1,0,1,1,1,1,1;6 0,0,1,0,0,0,0,0,0-1,1,1,0,0,1,0;7 0,1,0,0,0,0,0,0,0-1,1,1,1,1,1,1;8 1,0,0,0,0,0,0,0,0-1,1,1,1,0,1,1;9 end 结束关键字课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 ABEL4软件编程操作界面课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 1.用编程电缆连接编程器和计算机。2.将GAL16V8D芯片插入编程器40脚插座,锁紧手柄。3.进入编程软件界面,在下拉芯片型号中选择“GAL16V8D”。4.单击装载键,在MyFiles文件夹中找到烧写文件bcd7.jed。5.十进制数码显示器专用芯片制作完毕后,从编程器中取出芯片待用。用编程器制作复合逻辑门专用芯片用编程器制作复合逻辑门专用芯片 任务实施任务实施课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用操作步骤操作步骤 1.关闭电源,将GAL16V8D芯片插入面包板上。2.将数码管和电阻串联插入输出端管脚。3.用插接线将输入端管脚i0i9接入低电平。4.检查+5V电压是否正常。5.接通电源后,数码管显示数码“0”。6.逐个拔出输入端插接线,即输入端悬空为高电平时,输出端输出相应的数码“19”。7.当两个以上输入端同时为高电平时,输出端无显示。任务四任务四 应用应用GAL制作制作4位左移寄存器位左移寄存器 制作4位左移寄存器测试电路。任务引入任务引入 一、电路说明一、电路说明 时序逻辑电路,由4个D触发器构成4位移位寄存器,所以要用GAL的寄存器模式R。在寄存器模式下,1号管脚固定为时钟脉冲输入端,11号管脚固定为使能控制端,在建立用户源文件时,11号管脚要给出管脚定义,但不必写出的方程式,在使用时只要将11号管脚接地就可保证时序电路使能。相关知识相关知识赋值运算字符二、关系赋值符二、关系赋值符赋值符表达式举例说 明=A=B组合逻辑赋值(把B的值立即赋给A,没有延时,与时钟无关):=A:=B寄存器赋值(在下一个时钟脉冲的有效沿,把B的值赋给A)课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用三、用户源文件三、用户源文件module DS03 SL4 device P16V8R;CLK,DIN,OE pin 1,2,11;Q3,Q2,Q1,Q0 pin 19,18,17,16 istype REG;equations Q3.Q0.C=CLK;Q0:=DIN;Q1:=Q0;Q2:=Q1;Q3:=Q2;end 课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 ABEL4软件编程操作界面课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用操作步骤操作步骤 1.关闭电源,将GAL16V8D,CD4060芯片插入面包板上。2.将发光二极管和电阻串联插入输出端管脚。3.用插接线将端接入低电平。4.CD4060接为秒脉冲振荡器,脉冲信号接入CLK端。5.检查+5V电压是否正常,若正常接通电源。6.不断将DIN接线端拔出或插入低电平,模拟输入数据“1”或“0”,可以看出发光二极管灯光闪烁并向左移动。任务实施任务实施任务五任务五 应用应用GAL制作四进制加法计数器制作四进制加法计数器四进制加法计数器测试电路任务引入任务引入 一、电路逻辑一、电路逻辑四进制加法计数器逻辑功能表输 入输 出逻辑功能clrclkqbqacoqbqa1zzz高阻态00000同步清零0100001计数0101010计数0110111计数0111000计数相关知识相关知识课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用二、用户源文件二、用户源文件module DS04 cont4 device P16V8R;clk,clr,OE pin 1,2,11;c0,qb,qa pin 19,18,17;equations qb,qa.c=clk;qa:=clr&!qa;qb:=clr&(qb$qa);c0=qb&qa;end课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用 ABEL4软件编程操作界面课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用操作步骤操作步骤 1.关闭电源,将GAL16V8D,CD4060芯片插入面包板上。2.将发光二极管和电阻串联插入输出端管脚。3.用插接线将 端接入低电平。4.CD4060接为秒脉冲振荡器,脉冲信号接入CLK端。5.检查+5V电压是否正常,若正常接通电源。6.将CLR端接入高电平,输出端输出相应的代码“00,01,10,11”,并且产生进位信号co。7.将CLR端接入低电平,输出端清零。任务实施任务实施任务六任务六 应用应用GAL制作十进制加法计数器制作十进制加法计数器十进制加法计数器测试电路任务引入任务引入 本任务用GAL器件制作十进制加法计数器。一、数的表示一、数的表示 b、o、d、h(或B、O、D、H)分别表示二进制、八进制、十进制和十六进制数,d可以省略不写。相关知识相关知识课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用二、用户源文件二、用户源文件module DS05cnt10device P16v8R;Clk,Clr,OE,CO pin 1,2,11,19;Q3,Q2,Q1,Q0 pin 18,17,16,15 istype reg;Counter States S0=b0000;S4=b0100;S8=b1000;S12=b1100;S1=b0001;S5=b0101;S9=b1001;S13=b1101;S2=b0010;S6=b0110;S10=b1010;S14=b1110;S3=b0011;S7=b0111;S11=b1011;S15=b1111;equations Q3,Q2,Q1,Q0.c=Clk;课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用state_diagram Q3,Q2,Q1,Q0State S0:IF !Clr THEN S1 WITH CO=0 ELSE S0;State S1:IF !Clr THEN S2 WITH CO=0 ELSE S0;State S2:IF !Clr THEN S3 WITH CO=0 ELSE S0;State S3:IF !Clr THEN S4 WITH CO=0 ELSE S0;State S4:IF !Clr THEN S5 WITH CO=0 ELSE S0;State S5:IF !Clr THEN S6 WITH CO=0 ELSE S0;State S6:IF !Clr THEN S7 WITH CO=0 ELSE S0;State S7:IF !Clr THEN S8 WITH CO=0 ELSE S0;State S8:IF !Clr THEN S9 WITH CO=0 ELSE S0;State S9:IF !Clr THEN S0 WITH CO=1 ELSE S0;课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用State S10:goto S0;State S11:goto S0;State S12:goto S0;State S13:goto S0;State S14:goto S0;State S15:goto S0;end 课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用ABEL4软件编程操作界面1课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用ABEL4软件编程操作界面2课题七可编程逻辑器件课题七可编程逻辑器件GALGAL的应用的应用操作步骤操作步骤 1.关闭电源,将GAL16V8D、CD4060芯片插入面包板上。2.将发光二极管和电阻串联插入输出端管脚。3.用插接线将 端接入低电平。4.CD4060接为秒脉冲振荡器,脉冲信号接入Clk端。5.检查+5V电压是否正常,若正常接通电源。6.将CLR端接入低电平,输出端Q3Q0输出09相应的8421BCD码“00001001”,进位端CO在进位时输出下降沿进位信号。7.将CLR端接入高电平,全部输出端清零。任务实施任务实施