8位二进制比较器(逐位比较)

原文链接:http://blog.163.com/taofenfang_05/blog/static/64214093201191273134432/

题目:Use verilog to design a 8-bit comparer (only with atomic operator like "~, &, |, ^ and d=a?b:c)


代码:

//逐位比较

module comparer(dataa,datab,a_gt_b,a_it_b,a_eq_b);

input [7:0] dataa,datab;

output [7:0] a_gt_b,a_it_b,a_eq_b;

wire [7:0] x_d;

wire [7:0] y_d;

wire a,b,eq;

assign x_d[0]=(dataa[0] & datab[0])|((~dataa[0]) & (~datab[0]));// 同或

assign x_d[1]=(dataa[1] & datab[1])|((~dataa[1]) & (~datab[1]));

assign x_d[2]=(dataa[2] & datab[2])|((~dataa[2]) & (~datab[2]));

assign x_d[3]=(dataa[3] & datab[3])|((~dataa[3]) & (~datab[3]));

assign x_d[4]=(dataa[4] & datab[4])|((~dataa[4]) & (~datab[4]));

assign x_d[5]=(dataa[5] & datab[5])|((~dataa[5]) & (~datab[5]));

assign x_d[6]=(dataa[6] & datab[6])|((~dataa[6]) & (~datab[6]));

assign x_d[7]=(dataa[7] & datab[7])|((~dataa[7]) & (~datab[7]));

assign y_d[0]= x_d[7];

assign y_d[1]= x_d[7] & x_d[6];

assign y_d[2]= x_d[7] & x_d[6] & x_d[5];

assign y_d[3]= x_d[7] & x_d[6] & x_d[5] & x_d[4];

assign y_d[4]= x_d[7] & x_d[6] & x_d[5] & x_d[4] & x_d[3];

assign y_d[5]= x_d[7] & x_d[6] & x_d[5] & x_d[4] & x_d[3] & x_d[2];

assign y_d[6]= x_d[7] & x_d[6] & x_d[5] & x_d[4] & x_d[3] & x_d[2] & x_d[1];

assign y_d[7]= x_d[7] & x_d[6] & x_d[5] & x_d[4] & x_d[3] & x_d[2] & x_d[1] & x_d[0];

assign a=(dataa[7] & (~datab[7])) | (y_d[0] & dataa[6] & (~datab[6])) |(y_d[1] & dataa[5] & (~datab[5]))|

(y_d[2] & dataa[4] & (~datab[4])) | (y_d[3] & dataa[3] & (~datab[3])) |(y_d[4] & dataa[2] & (~datab[2])) |

(y_d[5] & dataa[1] & (~datab[1])) | (y_d[6] & dataa[0] & (~datab[0]));

assign b=(datab[7] & (~dataa[7])) | (y_d[0] & datab[6] & (~dataa[6])) |(y_d[1] & datab[5] & (~dataa[5]))|

(y_d[2] & datab[4] & (~dataa[4])) | (y_d[3] & datab[3] & (~dataa[3])) |(y_d[4] & datab[2] & (~dataa[2])) |

(y_d[5] & datab[1] & (~dataa[1])) | (y_d[6] & datab[0] & (~dataa[0]));

assign eq=y_d[7];

assign a_gt_b=a?dataa:8'd0;

assign a_it_b=b?datab:8'd0;

assign a_eq_b=eq?dataa:8'd0;

endmodule

仿真结果:
2011年10月12日 - 快乐丢丢 - 轮回的七彩年华
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值