电吧(n]图2.17多输入或门图2.16多输入与门图2.18所示为多输入与非门。只有当所有输入信号均为高电平时,才为低电平。多输入与非门的逻辑表达式为(2.11)signz=~(x[1]&x[2]&."-&x[n]);简约运算符表达形式为(2.12)assign z=~&x;门例化语句表达形式为(2.13)nand(z, x[1], x[2], ...x[n);图2.19所示为多输入或非门。只有当所有输入信一号均为低电平时,才为高电平。多输入或非门的逻辑表达式为(2.14)assign z=~(x[1]x[2]... x[n]];简约运算符表达形式(2.15)assign z=~x;门例化语句表达形式为(2.16)nor(z, x[1], x[2]... x[n]];图2.18多输入与非门图2.19多输入或非门图2.20所示为多输入异或门。那么多输入异或门是什么意思呢?按照之前在多输入与门中采用的力一式,我们写出多输入异或门的逻辑表达式:(2.17)assign z= x[1]x[2]....x[n];简约运算符表达形式为(2.18)assign z=^ x;门例化语句表达形式为(2.19)xor(z, x[1], x[2]....,x[n);对于以匕的表达式我们将通过仿真考察其行为,进而理解它代表的意思。在此之前,我们先来看图2.21所示的同或门。】司样地,按照之前的方法,我们写出其逻辑表达式:(2.20)assign z=~(x[1]/x[2]...^x[n]);14
14 图 2.16 多输入与门 图 2.17 多输入或门 图 2.18 所示为多输入与非门。只有当所有输入信号均为高电平时,才 为低电平。多输入与非门的逻辑表达式为 sign z=~(x[1]&x[2]&.&x[n]); (2.11) 简约运算符表达形式为 assign z=~&x; (2.12) 门例化语句表达形式为 nand(z, x[1], x[2], . x[n]); (2.13) 图 2.19 所示为多输入或非门。只有当所有输入信一号均为低电平时, 才为高电平。多输入或非门的逻辑表达式为 assign z=~(x[1]|x[2]|.|x[n]); (2.14) 简约运算符表达形式 assign z=~|x; (2.15) 门例化语句表达形式为 nor(z, x[1], x[2],. x[n]); (2.16) 图 2.18 多输入与非门 图 2.19 多输入或非门 图 2.20 所示为多输入异或门。那么多输入异或门是什么意思呢?按照 之前在多输入与门中采用的力一式,我们写出多输入异或门的逻辑表达式: assign z = x[1]^x[2]^.x[n]; ( 2.17) 简约运算符表达形式为 assign z=^ x; ( 2.18) 门例化语句表达形式为 xor(z, x[1], x[2], ., x[n]); ( 2.19) 对于以匕的表达式我们将通过仿真考察其行为,进而理解它代表的意 思。在此之前,我们先来看图 2.21 所示的同或门。】司样地,按照之前的方 法,我们写出其逻辑表达式: assign z=~(x[1]^x[2]^.^x[n]); ( 2.20 )
简约运算符表达形式为图2.20多输入异或门图2.21多输入同或门assign z=~ Ax; (2.21)门例化语句表达形式为(2.22)Xnor(z, x[], x[2] [n];程序清单2.4中所示Verilog程序为利用简约运算符表达形式来实现4输入逻辑门。程序清单2.5为对应的可以在BASYS2开发板上实现的顶层模块。请注意:程序清单2.4中4个输入信号x[4:11分别连接到程序清单2.5中所示的拨位开关sw[3:0]。类似地,6个输出信号z[6:1]侧分别连接到6个LED灯1d[5:0]上。该顶层模块的仿真结果如图2.22所示。程序清单 2.4 gate4.v程序清单 2.5qate4 top.v/Example2:4-input gates/Example2:4-inputgates-toplevelmodule gates4(module gates4 toprinput wire [4:1] x.input wire [3:0] sw.,output wire [6:1] zoutput wire[5:0] ldassign 246]-&x;gates4 X4 (x(sw),assign z/5)&x;z(ld)assign z/41-xassign 23]-assign 2/2 -元endmoduleassignz1oda15
15 简约运算符表达形式为 图 2.20 多输入异或门 图 2.21 多输入同或门 assign z=~ ^x; (2.21) 门例化语句表达形式为 xnor(z, x[l], x[2], . x[n]); ( 2.22 ) 程序清单 2.4 中所示 Verilog 程序为利用简约运算符表达形式来实现 4 输入逻辑门。程序清单 2.5 为对应的可以在 BASYS2 开发板上实现的顶层模 块。请注意:程序清单 2.4 中 4 个输入信号 x[4:1]分别连接到程序清单 2.5 中所示的拨位开关 sw[3:0]。类似地,6 个输出信号 z[6:1]侧分别连接到 6 个 LED 灯 1d[5:0]上。该顶层模块的仿真结果如图 2.22 所示。 程序清单 2.4 gate4.v 程序清单 2.5 qate4 top.v
O14图2.22程序清单2.5所示Verilog程序仿真图从仿真结果我们得知,对于多输入异或门,只有当高电平的输入信号个数为奇数时,其输出信号才为高电平;而对于多输入同或门,只有当高电平的输入信号个数为偶数时,其输出信号才为高电平。例3:多输入电路问题:设计这样个4输入电路,当大多数输入信号(3或4输入)为1时,输出信号为1。本例中电路的真值表如图2.23所示,对应的卡诺图如图2.24所示。程序清单2.6给出了相应的Verilog程序。程序清单2.7所示为其顶层模块:当开发板上右边的4个拨位开关中有3个或4个闭合时,最右侧的LED灯被点亮。16
16 图 2.22 程序清单 2.5 所示 Verilog 程序仿真图 从仿真结果我们得知,对于多输入异或门,只有当高电平的输入信号个 数为奇数时,其输出信号才为高电平;而对于多输入同或门,只有当高电平 的输入信号个数为偶数时,其输出信号才为高电平。 例 3:多输入电路 问题:设计这样个 4 输入电路,当大多数输入信号(3 或 4 输入)为 1 时, 输出信号为 1。 本例中电路的真值表如图 2.23 所示,对应的卡诺图如图 2.24 所示。程 序清单 2.6 给出了相应的 Verilog 程序。程序清单 2.7 所示为其顶层模块:当 开发板上右边的 4 个拨位开关中有 3 个或 4 个闭合时,最右侧的 LED 灯被 点亮
&a&b&d&c&d图2.23多输入电路的真值表图2.24多输入电路对应的卡诺图程序清单2.6majority4.vJ/Example3:majority4module majority4(inputwireainput wireinput wireinputwioutputwirela&b&da&b&cassignendmodule程序清单2.7majority4_top.v/Example3:majority4top-levelmodulemajority4_top(input wire [3:0] sw,output wire[0:0] Idmajority4 MI (.a(sw[3D,b(sw[2e(sw1D,.d(sw[oD),fd[0D17
17 图 2.23 多输入电路的真值表 图 2.24 多输入电路对应的卡诺图 程序清单 2.6 majority4.v 程序清单 2.7 majority4_top.v
图2.25多输入电路仿真图例4:二位比较器问题:设计一个二位比较器电路,对于输入a[1:0]和b[1:0],有如下输出:a_eg_b=1 if a=ba_gt_b=1 if a>ba_It_b=1 if a<b图2.26所示为二位比较器的真值表。如果画出输出a_eq_b的卡诺图,我们会发现“1"方格处于卡诺图中的对角线上,因此其对应的逻辑表达式不能进一步化简,即为最小项mms,mjo和mis之和。图2.27所示为输出a_et_b的卡诺图。读者可以试着画出输出a_eq_b的卡诺图。0&afb[]] 6[0]&a]图2.26二位比较器对应的真值表图2.27二位比较器对应的卡诺图程序清单2.8 给出了二位比较器的Verilog程序。程序清单2.9为对应的顶层模块,其中用开发板上右侧的4个拨位开关作为输入,右侧的3个LED灯作为输出。图2.28所示为二位比较器的仿真图。18
18 图 2.25 多输入电路仿真图 例 4:二位比较器 问题:设计一个二位比较器电路,对于输入 a[l:0]和 b[l:0],有如下输出: a_eg_b=1 if a=b a_gt_b=1 if a>b a_It_b=1 if a<b 图 2.26 所示为二位比较器的真值表。如果画出输出 a_eq_b 的卡诺图, 我们会发现“1"方格处于卡诺图中的对角线上,因此其对应的逻辑表达式不 能进一步化简,即为最小项 m,m5,ml0和 m15之和。图 2.27 所示为输出 a_et_b 的卡诺图。读者可以试着画出输出 a_eq_b 的卡诺图。 图 2.26 二位比较器对应的真值表 图 2.27 二位比较器对应的卡诺图 程序清单 2.8 给出了二位比较器的 Verilog 程序。程序清单 2.9 为对应的 顶层模块,其中用开发板上右侧的 4 个拨位开关作为输入,右侧的 3 个 LED 灯作为输出。图 2.28 所示为二位比较器的仿真图