第一范文网 - 专业文章范例文档资料分享平台

数字逻辑与数字系统课程设计简单计算器

来源:用户分享 时间:2025/8/8 3:52:57 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

简单计算器

一、设计分析 1、功能描述

设计一个简单0-9数之间的加、减、乘法运算的计算器,,输入和输出均可以显示在数码管上。

2、实现工具

1、用VHDL 语言文本形式输入;

2、maxplusII行语言编写时序仿真和综合。

二、设计思想

采用自顶向下的设计方式,分层进行设计。设计分为五个模块进行; 计算器模块、八位二进制数转化成8421BCD码模块,四选一数据选择器模块,七段显示译码器模块、模4计数器模块、模8计数器块、3—8译码器块。顶层设计可以完全独立于目标器件芯片物理结构的硬件描述语言。使用VHDL模型在所综合级别上对硬件设计进行说明、建模和仿真。

1、顶层原原理框图

2、具体实现

1、计算器模块、

2、八位二进制数转化成8421BCD码模块

3、四选一数据选择器模块

4、七段显示译码器模块

5、模4计数器模块

6、模8计数器块

7、3—8译码器块

三、设计过程 1、建立工程

建立一个Project,命名为jiandanjisuanqi。将各个模块生成的文件放在同一个文件夹下。

2、文本输入

将各个模块的VHDL代码输入,保存并综合。

3、仿真

建立各个模块的gdf图,设置输入波形并仿真。

4、顶层原理图输入

利用各个模块生成的sym文件建立顶层原理图,编译并仿真。

5、硬件实现

实验室提供的器件为FLEX10K,型号为EPF10K10LC84-4,将文件下载到器件当中,在实验箱中进行模拟。

四、 整体框图

五、VHDL部分代码及说明 1、计算器模块、

library IEEE;

use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL; entity jisuanqi is

Port (a,b: in STD_LOGIC_VECTOR (3 downto 0); sel:in STD_LOGIC_VECTOR (1 downto 0);

-----加减乘控制端

s: out STD_LOGIC_VECTOR (7 downto 0)); end jisuanqi;

architecture Behavioral of jisuanqi is

signal q1 ,q2: STD_LOGIC_VECTOR (3 downto 0); signal q3: STD_LOGIC_VECTOR (7 downto 0); signal q4: STD_LOGIC_VECTOR (1 downto 0);

begin q1<=a;

q2<=b; q4<=sel;

process(q4,q3) begin case q4 is

when \ q3<=q1+q2; s<=q3;

when \ if(q1>q2)then

----加减乘算法

q3<= q1-q2; s<=q3; else

q3<=q2-q1; s<=q3; end if;

when \ q3<=q1*q2; s<=q3;

when \ q3<=q1*q2; s<=q3;

when others=> q3<=\s<=q3;

end case; end process; end Behavioral;

2、八位二进制数转化成8421BCD码模块

library IEEE;

use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity bcd is

Port (s : in STD_LOGIC_VECTOR (7 downto 0); a : out STD_LOGIC_VECTOR (3 downto 0); b : out STD_LOGIC_VECTOR (3 downto 0)); end bcd;

architecture Behavioral of bcd is

signal q0: STD_LOGIC_VECTOR (7 downto 0); signal q1: STD_LOGIC_VECTOR (3 downto 0); signal q2: STD_LOGIC_VECTOR (3 downto 0); begin process(s) begin q0<=s;

case q0 is when\

q1<=\when\

q1<=\when\

----把八位二进制数转化为8421BCD码

数字逻辑与数字系统课程设计简单计算器.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2ap0o5l3hm52amw9lhr375cln2z0an008h3_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top