新手请教用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 哦,多了分号,明白了,太大意了 在实际的FPGA开发中,可综合的Verilog代码基本上是没有Task,Function以及For语句的,这些语法基本上是在仿真的时候才会用到。
页:
[1]