首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

新手求助一个Verilog问题!

新手求助一个Verilog问题!

我是一名刚刚接触Verilog的新手,碰到一个有关task的问题想请高手指点一二:

      接到老师给的一个任务,要求对几个模块进行枚举测试,例如若干个与非门构成的模块。但输入信号较多,为此我想用类似C语言中调用函数的方法对这些输入信号赋初值,翻书查到可以用task语句,于是试编写了如下程序:

module test_ABC;
    reg a,b;
    wire C;
   
    initial begin
           set_1_in(a);//任务调用,初使化一个输入信号a
       end
  
     initial begin
        b <= 0;
        forever #100 b = ~b;
    end
   
    task set_1_in;
       output a;//也试过用inout型,仿真亦失败
              
        begin
                a <= 0;
               forever #50 a = ~a;
         end
    endtask  

  and ad(C,a,b);

endmodule

用modelsim6进行仿真后,发现结果b初使化成功,而利用task调用的a初使化失败,只显示为不定值x。不知是何缘故

希望各位高手不吝赐教

返回列表