比较器实验

一:实验目的:
Verilog HDL 高级数字设计 (第二版)p74例4.5
二:实验工具:
使用Quartur ii软件和modelsim

例4.5 4 位比较器用如下图4.11所示的框图符号表示。
比较器通过比较4位二进制数来判断它们的相对大小。由于输出的布尔方程不易写出,因而可通过两个2位比较器的输出和附加逻辑的连接,通过比较4位数字的大小从而产生相应的输出。连接2位比较器的逻辑依据的规则是:高位的严格不等即可决定4位数的相对大小;如果高位相等,可逐位比较低位,由低位的大小决定输出。图4.12所示的层次化结构实现了4位比较器,在图4.13中根据矢量A bus= {A3,A2,A1,A0}和B bus= {B3,B2,B1. B0}数据通道的某些位,仿真测试平台给出了比较器的仿真结果。

模块Comp_ 4_ str 的源代码列写如下,它包含例4.4中定义的两个例化的Comp_2_str 模块。(一个2位比较器对两个2位二进制值A和B进行十进制值比较,判断A是小于、大于、还是等于B。比较器的功能可通过如下的布尔方程组来表示,其中A1和A0是A中的二进制位,B1和B0是B中的二进制位。
A_lt_B=A1’B1+A1’A0’B0+A0’B1B0
A_gt_B=A1B1’+A0B1’B0’+A1A0B0’
A_eq_B=A1’A0’B1’B0’+A1’A0B1’B0+A1A0B1B0+A1A0’B1B0’

代码:

module Comp_2_str(output A_gt_B,A_lt_B,A_eq_B,input A0,A1,B0,B1);
nor (A_gt_B,A_lt_B,A_eq_B);
or (A_It_B,w1,w2,w3);
and (A_eq_B,w4,w5);
and (w1,w6,B1);
and (w2,w6,w7,B0);
and (w3,w7,B0,B1);
not (w6,A1);
not (w7,A0);
xnor (w4,A1,B1);
xnor (w5,AO,BO);
endmodule
module Comp_4_str(
output A_gt_B,A_lt_B,A_eq_B,
input A3,A2,A1,A0,B3,B2,B1,B0);
wire w1,w0;
Comp_2_str M1 (A_gt_B_M1,A_lt_B_M1,A_eq_B_M1,A3,A2,B3,B2);
Comp_2_str M0 (A_gt_B_M0,A_lt_B_M0,A_eq_B_M0,A1,A0,B1,B0);
or (A_gt_B,A_gt_B_M1,w1);
and (w1_eq_B_M1,A_gt_B_M0);
and (A_eq_B,A_eq_B_M1,A_eq_B_M0);
or (A_It_B,A_It_B_M1,w0);
and (w0,A_eq_B_M1,A_lt_B_M0);

endmodule

在这里插入图片描述
在这里插入图片描述

三:实验视频
比较器

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值