Verilog:图形和Verilog混合输入的电路设计-FPGA常见问题社区-FPGA CPLD-ChipDebug

Verilog:图形和Verilog混合输入的电路设计

 

  • 实验目的

1.学习在QUARTUSII软件中模块符号文件的生成与调用。

2.掌握模块符号与模块符号之间的连线规则与方法。

3.掌握图形和verilog混合输入的电路设计方法。

  • 实验原理与内容

在层次化的设计文件中,经常需要将已经设计好的工程文件生成一个模块符号文件作为自己的功能模块符号在更高层的模块调用,该符号就像图形设计文件中的任何标准单元(如基本的逻辑门等)符号一样可被高层设计重复调用。本实验的实验原理就是将前面设计的实验二、三通过QUARTUSII软件合并成一个设计文件。实现实验二和三中的所有功能,两个6位2进制数做加法后,结果用2位数码管显示为16进制数。

Verilog硬件描述语言源程序:

module adder6(carryin,X,Y,S1,S2,carryout);    
input carryin;  
input [5:0] X,Y;  
output [3:0]S1,S2; 
output carryout;  
wire [6:1] C;  
wire [5:0] S; 
	fulladd stage0(carryin,X[0],Y[0],S[0],C[1]);    
	fulladd stage1(C[1],X[1],Y[1],S[1],C[2]);   
	fulladd stage2(C[2],X[2],Y[2],S[2],C[3]);    
	fulladd stage3(C[3],X[3],Y[3],S[3],C[4]);    
	fulladd stage4(C[4],X[4],Y[4],S[4],C[5]);    
	fulladd stage5(C[5],X[5],Y[5],S[5],carryout);   
	
	assign S2={1'b0,C[6],S[5:4]};
	assign S1=S[3:0];
	
	endmodule    
 
module show_71(X,Y);
input [3:0]X;
output reg[6:0]Y;
always@(X)
	begin
		case(X)
		4'b0000: Y=7'B1111110;
		4'b0001: Y=7'b0110000;
		4'b0010: Y=7'b1101101;
		4'b0011: Y=7'b1111001;
		4'b0100: Y=7'b0110011;
		4'b0101: Y=7'b1011011;
		4'b0110: Y=7'b1011111;
		4'b0111: Y=7'b1110000;
		4'b1000: Y=7'b1111111;
		4'b1001: Y=7'b1111011;
		4'b1010: Y=7'b1110111;
		4'b1011: Y=7'b0011111;
		4'b1100: Y=7'b1001110;
		4'b1101: Y=7'b0111101;
		4'b1110: Y=7'b1001111;
		4'b1111: Y=7'b1000111;
	endcase
end
endmodule
 
module select(s1,s2,s,A,B);
input [3:0]s1,s2;
input s;
output [3:0]A;
output reg [2:0]B;
 
assign A = s ? s1 : s2;
always@(s)
	begin 
	if(s)
	B = 3'b000;
	else
	B = 3'b001;
	end
endmodule

 

实验内容

本实验是对6位二进制数加法器(实验三)和数码管译码器(实验二)的综合。在实验中,拨动12个拨码开关输入2个6位二进制加数,加法器电路对这两个加数求和后得到7位的和。和的最高位补一位0后,按照4位一组分为2组,每组经过数码管译码器(修改实验二为16进制输出)译码后输出,控制8位数码管中的两位显示对应的16进制数。需要设置一个按键输入,用来控制在八位数码管的哪一位显示加法器求和结果的哪一组。

为实现上述功能,需要修改实验三的verilog程序,增加将7位和的最高位补0,按照4位一组分成两组输出的功能。需要修改实验二的程序,由原来的根据BCD码输入显示对应的10进制数改变为根据4位二进制数输入显示对应的16进制数的功能。需要增加一个按键控制模块,用于在加法器2组输出中选择一组输出传给数码管译码器,同时生成对应的3位的数码管位置选择信号来选择8位数码管中的一位进行显示。由数码管译码器生成译码信号驱动数码管显示。

由修改后的实验二模块,增加的按键控制模块和修改后的实验三模块生成模块符号文件后,在图形文件中连接这三个模块,构成顶层图形文件模块,实现上述功能。

四、实验过程

  1. 在QuartusII中对源程序进行全程编译,若有错误进行修改,直到编译成功。

图片[1]-Verilog:图形和Verilog混合输入的电路设计-FPGA常见问题社区-FPGA CPLD-ChipDebug

 2.电路图

图片[2]-Verilog:图形和Verilog混合输入的电路设计-FPGA常见问题社区-FPGA CPLD-ChipDebug

3.仿真波形

 图片[3]-Verilog:图形和Verilog混合输入的电路设计-FPGA常见问题社区-FPGA CPLD-ChipDebug

 图片[4]-Verilog:图形和Verilog混合输入的电路设计-FPGA常见问题社区-FPGA CPLD-ChipDebug

4.引脚分配:(参考实验说明书)

图片[5]-Verilog:图形和Verilog混合输入的电路设计-FPGA常见问题社区-FPGA CPLD-ChipDebug

五、实验总结

在此次实验中,更进一步的对Verilog描述语言掌握熟悉。通过Quartus和Modelsim联合仿真,加深了对于图形和Verilog混合输入的电路设计的理解。

请登录后发表评论

    没有回复内容