创建一个新库
在仿真之前要先建立一个新的库文件,所有的仿真的程序实例都要编译入库。
首先在仿真文件夹新建好工程文件夹,以后的仿真文件都放到这里面。然后切换目录。
建立一个库:
此时就会出现work的空白库
选择编译
此处的编译表示要编译后,把编译文件添加到库当中。
选中要添加入库的文件进行编译。
上图表示成功编译入库。
运行仿真
成功编译后的.v软件入库后,就可以进行仿真了。
在测试文件test右键点击add wave可以添加所有能够观察的信号。
心得:如果有IP,那么要把IP的.v文件加入库,然后编译。另外用alteral写的代码和IP核,要把alteral的库文件加入。
代码:
module fulladd(sum,c_out,a,b,c_in);
output sum,c_out;
input a,b,c_in;
wire s1,c1,c2;
xor (s1,a,b);
and (c1,a,b);
xor (sum,s1,c_in);
and (c2,s1,c_in);
or (c_out,c2,c1);
endmodule
module test;
wire sum,c_out;
reg a,b,c_in;
fulladd fadd(sum,c_out,a,b,c_in);
/*
initial
begin
#15 force fadd.sum=a&b&c_in;
#20 release fadd.sum;
#10 $stop;
end
*/
initial
begin
a=0;b=0;c_in=0;
#10 a=0;b=0;c_in=1;
#10 a=0;b=1;c_in=0;
#10 a=0;b=1;c_in=1;
#10 a=1;b=0;c_in=0;
#10 a=1;b=0;c_in=1;
#10 a=1;b=1;c_in=0;
#10 a=1;b=1;c_in=1;
#10 $stop;
end
endmodule