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

[求助]非专业外行向专业高手请教verilog问题

[求助]非专业外行向专业高手请教verilog问题

本人非电子类专业,编写verilog程序不是为了应用于FPGA等,一个完全的外行希望得到诸位高手的指教,看看下面的程序为什么会有问题,无法通过modelsim的compile?非常非常感谢了。

module bus(a,b,c,d,e,sc,sd,se);
    parameter n=1000;
    input[n-1,0] a,b;
    output[n-1,0] c,d,e;
    output sc,sd,se;
    integer i,c1,d1,e1,sc,sd,se;
  
        c1=0;
        d1=0;
        e1=0;

    for (i=0;i<n;i=i+1)
    begin
        assign c=a&b;
        assign d=~a&b;
        assign e=~b&a;
        if (c) c1=c1+1;
        if (d) d1=d1+1;
        if (e) e1=e1+1;
        assign sc=c1;
        assign sd=d1;
        assign se=e1;
    end

endmodule

程序改为如下就可以了,而且思路比较明了

至于为什么要这样改,还是那本书好好看看吧

module bus(a,b,c,d,e,sc,sd,se);
    parameter n=1000;
    input[n-1:0] a,b;
    output[n-1:0] c,d,e;
    reg[n-1:0] c,d,e;
    output sc,sd,se;
    reg sc,sd,se;
    integer i,c1,d1,e1;
   // reg c1,d1,e1;
initial
      begin
        c1=0;
        d1=0;
        e1=0;

    for (i=0;i<n;i=i+1)
    begin
        c<=a&b;
        d<=~a&b;
        e<=~b&a;
        if (c) c1=c1+1;
        if (d) d1=d1+1;
        if (e) e1=e1+1;
       
    end
    sc=c1;
    sd=d1;
    se=e1;
   
end
endmodule

谢谢 wuwenhao2007

先谢谢了,回去慢慢琢磨.

返回列表