数字逻辑与数字系统课程设计(简单计算器).doc_第1页
数字逻辑与数字系统课程设计(简单计算器).doc_第2页
数字逻辑与数字系统课程设计(简单计算器).doc_第3页
数字逻辑与数字系统课程设计(简单计算器).doc_第4页
数字逻辑与数字系统课程设计(简单计算器).doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简单计算器一、设计分析1、功能描述设计一个简单0-9数之间的加、减、乘法运算的计算器,输入和输出均可以显示在数码管上。2、实现工具1、用VHDL 语言文本形式输入;2、maxplusII行语言编写时序仿真和综合。二、设计思想采用自顶向下的设计方式,分层进行设计。设计分为五个模块进行;计算器模块、八位二进制数转化成8421BCD码模块,四选一数据选择器模块,七段显示译码器模块、模4计数器模块、模8计数器块、38译码器块。顶层设计可以完全独立于目标器件芯片物理结构的硬件描述语言。使用VHDL模型在所综合级别上对硬件设计进行说明、建模和仿真。1、顶层原原理框图 2、具体实现 1、计算器模块、2、八位二进制数转化成8421BCD码模块3、四选一数据选择器模块4、七段显示译码器模块5、模4计数器模块6、模8计数器块7、38译码器块三、设计过程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);beginq1=a;q2=b; q4 -加减乘算法q3=q1+q2;s if(q1q2)then q3= q1-q2; s=q3; else q3=q2-q1; s q3=q1*q2; s q3=q1*q2; sq3=00000000;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 issignal q0: STD_LOGIC_VECTOR (7 downto 0);signal q1: STD_LOGIC_VECTOR (3 downto 0);signal q2: STD_LOGIC_VECTOR (3 downto 0);beginprocess(s)beginq0q1=0000;q2q1=0000;q2q1=0000;q2 .3、四选一数据选择器模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;entity mux4_1 isport(d0,d1,d2,d3 :in std_logic_vector(3 downto 0);q :out std_logic_vector(3 downto 0);sel :in std_logic_vector(1 downto 0) );end mux4_1;architecture rtl of mux4_1 isbeginprocess(sel)begin -实现从四个数据中选择一个出来if(sel = 00) thenq=d0;elsif(sel = 01)thenq=d1;elsif(sel = 10)thenq=d2;elsif(sel = 11)thenq=d3;end if;end process;end rtl;4、七段显示译码器模块library ieee;use ieee.std_logic_1164.all;entity bcd_7dis is port (bcdm: in std_logic_vector(3 downto 0); a,b,c,d,e,f,g : out std_logic);end bcd_7dis;architecture art of bcd_7dis issignal w : std_logic_vector(6 downto 0);begin process(bcdm) begin a=w(6);b=w(5);c=w(4);d=w(3);e=w(2);f=w(1);gwwwwwwwwwwww=0000000; end case; end process;end art;5、模4计数器模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;entity mo4 isport(q :out std_logic_vector(1 downto 0);clk :in std_logic);end mo4;architecture rtl of mo4 issignal qcl : std_logic_vector(1 downto 0);beginprocess(clk) begin -实现模为4的计数if(clkevent and clk = 1)then if(qcl = 11)thenqcl = 00;elseqcl = qcl + 1;end if;end if;q = qcl;end process;end rtl;6、模8计数器块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count_8 isport( clk:in std_logic; ql :out std_logic_vector(2 downto 0);end count_8;architecture rt1 of count_8 issignal qcl:std_logic_vector(2 downto 0);begin process(clk)begin - 实现模8的计数if(clkevent and clk=1) then if (qcl=111) then qcl=000; else qcl=qcl+1; end if;end if;qlyyyyy=00000000;end case;end process;end rt1;六、各模块仿真结果1、计算器模块2、八位二进制数转化成8421BCD码模块3.、四选一数据选择器模块4、七段显示译码器模块5、模4计数器模块6、模8计数器块7、38译码器块8、整体仿真七、管脚锁定及硬件实现1、管脚锁定2、文件下载将 文件下载完后在硬件实验箱中进行仿真检查。八、总结1问题及改正经过几天的学习和上,,完成了文本的输入形式简单计算器的电路,在设计过程中出现了诸多问题。首先是对VHDL语言接触的时间,小学期时间短,做课程设计感受很仓促,没有过多的时间去系统的学习这门课程。不像C+这门语言课程设计是先经过了一个学期的学习再做的,那样感觉起来能从最根本的原理入手,在逐步提高,收获也较多。其次是实验过程中解决问题的方法不多,实验室不能上网,无法从网上搜索解决的办法,书上有些知识描述的也不是太清楚。最后是自己的原因,由于课程设计遇到的问题较多,自己没能保持好一个良好的心态,遇到问题很着急,影响了问题的解决和思考。 2、心得体会经过几天的课程设计获益良多,有成功也有失败,有喜悦也有着急,但学习只是一个过程,在这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论