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

该实验旨在学习和掌握在QUARTUSII环境下,通过Verilog硬件描述语言进行层次化设计,包括模块符号的生成与调用,以及图形和Verilog混合输入的电路设计方法。实验内容涉及6位二进制加法器和数码管译码器的集成,实现加法结果的16进制显示,并通过按键选择显示部分。实验过程中,学生需修改原有实验代码,完成编译、仿真和引脚分配,以加深对Verilog语言和电路设计流程的理解。
摘要由CSDN通过智能技术生成
  • 实验目的

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中对源程序进行全程编译,若有错误进行修改,直到编译成功。

 2.电路图

3.仿真波形

 

 

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

五、实验总结

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

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值