欢迎来到天天文库
浏览记录
ID:10866759
大小:553.00 KB
页数:11页
时间:2018-07-08
《数字逻辑与数字系统课程设计(简单计算器)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
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
此文档下载收益归作者所有