赞
踩
名称:基于FPGA的简易计算器Verilog代码Quartus仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
(1)完成 0~9999 之内的数的加减乘除计算,9999 的二进制表示为 1001100001111,在
这一部分中,可以将每一个数均表示成 16 位二进制数统一进行运算,各个计算数之间的
计算可以直接使用 VHDL 语言中的运算符来实现。
(2)在显示时,必须将个位、十位、百位,千位分开显示,设计时使用比较的方法来
实现计算器的功能要求。
(3)按键必须包括 0-9 数字按键、加减乘除四键、等号键以及清零键,其余功能可自
行添加。
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)//按键上升沿
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。