北邮数电实验报告_第1页
北邮数电实验报告_第2页
北邮数电实验报告_第3页
北邮数电实验报告_第4页
北邮数电实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、数字电路与逻辑设计实验实验报告学科类别:通信工程姓 名 张健为 学 院 信息与通信工程学院 专 业 通信工程 班 级 2013211122 学 号 2013210402 班内序号 13 指导教师 高英 2015年 6 月北京邮电大学数字电路与逻辑设计实验实验一 quartus ii原理图输入法设计一、实验目的:(1)熟悉quartus ii原理图输入法进行电路设计和仿真;(2)掌握quartus ii 图形模块单元的生成与调用;(3)熟悉实验板的使用。二、实验所用器材:(1)计算机;(2)数字系统与逻辑设计实验开发板。三、实验任务要求(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的

2、半加器图形模块单元。(2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。四、设计思路和过程(1)半加器的设计半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输入的加法器电路。是实现两个一位二进制数的加法运算电路。数据输入ai被加数、bi加数,数据输出so和数(半加和)、进位c0。在数字电路设计中,最基本的方法是不管半加器是一个什么样的电路,按组合数字电路的分析方法和步骤进行。1列出真值表 半加器的真值表如表4-1所示。表中两个输入是加数a0和b0,输出有一个是和s0,另一个是

3、进位c0。 表4-1 半加器真值表输入输出aibisoco00000110101011012根据真值表写出输出逻辑表达式 该电路有两个输出端,属于多输出组合数字电路,电路的逻辑表达式为:so=aibico=ab所以,可以用一个两输入异或门和一个两输入与门实现。(2)全加器的实现全加器与半加器的区别在于全加器有一个低进位ci,从外部特性来看,它是一个三输入两输出的器件。1、列出真值表 一位全加器的真值表如表4-2所示,其中ai为被加数,bi为加数,相邻低位来的进位数为ci,输出本位和为so。向相邻高位进位数为co。 表4-2 全加器真值表输入输出aibicisoco000000011001010

4、01101100101010111001111112、根据真值表写出逻辑表达式 根据真值表写出逻辑表达式如下:so=aibici co=ab+(aibi)ci 所以根据上式在对比半加器的逻辑表达式,可以知道只要再加入一个异或门和一个两输入与门和两输入或门即可在半加器的基础上实现全加器。五、实验原理图1、 半加器实验原理图图5-1 半加器实验原理图2、 全加器实验原理图图5-1 全加器实验原理图六、仿真波形图及仿真波形分析1、 半加器仿真波形图 半加器仿真波形如图6-1所示,经检验与表4-1所列相符。图6-1 半加器仿真波形图2、 全加器仿真波形图 全加器仿真波形如图6-2所示。经检验与表4-2

5、所列相符,满足全加器特性。图6-2 半加器仿真波形图实验三 用vhdl设计与实现时序逻辑电路一、实验目的:(1)熟悉用vhdl语言设计时序逻辑电路的方法;(2)熟悉计数器的设计与应用;(3)熟悉分频器的设计方法;(4)熟悉用quartus ii文本输入法进行电路设计。二、实验所用器材:(1)计算机;(2)数字系统与逻辑设计实验开发板。三、实验任务要求(1)用vhdl语言设计一个带异步复位的8421码十进制计数器,仿真验证其功能。(2)用vhdl语言设计一个分频系数为10,分频输出信号占空比为50%的分频器。要求在quartus ii平台上设计程序并仿真验证程序。(3)将(1)、(2)和数码管译

6、码器进行链接,并下载到实验板显示计数结果。四、实验vhdl代码(1)8421计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count_1 isport ( clk,rst : in std_logic; q : out std_logic_vector(3 downto 0);end count1;architecture a of count_1 issignal count : std_logic_vector(3 downto 0);begin process(clk,

7、rst) begin if rst = 1 then count=0000; elsif (clkevent and clk = 1) then if (count = 1001) then count=0000; else count=count+1; end if; end if; end process; q=count; end;(2)分频器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity div_12 is port( clk : in std_logic; clk_out

8、 : out std_logic); end div_12; architecture a of div_12 is signal tmp : integer range 0 to 4; signal clktmp : std_logic; begin process(clk) begin if clkevent and clk = 1 then if tmp = 4 then tmp =0;clktmp= not clktmp; else tmp =tmp+1; end if;end if;end process;clk_out=clktmp;end;(3) 数码管译码器library ie

9、ee;use ieee.std_logic_1164.all;entity vhdl1 isport( a:in std_logic_vector(3 downto 0); b:out std_logic_vector(6 downto 0); c:out std_logic_vector(5 downto 0);end vhdl1;architecture vhdl1_arch of vhdl1 isbegin cbbbbbbbbbbb=0000000; end case; end process;end; 5、 实验原理图图6-1 实验原理图实验原理图如图6-1所示。div_12为分频器,

10、count_1为8421计数器,clear为异步复位端。vhdl1为数码管译码器。clock为时钟输入端,clk_out为分频后时钟输出端,q3.0为8421计数器信号输出端,a3.0为数码管译码器信号输入端,b6.0、c5.0为数码管译码器信号输出端。6、 仿真波形图及仿真波形分析图6-1 仿真波形图(1)图6-2 仿真波形图(2)如图6-1可知电路异步复位功能正常,当clear出现高电平时,数码管立即显示0,并在clear高电平消失后立即从0开始计数。在计数到9之后又重新由0开始计数。图6-1及图6-2显示了完整的计数周期。c表示了计数所利用的数码管的编号。由仿真图可以看出,电路功能正常。

11、实验四 用vhdl设计与实现相关电路一、实验目的:(1)掌握vhdl语言的语法规范,掌握时序电路描述方法;(2)掌握多个数码管动态扫描显示的原理及设计方法;二、实验所用器材:(1)计算机;(2)数字系统与逻辑设计实验开发板。三、实验任务要求用vhdl语言设计并实现六个数码管串行扫描电路,要求同时显示0、1、2、3、4、5这6个不同的数字图形到6个数码管上,仿真验证其功能,并下载到实验板测试。四、实验vhdl代码entity shumaguan is port( clk:in std_logic; b:out std_logic_vector(6 downto 0); c:out std_log

12、ic_vector(5 downto 0);end entity;architecture jingtaixianshi of shumaguan is signal jishu:integer range 0 to 5:=0; begin p1:process(clk) begin if(clkevent and clk=1) then if(jishu=5) then time=0; else jishu b=1111110;c b=0110000;c b=1101101;c b=1111001;c b=0110011;c b=1011011;c=111110; end case; end

13、 process p2; end jingtaixianshi; 选做(数码管滚动显示):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity smg1 isport( clk,clear: in std_logic; kongzhi: in std_logic; q:out std_logic_vector(6 downto 0); countout:out std_logic_vector(5 downto 0) );end smg1;architecture behave of sm

14、g1 issignal q_temp:std_logic_vector(6 downto 0);signal count:std_logic_vector(5 downto 0);signal cnt,cnt1: integer range 0 to 5;signal tmp:integer range 0 to 19999;signal clk1:std_logic;begin p0:process (clk,clear) begin if clear=0 then tmp=0; elsif clkevent and clk=1 then if tmp=19999 then tmp=0; e

15、lse tmp=tmp+1; end if; end if; end process p0; p1:process(tmp) begin if clkevent and clk=1 then if tmp10000 then clk1=0; else clk1=1; end if; end if; end process p1; p2:process(tmp) begin if clkevent and clk=1then if cnt=5 then cnt=0; else cnt=cnt+1; end if; end if; end process p2; p3:process(clk1)

16、begin if clk1event and clk1=1 then if cnt1=5 then cnt1=0; else cnt1=cnt1+1; end if; end if; end process p3; p4:process(cnt,cnt1) begin if clear=0 then q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_temp q_

17、temp q_temp q_temp q_temp q_temp q_temp=0000000; end case; end if; end if; end process p4; q=q_temp; p5:process(cnt) begin if clear=0 then count count count count count count count=111110; end case; end if; end process p5; countout=count; end behave;五、仿真波形图及仿真波形分析图5-1 仿真波形图如图5-1,电路实现了对6段数码管的译码输出,并通过

18、所设计的串行扫描控制,对6个7段数码管扫描输出,要求6个数码管分别显示0、1、2、3、4、5,当控制信号为高电平时,对应数码管点亮,否则熄灭。当时钟频率满足时视觉暂留特性的要求时,可以看到6个数码管同时分别显示0、1、2、3、4、5.仿真波形经检验正确。选做(数码管滚动显示):问题及故障分析实验一过程中,前期遇到了对软件不熟悉的问题,元件调用时原理图没有在同一文件夹下,仿真波形图没有与工程名相同,造成了设计及仿真的错误。下载时还出现了建立工程时芯片选择与实验板不一致,无法匹配的问题。除人为失误之外实验一相对较简单,没有遇到难以解决的故障。实验三过程中,顶层设计时原理图连接本应选择总线却选择了普通连接线,导致仿真得不到预期波形。实验四过程中,最初代码中没有添加信号shuju,导致下载后动态扫描时六个数码管同时显示相同数字,与实验要求相违背。出线问题的原因在于没有进行

温馨提示

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

评论

0/150

提交评论