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

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

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

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
    下载

相关推荐