q20005 发表于 2010-10-28 10:44:04

求助 大家看一下 这是什么错误?

编了一个 ram的读写
下面是testbench的程序:

module RAM_test (out,clk,address,wren,data);

input out;

output clk;
output address;
output wren;
output data;

reg clk;
reg address;
reg wren;
reg data;

initial
begin
        forever        #10 clk=~clk;
end

initial
begin
        data_in(5'd0,8'd0);
        data_in(5'd1,8'd1);
        data_in(5'd2,8'd2);
        data_in(5'd3,8'd3);
        data_in(5'd4,8'd4);
        #1000
        wren=1'b0;
        address=5'd0;
        #100
        address=5'd1;
        #100
        address=5'd2;
        #100
        address=5'd3;
        #100       
        address=5'd4;
        #1000
        $stop;
end

task data_in;

        input address_in;
        input data_in;

        @(posedge clk)
        fork
                address =address_in;
                data=data_in;
                wren=1'b1;
        join

        @(posedge clk)
        fork
                address =5'bzzzz_z;
                data=8'bzzzz_zzzz;
                wren=1'bz;
        join

endtask

endmodule

但modelsim编译时 报错如下:
http://cache.amobbs.com/bbs_upload782111/files_34/ourdev_593464G8WGBY.jpg
(原文件名:QQ截图未命名.jpg)
请问这是什么错误?怎么解决?谢谢!

q20005 发表于 2010-10-28 10:57:35

补充
程序为调用ip核中的单口ram

忘了例化了 例化程序如下 :
RAM ram(.out(out),.clk(clk),.address(address),.wren(wren),.data(data));

加了之后还是同样的错误

leilei2268967 发表于 2010-11-14 21:58:51

是不是task--endtask中间没有写begin---end ;
看你的task中间由好几个语言块啊,没begin---end包含进来会出问题的哦
页: [1]
查看完整版本: 求助 大家看一下 这是什么错误?