资源描述:
《组合逻辑电路的Verilog HDL描述.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、4.6用VerilogHDL描述组合逻辑电路4.6.1组合逻辑电路的门级建模4.6.2组合逻辑电路的数据流建模4.6.3组合逻辑电路的行为级建模4.6用VerilogHDL描述组合逻辑电路用VerilogHDL描述组合逻辑电路有三种不同抽象级别:组合逻辑电路的门级描述、组合逻辑电路的数据流描述、组合逻辑电路的行为级描述。VerilogHDL描述的电路就是该电路的VerilogHDL模型。行为描述方式:一般使用下述语句描述,可以对组合、时序逻辑电路建模。1)initial语句2)always语句数据流描述方式:一般使用assign语句描述,主要用于对组合逻辑电路建模。门级描述:一般使用
2、Primitive(内部元件)、自定义的下层模块对电路描述。主要用于层次化设计中。end基本门级元件模型元件符号功能说明元件符号功能说明and多输入端的与门nand多输入端的与非门or多输入端的或门nor多输入端的或非门xor多输入端的异或门xnor多输入端的异或非门buf多输出端的缓冲器not多输出端的反相器bufif1控制信号高电平有效的三态缓冲器notif1控制信号高电平有效的三态反相器bufif0控制信号低电平有效的三态缓冲器notif0控制信号低电平有效的三态反相器多输入门多输出门三态门4.6.1组合逻辑电路的门级建模门级建模:将逻辑电路图用HDL规定的文本语言表示出来。V
3、erilog基本门级元件andn-inputANDgatenandn-inputNANDgateorn-inputORgatenorn-inputNORgatexorn-inputexclusiveORgatexnorn-inputexclusiveNORgatebufn-outputbuffernotn-outputinverterbufif0tri-statebuffer;Ioenablebufif1tri-statebuffer;hienablenotif0tri-stateinverter;Ioenablenotif1tri-stateinverter;hienable1、多
4、输入门只允许有一个输出,但可以有多个输入。andA1(out,in1,in2,in3);输入2xxx1zxxx1xxx01111110zx10输入1nandnand真值表X-不确定状态Z-高阻态and真值表x0zx0xx10100000zX10输入1and输入2xxxxx调用名XX1XZXX1XX11111XX100ZX10输入1or输入2or真值表输入2XXXXZXXXXXXX011XX100ZX10输入1xorxor真值表2、多输出门允许有多个输出,但只有一个输入。notN1(out1,out2,…,in);xx10zx10输入buf输出buf真值表输出xx01zx10输入not
5、not真值表bufB1(out1,out2,…,in);out1inout2outN…out1inout2outNbufif1真值表xxxzzxxxzx1/z1/z1z10/z0/z0z0zx10控制输入bufif1数据输入xxxzzxxxzx0/z0/z0z11/z1/z10zzx10控制输入notif1数据输入notif1真值表3、三态门有一个输出、一个数据输入和一个输入控制。如果输入控制信号无效,则三态门的输出为高阻态z。4、设计举例//Gate-leveldescriptionofa2-to-4-linedecodermodule_2to4decoder(A1,A0,E,Y)
6、;inputA,B,E;output[3:0]Y;wireA1not,A0not,Enot;notG1(A1not,A1),G2(A0not,A0),G3(Enot,E);nandG4(Y[0],A1not,A0not,Enot),G5(Y[1],A1not,A0,Enot),G6(Y[2],A1,A0not,Enot),G7(Y[3],A1,A0,Enot);endmodule试用Verilog语言的门级元件描述2线-4线译码器.说明部分功能描述例2用Verilog的门级元件进行描述由三态门构成的2选1数据选择器。//Gate-leveldescriptionofa2-to-1-l
7、inemultiplexermodule_2to1muxtri(A,B,SEL,L);inputA,B,SEL;outputL;triL;bufif1(L,B,SEL);bufif0(L,A,SEL);endmodule5、分层次的电路设计方法简介4位全加器的层次结构框图分层次的电路设计:在电路设计中,将两个或多个模块组合起来描述电路逻辑功能的设计方法。设计方法:自顶向下和自底向上两种常用的设计方法modulehalfadder(S,C,A,B);inpu