北邮数电实验报告.docx

上传人:b****8 文档编号:9517997 上传时间:2023-02-05 格式:DOCX 页数:11 大小:369.52KB
下载 相关 举报
北邮数电实验报告.docx_第1页
第1页 / 共11页
北邮数电实验报告.docx_第2页
第2页 / 共11页
北邮数电实验报告.docx_第3页
第3页 / 共11页
北邮数电实验报告.docx_第4页
第4页 / 共11页
北邮数电实验报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

北邮数电实验报告.docx

《北邮数电实验报告.docx》由会员分享,可在线阅读,更多相关《北邮数电实验报告.docx(11页珍藏版)》请在冰豆网上搜索。

北邮数电实验报告.docx

北邮数电实验报告

 

北京邮电大学数字电路与逻辑

设计实验

 

 

学院:

信息与通信工程学院

班级:

姓名:

学号:

 

实验一QuartusII原理图输入法设计

一、实验目的

(1)熟悉QuartusII原理图输入法进行电路设计和仿真;

(2)掌握QuartusII图形模块单元的生成与调用;

(3)熟悉实验板的使用。

二、实验所用器材:

(1)计算机

(2)直流稳压电源

(3)数字系统与逻辑设计实验开发板

三、实验任务要求

(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。

(2)用

(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。

(3)用3线-8线译码器(74LS138)和逻辑门设计实现函数

仿真验证其功能,并下载到实验板测试。

要求用拨码开关设定输入信号,发光二极管显示输出信号。

四、原理图及仿真波形图

全加器

仿真波形图分析:

根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。

五、故障及问题分析

在本次实验较为简单,因为是第一次使用Quartus软件,所以会犯一些很基础的错误,比如修改了之后忘记第二次编译,波形仿真前周期设置错误。

实验二用VHDL设计与实现组合逻辑电路

一、实验目的:

(1)熟悉用VHDL语言设计组合逻辑电路的设计;

(2)熟悉用QuartusⅡ文本输入法进行电路设计;

(3)熟悉不同的编码及其之间的转换。

二、实验所用器材:

(1)计算机

(2)直流稳压电源

(3)数字系统与逻辑设计实验开发板

三、实验任务要求

(1)用VHDL语言设计实现一个共阴级7段数码管译码器,仿真验证其功能,并下载到实验板测试。

要求用拨开关设定输入信号,7段数码管显示输出信号;

(2)用VHDL语言设计实现一个8421码转余3码的代码转换器,仿真验证其功能,并下载到实验板测试。

要求用拨码开关设定输入信号,发光二极管显示输出信号;

(3)用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个‘1’时,输出为‘1’,否则输出‘0’,仿真验证其功能,并下载到实验板测试。

要求用拨码开关设定输入信号,发光二极管显示输出信号。

四、故障及问题分析

这个实验主要是输出端口与实验板上的端口对应问题,设置输出信号cat,令cat为011111,“0”对应的数码管就会正常显示。

实验三用VHDL设计与实现时序逻辑电路

一、实验目的:

(1)熟悉用VHDL语言设计时序逻辑电路的设计;

(2)熟悉计数器、分频器和移位寄存器的设计与应用;

(3)熟悉用QuartusⅡ文本输入法进行电路设计。

二、实验所用器材:

(1)计算机

(2)直流稳压电源

(3)数字系统与逻辑设计实验开发板

三、实验任务要求

(1)用VHDL语言设计实现一个带异步复位的8421码十进制计数器,仿真验证其功能,并下载到实验板测试。

要求用按键设定输入信号,发光二极管显示输出信号;

(2)用VHDL语言设计实现一个分频系数为12,分频输出信号占空比为50%的分频器。

要求在QuartusⅡ平台上设计程序并仿真验证设计。

(3)将

(1)、

(2)和数码管译码器3个电路进行链接,并下载到实验板显示计数结果。

四、

实验原理图及仿真波形图

仿真波形图分析:

CLKin通过分频器后,频率降低为原来的1/12,因为当CLKin经过12个周期后,计数器的时钟信号经过一个周期,计数器的计数值加一。

通过总输出bout可以看出,数码管每经过CLKin的十二个周期后,显示的数字就会加一。

可见波形图是正确的.

附:

3-(3)代码:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYlianjieIS

PORT(

Rin:

INSTD_LOGIC;

CLKin:

INSTD_LOGIC;

bout:

OUTSTD_LOGIC_VECTOR(6DOWNTO0);

CATout:

OUTSTD_LOGIC_VECTOR(5DOWNTO0)

);

ENDlianjie;

ARCHITECTUREaOFlianjieIS

COMPONENTshumaguan

PORT(

a:

INSTD_LOGIC_VECTOR(3DOWNTO0);

b:

OUTSTD_LOGIC_VECTOR(6DOWNTO0);

CAT:

OUTSTD_LOGIC_VECTOR(5DOWNTO0)

);

ENDCOMPONENT;

COMPONENTjishuqi

PORT(

R:

INSTD_LOGIC;

CLK:

INSTD_LOGIC;

F:

BUFFERSTD_LOGIC_VECTOR(3DOWNTO0)

);

ENDCOMPONENT;

COMPONENTfenpinqi

PORT(

R:

INSTD_LOGIC;

CLK:

INSTD_LOGIC;

F:

BUFFERSTD_LOGIC

);

ENDCOMPONENT;

SIGNALd:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALe:

STD_LOGIC;

BEGIN

u1:

fenpinqiPORTMAP(R=>Rin,CLK=>CLKin,F=>e);

u2:

jishuqiPORTMAP(R=>Rin,CLK=>e,F=>d);

u3:

shumaguanPORTMAP(a=>d,b=>bout,CAT=>CATout);

END;

模块端口连接图:

五、故障及问题分析

实验板上提供的时钟信号频率是50MHz的,而代码用的用的频率由于仿真波形的原因设置的较低,因此12分频的分频器是完全行不通的。

为了数码管能够一秒更新一次数字,因此需要将分频器的分频系数修改为50MHz才能够正常运行。

实验四用VHDL设计与实现相关电路

一、实验目的:

(1)掌握VHDL语言的语法规范,掌握时序电路描述方法;

(2)掌握多个数码管动态扫描显示的原理及设计方法。

二、实验所用器材:

(1)计算机

(2)直流稳压电源

(3)数字系统与逻辑设计实验开发板

三、实验任务要求

(1)用VHDL语言语言设计并实现六个数码管串行扫描电路,要求同时显示0、1、2、3、4、5这六个不同的数字图形到6个数码管上,仿真验证其功能,并下载到实验板上测试;

(2)用VHDL语言设计并实现六个数码管滚动显示电路。

四、实验原理图及仿真波形图

仿真波形图分析:

每当一个时钟上升沿到来,CAT就有进入下一个状态,即由“011111”进入“101111”,再进入“110111”,以此类推。

当时钟信号的频率足够高时,通过人眼看见的六个数码管就是同时显示的了。

当数码管显示为0时,只有CAT[5]对应的数值为0,其他为1;当数码管显示为1时,只有CAT[4]对应的数值为0,其他为1。

当数码管显示为2、3、4、5时,同样只有CAT[3]、CAT[2]、CAT[1]、CAT[0]数值为0,其他为1。

由波形图可知,实验的代码是正确的。

附:

代码

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYmoveIS

PORT(

R:

INSTD_LOGIC;

CLK1,CLK2:

INSTD_LOGIC;

CAT:

OUTSTD_LOGIC_VECTOR(5DOWNTO0);

F:

OUTSTD_LOGIC_VECTOR(6DOWNTO0)

);

ENDmove;

ARCHITECTUREV1OFmoveIS

SIGNALTMP:

INTEGERRANGE0TO6;

BEGIN

PROCESS(CLK1,R)

BEGIN

IF(R='1')THEN

TMP<=0;

ELSIF(CLK1'EVENTANDCLK1='1')THEN

IF(TMP=6)THEN

TMP<=1;

ELSE

TMP<=TMP+1;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(TMP)

BEGIN

CASETMPIS

WHEN1=>F<="1111110";CAT<="011111";

WHEN2=>F<="0110000";CAT<="101111";

WHEN3=>F<="1101101";CAT<="110111";

WHEN4=>F<="1111001";CAT<="111011";

WHEN5=>F<="0110011";CAT<="111101";

WHEN6=>F<="1011011";CAT<="111110";

WHENOTHERS=>F<="0000000";CAT<="000000";

ENDCASE;

ENDPROCESS;

END;

模块端口连接图:

五、故障及问题分析

在写入实验板之后,发现实验板提供的频率不能够很好的同时显示出0—5这六个数字,不是颜色太淡,就是逐个显示。

经过询问,了解了实验板可以通过开关直接修改频率,并且可以在修改范围内找到一个合适的频率,数码管便可以正常显示。

 

课程总结与结论

数电是一门实践性很强的课程,数电实验在我们学习数电知识和掌握相关技术的过程中是不可或缺的一个过程。

不同于理论课上的文字图表,数电实验课有着EDA软件及可编程器件作为实现课程学习探索的良好条件。

作为学习实验课程的必需,我们对VHDL语言进行了初步的系统的学习,在严格按照规范的使用下慢慢理解和掌握这门语言。

可以说,数电实验能够在有限的课时内,让我们对数电产生一定的兴趣,从而为今后的进一步学习打好基础。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1