还有上面的程序是错误的?大家碰到A》B等多位书比较时怎样处理以降低资源?
下面是我的调试程序:
期待的结果a》=b时map==0;反之为1;
//`timescale 1ns/10ps
module cpm(
a,
b,
mid,
map
);
input [7:0] a,b;
output [8:0] mid;
output map;
reg [8:0] a_m,b_m,mid;
reg map;
always@(a or b)
begin
a_m={a[7],a};
b_m={b[7],b};
mid=a_m-b_m;
map=mid[8];
end
endmodule
`timescale 1ns/10ps
module test ;
reg[7:0] a,b;
wire [8:0] mid;
wire map;
cpm d(
.a(a),
.b(b),
.mid(mid),
.map(map)
);
initial
begin
a=8'h00;
b=8'h00;
#1
a=8'h02;
b=8'h01;
#1
a=8'h01;
b=8'h02;
#1
a=8'hff;
b=8'h00;
#1
a=8'h01;//该取值回得到错误结果;还有a=8'h00,b=8'hff时结果也会错误。
b=8'hfe;
#1
a=8'h0f;
b=8'h0f;
#5
$stop;
end
endmodule |