lvhao 发表于 2011-9-3 15:15:14

新手请教用task写的代码为何在quartus中编译时出错,多谢解答

module sort4(ra,rb,rc,rd,a,b,c,d);
input a,b,c,d;
output ra,rb,rc,rd;
reg ra,rb,rc,rd;
reg va,vb,vc,vd;

always @(a or b or c or d);
begin
        {va,vb,vc,vd}={a,b,c,d};
        sort2(va,vc);
        sort2(vb,vd);
        sort2(va,vb);
        sort2(vc,vd);
        sort2(vb,vc);
        {ra,rb,rc,rd}={va,vb,vc,vd};
end



task sort2;
inout x,y;
reg temp;

//begin
        if(x>y)
                begin
                        temp=y;
                        y=x;
                        x=temp;
                end
//end
endtask
endmodule

lvhao 发表于 2011-9-3 15:29:11

哦,多了分号,明白了,太大意了

xpy0601 发表于 2011-9-5 15:45:17

在实际的FPGA开发中,可综合的Verilog代码基本上是没有Task,Function以及For语句的,这些语法基本上是在仿真的时候才会用到。
页: [1]
查看完整版本: 新手请教用task写的代码为何在quartus中编译时出错,多谢解答