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

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

ID:10866759

大小:553.00 KB

页数:11页

时间:2018-07-08

数字逻辑与数字系统课程设计(简单计算器)_第1页
数字逻辑与数字系统课程设计(简单计算器)_第2页
数字逻辑与数字系统课程设计(简单计算器)_第3页
数字逻辑与数字系统课程设计(简单计算器)_第4页
数字逻辑与数字系统课程设计(简单计算器)_第5页
资源描述:

《数字逻辑与数字系统课程设计(简单计算器)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、简单计算器一、设计分析1、功能描述设计一个简单0-9数之间的加、减、乘法运算的计算器,,输入和输出均可以显示在数码管上。2、实现工具1、用VHDL语言文本形式输入;2、maxplusII行语言编写时序仿真和综合。二、设计思想采用自顶向下的设计方式,分层进行设计。设计分为五个模块进行;计算器模块、八位二进制数转化成8421BCD码模块,四选一数据选择器模块,七段显示译码器模块、模4计数器模块、模8计数器块、3—8译码器块。顶层设计可以完全独立于目标器件芯片物理结构的硬件描述语言。使用VHDL模型在所综合级别上对硬件设计进行说明、建模和仿真。1、顶层原原理框图2、具体实

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,将文件下载到器件当中,在实

3、验箱中进行模拟。四、整体框图五、VHDL部分代码及说明1、计算器模块、libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityjisuanqiisPort(a,b:inSTD_LOGIC_VECTOR(3downto0);sel:inSTD_LOGIC_VECTOR(1downto0);-----加减乘控制端s:outSTD_LOGIC_VECTOR(7downto0));endjisuanqi;architectu

4、reBehavioralofjisuanqiissignalq1,q2:STD_LOGIC_VECTOR(3downto0);signalq3:STD_LOGIC_VECTOR(7downto0);signalq4:STD_LOGIC_VECTOR(1downto0);beginq1<=a;q2<=b;q4<=sel;process(q4,q3)begincaseq4iswhen"00"=>----加减乘算法q3<=q1+q2;s<=q3;when"01"=>if(q1>q2)thenq3<=q1-q2;s<=q3;elseq3<=q2-q1;s<=q3;endif

5、;when"10"=>q3<=q1*q2;s<=q3;when"11"=>q3<=q1*q2;s<=q3;whenothers=>q3<="00000000";s<=q3;endcase;endprocess;endBehavioral;2、八位二进制数转化成8421BCD码模块libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitybcdisPort(s:inSTD_LOGIC_VECTOR(7downto0);a

6、:outSTD_LOGIC_VECTOR(3downto0);b:outSTD_LOGIC_VECTOR(3downto0));endbcd;architectureBehavioralofbcdissignalq0:STD_LOGIC_VECTOR(7downto0);signalq1:STD_LOGIC_VECTOR(3downto0);signalq2:STD_LOGIC_VECTOR(3downto0);beginprocess(s)beginq0<=s;caseq0is----把八位二进制数转化为8421BCD码when"00000000"=>q1<="0

7、000";q2<="0000";when"00000001"=>q1<="0000";q2<="0001";when"00000010"=>q1<="0000";q2<="0010";when"00000011"=>…………………………….3、四选一数据选择器模块libraryieee;useieee.std_logic_1164.all;useieee.std_logic_signed.all;entitymux4_1isport(d0,d1,d2,d3:instd_logic_vector(3downto0);q:outstd_logic_vector(3d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。