IPO 发表于 2012-2-19 09:28:48

module sort8z(o1,o2,o3,o4,o5,o6,o7,o8,i1,i2,i3,i4,i5,i6,i7,i8);

module sort8z(o1,o2,o3,o4,o5,o6,o7,o8,i1,i2,i3,i4,i5,i6,i7,i8);
input i1,i2,i3,i4,i5,i6,i7,i8;
output o1,o2,o3,o4,o5,o6,o7,o8;
reg r1,r2,r3,r4,r5,r6,r7,r8;
reg 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 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 x,y;
reg x,y;
reg temp;
        if(x>y)
                begin
                        temp=x;
                        x=y;
                        y=temp;
                end
endtask
endmodule
大虾门 帮忙看下 这个 哪里出啦问题啊

IPO 发表于 2012-2-19 09:29:08

task 里面不能有initial 和always

IPO 发表于 2012-2-19 09:29:24

原则上initial语句是写在测试模块上的
不知道你这个程序要完成什么功能呢?

IPO 发表于 2012-2-19 09:29:33

就是完成个组合的8位数的排序
组合逻辑
页: [1]
查看完整版本: module sort8z(o1,o2,o3,o4,o5,o6,o7,o8,i1,i2,i3,i4,i5,i6,i7,i8);