Chinaopub.com 下载 第5章门电平模型化 本章讲述 Verilog HDL为门级电路建模的能力,包括可以使用的内置基本门和如何使用它 们来进行硬件描述 51内置基本门 erilog hDl中提供下列内置基本门 1)多输入门 and, nand,or, nor,xor, xnor 2)多输出门 buf, not 3)三态门 buffo, bufifl, notify, notifl 4)上拉、下拉电阻: pullup, pulldown cmos, nmos, pmos, remos, nmos, pmos 6)双向开关 tran, tranif0, tranifl, rtran, rtranif0, rtranifl 门级逻辑设计描述中可使用具体的门实例语句。下面是简单的门实例语句的格式。 gate type [ins tance name] (term1, term2 termN 注意, Instance name.是可选的; gate type为前面列出的某种门类型。各term用于表示与 门的输入/输出端口相连的线网或寄存器 同一门类型的多个实例能够在一个结构形式中定义。语法如下 [instance name1] (termiN, term12 termIN [instance name2] (term21, term2 termiN [instance namen] (termMl, termM2 termIN 52多输入门 Input] 内置的多输入门如下 and nand nor or xor xnor 多输入门 这些逻辑门只有单个输出,1个或多个输入。多输入 门实例语句的语法如下 图5-1多输入门 multiple input gate type name](OutputA, Input1, Input 第一个端口是输出,其它端口是输入。如图5-1所示
下载 第5章 门电平模型化 本章讲述Verilog HDL为门级电路建模的能力,包括可以使用的内置基本门和如何使用它 们来进行硬件描述。 5.1 内置基本门 Verilog HDL中提供下列内置基本门: 1) 多输入门: and, nand,or, nor, x o r, x n o r 2) 多输出门: buf, not 3) 三态门: bufif0, bufif1, notif0,notif1 4) 上拉、下拉电阻: pullup, pulldown 5) MOS开关: cmos, nmos, pmos, rcmos, rnmos, rpmos 6) 双向开关: tran,tranif0, tranif1, rtran, rtranif0, rt r a n i f 1 门级逻辑设计描述中可使用具体的门实例语句。下面是简单的门实例语句的格式。 g a t e _ t y p e[i n s t a n c e _ n a m e] (term1, term2, . . . ,termN) ; 注意,i n s t a n c e _ n a m e是可选的;g a t e _ t y p e为前面列出的某种门类型。各 t e r m用于表示与 门的输入/输出端口相连的线网或寄存器。 同一门类型的多个实例能够在一个结构形式中定义。语法如下 : g a t e _ t y p e [i n s t a n c e _ n a m e 1] (term11, term12, . . .,term1N) , [i n s t a n c e _ n a m e 2] (term21, term22, . . .,term2N) , . . . [i n s t a n c e _ n a m e M] (termM1, termM2, . . .,termMN) ; 5.2 多输入门 内置的多输入门如下: and nand nor or xor xnor 这些逻辑门只有单个输出, 1个或多个输入。多输入 门实例语句的语法如下: m u l t i p l e _ i n p u t _ g a t e _ t y p e [i n s t a n c e _ n a m e] (OutputA, Input1, Input2, . . .,InputN ) ; 第一个端口是输出,其它端口是输入。如图5 - 1所示。 图5-1 多输入门 多输入门
40wmD)硬件述语言 China-pub coM 下载 下面是几个具体实例。图5-2为对应的逻辑图 and Al( Outl, Inl, In? and RBX(sty,R⊥b,Bro,Qit,F↓x xor (Bar, Bud[o], Bud[l], Bud [2])r (Car, Cut [o, Cut[1]) (Sar, Sut [2], Sut[l], Sut[o], Sut[3]) but] 2多输入门实例 第一个门实例语句是单元名为A、输出为Oul、并带有两个输入lnl和mn2的两输入与门。 第二个门实例语句是四输入与门,单元名为RBX,输出为Sy,4个输入为Rb、Bmo、Qit和Fx 第三个门实例语句是异或门的具体实例,没有单元名。它的输出是Bar,三个输入分别为 Bud0]、BudI]和Bd2]。同时,这一个实例语句中还有两个相同类型的单元 下面是这些门的真值表。注意在输入端的z与对x的处理方式相同:多输入门的输出决不 能是z。 Xoor
40 Verilog HDL 硬件描述语言 下面是几个具体实例。图5 - 2为对应的逻辑图。 and A 1(Out1, In1, In2) ; a n d R B X (Sty, Rib, Bro, Qit, Fix) ; x o r (Bar, Bud[ 0 ] ,B u d[1], B u d[ 2 ] ) , (Car, Cut[0], C u t[ 1 ] ) , (Sar, Sut[2], S u t[1], S u t[0], S u t[ 3 ] ) ; 图5-2 多输入门实例 第一个门实例语句是单元名为 A 1、输出为O u t 1、并带有两个输入I n 1和I n 2的两输入与门。 第二个门实例语句是四输入与门,单元名为 R B X,输出为S t y,4个输入为R i b、B ro、Q i t和F i x。 第三个门实例语句是异或门的具体实例,没有单元名。它的输出是 B a r,三个输入分别为 B u d[ 0 ]、B u d[ 1 ]和B u d[ 2 ]。同时,这一个实例语句中还有两个相同类型的单元。 下面是这些门的真值表。注意在输入端的 z与对x的处理方式相同;多输入门的输出决不 能是z。 下载
hinapub.com 第章门电平模型41 下载 53多输出门 多输出门有 buf not 这些门都只有单个输入,一个或多个输出。如图5-3所示。这些门的实例语句的基本语法 multiple output gate type 最后的端口是输入端口,其余的所有端口为输出端口。 Out2 Out2 OutN OutN 图5-3多输出门 例如: buf BI (Fan [0], Fan [1], Fan [2], Fan [3], clk) not NI(PhA, PhB, Ready); 在第一个门实例语句中,Ck是缓冲门的输入。门B有4个输出:Fan0]到Fan3]。在第二 个门实例语句中, Ready是非门的唯一输入端口。门N有两个输出:PhA和PhB 这些门的真值表如下 输出)0 54三态门 三态门有 buf⊥f0 buff1not⊥f0 notif1 这些门用于对三态驱动器建模。这些门有一个输出、一个数据输入和一个控制输入。三 态门实例语句的基本语法如下: tristate gate[instance name] (OutputA, Input, Controle 第一个端口 Output是输出端口,第二个端口pwB是数据输入, Controlc是控制输入。 参见图5-4。根据控制输入,输出可被驱动到高阻状态,即值z。对于bufi⑩,若通过控制输入 为1,则输出为z:否则数据被传输至输出端。对于 bufifl,若控制输入为0,则输出为z。对 notify,如果控制输出为1,那么输出为z:否则输入数据值的非传输到输出端。对于 notif1, 若控制输入为0;则输出为z。 例如: bufif1 BFl (Dbus, MemData, strobe) notifo NT2 (Addr, Abus, Prob 当 Strobe为0时,bufi门BFl驱动输出Dbus为高阻:否则 Memdata被传输至Dbus。在第2 个实例语句中,当 Probe为1时,Adr为高阻:否则Abus的非传输到Add
5.3 多输出门 多输出门有: buf not 这些门都只有单个输入,一个或多个输出。如图 5 - 3所示。这些门的实例语句的基本语法 如下: m u l t i p l e _ o u t p u t _ g a t e _ t y p e [i n s t a n c e _ n a m e] (Out1, Out2, . . . OutN ,InputA ) ; 最后的端口是输入端口,其余的所有端口为输出端口。 图5-3 多输出门 例如: b u f B 1 (Fan [ 0 ],Fan [ 1 ],Fan [ 2 ],Fan [ 3 ],C l k); n o t N 1 (P h A,P h B,R e a d y); 在第一个门实例语句中,C l k是缓冲门的输入。门B 1有4个输出:F a n[ 0 ]到F a n[ 3 ]。在第二 个门实例语句中,R e a d y是非门的唯一输入端口。门 N 1有两个输出:P h A和P h B。 这些门的真值表如下: 5.4 三态门 三态门有: bufif0 bufif1 notif0 notif1 这些门用于对三态驱动器建模。这些门有一个输出、一个数据输入和一个控制输入。三 态门实例语句的基本语法如下: t r i s t a t e _ g a t e[i n s t a n c e _ n a m e] (OutputA, InputB,ControlC) ; 第一个端口 O u t p u t A是输出端口,第二个端口 I n p u t B是数据输入, C o n t ro l C是控制输入。 参见图5 - 4。根据控制输入,输出可被驱动到高阻状态,即值 z。对于b u f i f 0,若通过控制输入 为1,则输出为z;否则数据被传输至输出端。对于 b u f i f 1,若控制输入为0,则输出为z。对于 n o t i f 0,如果控制输出为 1,那么输出为 z;否则输入数据值的非传输到输出端。对于 n o t i f 1, 若控制输入为0;则输出为z。 例如: b u f i f 1 BF1 (D b u s,M e m D a t a,S t r o b e); n o t i f 0 N T 2 (Addr, Abus, Probe) ; 当S t ro b e为0时,b u f i f 1门B F 1驱动输出D b u s为高阻;否则M e m D a t a被传输至D b u s。在第2 个实例语句中,当P ro b e为1时,A d d r为高阻;否则A b u s的非传输到A d d r。 第5章 门电平模型化 41 下载 (输出) (输出)
42wiD)硬停述语言 China°Co 下载 Input Cunrui o notify ControlC 图54三态门 下面是这些门的真值表。表中的某些项是可选项。例如,0/表明输出根据数据的信号强 度和控制值既可以为0也可以为z,信号强度在第10章中讨论。 控制 控制 数据 数据1|2z notin 控制 控制 01z1z1 数据 55上拉、下拉电阻 上拉、下拉电阻有 pu1⊥up pulldown 这类门设备没有输入只有输出。上拉电阻将输出置为1。下拉电阻将输出置为0。门实例 语句形式如下 pull gate[instance name] (OutputA 门实例的端口表只包含1个输出。例如 pullup PUP (Pwr) 此上拉电阻实例名为PUP,输出Pwr置为高电平1 56MOS开关 MOS开关有 s nmos Icmos fpmos Inmo
图5-4 三态门 下面是这些门的真值表。表中的某些项是可选项。例如, 0 /z表明输出根据数据的信号强 度和控制值既可以为0也可以为z,信号强度在第1 0章中讨论。 5.5 上拉、下拉电阻 上拉、下拉电阻有: pullup pulldown 这类门设备没有输入只有输出。上拉电阻将输出置为 1。下拉电阻将输出置为 0。门实例 语句形式如下: p u l l _ g a t e[i n s t a n c e _ n a m e] (O u t p u t A) ; 门实例的端口表只包含1个输出。例如: p u l l u p PUP (P w r) ; 此上拉电阻实例名为P U P,输出P w r置为高电平1。 5.6 MOS开关 M O S开关有: cmos pmos nmos rcmos rpmos rnmos 42 Verilog HDL 硬件描述语言 下载 数据 数据 控 制 控 制 控 制 控 制 数据 数据
Chinapub.com 第章门电平模型43 下载 这类门用来为单向开关建模。即数据从输入流向输出,并且可以通过设置合适的控制输 入关闭数据流 pmos(p类型MOS管)、nmos(n类型MOS管), ramos(r代表电阻)和 pmos开关有一个输出 一个输入和一个控制输入。实例的基本语法如下: gate type[instance name] (OutputA, Input, Controle 第一个端口为输出,第二个端口是输入,第三个端口是控制输入端。如果nmos和rmos开 关的控制输入为0,pmos和 rpms开关的控制为1,那么开关关闭,即输出为z;如果控制是1, 输入数据传输至输出:如图5-5所示。与nmos和pmos相比, inmos和 pmos在输入引线和输出 引线之间存在高阻抗(电阻)。因此当数据从输入传输至输出时,对于 rpms和rmos,存在数据 信号强度衰减。信号强度将在第10章进行讲解。 O中putA Output nmos开关 pmos开关 图5-5mmos和pmos开关 例如: pmos P1(BigBus, SmallBus, GateContrpi inmos RNI (ControlBit, Readybit, hold 第一个实例为一个实例名为Pl的pmos开关。开关的输入为 SmallBus,输出为 Big Bus,控 制信号为 Gate Control 这些开关的真值表如下所示。表中的某些项是可选项。例如,1/表明,根据输入和控制 信号的强度,输出既可以为1,也可以为z 控制 nmos 控制 数据 数据 cmos(mos求补)和 Ramose(cmos的高阻态版本)开关有一个数据输出,一个数据输入和两个 控制输入。这两个开关实例语句的语法形式如下: PControl (r)cmos [instance name] (OutputA, Input, NControl, PControl 第一个端口为输出端口,第二个端口为输入端口,第 个端口为n通道控制输入,第四个端口为是P通道控制输 入。cmos( remos)开关行为与带有公共输入、输出的pmos NControl ( rpms)和nmos(mos)开关组合十分相似。参见图5-6。 图5-6( r)cmos开关
这类门用来为单向开关建模。即数据从输入流向输出,并且可以通过设置合适的控制输 入关闭数据流。 p m o s ( p类型M O S管)、n m o s ( n类型M O S管),r n m o s ( r代表电阻)和r p m o s开关有一个输出、 一个输入和一个控制输入。实例的基本语法如下: g a t e _ t y p e[i n s t a n c e _ n a m e] (OutputA, InputB, ControlC) ; 第一个端口为输出,第二个端口是输入,第三个端口是控制输入端。如果 n m o s和r n m o s开 关的控制输入为0,p m o s和r p m o s开关的控制为1,那么开关关闭,即输出为 z;如果控制是1, 输入数据传输至输出;如图 5 - 5所示。与n m o s和p m o s相比,r n m o s和r p m o s在输入引线和输出 引线之间存在高阻抗 (电阻)。因此当数据从输入传输至输出时,对于 r p m o s和r m o s,存在数据 信号强度衰减。信号强度将在第 1 0章进行讲解。 图5-5 nmos和p m o s开关 例如: p m o s P 1 (BigBus, SmallBus, GateControl ) ; r n m o s R N 1 (ControlBit, ReadyBit, Hold) ; 第一个实例为一个实例名为 P 1 的p m o s开关。开关的输入为S m a l l B u s,输出为B i g B u s,控 制信号为G a t e C o n t ro l。 这些开关的真值表如下所示。表中的某些项是可选项。例如, 1 /z表明,根据输入和控制 信号的强度,输出既可以为 1,也可以为z。 c m o s ( m o s求补)和r c m o s ( c m o s的高阻态版本 )开关有一个数据输出,一个数据输入和两个 控制输入。这两个开关实例语句的语法形式如下: (r)cmos [i n s t a n c e _ n a m e] (OutputA, InputB, NControl, PControl); 第一个端口为输出端口,第二个端口为输入端口,第 三个端口为n通道控制输入,第四个端口为是 P通道控制输 入。c m o s ( r c m o s )开关行为与带有公共输入、输出的 p m o s (r p m o s)和n m o s ( r n m o s )开关组合十分相似。参见图 5 - 6。 第5章 门电平模型化 43 下载 开关 开关 控制 数据 数据 控制 图5-6 (r)cmos开关