加法减法计算器设计Verilog代码VIVADO basys3开发板

名称:加法减法计算器设计Verilog代码VIVADO  basys3开发板(文末获取)

软件:VIVADO

语言:Verilog

代码功能:

加法减法计算器设计

1.加法和减法运算

计算器应能够进行加法(+)和減法(-) 操作。

输入两个4位的无符号二进制数(范围为0到 15)。

2.输入输出要求 :

使用`sw[3:0]`来输入4位二进制数。

使用`sw4`选择运算符(1 表示加法,0表示减法)

`BTNL`按钮用于在任何时候重置计算。

`BTNU`按钮用于确认输入的操作数

七段显示器用于显示输入值和计算结果。

`BTND`按钮用于切换显示模式(十进制或十六进制)

3.设计规范::

使用 systemverilog实现整个设计,

运算逻辑使用组合逻辑来进行加法和减法操作。需要采用模块化设计:每个功能(输入处理、存储操作数、算术运算、控制逻辑和输出显示)需要设计为独立模块。

设计时还需绘制 模块化框图,展示系统的层次结构,并简要讨论每个模块的功能。

显示模式:

计算结果可以通过七段显示器显示为 十进制 或十六进制,并可以随时切换。

5.操作步骡;

1.选择操作数 1,并通过'BTNU' 确认,同时在七段显示器上显示操作数 1.

2.选择操作数 2,并通过`BTNU`确认,同时在七段显示器上显示操作数 2。

3.再次按下BTNU,在七段显示器上显示计算结果,三个数码管,如果是负数,显示负号,如果正数直接显示结果,可选16进制或者10进制显示

本代码已在basys3开发板验证,basys3开发板如下,其他开发板可以修改管脚适配:

1、工程文件

2、程序文件

3、程序编译

4、RTL图

5、管脚分配

部分代码展示:

//1.**加法和减法运算**
//计算器应能够进行**加法(+)**和**減法(-)** 操作。
//输入两个4位的无符号二进制数(范围为0到 15)。
//2.#*输入输出要求* :
//使用`sw[3:0]`来输入4位二进制数。
//使用`sw4`选择运算符(1 表示加法,0表示减法)
//`BTNL`按钮用于在任何时候**重置**计算。
//`BTNU`按钮用于**确认输入的操作数**
//七段显示器用于显示输入值和计算结果。
//`BTND`按钮用于切换显示模式(十进制或十六进制)
//3.#设计规范::
//使用 systemverilog实现整个设计,
//运算逻辑使用组合逻辑来进行加法和减法操作。需要采用模块化设计:每个功能(输入处理、存储操作数、算术运算、控制逻辑和输出显示)需要设计为独立模块。
//设计时还需绘制 **模块化框图**,展示系统的层次结构,并简要讨论每个模块的功能。
//**显示模式**:
//计算结果可以通过七段显示器显示为 **十进制** 或**十六进制**,并可以随时切换。
//5.**操作步骡**;
//1.选择操作数 1,并通过'BTNU' 确认,同时在七段显示器上显示操作数 1.
//2.选择操作数 2,并通过`BTNU`确认,同时在七段显示器上显示操作数 2。
//3.再次按下BTNU,在七段显示器上显示计算结果,三个数码管,如果是负数,显示负号,如果正数直接显示结果,可选16进制或者10进制显示
module add_display(
input clk,//100M
input reset,//复位--BTNL
input SW,//切换开关--sw4(1 表示加法,0表示减法)
input BTND,//`BTND`按钮用于切换显示模式(十进制或十六进制)
input [3:0] data_in,//输入数据--sw[3:0]
input enter_btn_in,//确认按键--BTNU
output [3:0] bit_select,//数码管位选
output [7:0] lednum_select//数码管段选 
);
wire enter_btn;//消抖后按键
wire [3:0] data_1;
wire [3:0] data_2;
wire [3:0] data_3;
wire [3:0] data_4;
//按键消抖
key_jitter i_key_jitter(
. clkin(clk),
. key_in(enter_btn_in),//输入
. key_posedge(enter_btn)//消抖后按键上升沿
);
源代码

点击下方的公众号卡片获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值