admin 管理员组文章数量: 888526
verilog 有符号数 无符号数比较大小
最近写的一个工程里面要用到有符号数无符号数的比较大小,贴出代码供大家取用。
如果1<2,比较结果compare_flag输出为1,否则输出为零
_signed_flag为1代表作为有符号数比较,0代表作为无符号数比较
module mycomp(
input [31:0] data1,
input [31:0] data2,
input _signed_flag,
output reg compare_flag
);always @(data1 or data2 or _signed_flag)begin
if(_signed_flag==1)begin
if(data1[31]==1&&data2[31]==0)
compare_flag=1;
else if(data1[31]==0&&data2[31]==1)
compare_flag=0;
else if(data1[31]==1&&data2[31]==1)
compare_flag = (data1>data2) ? 1 : 0;
else
compare_flag = (data1<data2) ? 1 : 0 ;end
else if(_signed_flag==0) begin
compare_flag = (data1<data2) ? 1 : 0 ; end
else begin
compare_flag =1'bz; end
end
endmodule
如果1>2,比较结果compare_flag输出为1,否则输出为零
flag为1代表作为有符号数比较,0代表作为无符号数比较
module compg(
input [31:0] data1,
input [31:0] data2,
input flag,
output reg compare_flag
);
always @(data1 or data2 or flag)begin
if(flag==1)begin
if(data1[31]==1&&data2[31]==0)
compare_flag=0;
else if(data1[31]==0&&data2[31]==1)
compare_flag=1;
else if((data1[31]==1)&&(data2[31]==1))
compare_flag = (data1<data2) ? 1 : 0;
else
compare_flag = (data1>data2) ? 1 : 0 ;end
else if(flag==0) begin
compare_flag = (data1>data2) ? 1 : 0 ; end
else begin
compare_flag =1'bz; end
end
endmodule
本文标签: verilog 有符号数 无符号数比较大小
版权声明:本文标题:verilog 有符号数 无符号数比较大小 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1699078910h326828.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论