数字逻辑与数字系统课程设计(简单计算器).doc

数字逻辑与数字系统课程设计(简单计算器).doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简单计算器 一、设计分析 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 00 = ----加减乘算法 q3=q1+q2; s=q3; when 01 = if(q1q2)then q3= q1-q2; s=q3; else q3=q2-q1; s=q3; end if; when 10= q3=q1*q2; s=q3; when 11= 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

文档评论(0)

li455504605 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档