前言:
本文主要介绍了EDA原理与应用这门课程的相关实验及代码。使用的软件是Quartus Ⅱ,该实验使用fpga芯片为cycloneⅤ 5CSEMA5F31C6。
(一)实验目的
(1)掌握基本组合逻辑电路的 FPGA实现;
(2)学习 Verilog HDL 的多层次设计方法;
(3)熟练应用 Quartus II 进行 FPGA开发。
(二)实验要求
以4位二进制全加器为例:
(1)先用Verilog HDL文本实现一位全加器,再在原理图环境中调用一位全加器完成4位全加器的设计,熟悉层次设计概念;
(2)给出此项设计的仿真波形;
(3)下载到DE1开发板上,用LED发光管指示显示结果。
(三)实验程序
先设计一个一位的全加器:
module f_adder1(ain, bin, cin, sum, cout);
input ain, bin,cin;
output sum, cout;
assign {cout, sum} = ain+bin+cin;
endmodule
然后设计顶层模块调用一位全加器实现四位全加器:
module f_adder(A, B,CIN,COUT,DOUT);
input[3:0] A, B;
input CIN;
output[3:0] DOUT;
output COUT;
wire[2:0] C; //中间设备
f_adder1 U1( A[0], B[0], CIN, DOUT[0], C[0]);
f_adder1 U2( A[1], B[1], C[0], DOUT[1], C[1]);
f_adder1 U3( A[2], B[2], C[1], DOUT[2], C[2]);
f_adder1 U4( A[3], B[3], C[2], DOUT[3], COUT);
endmodule
(四)管脚分配
不同fpga芯片管脚分配都不一样,对应自己使用的fpga引脚图分配即可。
Input
A[3] AE12 B[3] AD12 CIN AB12
A[2] AD10 B[2] AD11
A[1] AC9 B[1] AF10
A[0] AE11 B[0] AF9
Output
DOUT[3] Y21 COUT W19
DOUT[2] W21
DOUT[1] W20
DOUT[0] Y19