Xilinx ISE14.1用Verilog语言实现一个半加器并测试

时间:2023-03-09 18:11:38
Xilinx ISE14.1用Verilog语言实现一个半加器并测试

<一>建立一个工程

注:Xilinx ISE的安装在此不再过多说明,网上有参考资料

1.打开软件进入如下界面

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

2.创建工程

File-->New Project

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

3.创建文件(我取名为firstTry)

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

右键选择New Source;

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

设置参数

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

4.编写代码

module half_add(     input a,     input b,     output sum,     output cout     );

assign sum = a^b;

assign cout = a&b;

endmodule

5.测试代码

选择项目并且右键(New Source)

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

测试代码如下:

module half_addtest;

// Inputs

reg a;

reg b;

// Outputs

wire sum;

wire cout;

// Instantiate the Unit Under Test (UUT)

half_add uut (   .a(a),   .b(b),   .sum(sum),   .cout(cout)  );

initial begin

// Initialize Inputs

a = 0;

b = 0;

// Wait 100 ns for global reset to finish

//#100; 这句最好暂时不用

// Add stimulus here

#0.001 a = ~a;

#0.001 b = ~b;

#0.001 a = ~a;

#0.001 b = ~b;

#0.001 a = ~a;

#0.001 b = ~b;

#0.001 a = ~a;

#0.001 b = ~b;

end

endmodule

测试步骤:

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

6.测试代码分析

#0.001 a = ~a;

注意:#N中的N是以ns为单位的,而在测试截图中的时间单位是ps,其中 1ns = 1000 ps;

说到这里也知道测试代码中的#100为什么不要了的原因

这句话2就是从执行这句代码起,等待0.001ns后a取反,然后结合测试截图就可以理解了。

7.生成顶层文件

Xilinx ISE14.1用Verilog语言实现一个半加器并测试

双击Synthesize中的View RTL Schematic

Xilinx ISE14.1用Verilog语言实现一个半加器并测试