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

应用矩阵键盘的乘法计算器设计Verilog代码Quartus仿真

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

2-2410261916131P.doc

共1个文件

名称:应用矩阵键盘的乘法计算器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

应用矩阵键盘的乘法计算器设计

1、设计乘法计算器

2、使用矩阵键盘输入数字和运算符

3、输入内容支持取消重新输入

4、数码管显示运算结果

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真文件

7. 仿真图

部分代码展示:

//计算器
module calculator(
input clk,//时钟
input reset,
//数字按键
input [3:0] L_row,//行
output [3:0] H_col,//列
output [7:0] bitsel,//8个数码管,位选信号
output [7:0] segment//数码管段选信号
);
wire [2:0] current_state;//当前状态
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 mul;//乘
wire enter;//Enter键
wire [15:0] OP_A;//输入的操作数A
wire [15:0] OP_B;//输入的操作数B
wire [15:0] OP_Result;//结果
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 
. 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(mul),//乘
. key_B_rise(enter),//等于
. key_C_rise(esc),//取消
. key_D_rise(),
. key_E_rise(),
. key_F_rise()
);
//状态控制模块
state_ctrl i_state_ctrl(
. clk(clk_500KHz),//时钟
. esc(esc),//ESC键
. mul(mul),//乘
. enter(enter),//Enter键
. current_state(current_state)//当前状态
);

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

  • 2-2410261916131P.doc
    下载

相关推荐