• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

多功能计算器设计Verilog代码Quartus 小脚丫扩展开发板

09/18 11:01
797
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2410251P543328.doc

共1个文件

名称:多功能计算器设计Verilog代码Quartus  小脚丫扩展开发板

软件:Quartus

语言:Verilog

代码功能:

多功能计算器

软件计算器

1)算术型计算器一可进行加、减、乘、除等简单的四则运算。

2)科学型计算器一可进行乘方、开方、指数、对数、三角函数、统计等方面的运算。

3)序员计算器一专门为程序员设计的计算器,主要特点是支持不同进制数据的And,Or,Not,Xor运算。

使用 STEP FPGA MAX10核心板+ STEP Baseboard扩展底板改计并制作

一个多功能计算器,能够完成带小数点的数据输入,完成基本的四则运算和一些辅助功能。

基本部分(基本部分必须全部实现才计算提高部分成绩)(满分6分)

1.开关机功能:可以使用按键控制计算器的开启和关闭(1分)

2.四则运算:计算器能够完成两位数以内的四则运算。 aa Xbb(1分)

3.可将前次计算结果作为下次计算操作数进行继续计算。aa+bb=cc;cc-dd(1分)

4.可支持至少三个操作数输入的四则运算表达式。 aa X bb+cc(1分

5.按键输入时有声音提示,声音可开启和关闭。(1分)

6.能够显示所有输入数据、表达式和计算结果。(1分

详细要求计算器.jpg

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在小脚丫扩展开发板验证,小脚丫扩展开发板如下,其他开发板可以修改管脚适配:小脚丫扩展开发板.png

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图

状态控制模块

数字输入模块

整体仿真

部分代码展示:

//计算器
module calculator(
input clk,//12M时钟
input reset,//低电平复位
//数字按键
input [3:0] L_row,//行
output [3:0] H_col,//列
input sw,//声音开关
output beep,//蜂鸣器
outputseg_rck,//74HC595的RCK管脚
outputseg_sck,//74HC595的SCK管脚
outputseg_din//74HC595的SER管脚
);
wire [2:0] current_state;//当前状态
wire [1:0] calcul;//计算
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 esc;//ESC键
wire add;//加
wire sub;//减
wire mul;//乘
wire div;//除
wire enter;//Enter键
wire [15:0] OP_A;//输入的操作数A
wire [15:0] OP_B;//输入的操作数B
wire [15:0] OP_Result;//结果
wire [15:0] remainder;//余数
wire clk_500KHz;
//分频
div_clk i_div_clk(
. clk(clk),//50M
. clk_500KHz(clk_500KHz)//分频到500K
);
//输入模块
data_input i_data_input(
. clk_500KHz(clk_500KHz),//500KHZ 
. sw(sw),
. beep(beep),
. reset(reset),
. L_row(L_row),//行
. H_col(H_col),//列
. key_0_rise(key_0_p),
. key_1_rise(key_1_p),
. key_2_rise(key_2_p),
. key_3_rise(key_3_p),
. key_4_rise(key_4_p),
. key_5_rise(key_5_p),
. key_6_rise(key_6_p),
. key_7_rise(key_7_p),
. key_8_rise(key_8_p),
. key_9_rise(key_9_p),
. key_A_rise(add),
. key_B_rise(sub),
. key_C_rise(mul),
. key_D_rise(div),
. key_E_rise(esc),
. key_F_rise(enter)
);

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1248

  • 2-2410251P543328.doc
    下载

相关推荐