module sort8z(o1,o2,o3,o4,o5,o6,o7,o8,i1,i2,i3,i4,i5,i6,i7,i8);
input [3:0] i1,i2,i3,i4,i5,i6,i7,i8;
output [3:0] o1,o2,o3,o4,o5,o6,o7,o8;
reg [3:0] r1,r2,r3,r4,r5,r6,r7,r8;
reg [3:0] o1,o2,o3,o4,o5,o6,o7,o8;
always@(i1 or i2 or i3 or i4 or i5 or i6 or i7 or i8)
begin
{r1,r2,r3,r4,r5,r6,r7,r8}={i1,i2,i3,i4,i5,i6,i7,i8};
sort8(i1,i2,i3,i4,i5,i6,i7,i8);
{o1,o2,o3,o4,o5,o6,o7,o8}={r1,r2,r3,r4,r5,r6,r7,r8};
end
task sort8;
inout [3:0] a1,a2,a3,a4,a5,a6,a7,a8;
initial
begin
sort2(a1,a2);
sort2(a1,a3);
sort2(a1,a4);
sort2(a1,a5);
sort2(a1,a6);
sort2(a1,a7);
sort2(a1,a8);
sort2(a2,a3);
sort2(a2,a4);
sort2(a2,a5);
sort2(a2,a6);
sort2(a2,a7);
sort2(a2,a8);
sort2(a3,a4);
sort2(a3,a5);
sort2(a3,a5);
sort2(a3,a6);
sort2(a3,a7);
sort2(a3,a8);
sort2(a4,a5);
sort2(a4,a6);
sort2(a4,a7);
sort2(a4,a8);
sort2(a5,a6);
sort2(a5,a7);
sort2(a5,a8);
sort2(a6,a7);
sort2(a6,a8);
sort2(a7,a8);
end
endtask
task sort2;
inout [3:0] x,y;
reg [3:0] x,y;
reg [3:0] temp;
if(x>y)
begin
temp=x;
x=y;
y=temp;
end
endtask
endmodule
大虾门 帮忙看下 这个 哪里出啦问题啊 |