|
发表于 2012-10-1 10:33:17
|
显示全部楼层
task不必传参数,直接就可以使用in这个变量
reg tempa,tempb;应该为reg[7:0] tempa,tempb;
for(i=0;i<=8;i=i+1)for(j=0;j<9-i;j=j+1)应该为for(i=0;i<=9;i=i+1)for(j=0;j<9-i;j=j+1)
改成这样
//然后我打算调用这个task
`timescale 1ns/1ns
module top;
reg [7:0] in[0:9];
integer i;
task maopao;
integer i,j;
reg[7:0] tempa,tempb;
begin
for(i=0;i<=9;i=i+1)
for(j=0;j<9-i;j=j+1)
if(in[j]>in[j+1])
begin
tempa=in[j];
tempb=in[j+1];
in[j]=tempb;
in[j+1]=tempa;
end
end
endtask
initial
begin
for(i=0;i<=9;i=i+1) //初始化存储单元
in[i]=10-i;
#100
maopao;
end
endmodule
就行了 |
|