北邮数字电路与逻辑设计实验报告

合集下载

北邮大三数电实验电子琴

北邮大三数电实验电子琴

数字电路与逻辑设计实验报告实验名称: 基于VHDL的电子琴演奏器实现学院: 信息与通信工程学院班级:姓名:学号:任课老师:日期:2012年11月目录一.任务要求 (2)1、基本要求 (2)2、提高要求 (2)二、原理概述 (2)三、系统设计 (3)1、基础功能 (3)2、拓展功能1——自动播放 (6)3、拓展功能2——储存音符并可自动播放所存字符 (8)4、全部功能实现 (8)四、波形仿真及波形分析 (11)五、源程序 (15)1、FENPINXISHU (15)2、FENPIN (16)3、BEEP (16)4、OUTPUT (17)5、YINFUFENPIN (21)6、JISHU (21)7、JIANPU (22)8、MIAOFENPIN (24)9、JILU (25)10、SHUJUXUANZEQI (26)11、TP (27)六、功能说明 (30)七、元器件清单及资源利用情况 (30)八、故障及问题分析 (31)九、总结和结论 (31)一.任务要求设计制作一个简易电子琴演奏器。

1、基本要求(1) 用8×8点阵显示“1 2 3 4 5 6 7”七个音符构成的电子琴键盘。

其中点阵的第一列用一个LED点亮表示音符“1”,第二列用二个LED点亮表示音符“2”,依此类推,如下图所示。

1 2 3 4 5 6 7图1 点阵显示的电子琴键盘(2) 用BTN1~BTN7七个按键模拟电子琴手动演奏时的“1 2 3 4 5 6 7”七个音符。

当某个按键按下时,数码管显示相应的音符,点阵上与之对应的音符显示列全灭,同时蜂鸣器演奏相应的声音;当按键弹开时数码管显示的音符灭掉,点阵显示恢复,蜂鸣器停止声音的输出。

下图所示为按下BTN3按键时点阵的显示情况。

1 2 3 4 5 6 7图2 按键按下后的点阵显示a、由拨码开关切换选择高、中、低音,并用数码管进行相应的显示。

b、通过按键BTN0进行复位,控制点阵显示图1的初始状态。

北邮数字电路与逻辑设计实验-实验报告(下)

北邮数字电路与逻辑设计实验-实验报告(下)

北京邮电大学电路实验中心<数字电路与逻辑设计实验(下)>实验报告班级: xxx 学院: xxx实验室: xxx 审阅教师:姓名(班内序号): xxx 学号: xxx实验时间: xxx评定成绩:目录一、任务要求 (2)1.基本要求 (2)2.提高要求 (2)二、系统设计 (2)1.设计思路 (2)2.总体框图 (4)3.分块设计 (5)(1)分频器模块 (5)(2)4×4键盘输入模块 (5)(3)数码管显示模块 (6)(4)8×8 LED点阵显示模块 (6)(5)LCD液晶屏显示模块 (6)(6)中心模块 (6)三、仿真波形及波形分析 (6)1.分频器模块 (6)2.4×4键盘输入模块 (7)3.数码管显示模块 (7)4.8×8 LED点阵显示模块 (8)5.LCD液晶屏显示模块 (8)6.中心模块 (8)四、源程序 (9)1.分频器模块 (9)2.4×4键盘输入模块 (9)3.数码管显示模块 (11)4.8×8 LED点阵显示模块 (12)5.LCD液晶屏显示模块 (19)6.中心模块 (23)五、功能说明及资源利用情况 (26)六、故障及问题分析 (27)七、总结和结论 (27)一、任务要求本电路可供甲乙二人进行猜拳游戏。

通过不同的按键控制,选择多种出拳方式,显示猜拳的结果,实现猜拳游戏,防止了作弊的可能。

1.基本要求1、甲乙双方各用4×4 键盘中的三个按键模拟“石头”、“剪刀”、“布”,一个按键为“确认”。

4×4 键盘第一行为甲,第二行为乙;2、裁判用4×4 键盘第三行的一个按键模拟“开”,一个按键为“准备”,一个按键为“复位”;3、裁判宣布“准备”后,甲乙双方分别选择出拳方式并确认;4、裁判“开”以后,用点阵的左右三列同时显示甲乙双方的猜拳选择(如下图所示),并用两个数码管显示甲乙的猜拳比分;图1甲“布”,乙“剪刀”;甲“剪刀”,乙“石头”5、猜拳游戏为五局三胜制。

北京邮电大学数电实验报告

北京邮电大学数电实验报告

北京邮电大学数字电路与逻辑设计实验发光二极管走马灯的电路设计与实现实验报告学院:信息与通信工程学院班级:27姓名:付莹学号:班内序号:23【实验目的】(1)进一步了解时序电路描述方法;(2)熟悉状态机的设计方法。

【实验所用仪器及元器件】(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

【实验任务要求】设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。

(1)单点移动模式:一个点在8个发光二极管上来回的亮(2)幕布式:从中间两个点,同时向两边依次点亮直到全亮,然后再向中间点灭,依次往复。

【实验设计思路及过程】(1)设计思路实验要求有两个,一个是单点移动模式,一个是幕布式。

通过CASE-WHEN 语句实现走马灯的变化。

分别定义一个8个变量的数据类型和一个13变量的数据类型,表示一个周期内的灯的变化,并设计一个变量在两种状态间进行切换。

此时,需要把所有状态罗列到case-when中去。

(2)VHDL代码LIBRARY IEEE;USE ABC ISPORT(A,CLK,RESET:IN STD_LOGIC;DENG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ABC;ARCHITECTURE A OF ABC ISTYPE STATE_TEMP is(s0,s1,s2,s3,s4,s5,s6,s7);TYPE STATE_TEMP1 is(s0,s1,s2,s3,s4,s5,s6,s7,s00,s01,s02,s03,s04,s05);signal STATE:STATE_TEMP;signal STATE1:STATE_TEMP1;BEGINPROCESS(CLK,RESET)BEGINIF RESET='1' THENDENG<="00000000";ELSIF(CLK'EVENT AND CLK='0')THENIF A='0'THEN --KAIMUSHICASE STATE1 ISWHEN s0 => STATE1<=s1;DENG<="";WHEN s1 => STATE1<=s2;DENG<="01000000";WHEN s2 => STATE1<=s3;DENG<="00100000";WHEN s3 => STATE1<=s4;DENG<="00010000";WHEN s4 => STATE1<=s5;DENG<="00001000";WHEN s5 => STATE1<=s6;DENG<="00000100";WHEN s6 => STATE1<=s7;DENG<="00000010";WHEN s7 =>STATE1<=s00;DENG<="00000001";WHEN s00=>STATE1<=s01;DENG<="00000010";WHEN s01=>STATE1<=s02;DENG<="00000100";WHEN s02=>STATE1<=s03;DENG<="00001000";WHEN s03=>STATE1<=s04;DENG<="00010000";WHEN s04=>STATE1<=s05;DENG<="00100000";WHEN s05=>STATE1<=s0;DENG <="01000000";END CASE;ELSECASE STATE ISWHEN s0 => STATE<=s1;DENG<="00011000";WHEN s1 => STATE<=s2;DENG<="00111100";WHEN s2 => STATE<=s3;DENG<="01111110";WHEN s3 => STATE<=s4;DENG<="";WHEN s4 => STATE<=s5;DENG<="01111110";WHEN s5 => STATE<=s6;DENG<="00111100";WHEN s6 => STATE<=s7;DENG<="00011000";WHEN s7 => STATE<=s0;DENG<="00000000";END CASE;END IF;END IF;END PROCESS;END A;【仿真波形及分析】1.仿真波形(1)单点移动式(2)幕布式(3)复位信号2.波形分析(1)单点移动式由图可以看出,当A为0时程序实现单点移动功能,如图所示DENG[7]开始亮,之后依次为DENG[6], DENG[5], DENG[4], DENG[3], DENG[2],DENG[1], DENG[0],然后DENG[1]也开始亮,依此类推,实现了功能要求(2)幕布式由图可以看出,当A为1时,如图所示,先是中间的两个灯DENG[4], DENG[5]亮,然后扩展到四个灯亮DENG[3]至DENG[6]亮,接下来是DENG[2]~DENG[7]亮,最后全亮,接着DENG[2]~DENG[7]亮,继而循环下去。

数字电路与逻辑设计实验报告

数字电路与逻辑设计实验报告

数字电路与逻辑设计实验报告数字电路与逻辑设计实验报告摘要:本实验旨在通过设计和实现数字电路和逻辑门电路,加深对数字电路和逻辑设计的理解。

实验过程中,我们使用了逻辑门电路、多路选择器、触发器等基本数字电路元件,并通过实际搭建电路和仿真验证,验证了电路的正确性和可靠性。

引言:数字电路和逻辑设计是计算机科学与工程领域的重要基础知识。

在现代科技发展中,数字电路的应用范围非常广泛,涉及到计算机、通信、控制等各个领域。

因此,深入理解数字电路和逻辑设计原理,掌握其设计和实现方法,对于我们的专业学习和未来的工作都具有重要意义。

实验一:逻辑门电路的设计与实现逻辑门电路是数字电路中最基本的元件之一,通过逻辑门电路可以实现各种逻辑运算。

在本实验中,我们通过使用与门、或门、非门等逻辑门电路,设计并实现了一个简单的加法器电路。

通过搭建电路和进行仿真验证,我们验证了加法器电路的正确性。

实验二:多路选择器的设计与实现多路选择器是一种常用的数字电路元件,可以根据控制信号的不同,选择不同的输入信号输出。

在本实验中,我们通过使用多路选择器,设计并实现了一个简单的数据选择电路。

通过搭建电路和进行仿真验证,我们验证了数据选择电路的正确性。

实验三:触发器的设计与实现触发器是一种常用的数字电路元件,可以存储和传输信息。

在本实验中,我们通过使用触发器,设计并实现了一个简单的二进制计数器电路。

通过搭建电路和进行仿真验证,我们验证了二进制计数器电路的正确性。

实验四:时序逻辑电路的设计与实现时序逻辑电路是一种特殊的数字电路,其输出不仅与输入信号有关,还与电路的状态有关。

在本实验中,我们通过使用时序逻辑电路,设计并实现了一个简单的时钟电路。

通过搭建电路和进行仿真验证,我们验证了时钟电路的正确性。

实验五:数字电路的优化与综合数字电路的优化与综合是数字电路设计中非常重要的环节。

在本实验中,我们通过使用逻辑代数和Karnaugh图等方法,对已有的数字电路进行了优化和综合。

北邮数电综合实验报告

北邮数电综合实验报告

北京邮电大学数字电路与逻辑设计实验学院:信息与通信工程学院班级: 2013211127 作者:薄士宁学号: 2013212543 ____一.实验名称和任务要求LED 点阵风扇的设计与实现基本要求:1、用8×8 点阵模拟风扇转动,并采用双色点阵显示。

2、风扇转动方式如图1 所示,包括四个点阵显示状态并按顺序循环显示。

风扇转动速度根据环境温度分为4 档,其中1 档的四个显示状态之间的切换时间为2 秒,2 档为1 秒,3 档为0.5 秒,4 档为静止不动。

图1 点阵模拟风扇转动示意图3、环境温度通过2 个BTN 按键设置,一个用来增加,一个用来减少,温度可设置范围为10℃~40℃,温度精度为1℃,并用两个数码管进行温度显示。

风扇根据不同的温度自动采用不同的转动速度,其中20℃~24℃对应1档,25℃~29℃对应2 档,30℃~40℃对应3 档,10℃~19℃对应4 档,用一个数码管显示档位。

4、定时模式:在风扇不同转动速度下,可以通过按键切换进入定时模式。

定时时间可设置范围为20~59 秒,采用两个数码管进行倒计时显示,当倒计时结束后,风扇状态保持静止不动。

5、设置开关键。

风扇开机初始状态为20℃、1 档,并有不小于5 秒的开机音乐。

关机状态为点阵全灭。

提高要求:1、设计LED 风扇的其他工作模式。

2、利用实验板上的温度传感器代替按键直接获取温度数据,实现对LED 风扇四档转速的自动控制。

3、用数码管实时显示温度传感器的温度数据,精度为0.1℃。

4、自拟其他功能。

二.基本思路根据实验要求,画出总的原理图。

实验的基本要求,即8×8双色点阵模拟风扇转动、风扇转动分四个档位(每个档位对应“四种”状态)、通过环境温度控制档位的自动选择、设计定时模式、开关机状态。

为了实现这些既定要求,设计出了温度控制模块、倒计时控制模块、音乐控制模块、点阵风扇模块、数码管显示模块等,通过对时钟的分频、加减法计数器、数据选择器等的运用,来实现上述功能。

数字电路与逻辑设计实验报告

数字电路与逻辑设计实验报告

数字电路与逻辑设计实验报告实验目的:本实验旨在通过实际操作,加深对数字电路与逻辑设计原理的理解,掌握数字电路的基本原理和设计方法,提高学生的动手能力和实际应用能力。

实验一,二极管的正向导通特性实验。

实验原理:二极管是一种半导体器件,具有单向导电特性。

当二极管的正向电压大于其开启电压时,二极管将处于导通状态;反之,当反向电压作用于二极管时,二极管将处于截止状态。

实验步骤:1. 将二极管连接到直流电源电路中;2. 通过改变电源电压,观察二极管的正向导通特性;3. 记录不同电压下二极管的导通情况。

实验结果与分析:通过实验,我们发现二极管在正向电压大于其开启电压时会导通,而在反向电压作用下会截止。

这验证了二极管的正向导通特性。

实验二,基本逻辑门的实验。

实验原理:基本逻辑门包括与门、或门、非门等,它们是数字电路的基本组成单元,通过不同的输入信号产生不同的输出信号。

实验步骤:1. 搭建与门、或门、非门的实验电路;2. 分别输入不同的逻辑信号,观察输出信号的变化;3. 记录实验结果。

实验结果与分析:通过实验,我们发现与门、或门、非门在不同的输入信号下产生了不同的输出信号,验证了基本逻辑门的工作原理。

实验三,触发器的实验。

实验原理:触发器是一种存储器件,具有记忆功能,可以存储一个比特的信息。

常见的触发器包括RS触发器、D触发器、JK触发器等。

实验步骤:1. 搭建RS触发器、D触发器、JK触发器的实验电路;2. 分别输入触发信号,观察触发器的输出变化;3. 记录实验结果。

实验结果与分析:通过实验,我们发现不同类型的触发器在接收不同触发信号时,产生了不同的输出变化,验证了触发器的存储功能。

结论:通过本次实验,我们深入理解了数字电路与逻辑设计的基本原理,掌握了数字电路的实际应用技能。

数字电路与逻辑设计是现代电子技术的基础,通过实验的学习,我们将能更好地理解和应用数字电路与逻辑设计的知识,为今后的学习和工作打下坚实的基础。

数字电路与逻辑设计实验报告

数字电路与逻辑设计实验报告

竭诚为您提供优质文档/双击可除数字电路与逻辑设计实验报告篇一:北邮数字电路与逻辑设计实验报告北京邮电大学数字电路与逻辑设计实验报告学院:班级:姓名:学号:实验一QuartusII原理图输入法设计与实现一、实验目的:(1)熟悉QuartusII原理图输入法进行电路设计和仿真;(2)掌握QuartusII图形模块单元的生成与调用;(3)熟悉实验板的使用;二、实验所用器材:(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

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

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

(3)用3线-8线译码器(74Ls138)和逻辑门设计实现函数,仿真验证其功能,并下载到实验板测试。

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

四、实验原理图及仿真波形图(1)半加器半加器原理图仿真波形仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。

但我们也可以发现输出so出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。

(2)全加器全加器原理图仿真波形仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了全加器的功能(2)741383线-8线译码器原理图仿真波形图仿真波形图分析;当且仅当Abc输入为000、010、100、111时,F=1,可知电路实现了函数。

实验二用VhDL设计与实现组合逻辑电路一、实验目的:(1)熟悉用VhDL语言设计时序逻辑电路的方法;(2)熟悉用QuartusII文本输入法进行电路设计;(3)熟悉不同的编码及其之间的转换。

二、实验所用器材:(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

三、实验任务要求(1)用VhDL语言设计实现一个共阴极7段数码管译码器;(2)用VhDL语言设计一个8421码转余三码的代码转换器;(3)用VhDL语言设计设计一个四位2进制奇校验器。

北邮数电实验报告

北邮数电实验报告

北邮数电实验报告1. 实验目的本实验的目的是通过实际操作和实验验证,加深对数字电路的理解和掌握。

具体实验内容包括: 1. 实现各种基本逻辑电路(与门、或门、非门、异或门等)的电路设计。

2. 学习使用开关和LED灯进行数字信号输入和输出。

3. 掌握数字电路实验中常用的仪器设备的使用方法。

2. 实验器材和环境本实验所使用的器材和环境如下: - FPGA实验箱 - 数字逻辑集成电路(与门、或门、非门、异或门等) - 电源 - 接线板 - 数字电路实验仪器3. 实验步骤3.1 实验准备首先,我们需要将实验所需的器材连接好,包括将数字逻辑集成电路插入到FPGA实验箱上的插槽中,并将电源正确连接。

3.2 电路设计与布线根据实验要求,我们需要设计不同的基本逻辑电路。

比如,要设计一个与门电路,可以通过将两个输入端分别与两个开关连接,将输出端连接到一个LED灯上。

其他的逻辑电路同样可以设计类似的方式。

在设计和布线的过程中,需要注意保持电路的连通性,并避免出现短路等问题。

3.3 输入和输出信号设置根据实验要求,我们需要设置输入和输出信号。

可以通过控制开关的开合状态来设置输入信号,然后观察LED灯的亮灭情况来判断输出信号的状态是否符合预期。

3.4 实验数据记录和分析在实验过程中,我们需要记录每个逻辑电路的输入和输出信号状态,并进行分析。

可以通过绘制真值表或者逻辑门表来记录并分析数据。

4. 实验结果与分析根据实验步骤中记录的数据,我们可以得出实验结果,并进行进一步的分析。

比如,可以通过比对设计的逻辑电路输出和预期输出的差异,来判断实验是否成功完成。

5. 总结与反思通过本次实验,我深入了解和掌握了数字电路的基本原理和实验方法。

通过设计和实验验证,加深了对基本逻辑电路的理解,并熟悉了数字电路实验所使用的仪器设备。

在实验过程中,我遇到了一些问题,比如电路连接错误导致的信号不稳定等,但通过仔细调试和排查,最终解决了这些问题。

数字电路与逻辑设计实验报告总结《数字电路与逻辑设计实验》实验报告

数字电路与逻辑设计实验报告总结《数字电路与逻辑设计实验》实验报告

数字电路与逻辑设计实验报告总结《数字电路与逻
辑设计实验》实验报告
《数字电路与逻辑设计实验》实验报告总结
本次实验主要涉及数字电路与逻辑设计的相关知识,包括逻辑门、组合逻辑电路和时序逻辑电路的设计与实现。

通过实验,我们深入了解了数字电路的工作原理和设计方法。

在实验过程中,我们首先学习了常用的逻辑门,如与门、或门和非门,并掌握了它们的真值表和逻辑表达式。

然后,我们通过使用逻辑门的组合,设计并实现了各种组合逻辑电路,包括加法器、减法器、比较器等。

通过这些实验,我们加深了对组合逻辑电路的理解,掌握了它们的设计和实现方法。

接着,我们学习了时序逻辑电路的基本概念和设计方法。

我们实现了一些简单的时序逻辑电路,包括触发器、计数器等。

通过这些实验,我们了解了时序逻辑电路的功能和特点,并掌握了它们的设计和实现方法。

在实验过程中,我们注重实验的规范性和准确性。

我们认真研读实验指导书,仔细阅读相关的知识资料,确保实验操作的正确性。

同时,我们积极思考和探索,主动解决实验中遇到的问题,提高了自己的实验技能和问题解决能力。

通过本次实验,我们不仅学到了数字电路与逻辑设计的相关知识,还锻炼了我们的实验能力和实践动手能力。

我们深刻体会到了理论与实践相结合的重要性,认识到了数字电路与逻辑设计在现代科学技术中的重要地位和广泛应用。

总之,本次实验收获颇丰,为我们今后的学习和研究奠定了坚实的基础。

北邮 数电实验报告

北邮 数电实验报告

北邮数电实验报告北邮数电实验报告数电实验是电子信息科学与技术专业的一门重要课程,通过实验可以帮助学生巩固理论知识,培养实践能力。

本次实验我们进行了基于数字逻辑电路的设计与实现,探索了数字电路的原理和应用。

以下是对本次实验的总结和分析。

1. 实验目的本次实验的主要目的是学习数字逻辑电路的设计与实现,了解数字电路的基本原理和应用。

通过实验,我们可以熟悉数字电路的搭建过程,掌握数字电路的设计方法和测试技巧。

2. 实验原理本次实验主要涉及到的数字逻辑电路有与门、或门、非门、异或门等。

这些逻辑门可以通过逻辑运算实现各种功能,如加法器、减法器、比较器等。

我们需要根据实验要求,设计并搭建相应的数字电路,然后通过示波器等仪器进行测试,验证电路的正确性。

3. 实验步骤首先,我们根据实验要求,设计了一个4位全加器电路。

通过逻辑门的组合,实现了4位二进制数的加法运算。

然后,我们搭建了一个4位比较器电路,用于比较两个4位二进制数的大小关系。

最后,我们设计了一个4位减法器电路,实现了4位二进制数的减法运算。

4. 实验结果通过实验,我们成功搭建了4位全加器、4位比较器和4位减法器电路,并进行了测试。

实验结果表明,我们设计的电路能够正确地完成加法、比较和减法运算,符合预期的逻辑规则。

5. 实验总结通过本次实验,我们深入了解了数字逻辑电路的设计与实现过程。

我们学会了使用逻辑门进行电路设计,并通过实验验证了电路的正确性。

实验过程中,我们也遇到了一些问题,如电路连接错误、示波器读数不准确等。

但通过仔细分析和调试,我们最终解决了这些问题,并取得了满意的实验结果。

6. 实验感想数电实验是一门非常重要的实践课程,通过实验我们不仅巩固了理论知识,还培养了实践能力和解决问题的能力。

在实验过程中,我们需要细心观察、仔细分析,并灵活运用所学的知识。

实验不仅考验了我们的动手能力,还锻炼了我们的思维能力和团队合作精神。

7. 实验的意义数电实验的意义在于将理论知识与实际应用相结合,帮助我们更好地理解和掌握数字电路的原理和应用。

北邮数电实验报告

北邮数电实验报告

数字电路与逻辑设计实验报告一、要求要求:设计制作一个简易计算器,实现最大输入两位十进制数字的加减乘运算。

基本要求:1、实现最大输入两位十进制数字的加减乘运算;八个拨码开关按两位8421bcd码输入。

2、能够实现多次连算(无优先级,从左到右计算结果),如12+34×56-78=2498。

3、最大长度以数码管最大个数为限,溢出报警。

提高要求:1、有正负数区分。

2、实现除法(不能整除时小数保留2位有效数字)。

3、其它扩展功能。

二、系统设计:设计思路:1、将该程序进行分模块设计。

可以将程序分为:主程序、译码模块和防抖模块。

其中,主程序负责将输入的数据进行存储,对数据进行运算,将数据输出到数码上等;防抖模块负责对按键输入的数防抖;译码模块负责对输入的数据进行译码(由8421bcd码转化为十进制的编码)。

2、分模块进行相应模块的编写。

3、对编好的模块进行测试。

4、编写主程序并进行调试。

总体框图:流程图:分块设计:(按实际操作的分块)输入模块:由符号开关和拨码开关构成。

采用序列存储的方式存储相应的输入。

输入译码模块:将输入的符号序列转化成先用状态,以便选取对应的计算方法;将输入的8421bcd码转化成相应的两位十进制数。

数码显示模块:将寄存器内的数进行输出到数码管上。

显示所输入的第一个数以及最后的结果。

计算模块:调用相应的计算方式,对所输入的数进行计算。

防抖模块:在用按键输入时,所得到的信号可能会有抖动,因此加入此抖动电路。

三、仿真波形及波形分析:分析(波形仿真时,为了方便观察,将8421bcd码输入方式,该为了十进制的直接输入方式,并将输出,有原来的数码管显示改成了直接数字显示)由图中可以看出,当输入12 ,按下“确定”,数字就输入到了寄存器中,输入“+”号(对应仿真中的fuhao“100000”),在输入一个数35,按下“确定”,该计算器就件寄存器中的数与第二次输入的数进行相加,得到结果47。

此时该结果又被直接保存到了寄存器中,继续输入运算符“-”(对应仿真中得fuhao“010000”),输入第三个数18,按下“确定”,计算器对其做减法运算,得到结果29,该结果又在寄存器中存储着。

数字电路与逻辑设计实验报告

数字电路与逻辑设计实验报告

数字电路与逻辑设计实验报告本次实验内容主要涉及数字电路与逻辑设计的相关知识,通过实际操作和实验验证,加深对数字电路和逻辑设计原理的理解和掌握。

本次实验包括了基本的数字逻辑门电路实验、组合逻辑电路实验和时序逻辑电路实验。

首先,我们进行了基本的数字逻辑门电路实验。

在实验中,我们使用了与门、或门、非门和异或门等基本逻辑门电路,通过搭建电路并输入不同的逻辑信号,观察输出的结果,验证了逻辑门的基本功能和特性。

在实验过程中,我们发现逻辑门的输出结果与输入信号之间的逻辑关系是十分严谨和可靠的,这也为后续的实验奠定了基础。

其次,我们进行了组合逻辑电路实验。

在这一部分实验中,我们学习了多位数加法器、译码器、编码器等组合逻辑电路的设计和应用。

通过实际搭建电路并输入不同的输入信号,我们观察到了组合逻辑电路的输出结果,并验证了其设计的正确性和可靠性。

在实验过程中,我们深刻体会到了组合逻辑电路的设计原理和应用场景,对数字电路的实际应用有了更深入的了解。

最后,我们进行了时序逻辑电路实验。

时序逻辑电路是在组合逻辑电路的基础上引入了时钟信号,具有一定的存储功能和时序控制功能。

在实验中,我们学习了触发器、计数器等时序逻辑电路的设计和应用,通过实际操作和观察,我们对时序逻辑电路的工作原理和特性有了更深入的认识。

通过本次实验,我们不仅加深了对数字电路和逻辑设计原理的理解,还提高了实际动手操作和实验验证的能力。

数字电路与逻辑设计是计算机科学与技术专业的重要基础课程,对于我们的专业学习和未来的工作都具有重要意义。

通过这次实验,我们不仅掌握了数字电路和逻辑设计的基本原理和方法,还培养了动手实验和解决实际问题的能力,对我们的专业学习和未来的发展都具有重要意义。

总之,本次实验内容丰富、实用,通过实际操作和实验验证,我们加深了对数字电路与逻辑设计的理解和掌握,为我们的专业学习和未来的工作打下了坚实的基础。

希望通过不断的实践和学习,我们能够更加深入地理解和应用数字电路与逻辑设计的知识,为我们的专业发展和未来的工作做好充分的准备。

北邮数电综合实验报告

北邮数电综合实验报告

数字电路与逻辑设计实验题目: 简易出租车计价器学号:姓名:班级:学院:时间:2013/11/4一.设计课题的任务要求设计一台出租车计价器,不同情况具有不同的收费标准。

基本要求:1、行驶公里:用时钟2 秒钟表示出租车匀速行驶1 公里,在行车5 公里以内,按起步价13 元收费,超过5 公里部分,以每公里2 元收费。

燃油附加费为每运次1 元。

2、途中等待:用按键控制中途等待,等待少于(包括)5 秒不收费,超过5 秒后每等待3 秒钟加收1 元。

3、用数码管分时显示计费金额、行驶里程和等候时间。

字母A 表示当前处于显示计费金额状态,字母B 表示当前处于显示行驶里程状态,字母C 表示当前处于显示等候时间状态。

4、用按键控制出租车空驶、载客状态并用点阵显示空驶、载客状态。

二、系统设计(包括设计思路、总体框图、分块设计)1、设计思路:将整个计价器分为控制和计费模块,按键及防抖模块,数码管显示模块,点阵显示模块。

其中控制和计费模块作为系统核心,负责给出所有控制和对外显示信号。

按键及防抖模块提供输入按键信号,用于状态间切换。

数码管用于显示计费金额、里程和等待时间信息。

点阵模块用于显示出租车载客和空驶状态。

2、设计框图:3、分块设计①控制和计费模块:采用状态机的设计方式,根据计费计时方式的不同,分为了S0、S1、S2、S3四个状态,四个状态的含义和状态转移图如图所示:②按键防抖模块:如图:按键防抖模块的原理是利用信号延迟,每个防抖模块都有一个输入时钟,每按下一次按键后输出端将产生一个输入时钟宽度的脉冲,输入时钟频率与主控模块中的状态切换扫描时钟频率相同,使状态能够及时的切换。

③点阵显示模块:点阵模块主要用于显示出租车的空载和载客状态。

空载时显示汉字“空”,载客时显示标志“X”。

输出信号lie和com分别连接到点阵控制的行和列。

En是由计费控制模块给出的空载/载客信号。

④数码管显示模块数码管主要用于显示计费、里程、等待时间信息。

北京邮电大学数电实验报告

北京邮电大学数电实验报告

北京邮电大学数字电路与逻辑设计实验发光二极管走马灯的电路设计与实现实验报告学院:信息与通信工程学院班级:2010211127姓名:付莹学号:10210759班内序号:23【实验目的】(1)进一步了解时序电路描述方法;(2)熟悉状态机的设计方法。

【实验所用仪器及元器件】(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

【实验任务要求】设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。

(1)单点移动模式:一个点在8个发光二极管上来回的亮(2)幕布式:从中间两个点,同时向两边依次点亮直到全亮,然后再向中间点灭,依次往复。

【实验设计思路及过程】(1)设计思路实验要求有两个,一个是单点移动模式,一个是幕布式。

通过CASE-WHEN 语句实现走马灯的变化。

分别定义一个8个变量的数据类型和一个13变量的数据类型,表示一个周期内的灯的变化,并设计一个变量在两种状态间进行切换。

此时,需要把所有状态罗列到case-when中去。

(2)VHDL代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ABC ISPORT(A,CLK,RESET:IN STD_LOGIC;DENG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ABC;ARCHITECTURE A OF ABC ISTYPE STATE_TEMP is(s0,s1,s2,s3,s4,s5,s6,s7);TYPE STATE_TEMP1 is(s0,s1,s2,s3,s4,s5,s6,s7,s00,s01,s02,s03,s04,s05); signal STATE:STATE_TEMP;signal STATE1:STATE_TEMP1;BEGINPROCESS(CLK,RESET)BEGINIF RESET='1' THENDENG<="00000000";ELSIF(CLK'EVENT AND CLK='0')THENIF A='0'THEN --KAIMUSHICASE STATE1 ISWHEN s0 => STATE1<=s1;DENG<="10000000";WHEN s1 => STATE1<=s2;DENG<="01000000";WHEN s2 => STATE1<=s3;DENG<="00100000";WHEN s3 => STATE1<=s4;DENG<="00010000";WHEN s4 => STATE1<=s5;DENG<="00001000";WHEN s5 => STATE1<=s6;DENG<="00000100";WHEN s6 => STATE1<=s7;DENG<="00000010";WHEN s7 =>STATE1<=s00;DENG<="00000001";WHEN s00=>STATE1<=s01;DENG<="00000010";WHEN s01=>STATE1<=s02;DENG<="00000100";WHEN s02=>STATE1<=s03;DENG<="00001000";WHEN s03=>STATE1<=s04;DENG<="00010000";WHEN s04=>STATE1<=s05;DENG<="00100000";WHEN s05=>STATE1<=s0;DENG <="01000000";END CASE;ELSECASE STATE ISWHEN s0 => STATE<=s1;DENG<="00011000";WHEN s1 => STATE<=s2;DENG<="00111100";WHEN s2 => STATE<=s3;DENG<="01111110";WHEN s3 => STATE<=s4;DENG<="11111111";WHEN s4 => STATE<=s5;DENG<="01111110";WHEN s5 => STATE<=s6;DENG<="00111100";WHEN s6 => STATE<=s7;DENG<="00011000";WHEN s7 => STATE<=s0;DENG<="00000000";END CASE;END IF;END IF;END PROCESS;END A;【仿真波形及分析】1.仿真波形(1)单点移动式(2)幕布式(3)复位信号2.波形分析(1)单点移动式由图可以看出,当A为0时程序实现单点移动功能,如图所示DENG[7]开始亮,之后依次为DENG[6], DENG[5], DENG[4], DENG[3], DENG[2],DENG[1], DENG[0],然后DENG[1]也开始亮,依此类推,实现了功能要求(2)幕布式由图可以看出,当A为1时,如图所示,先是中间的两个灯DENG[4], DENG[5]亮,然后扩展到四个灯亮DENG[3]至DENG[6]亮,接下来是DENG[2]~DENG[7]亮,最后全亮,接着DENG[2]~DENG[7]亮,继而循环下去。

《数字电路与逻辑设计》实验报告

《数字电路与逻辑设计》实验报告

《数字电路与逻辑设计》实验报告学号11XX XX 姓名XX 专业、班计算机科学与技术11计算机班实验地点实3-407 指导教师XX 实验时间2012-10-23一、实验目的1.了解组合逻辑的设计步骤。

2.掌握组合逻辑电路的分析方法与测试方法。

3.了解组合逻辑电路的冒险现象及其消除方法。

二、实验设备(环境)及要求74LS00,74LS20,74LS86,74LS138各一片,万用表一只三、实验内容与步骤1.组合逻辑电路的设计步骤(1)根据任务要求列出真值表根据真值表写出逻辑表达式,利用卡诺图或布尔代数进行化简,得出最简的逻辑函数表达示。

(2)选用标准器件实践所得出的逻辑函数逻辑化简是组合逻辑电路设计的关键步骤之一,但往往最简设计不一定最佳。

因为在实际使用的电路,要考虑电路的工作速度、稳定性、可靠性及逻辑关系的清晰度。

所以,一般来说,应在保证上述条件的前提下,使电路设计最简,成本最低。

2.实验内容(1)某工厂三个车间:A、B、C和一个自备电站,站内有两台发电机M、N。

N 的发电能力的M的二倍。

如果一个车间开工,启动M就可以满足要求;如果两个车间开工,启动N就可以满足要求;如果三个车间均开工,启动M、N才能满足要求。

请用74LS86(异或门)和74LS00(与非门)设计一个控制电路,由A、B、C车间的开工情况来控制M、N的启动。

(2)设A、B、C、D代表四位二进制数码,函数X=8A+4B+2C+D,用74LS20及74LS00设计一个组合逻辑电路,使函数当输入数4<X<=15时,输出Y=1,否则Y=0。

(4)用 74LS138(三线—八线译码器)及74LS20(双四输入与非门)构成函数发生器,实现函数:。

1 1 1 0 11 1 1 1 1实验四:化简可得:,应用74LS138与74LS20即可实现。

只要m1、m2、m3、m5中任意一项为最小项,P就为0,灯泡不亮。

五、分析与讨论(遇到的问题及其对本实验提出的建议)1.首先要读懂题目,开始我一直觉得M、N也是输入变量,是否满足要求才是输出变量,这样就会有五个输入变量,一切都变得复杂了,后来经同学提醒才恍然大悟。

北邮数字电路与逻辑设计实验报告

北邮数字电路与逻辑设计实验报告

北京邮电大学数字电路与逻辑设计实验报告学院:班级:姓名:学号:实验一 Quartus II原理图输入法设计与实现一、实验目的:(1)熟悉Quartus II原理图输入法进行电路设计和仿真;(2)掌握Quartus II 图形模块单元的生成与调用;(3)熟悉实验板的使用;二、实验所用器材:(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

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

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

(3)用3线-8线译码器(74LS138)和逻辑门设计实现函数 ,仿真验证其功能,并下载到实验板测试。

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

四、实验原理图及仿真波形图(1)半加器半加器原理图仿真波形仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。

但我们也可以发现输出SO出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。

(2)全加器全加器原理图仿真波形仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了全加器的功能(2) 74138 3线-8线译码器原理图仿真波形图仿真波形图分析 ;当且仅当ABC输入为000、010、100、111时,F=1,可知电路实现了函数。

实验二用VHDL设计与实现组合逻辑电路一、实验目的:(1)熟悉用VHDL语言设计时序逻辑电路的方法;(2)熟悉用Quartus II文本输入法进行电路设计;(3)熟悉不同的编码及其之间的转换。

二、实验所用器材:(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

三、实验任务要求(1)用 VHDL语言设计实现一个共阴极7段数码管译码器;(2)用VHDL语言设计一个8421码转余三码的代码转换器;(3)用VHDL语言设计设计一个四位2进制奇校验器。

北邮数字逻辑课程设计实验报告(可编辑)

北邮数字逻辑课程设计实验报告(可编辑)

北邮数字逻辑课程设计实验报告(可编辑)(文档可以直接使用,也可根据实际需要修改使用,可编辑推荐下载)实验四:电子钟显示一、实验目的(1)掌握较复杂的逻辑设计和调试。

(2)学习用原理图+VHDL语言设计逻辑电路。

(3)学习数字电路模块层次设计。

(4)掌握ispLEVER 软件的使用方法。

(5)掌握ISP 器件的使用。

二、实验所用器件和设备在系统可编程逻辑器件ISP1032 一片示波器一台万用表或逻辑笔一只TEC-5实验系统,或TDS-2B 数字电路实验系统一台三、实验内容数字显示电子钟1、任务要求(1)、时钟的“时”要求用两位显示;上、下午用发光管作为标志;(2)、时钟的“分”、“秒”要求各用两位显示;(3)、整个系统要有校时部分(可以手动,也可以自动),校时时不能产生进位;(4)*、系统要有闹钟部分,声音要响5秒(可以是一声一声的响,也可以连续响)。

VHDL源代码:LIBRARY ieee;----主体部分-ENTITY clock isport(clk,clr,put,clk1 : in std_logic; -- clr 为清零信号,put 为置数脉冲,clk1 为响铃控制时钟choice : in std_logic; --用来选择时钟状态的脉冲信号lighthour : out std_logic_vector(10 downto 0);lightmin : out std_logic_vector(7 downto 0);lightsec : out std_logic_vector(7 downto 0); --输出显示ring : out std_logic); --响铃信号end clock;--60进制计数器模块ARCHITECTURE func of clock iscomponent counter_60port(clock : in std_logic;clk_1s : in std_logic;putust : in std_logic;clr : in std_logic;load : in std_logic;s1 : out std_logic_vector(3 downto 0);s10 : out std_logic_vector(3 downto 0);co : out std_logic);end component;--24进制计数器模块component counter_24port(clock : in std_logic;clk_1s : in std_logic;putust : in std_logic;clr : in std_logic;load : in std_logic;s1 : out std_logic_vector(3 downto 0);s10 : out std_logic_vector(6 downto 0));end component;signal sec,a:std_logic; --- 2 分频产生1s信号signal l1,l2,l3:std_logic; ---判定对时间三部分修改signal c1,c2:std_logic; ---进位信号signal load:std_logic_vector(1 downto 0);signal temp:integer range 0 to 2499;signal temp1:integer range 0 to 95; --计数信号signal sec_temp:std_logic_vector(7 downto 0);--总进程beginu1 : counter_60 port map (sec,sec,put,clr,l1,sec_temp(3 downto 0),sec_temp(7 downto 4),c1); u2 : counter_60 port map (c1,sec,put,clr,l2,lightmin(3 downto 0),lightmin(7 downto 4),c2);u3 : counter_24 port map (c2,sec,put,clr,l3,lighthour(3 downto 0),lighthour(10 downto 4)); lightsec(7 downto 0)<=sec_temp(7 downto 0);--状态转换process (choice)beginif (choice'event and choice='1') thencase load iswhen "00" => l1<='0'; --非修改状态l2<='0';l3<='0';load<="01";when "01" => l1<='0'; --此状态下对小时进行修改l2<='0';l3<='1';load<="10";when "10" => l1<='0'; --此状态下对分钟进行修改l2<='1';l3<='0';load<="11";when others => l1<='1'; --此状态下对秒进行修改l2<='0';l3<='0';load<="00";end case;end if;end process;--计数进程process(clk)beginif (clk'event and clk='1') then --分频if (temp=2499) thentemp <= 0;sec<=not sec;elsetemp <= temp+1;end if;end if;end process;--响铃进程process(clk1)beginif(clk1'event and clk1='1') thenif (temp1=95) thentemp1<=0;a<=not a;elsetemp1<=temp1+1;end if;end if;end process;ring<=a when (c2='1' and sec_temp<5 and sec='1') else --5s整点响铃'0';end func;library IEEE;entity counter_60 isport (clock : in std_logic; --计数信号,即低位的进位信号或时钟脉冲信号clk_1s : in std_logic; --周期1s 的时钟信号putust : in std_logic; --调表置数信号clr : in std_logic; --清零load : in std_logic; --判定信号s1 : out std_logic_vector(3 downto 0); --计数器的个位s10 : out std_logic_vector(3 downto 0); --计数器的十位co : out std_logic );end counter_60;if(load=1 ) --防止脉冲产生进位co_ temp<=’0’;architecture func of counter_60 issignal s1_temp: std_logic_vector(3 downto 0);signal s10_temp : std_logic_vector(3 downto 0);signal clk,co_temp : std_logic;beginclk<=clock when load='0' elseputust;process (clk,clr)beginif (clr='1') thens1_temp <= "0000";s10_temp <= "0000";elsif (clk'event and clk='1')then --进位判断if (s1_temp=9) thens1_temp <= "0000";if (s10_temp=5) thens10_temp <= "0000";co_temp<='1';elseco_temp<='0';s10_temp <= s10_temp+1;end if;elseco_temp<='0';s1_temp <= s1_temp+1;end if;end process;s1 <= s1_temp when (clk_1s='1'or load='0') else"1111";s10 <= s10_temp when (clk_1s='1' or load='0') else"1111";co <= co_temp when (load='0') else'0';end func;library IEEE;--24进制计数器entity counter_24 isport(clock : in std_logic; --计数信号clk_1s : in std_logic; --周期1s 的时钟信号putust : in std_logic;clr : in std_logic; --清零信号load : in std_logic; --判定信号s1 : out std_logic_vector(3 downto 0); --计数器的个位s10 : out std_logic_vector(6 downto 0)); --计数器的十位end counter_24;architecture func of counter_24 issignal s1_temp : std_logic_vector(3 downto 0);signal s10_temp : std_logic_vector(1 downto 0);signal clk : std_logic;beginclk<=clock when load='0' elseprocess (clk,clr)beginif (clr='1') thens1_temp <= "0000";s10_temp <= "00";elsif (clk'event and clk='1') thenif (s1_temp=3 and s10_temp=2) then s1_temp <= "0000";s10_temp <= "00";elsif (s1_temp=9) thens1_temp<="0000";s10_temp<=s10_temp+1;elses1_temp <= s1_temp+1;end if;end if;end process;--显示进程process(s10_temp)beginif (clk_1s='1' or load='0') thencase s10_temp iswhen "00" => s10<="1111110";when "01" => s10<="0110000";when "10" => s10<="1101101";when others => null;end case;elses10<="0000000";end if;end process;s1 <= s1_temp when (clk_1s='1' or load='0') else"1111";end func;四、实验小结:注意当时钟处于被修改状态时,即对时、分、秒的值进行修改时,不应产生进位,产生很多莫名其妙的错误,如修改后有进位(分钟为00)时,或者自行到整点响铃后,再次给脉冲会进位的情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京邮电大学数字电路与逻辑设计实验报告学院:班级:姓名:学号:实验一 Quartus II原理图输入法设计与实现一、实验目的:(1)熟悉Quartus II原理图输入法进行电路设计和仿真;(2)掌握Quartus II 图形模块单元的生成与调用;(3)熟悉实验板的使用;二、实验所用器材:(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

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

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

(3)用3线-8线译码器(74LS138)和逻辑门设计实现函数 ,仿真验证其功能,并下载到实验板测试。

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

四、实验原理图及仿真波形图(1)半加器半加器原理图仿真波形仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。

但我们也可以发现输出SO出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。

(2)全加器全加器原理图仿真波形仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了全加器的功能(2)74138 3线-8线译码器原理图仿真波形图仿真波形图分析;当且仅当ABC输入为000、010、100、111时,F=1,可知电路实现了函数。

实验二用VHDL设计与实现组合逻辑电路一、实验目的:(1)熟悉用VHDL语言设计时序逻辑电路的方法;(2)熟悉用Quartus II文本输入法进行电路设计;(3)熟悉不同的编码及其之间的转换。

二、实验所用器材:(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

三、实验任务要求(1)用 VHDL语言设计实现一个共阴极7段数码管译码器;(2)用VHDL语言设计一个8421码转余三码的代码转换器;(3)用VHDL语言设计设计一个四位2进制奇校验器。

四、实验代码及仿真波形图数码管译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shumaguanyimaqi 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 shumaguanyimaqi;ARCHITECTURE encoder_arch OF shumaguanyimaqi IS BEGINPROCESS(A)BEGINC<="011111";CASE A ISWHEN"0000"=> B<="1111110";--0 WHEN"0001"=> B<="0110000";--1 WHEN"0010"=> B<="1101101";--2 WHEN"0011"=> B<="1111001";--3 WHEN"0100"=> B<="0110011";--4 WHEN"0101"=> B<="1011011";--5 WHEN"0110"=> B<="1011111";--6 WHEN"0111"=> B<="1110000";--7 WHEN"1000"=> B<="1111111";--8 WHEN"1001"=> B<="1111011";--9WHEN OTHERS=> B<="ZZZZZZZ";END CASE;END PROCESS;END encoder_arch;仿真波形图仿真波形分析:A是输入,A0-A3是由低位到高位变化,B是数码管的各个部分,随着A输入的变化,B数码管对应译码出相应的数字显示出来。

8421码转余三码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jxhyusanma ISPORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END jxhyusanma;ARCHITECTURE trans_ex3 OF jxhyusanma ISBEGINPROCESS(A)BEGINCASE A ISWHEN"0000"=> B<="0011";WHEN"0001"=> B<="0100";WHEN"0010"=> B<="0101";WHEN"0011"=> B<="0110";WHEN"0100"=> B<="0111";WHEN"0101"=> B<="1000";WHEN"0110"=> B<="1001";WHEN"0111"=> B<="1010";WHEN"1000"=> B<="1011";WHEN"1001"=> B<="1100";WHEN OTHERS=> B<="ZZZZ";END CASE;END PROCESS;END trans_ex3;仿真波形图仿真波形分析:8421码转换余三码,由0111转换成为了1010可以看出功能已经实现,仿真验证了代码功能正确。

奇校验LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY jxhjijiaoyan ISPORT( A:STD_LOGIC;B:STD_LOGIC;C:STD_LOGIC;D:STD_LOGIC;F:OUT STD_LOGIC);END jxhjijiaoyan;ARCHITECTURE one OF jxhjijiaoyan ISSIGNAL n1,n2 : STD_LOGIC;BEGINn1<=A XOR B;n2<=n1 XOR C;F<=n2 XOR D;END one;仿真波形图仿真波形分析:当ABCD为1111时,输出F为0,ABCD为1110时,输出F为1,可见奇校验功能得以实现。

实验三用VHDL设计与实现时序逻辑电路一、实验目的:(1)熟悉用VHDL语言设计时序逻辑电路的方法;(2)熟悉用Quartus II文本输入法进行电路设计;(3)熟悉不同的编码及其之间的转换。

二、实验所用器材:(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

三、实验任务要求(1)用 VHDL语言设计实现一个8421十进制计数器;(2)用VHDL语言设计一个分频器;(3)将(1)、(2)和数码管译码器3个电路进行连接,并下载到实验板显示计数结果。

四、实验代码及仿真波形图8421十进制计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jxhshijinzhijishuqi ISPORT(clk,reset:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END jxhshijinzhijishuqi;ARCHITECTURE a OF jxhshijinzhijishuqi ISSIGNAL q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk,reset)BEGINIF reset='0' THENq_temp <="0000";ELSIF clk'EVENT AND clk='1' THENIF q_temp="1001" THENq_temp <="0000";ELSE q_temp <=q_temp+1;END IF;END IF;END PROCESS;q<= q_temp;END a;仿真波形图仿真波形图分析:8421十进制计数器随着时钟的信号进行计数,restart是复位,当复位为零的时候计数器重新计数。

根据仿真结果来看,8421十进制计数器功能得以实现。

分频器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jxhfenpinqi ISPORT(clk:IN STD_LOGIC;clear:IN STD_LOGIC;clk_out:OUT STD_LOGIC);END jxhfenpinqi;ARCHITECTURE a OF jxhfenpinqi ISSIGNAL temp:INTEGER RANGE 0 TO 11;BEGINp1:PROCESS(clear,clk)BEGINIF clear='0'THENtemp<=0;ELSIF clk'EVENT AND clk='1' THENIF temp=11 THENtemp<=0;ELSE temp<=temp+1;END IF;END IF;END PROCESS p1;p2:PROCESS(temp)BEGINIF temp<6 THENclk_out<='0';ELSE clk_out<='1';END IF;END PROCESS p2;END a;仿真波形仿真波形分析:分频器将频率分开,置零端正常工作,根据仿真波形可以看出来,分频器的功能得以正常实现。

相关文档
最新文档