4.64.64.64.6用用用用VerilogHDLVerilogHDLVerilogHDLVerilogHDL描述组合逻辑电路描述组合逻辑电路描述组合逻辑电路描述组合逻辑电路用用用用VerilogHDLVerilogHDLVerilogHDLVerilogHDL描述组合逻辑电路有三种不同抽象级描述组合逻辑电路有三种不同抽象级描述组合逻辑电路有三种不同抽象级描述组合逻辑电路有三种不同抽象级别:组合逻辑电路的门级描述、组合逻辑电路的数别:组合逻辑电路的门级描述、组合逻辑电路的数别:组合逻辑电路的门级描述、组合逻辑电路的数别:组合逻辑电路的门级描述、组合逻辑电路的数据流描述、组合逻辑电路的行为级描述。据流描述、组合逻辑电路的行为级描述。据流描述、组合逻辑电路的行为级描述。据流描述、组合逻辑电路的行为级描述。VerilogHDLVerilogHDLVerilogHDLVerilogHDL描述的电路就是该电路的描述的电路就是该电路的描述的电路就是该电路的描述的电路就是该电路的VerilogHDLVerilogHDLVerilogHDLVerilogHDL模型。模型。模型。模型。•行为描述方式:行为描述方式:行为描述方式:行为描述方式:一般使用下述语句描述,可以对组合、时序逻辑电路建模。一般使用下述语句描述,可以对组合、时序逻辑电路建模。一般使用下述语句描述,可以对组合、时序逻辑电路建模。一般使用下述语句描述,可以对组合、时序逻辑电路建模。1111))))initialinitialinitialinitial语句语句语句语句2222))))alwaysalwaysalwaysalways语句语句语句语句•数据流描述方式:数据流描述方式:数据流描述方式:数据流描述方式:一般使用一般使用一般使用一般使用assignassignassignassign语句描述,主要用于对组合逻辑电路建模。语句描述,主要用于对组合逻辑电路建模。语句描述,主要用于对组合逻辑电路建模。语句描述,主要用于对组合逻辑电路建模。•门级描述:门级描述:门级描述:门级描述:一般使用一般使用一般使用一般使用PrimitivePrimitivePrimitivePrimitive((((内部元件)、自定义的下层模块对电内部元件)、自定义的下层模块对电内部元件)、自定义的下层模块对电内部元件)、自定义的下层模块对电路描述。主要用于层次化设计中。路描述。主要用于层次化设计中。路描述。主要用于层次化设计中。路描述。主要用于层次化设计中。endendendend基本门级元件模型基本门级元件模型基本门级元件模型基本门级元件模型控制信号低电平有效的控制信号低电平有效的控制信号低电平有效的控制信号低电平有效的三态反相器三态反相器三态反相器三态反相器notif0notif0notif0notif0控制信号低电平有效的三态缓冲控制信号低电平有效的三态缓冲控制信号低电平有效的三态缓冲控制信号低电平有效的三态缓冲器器器器bufif0bufif0bufif0bufif0控制信号高电平有效的控制信号高电平有效的控制信号高电平有效的控制信号高电平有效的三态反相器三态反相器三态反相器三态反相器notif1notif1notif1notif1控制信号高电平有效的三态缓冲控制信号高电平有效的三态缓冲控制信号高电平有效的三态缓冲控制信号高电平有效的三态缓冲器器器器bufif1bufif1bufif1bufif1多输出端的反相器多输出端的反相器多输出端的反相器多输出端的反相器notnotnotnot多输出端的缓冲器多输出端的缓冲器多输出端的缓冲器多输出端的缓冲器bufbufbufbuf多输入端的异或非门多输入端的异或非门多输入端的异或非门多输入端的异或非门xnorxnorxnorxnor多输入端的异或门多输入端的异或门多输入端的异或门多输入端的异或门xorxorxorxor多输入端的或非门多输入端的或非门多输入端的或非门多输入端的或非门nornornornor多输入端的或门多输入端的或门多输入端的或门多输入端的或门orororor多输入端的与非门多输入端的与非门多输入端的与非门多输入端的与非门nandnandnandnand多输入端的与门多输入端的与门多输入端的与门多输入端的与门andandandand功能说明功能说明功能说明功能说明元件符号元件符号元件符号元件符号功能说明功能说明功能说明功能说明元件符号元件符号元件符号元件符号多输入门多输入门多输入门多输入门多输出门多输出门多输出门多输出门三态门三态门三态门三态门4.6.14.6.14.6.14.6.1组合逻辑电路的门级建模组合逻辑电路的门级建模组合逻辑电路的门级建模组合逻辑电路的门级建模门级建模门级建模门级建模门级建模::::将逻辑电路图用将逻辑电路图用将逻辑电路图用将逻辑电路图用HDLHDLHDLHDL规定的文本语言表示出来。规定的文本语言表示出来。规定的文本语言表示出来。规定的文本语言表示出来。VerilogVerilog基本门级元件基本门级元件andn-inputANDgateandn-inputANDgateandn-inputANDgateandn-inputANDgatenandnandnandnandn-inputNANDgaten-inputNANDgaten-inputNANDgaten-inputNANDgateorn-inputORgateorn-inputORgateorn-inputORgateorn-inputORgatenorn-inputNORgatenorn-inputNORgatenorn-inputNORgatenorn-inputNORgatexorxorxorxorn-inputexclusiven-inputexclusiven-inputexclusiven-inputexclusiveORgateORgateORgateORgatexnorxnorxnorxnorn-inputexclusiven-inputexclusiven-inputexclusiven-inputexclusiveNORgateNORgateNORgateNORgatebufbufbufbufn-outputbuffern-outputbuffern-outputbuffern-outputbuffernotn-outputinverternotn-outputinverternotn-outputinverternotn-outputinverterbufif0tri-statebuffer;bufif0tri-statebuffer;bufif0tri-statebuffer;bufif0tri-statebuffer;IoenableIoenableIoenableIoenablebufif1tri-statebuffer;bufif1tri-statebuffer;bufif1tri-statebuffer;bufif1tri-statebuffer;hienablehienablehienablehienablenotif0tri-stateinverter;notif0tri-stateinverter;notif0tri-stateinverter;notif0tri-stateinverter;IoenableIoenableIoenableIoenablenotif1tri-stateinverter;notif1tri-stateinverter;notif1tri-stateinverter;notif1tri-stateinverter;hienablehienablehienablehienable1111、多输入门、多输入门、多输入门、多输入门只允许有一个输出,但可以有多个输入。只允许有一个输出,但可以有多个输入。只允许有一个输出,但可以有多个输入。只允许有一个输出,但可以有多个输入。andA1andA1andA1andA1((((outoutoutout,,,,in1in1in1in1,,,,in2in2in2in2,,,,in3in3in3in3););););输输输输入入入入2222xxxxxxxxxxxx1111zzzzxxxxxxxxxxxx1111xxxxxxxxxxxx00001111111111111111111111110000zzzzxxxx11110000输入输入输入输入1111nandnandnandnandnandnandnandnand真值表真值表真值表真值表X-X-X-X-不确定状态不确定状态不确定状态不确定状态Z-Z-Z-Z-高阻态高阻态高阻态高阻态andandandand真值表真值表真值表真值表xxxx0000zzzzxxxx0000xxxxxxxx11110000111100000000000000000000zzzzXXXX11110000输入输入输入输入1111andandandand输输输输入入入入2222xxxxxxxxxxxxxxxxxxxx调用名调用名调用名调用名XXXXXXXX1111XXXXZZZZXXXXXXXX1111XXXXXXXX11111111111111111111XXXXXXXX111100000000ZZZZXXXX11110000输入输入输入输入1111orororor输输输输入入入入2222orororor真值表真值表真值表真值表输输输输入入入入2222XXXXXXXXXXXXXXXXZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXXX000011111111XXXXXXXX111100000000ZZZZXXXX11110000输入输入输入输入1111xorxorxorxorxorxorxorxor真值表真值表真值表真值表2222、多输出门、多输出门、多输出门、多输出门允许有多个输出,但只有一个输入。允许有多个输出,但只有一个输入。允许有多个输出,但只有一个输入。允许有多个输出,但只有一个输入。notN1notN1notN1notN1((((out1out1out1out1,,,,out2out2out2out2,,,,…………,,,,inininin););););xxxxxxxx11110000zzzzxxxx11110000输输输输入入入入bufbufbufbuf输输输输出出出出bufbufbufbuf真值表真值表真值表真值表输输输输出出出出xxxxxxxx00001111zzzzxxxx11110000输输输输入入入入notnotnotnotnotnotnotnot真值表真值表真值表真值表bufbufbufbufB1B1B1B1((((out1out1out1out1,,,,out2out2out2out2,,,,…………,,,,inininin););););out1out1out1out1ininininout2out2out2out2outNoutNoutNoutN…………outoutoutout1111ininininoutoutoutout2222outoutoutoutNNNN…………bufif1bufif1bufif1bufif1真值表真值表真值表真值表xxxxxxxxxxxxzzzzzzzzxxxxxxxxxxxxzzzzxxxx1/z1/z1/z1/z1/z1/z1/z1/z1111zzzz11110/z0/z0/z0/z0/z0/z0/z0/z0000zzzz0000zzzzxxxx11110000控制输入控制输入控制输入控制输入bufif1bufif1bufif1bufif1数数数数据据据据输输输输入入入入xxxxxxxxxxxxzzzzzzzzxxxxxxxxxxxxzzzzxxxx0/z0/z0/z0/z0/z0/z0/z0/z0000zzzz11111/z1/z1/z1/z1/z1/z1/z1/z11110000zzzzzzzzxxxx11110000控制输入控制输入控制输