iverilog+gtkwave 进行仿真

  边学边记录  

    #number;  为延时number

    

    在initial中控制整个仿真的时间    

    例子:

     initial

     begin

         $dumpfile(“main.vcd”);

         $dumpvars(0,vara);

         #100;     //这样就控制了整个仿真的时间为100s

         $finish;

     end


     

     $dumpfile(filename); 设定转储文件

     $dumpvars(index,var); 设定监视的变量

    

   一个半加器的代码

 

module add(input_a,input_b,answer,carry);
	input input_a;
	input input_b;
	output answer,carry;
	assign answer=input_a^input_b;
	assign carry=input_a&input_b;
endmodule
module HELLO_TEST;
	reg iclk=0;
	reg a=0,b=0;
	wire c,d;
	always begin #1; iclk=!iclk; a=iclk; end
	always begin #3; b=!b; end
	add temp_add(.input_a(a),.input_b(b),.answer(c),.carry(d));
	initial
	begin
		$dumpfile("main.vcd");
		$dumpvars(0,temp_add);
		#100;
		$finish;
	end
endmodule

进行仿真的makefile

  

main.vcd:main.v
	iverilog main.v
	./a.out
	gtkwave main.vcd

iverilog+gtkwave 进行仿真_第1张图片

你可能感兴趣的:(Verilog,gtkwave,iverllog)