《可编程逻辑电路》PPT课件.ppt

上传人:tia****nde 文档编号:12721108 上传时间:2020-05-19 格式:PPT 页数:68 大小:2.24MB
返回 下载 相关 举报
《可编程逻辑电路》PPT课件.ppt_第1页
第1页 / 共68页
《可编程逻辑电路》PPT课件.ppt_第2页
第2页 / 共68页
《可编程逻辑电路》PPT课件.ppt_第3页
第3页 / 共68页
点击查看更多>>
资源描述
第八章可编程逻辑电路,8.1概述8.2只读存储器8.3可编程逻辑阵列(PLA)8.4可编程阵列逻辑(PAL)8.5用VerilogHDL设计逻辑电路,知识要点,1、PLD的概念,2、只读存储器,3、可编程逻辑阵列(PLA),4、可编程阵列逻辑(PAL),5、VerilogHDL,重点与难点,一、重点,1、只读存储器(ROM),3、可编程阵列逻辑(PAL),2、可编程逻辑阵列(PLA),二、难点,2、用VerilogHDL设计逻辑电路,1、用PLA设计同步时序逻辑电路,4、用VerilogHDL设计逻辑电路,8.1概述,高密度可编程逻辑器件HDPLD:CPLD、FPGA。,1、PLD的基本结构,2、PLD电路的表示方法及有关符号,(2)PLD与门表示法,(1)PLD缓冲表示法,(4)PLD连接的表示法,(3)PLD或门表示法,3、与或阵列,8.2只读存储器(ROM),1、ROM的结构和分类(2nm(位),A1,A0,VCC,地址译码器,W0,W1,W2,W3,F0,F1,F2,F3,V0,V1,V2,V3,0,1,0,0,1,1,1,0,.,上图是44ROM电原理图。若A1A0=01,则W1为,“1”使三极管V1、V3、V4导通使F0、F2、F3为“1”而,V2截止,故F1输出为“0”。,F0=W0+W1,F1=W0,F2=W0+W1+W2+W3,F3=W1+W2+W3,根据地址译码器的功能可以写出字线的表达式为:,代入F0F3得:,A1,A1,A0,A0,W0,W1,W2,W3,F0,F1,F2,F3,1,1,1,1,InputA,B;,outputF;,module模块名(端口参数):moduleG(A,B,F):端口定义-inputA,B;outputF;寄存器定义-regC;线网定义-netD;内置门原语-andG1(F,A,B);或assign语句-assignF=Aendmodule,AndU1(F,A,B);,endmodule,moduleAND_G2(A,B,F);,InputA,B;,outputF;,assignF=A,endmodule,方法一称为门级描述方式或结构级的建模,,在Verilog-HDL中,属于内置门实例语句的有:,and(与),nand(与非),or(或),nor(或非),xor(异或),xnor(同或),buf(缓冲器),方法二称为数据流描述方式或数据流级建模,在这里用assign来描述电路的逻辑功能,这里用了位运算符“inputA,B;outputF;orU2(F,A,B);endmodule,/*OR_G2*/moduleOR_G2(A,B,F);inputA,B;outputF;assignF=A|B;endmodule,2、非门逻辑电路的描述,1,F,模块NOT_G,A,/*NOT_G*/moduleNOT_G(A,F);inputA;outputF;notU4(F,A);endmodule,/*NOT_G*/moduleNOT_G(A,F);inputA;outputF;assignF=A;endmodule,3、与非门逻辑电路的描述,B,inputA,B;outputF;nandU5(F,A,B);endmodule,/*NAND_G2*/moduleNAND_G2(A,B,F);inputA,B;outputF;assignF=(Aendmodule,4、或非门逻辑电路的描述,B,1,F,模块NOR_G2,A,/*NOR_G2*/moduleNOR_G2(A,B,F);inputA,B;outputF;norU6(F,A,B);endmodule,/*NOR_G2*/moduleNOR_G2(A,B,F);inputA,B;outputF;assignF=(A|B);endmodule,5、缓冲器逻辑电路的描述,F,模块BUF_G,A,/*BUF_G*/moduleBUF_G(A,F);inputA;outputF;bufU7(F,A);endmodule,/*BUF_G*/moduleBUF_G(A,F);inputA;outputF;assignF=A;endmodule,6、与或非电路,的描述,moduleG2(A,B,C,D,F);/模块名为G2inputA,B,C,D;/定义输入端口outputF;/定义输出端口assignF=(A/功能描述endmodule,VerilogHDL有两大类数据类型1)线网类型。netstype表示Verilog结构化元件间的物理连线。它的值由驱动元件的值决定,例如:连续赋值或门的输出.如果没有驱动元件连接到线网,线网的缺省值为Z.2)寄存器类型。registertype表示一个抽象的数据存储单元,它只能在always语句和initial语句中被赋值,并且它的值从一个赋值到另一个赋值被保存下来。寄存器类型的变量的缺省值为X.,8.5.3数据类型及变量,数据类型与基本逻辑单元建库有关,由半导体厂家和EDA工具厂家共同提供。,nets型变量指输出始终根据输入变化而更新其值的变量,一般是指硬件电路中的各种物理连接。VerilogHDL中提供了多种nets型变量,但最常用的是wire型变量。VerilogHDL模块中的输入/输出信号类型缺省时自动定义为wire型。,wire型变量的定义格式如下:wire数据名1,数据名2,.数据名n;例1:wirea,b;定义了两个1位的wire型变量a,b。例2:wire7:0databus;定义了8位宽度的数据总线。,register型变量对应的是具有状态保持作用的电路元件,如触发器、寄存器等。register型变量与nets型变量的根本区别在于,register型变量需要被明确地赋值,并且在被重新赋值前一直保持原值。所以在设计中要将register型变量放在过程块语句(如Initial,always)中赋值。,reg型变量的定义格式类似于wire型,具体格式为:,reg数据名1,数据名2.数据名n;例1:rega,b;/定义了两个一位的reg型变量a,b例2:reg7:0data/定义data为8位宽的数据,1、3-8线译码器电路的描述,moduledecoder3_8(out,in);output7:0out;input2:0in;reg7:0out;always(in)begincase(in)3d0:out=8b11111110;3d1:out=8b11111101;,8.5.4用VerilogHDL设计数字电路,3d2:out=8b11111011;3d3:out=8b11110111;3d4:out=8b11101111;3d5:out=8b11011111;3d6:out=8b10111111;3d7:out=8b01111111;endcaseendendmodule,2、4选1数据选择器电路(MUX)的描述(1)用case语句描述4选1MUX,modulemux4_1(out,in0,in1,in2,in3,sel;outputout;input3:0in0,in1,in2,in3;input1:0sel;regout;always(in0orin1orin2orin3orsel)begincase(sel)2b00:out=in02b01:out=in1,2b10:out=in2;default:out=in3;endcaseendendmodule,(2)用if-else语句描述4选1MUX,modulemux4_1(out,in0,in1,in2,in3,sel;outputout;input3:0in0,in1,in2,in3;input1:0sel;regout;always(in0orin1orin2orin3orsel)beginif(sel=2b00)out=in0elseif(sel=2b01)out=in1elseif(sel=2b10)out=in2elseout=in3endendmodule,3、带异步复位、置位端的D触发器的描述,moduleDFF1(q,qn,d,clk,set,reset);inputd,clk,set,reset;outputq,qn;regq,qn;always(posedgeclkornegedgesetornegedgereset)beginif(!reset)beginq=0qn=1end,elseif(!set)beginq=1;qn=0;endelsebeginq=d;qn=d;endendendmodule,4、8位移位寄存器电路的描述,moduleshifter(din,clk,clr,dout);inputdin,clk,clr;output7:0dout;reg7:0dout;always(posedgeclk)beginif(clr)dout=8b0;/清0,高电平有效elsebegindout=dout1;/输出信号左移一位dout0=din;/输入信号进入最低位end,endendmodule,5、8位任意模加法/减法计数器电路的描述,moduleupdown_count(d,clk,clear,load,up_down,qd);input7:0d;inputclk;inputload;inputup_down;output7:0qd;,reg7:0cnt;assingqd=cnt;always(posedgeclk)beginif(!clear)cnt=8b0;/清0,低电平有效elseif(load)cnt=d;/同步置数elseif(up_down)cnt=cnt+1;/加法计数elsecnt=cnt-1;/减法计数endendmodule,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!