微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 关于modelsim的问题(简单的)

关于modelsim的问题(简单的)

时间:10-02 整理:3721RD 点击:
学校刚开modelsim的课,我练了一下就是出错不知道错在哪里了求大神帮忙看下我的第一个文件时
module asd(a,b,c);
  input a,b;
  output c;
  wire c;
  assign c=a&b;
endmodule
测试文件是
`timescale 1ns/1ns
`include "asd.v"
module text;
reg d,f;
wire g;
  initial
  begin
   #100 d=0;
   #100 f=1;
  // #200 $fstop;
  end
  asd n (.g(c),.d(a),.f(b));
endmodule
但是就是不好使不知道错在哪里了,求大神指点下啊

把你的程序改了一下,请参考,在我的modelsim上是可以的
//另存为asdd.v
module asdd(a,b,c);
  input a,b;
  output c;
  reg c;
  wire t;
  assign t = 1;
  always @(*)
    begin
      if(t)
        c=a&b;
    end
endmodule
//另存为text.v
`timescale 1ns/1ns
`include "asdd.v"
module text;
reg d,f;
wire g;
asdd dut (d,f,g);
  initial
  begin
   #100 d=0;
   #100 f=1;
// #200 $fstop;
  end
endmodule

运行结果


其实只改text文件的一句也可以
asd n (.g(c),.d(a),.f(b));
改为asd n (d,f,g);

顶一个

支持一下

asd.v里面的输出c设为reg型比较好吧?而且没有always块,这样与运算只会运行一次,后面输入发生变化输出不会变化。
引用模块的写法是 asd n(.c(g),.a(d),.b(f)),tb文件的变量名跟对应asd模块里的端口名写反了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top