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

50以内的加法及显示电路设计VHDL代码Quartus仿真

10/13 08:40
344
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24111Q94150444.doc

共1个文件

名称:50以内的加法及显示电路设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

1)?基本要求:

设计?2?位数的加法及显示电路,能实现?0-50?以内的加法运算,结果采用数码管显示。

2)?端口定义:

输入加数个位端口?AF(3?downto?0),十位端口?AS(3?downto?0),被加数个位端口?BF(3?downto?0),十位端口?BS(3 downto?0),输出和十位显示端口?SLT(7?downto?0),个位显示?FLT(7?downto 0)。

3)?实现思路:

(1)?加法原理:分别计算十位、个位的和得到最终的结果和。

(2)?1?位数加原理:

??定义信号暂存加数、被加数:AA,BB:?INTEGER RANGE?0?to 9:=0;

??定义信号暂存和?CC:?INTEGER?RANGE?0?to?9:=0;?进位位?Co:?STD_LOGIC :=’0’;

??端口转换为整数:AA<=CONV_INTEGER(AF);?BB<=?CONV_INTEGER(BF);

??执行运算:CC<=AA+BB;

(3)?结果转换为端口状态:

??得到各位和后,将结果的个位、十位依次译码,显示到相应数码管端口?FLT?与?SLT。

??计算输出和的十位数时,注意个位计算的进位。

(4)?结果和的显示电路程序参考基础电路的数码管译码电路。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 芯片管脚

6. 仿真图

数码管值代码数值如下

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--50?以内的加法及显示电路设计
ENTITY?add_50?IS
???PORT?(
??????AF??:IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--加数个位端口
??????AS??:IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--加数十位端口?
??????BF??:IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--被加数个位端口
??????BS??:IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--被加数十位端口
??????SLT??:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--输出和十位显示端口
??????FLT??:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--和个位显示
???);
END?add_50;
ARCHITECTURE?behave?OF?add_50?IS
???--定义中间信号
???SIGNAL?AA,BB:?INTEGER?RANGE?0?to?9:=0;--定义信号暂存加数、被加数
???SIGNAL?CC:?INTEGER?RANGE?0?to?18:=0;--定义信号暂存和
???SIGNAL?CC_o:?INTEGER?RANGE?0?to?18:=0;--定义信号暂存和
???
???SIGNAL?SS,TT:?INTEGER?RANGE?0?to?9:=0;--定义信号暂存加数、被加数
???SIGNAL?UU:?INTEGER?RANGE?0?to?9:=0;--定义信号暂存和
???
???SIGNAL?Co:?STD_LOGIC?:='0';--进位位
BEGIN
--个位转换为int
AA<=CONV_INTEGER(AF);?--暂存加数
BB<=?CONV_INTEGER(BF);--被加数
CC<=AA+BB;--个位加法运算

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

  • 2-24111Q94150444.doc
    下载

相关推荐