今天在刷题
刷题心得
assign中可以有条件判断,比如这样
module top_module(
input [31:0] a,
input [31:0] b,
output [31:0] sum
);
wire cout1,cout2,cout3;
wire [15:0] sum0,sum1;
add16 add1(a[15:0],b[15:0],0,sum[15:0],cout1);
add16 add2(a[31:16],b[31:16],0,sum0[15:0],cout2);
add16 add3(a[31:16],b[31:16],1,sum1[15:0],cout3);
assign sum[31:16] = cout1 == 0 ? sum0[15:0] : sum1[15:0];
endmodule