北京理工大学数字系统与设计实验报告(共14页).doc
-
资源ID:13660963
资源大小:2.08MB
全文页数:14页
- 资源格式: DOC
下载积分:20金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
北京理工大学数字系统与设计实验报告(共14页).doc
精选优质文档-倾情为你奉上 本科实验报告实验名称: 数字系统设计与实验(软件部分) 课程名称:数字系统设计与实验(软件部分)实验时间:任课教师:实验地点:实验教师:实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:组 号:学 院:同组搭档:专 业:成 绩:实验一 QuartusII 9.1软件的使用一、实验目的1、通过实现简单组合逻辑电路,掌握QUARTUSII 9.1软件的使用;2、编程实现3-8译码电路以掌握VHDL组合逻辑的设计以及QUARTUSII 9.1软件的使用。;二、实验内容1、3-8译码电路VHDL组合逻辑的设计A、3-8译码电路真值表输入输出D2D1D0Q7Q6Q5Q4Q3Q2Q1Q00000000000100100000010010000001000110000100010000010000101001000001100100000011110000000B、功能仿真波形图:C、时序仿真波形图:D、VHDL代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity decoder3_8 isport(en:in std_logic; sel:in std_logic_vector(2 downto 0); qout:out std_logic_vector(7 downto 0);end decoder3_8;architecture beha of decoder3_8 is signal sina_in:std_logic_vector(2 downto 0); signal sina_out:std_logic_vector(7 downto 0);begin sina_in<=sel; process(sina_in,en) begin if(en='0')then case sina_in is when"000"=>sina_out<="" when"001"=>sina_out<="" when"010"=>sina_out<="" when"011"=>sina_out<="" when"100"=>sina_out<="" when"101"=>sina_out<="" when"110"=>sina_out<="" when"111"=>sina_out<="" when others=>sina_out<="" end case; end if; qout<=sina_out;end process;end beha;2、共阳极七段译码器VHDL组合逻辑的设计A、共阳极七段译码器管脚分布及电路结构如下如所示:显示0时,a,b,c,d,e,f管脚接低电平,g管脚接高电平点亮的二极管会显示数字0 。如图所示:B功能仿真波形图:C时序仿真波形图:D、VHDL代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity seg7 isport(clk,load,en:in std_logic; data_in:in std_logic_vector(3 downto 0); seg:out std_logic_vector(6 downto 0);end seg7;architecture beha of seg7 issignal qout:std_logic_vector(3 downto 0);signal q_temp:std_logic_vector(3 downto 0);begin process(clk,load) begin if(load='1')then q_temp<=data_in; elsif(clk'event and clk='1')then if(en='0')then qout<=qout; elsif(qout="1001")then qout<="0000" else qout<=qout+1; end if; q_temp<=qout; end if; end process; process(q_temp) begin case q_temp is when"0000"=>seg<="" when"0001"=>seg<="" when"0010"=>seg<="" when"0011"=>seg<="" when"0100"=>seg<="" when"0101"=>seg<="" when"0110"=>seg<="" when"0111"=>seg<="" when"1000"=>seg<="" when"1001"=>seg<="" when others=>seg<="" end case; end process;end beha;实验二 模十状态机与7段译码器显示一、实验目的通过设计频率可选的模十状态机以及7段译码电路以进一步掌握VHDL硬件描述语言。二、实验内容此设计包括分频器、多路选择器、状态机和译码器。时钟输入作为分频器的输入,输出时钟分别为2分频、4分频、8分频和16分频;四个频率的时钟信号由4选1的多路选择器选择其中之一作为状态机的时钟输入;使用选中的时钟频率作为输入驱动状态机按照以下的次序输出:0->2->5->6->1->9->4->8->7->3->0的顺序输出;使用此输出作为驱动输入到7段译码器的显示逻辑。功能仿真结果:图 1总体仿真结果图2 二分频结果 图3 四分频结果图4 八分频结果图5 十六分频结果实验三 数字钟的设计与仿真一、实验目的通过设计实现四种频率可选的数字钟的设计与仿真,以熟悉VHDL语言编程。二、实验内容系统整体由分频器、多路选择器和计数器三个模块组成。输入引脚有5根,分别为时钟(提供整个系统的时钟信号)、选择器输入Sel1、Sel0(选择不同的频率输入)、复位信号,以及置位信号。输出引脚有24根,分别为时个位hour_low(3 downto 0)和十位hour_high (3 downto 0)、分钟个位min_low(3 downto 0)和十位min_high (3 downto 0)、秒个位second_low(3 downto 0)和十位secondr_high (3 downto 0)。功能仿真结果如下图所示:图1 总体功能仿真图2 59秒跳变图3 9分59秒跳变图4 59分59秒跳变图5 9时59分59秒跳变图6 23时59分59秒跳变【实验心得】本次实验比较难,设计的知识点比较多,开始的时候感觉难以下手,最初并不知道因为线路重叠要采取一些特殊的方法,把代码打上去结果程序不能运行成功,在仔细阅读使用手册后才发现这个问题,所以前面浪费了一些时间,总体来说,本次的所用到的模块基本在以前的试验中都有使用,问题的难点就在于,如何把这些代码结合起来而不出差错,在此,我又能体会到规范编程的重要性,实验中还有一个需要解决的问题就是数码管显示不稳定,会有闪烁的现象,请教了同学也查阅了资料才得以解决。最后能够把程序运行成功,自己也很开心,学到了很多知识,也锻炼了自己的综合编程能力。专心-专注-专业