北邮 数电实验报告

上传人:小** 文档编号:70890887 上传时间:2019-01-18 格式:DOC 页数:13 大小:223.26KB
返回 下载 相关 举报
北邮 数电实验报告_第1页
第1页 / 共13页
北邮 数电实验报告_第2页
第2页 / 共13页
北邮 数电实验报告_第3页
第3页 / 共13页
北邮 数电实验报告_第4页
第4页 / 共13页
北邮 数电实验报告_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《北邮 数电实验报告》由会员分享,可在线阅读,更多相关《北邮 数电实验报告(13页珍藏版)》请在金锄头文库上搜索。

1、数字电路实验报告 学院:信息与通信工程 专业:信息工程 班级:2013211125 学号:2013210681 姓名:袁普实验一:Quartus原理图输入法设计与实现一:实验要求 :用逻辑门设计实现一个半加器,仿真验证其功能,并生成新 的半加器图形模块单元。 :用实验一生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。 :用3线8线译码器和逻辑门设计实现函数F,仿真验证其功能,下载到实验板测试。要求用拨码开关 设定输入信号,发光二极管显示输出信号。二:报告内容 :实验一(2)的原理图用两个已经生成的半加器图形模块

2、单元和一个双输入或门即可实现全加器 :仿真波形图以及分析 波形图: 波形分析:通过分析ab ci三个输入在8中不同组合下的输出,发现与全加器的真值表吻合,说明实现了全加器的逻辑功能。同时看见波形中出现了毛刺(冒险),这也与事实一致。 :故障及问题分析 第一次在做全加器的时候发现找不到已经生成的半加器模块,后来发现是因为在建立工程时这两个项目没有建在同一个文件夹里,在调用的时候就找不到。后来我将全加器工程建在同一个文件夹里解决了此问题。实验二:用VHDL设计和实现组合逻辑电路一:实验要求 :用VHDL设计一个8421码转换为格雷码的代码转换器,仿真验证其功能。:用VHDL设计一个4位二进制奇校验

3、器,要求在为奇数个1时输出为1,偶数个1时输出为0,仿真验证其功能。 :用VHDL设计一个数码管译码器,仿真验证其功能,下载到实验板测试,要求用拨码开关设定输入信号,数码管显示输出信号,并且只使一个数码管有显示,其余为熄灭状态。二:故障及问题分析在刚开始实现让一个数码管显示的时候,我本来准备再设置6个输入和输出,通过实验板上的拨码来输入信息分别控制不同的数码管的的开闭状态,但是后来发现这样效率很低而且实验板上的拨码开关数量根本不够。在老师的提醒下,我最终在VHDL里直接增加了一个向量输出”011111”来直接控制cat05六个管脚,从而达到了实验的要求。实验三:用VHDL设计和实现时序逻辑电路

4、一:实验要求 :用VHDL语言设计实现一个8421十进制计数器,要求有高电平复位功能,仿真验证其功能。:用VHDL语言设计实现一个分频系数为12,输出为占空比50%方波的分频器,有高电平复位功能,仿真验证其功能。:将(1),(2)和数码管译码器三个电路进行连接,仿真验证其功能,并下载到实验板进行测试,要求第三个数码管显示数字。二:报告内容实验三(3)模块端口说明及模块代码模块一:div12为一个有高电平复位功能的分频系数为12的分屏器,其输出是一个占空比50%的方波。此模块输入连接一个时钟输入,即可在输出端得到一个周期更大的方波输出。library ieee;use ieee.std_logi

5、c_1164.all;use ieee.std_logic_unsigned.all;entity div12 is port( clear,clk:in std_logic; clk_out:out std_logic );end div12;architecture struct of div12 is signal temp:integer range 0 to 5; signal clktmp:std_logic;begin process(clk,clear) begin if(clear=1) then temp=0; elsif clkevent and clk=1 then i

6、f(temp=5) then temp=0; clktmp=not clktmp; else temp=temp+1; end if; end if; end process; clk_out=clktmp; end;模块二:count10是一个有高电平复位功能的8421十进制计数器,将分频器的输出作为时钟信号接为计数器的输入,即可在输出端得到计数的下一状态的输出。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count10 is port( clk,clear:in std_lo

7、gic; q:out std_logic_vector(3 downto 0) );end count10;architecture struct of count10 is signal q_temp:std_logic_vector(3 downto 0);begin process(clk) begin if (clkevent and clk=1) then if clear=1 then q_temp=0000; elsif q_temp=1001 then q_temp=0000; else q_temp=q_temp+1; end if; end if; end process;

8、 qbbbbbbbbbbb=0000000; end case; end process; end; 连接图如下::仿真波形图 :波形图分析 由仿真波形图可以看出,输入的时钟信号经过分频器后产生了周期为输入12倍的时钟信号,然后进行了上升沿有效的从09的10进制计数,每个计数数字都对应一个7位输出来控制数码管。同时此电路还具有同步高电平复位的功能。故障及问题分析一开始发现仿真之后计数器输出和数码管输出都全是0,仔细检测后发现是因为没有使用总线进行连接,使用总线后解决了问题。实验四:用VHDL设计与实现相关电路一:实验要求:用VHDL实现6个数码管的串行扫描,让6个数码管显示不同的数字,仿真并验

9、证功能,并下载到实验板测试。:实现数码管的滚动显示(选做)二:报告内容:实验四模块端口说明每个数码管对应不同的数字显示每个数字对应一个6位输出来控制不同数码管05计数:VHDL代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shumaguan isport ( clk:in std_logic; control_out:out std_logic_vector(5 downto 0); /管脚控制 seg:out std_logic_vector(6 downto 0) / 数码

10、管显示 );end shumaguan;architecture a of shumaguan issignal control:std_logic_vector(5 downto 0); signal count:integer range 0 to 5; begin p1:process(clk) /P1实现计数功能 begin if (clkevent and clk=1) then if count=5 then count=0; else countcontrolcontrolcontrolcontrolcontrolcontrol=111110; end case; end process; control_outsegsegsegsegseg=0110011;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号