关于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
但是就是不好使不知道错在哪里了,求大神指点下啊
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模块里的端口名写反了
