概述
module top_module(
input [31:0] a,
input [31:0] b,
input sub,
output [31:0] sum
);
//内部信号
wire q1;
wire [15:0] sum1,sum2;
wire [31:0] b1;
//先把少数位数的值进行扩展,然后在进行按位进行异或
assign b1 = ((b & (~{32{sub}})) | ((~b) & {32{sub}}));
add16 instance1(
.a(a[15:0]),
.b(b1[15:0]),
.cin(sub),
.sum(sum1),
.cout(q1)
);
add16 instance2(
.a(a[31:16]),
.b(b1[31:16]),
.cin(q1),
.sum(sum2),
.cout()
);
assign sum = {sum2,sum1};
endmodule
最后
以上就是专注花瓣为你收集整理的verilog中不同位数的值之间的异或操作的全部内容,希望文章能够帮你解决verilog中不同位数的值之间的异或操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复