名称:基于FPGA的简易计算器Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
(1)完成 0~9999 之内的数的加减乘除计算,9999 的二进制表示为 1001100001111,在这一部分中,可以将每一个数均表示成 16 位二进制数统一进行运算,各个计算数之间的计算可以直接使用 VHDL 语言中的运算符来实现。
(2)在显示时,必须将个位、十位、百位,千位分开显示,设计时使用比较的方法来实现计算器的功能要求。
(3)按键必须包括 0-9 数字按键、加减乘除四键、等号键以及清零键,其余功能可自行添加。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 状态图
6. 仿真文件
7. 仿真图
管脚分配
部分代码展示:
//计算器 module?calculator( input?clk,//时钟 input?esc,//清零键 input?add,//加 input?sub,//减 input?mul,//乘 input?div,//除 input?enter,//等于键 input?cancel,//回退键 //数字按键 input?key_0, input?key_1, input?key_2, input?key_3, input?key_4, input?key_5, input?key_6, input?key_7, input?key_8, input?key_9, output?[7:0]?bit_sel,//数码管位选 output?[7:0]?segment//数码管段选 ); wire?[2:0]?current_state;//当前状态 wire?[1:0]?calcul;//计算 wire?[15:0]?OP_A;//输入的操作数A wire?[15:0]?OP_B;//输入的操作数B wire?[31:0]?OP_Result;//结果 wire?key_0_p; wire?key_1_p; wire?key_2_p; wire?key_3_p; wire?key_4_p; wire?key_5_p; wire?key_6_p; wire?key_7_p; wire?key_8_p; wire?key_9_p; wire?cancel_p; wire?clk_1KHz; //分频模块,时钟分频到1KHz div_1K?i_div_1K( .?clk(clk),//50MHz .?clk_1KHz(clk_1KHz)//时钟1KHz ); //assign?clk_1KHz=clk;//仿真时用该句,取消分频可以加快仿真速度,实际上板需要加上分频,屏蔽该句 //按键上升沿模块 key_rise?i0_key_rise( .?clk(clk_1KHz),//时钟 .?key_in(key_0),//按键输入 .?key_out(key_0_p)//按键上升沿 ); //按键上升沿模块 key_rise?i1_key_rise( .?clk(clk_1KHz),//时钟 .?key_in(key_1),//按键输入 .?key_out(key_1_p)//按键上升沿 ); //按键上升沿模块 key_rise?i2_key_rise( .?clk(clk_1KHz),//时钟 .?key_in(key_2),//按键输入 .?key_out(key_2_p)//按键上升沿 ); //按键上升沿模块 key_rise?i3_key_rise( .?clk(clk_1KHz),//时钟 .?key_in(key_3),//按键输入 .?key_out(key_3_p)//按键上升沿 ); //按键上升沿模块 key_rise?i4_key_rise( .?clk(clk_1KHz),//时钟 .?key_in(key_4),//按键输入 .?key_out(key_4_p)//按键上升沿 ); //按键上升沿模块 key_rise?i5_key_rise( .?clk(clk_1KHz),//时钟 .?key_in(key_5),//按键输入 .?key_out(key_5_p)//按键上升沿 ); //按键上升沿模块 key_rise?i6_key_rise( .?clk(clk_1KHz),//时钟 .?key_in(key_6),//按键输入 .?key_out(key_6_p)//按键上升沿 ); //按键上升沿模块 key_rise?i7_key_rise( .?clk(clk_1KHz),//时钟 .?key_in(key_7),//按键输入 .?key_out(key_7_p)//按键上升沿
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=711
							阅读全文
							
						
					
								
								
								
371