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

数字电路综合实验报告简易智能密码锁一、实验课题及任务要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。
基本要求:1、密码设置:通过键盘进行 4 位数字密码设定输入,在数码管上显示所输入数字。
通过密码设置确定键(BTN 键)进行锁定。
2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。
输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。
3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。
闭锁状态下不能清除密码。
4、用点阵显示开锁和闭锁状态。
提高要求:1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。
2、密码锁的密码位数(4~6 位)可调。
3、自拟其它功能。
二、系统设计2.1系统总体框图2.2逻辑流程图2.3MDS图2.4分块说明程序主要分为6个模块:键盘模块,数码管模块,点阵模块,报警模块,防抖模块,控制模块。
以下进行详细介绍。
1.键盘模块本模块主要完成是4×4键盘扫描,然后获取其键值,并对其进行编码,从而进行按键的识别,并将相应的按键值进行显示。
键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出高电平,在读入输出的行值时,通常高电平会被低电平拉低,当当前位置为高电平“1”时,没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。
同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。
北京邮电大学数字电路实验报告

北京邮电大学数字电路与逻辑设计实验实验报告实验名称:QuartusII原理图输入法设计与实现学院:北京邮电大学班级:姓名:学号:一.实验名称和实验任务要求实验名称:QuartusII原理图输入法设计与实现实验目的:⑴熟悉用QuartusII原理图输入法进行电路设计和仿真。
⑵掌握QuartusII图形模块单元的生成与调用;⑶熟悉实验板的使用。
实验任务要求:⑴掌握QuartusII的基础上,利用QuartusII用逻辑门设计实现一个半加器,生成新的半加器图像模块。
⑵用实验内容(1)中生成的半加器模块以及逻辑门实现一个全加器,仿真验证其功能,并能下载到实验板上进行测试,要求用拨码开关设定输入信号,发光二级管显示输出信号。
⑶用3线—8线译码器(74L138)和逻辑门实现要求的函数:CBAF+C+=,仿真验证其+BCBAAABC功能,,并能下载到实验板上进行测试,要求用拨码开关设定输入信号,发光二级管显示输出信号。
二.设计思路和过程半加器的设计实现过程:⑴半加器的应有两个输入值,两个输出值。
a表示加数,b表示被加数,s表示半加和,co表示向高位的进位。
⑵由数字电路与逻辑设计理论知识可知b a s ⊕=;b a co •=选择两个逻辑门:异或门和与门。
a,b 为异或门和与门的输入,S 为异或门的输出,C为与门的输出。
(3)利用QuartusII 仿真实现其逻辑功能,并生成新的半加器图形模块单元。
(4)下载到电路板,并检验是否正确。
全加器的设计实现过程:⑴全加器可以由两个半加器和一个或门构成。
全加器有三个输入值a,b,ci ,两个输出值s,co :a 为被加数,b 为加数,ci 为低位向高位的进位。
⑵全加器的逻辑表达式为:c b a s ⊕⊕=b a ci b a co •+•⊕=)(⑶利用全加器的逻辑表达式和半加器的逻 辑功能,实现全加器。
用3线—8线译码器(74L138)和逻辑门设计实现函数CBA A B C A B C A B C F +++=设计实现过程:⑴利用QuartusII 选择译码器(74L138)的图形模块单元。
北京邮电大学数电实验报告

北京邮电大学数字电路与逻辑设计实验发光二极管走马灯的电路设计与实现实验报告学院:信息与通信工程学院班级: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双色点阵模拟风扇转动、风扇转动分四个档位(每个档位对应“四种”状态)、通过环境温度控制档位的自动选择、设计定时模式、开关机状态。
为了实现这些既定要求,设计出了温度控制模块、倒计时控制模块、音乐控制模块、点阵风扇模块、数码管显示模块等,通过对时钟的分频、加减法计数器、数据选择器等的运用,来实现上述功能。
北邮数电实验报告

北邮数电实验报告北邮数电实验报告一、引言数电实验是电子信息类专业学生必修的一门实验课程,通过实践操作,帮助学生巩固理论知识,培养实际动手能力。
本次实验旨在通过设计和搭建一个简单的数字电路,来理解数字电路的基本原理和工作方式。
二、实验目的本次实验的目的是设计一个4位二进制加法器,实现两个4位二进制数的相加运算。
通过实验,我们可以加深对于数字电路的理解,掌握数字电路的设计和搭建方法。
三、实验原理1. 二进制加法器二进制加法器是一种用于计算二进制数相加的数字电路。
它由若干个逻辑门和触发器组成,可以实现二进制数的加法运算。
在本次实验中,我们将设计一个4位二进制加法器,即可以计算两个4位二进制数的相加结果。
2. 逻辑门逻辑门是数字电路中常用的基本元件,用于实现逻辑运算。
常见的逻辑门有与门、或门、非门、异或门等。
在本次实验中,我们将使用与门和异或门来构建4位二进制加法器。
四、实验步骤1. 设计4位二进制加法器的电路图根据实验要求,我们需要设计一个能够计算两个4位二进制数相加的电路。
首先,我们可以将两个4位二进制数分别用D0~D3和E0~E3表示,其中D0和E0分别为最低位。
然后,我们需要使用与门和异或门来实现加法器的功能。
通过逻辑运算,我们可以得到每一位的和以及进位。
最后,将每一位的和连接起来,即可得到最终的结果。
2. 搭建电路根据电路图,我们可以开始搭建实验电路。
首先,将所需的逻辑门和触发器连接起来,形成一个完整的电路。
然后,将所需的输入信号和电源连接到电路上。
最后,使用示波器等工具检查电路的工作状态,确保电路正常运行。
3. 进行实验测试在搭建好电路后,我们可以进行实验测试。
首先,将两个4位二进制数的输入信号连接到电路上。
然后,通过观察输出信号,判断电路是否正确计算了两个二进制数的相加结果。
如果输出信号与预期结果一致,说明电路设计和搭建成功。
五、实验结果与分析在进行实验测试后,我们可以得到实验结果。
通过观察输出信号,我们可以判断电路是否正确计算了两个二进制数的相加结果。
北邮数字电路与逻辑设计实验上-综合实验报告

数字电路与逻辑设计实验综合实验报告目录一、实验题目和任务要求 (3)(一)Quartus II原理图输入法设计与实现 (3)(二)用VHDL设计与实现组合逻辑电路 (3)(三)用VHDL设计与实现时序逻辑电路 (3)(四)用VHDL设计与实现相关电路 (4)二、实验内容、原理图、VHDL代码和仿真波形分析 (4)(一)Quartus II原理图输入法设计与实现 (4)1. 半加器 (4)2. 全加器 (5)3. 3-8线译码器 (6)(二)用VHDL设计与实现组合逻辑电路 (6)1. 数码管译码器 (6)2. 8421码转余3码 (6)3. 奇校验器 (7)(三)用VHDL设计与实现时序逻辑电路 (8)1. 8421十进制计数器 (8)2. 分频器 (8)3. 组合电路实现数码管0到9循环显示 (8)(四)用VHDL设计与实现相关电路 (13)1. 数码管动态扫描控制器 (13)2. 点阵行扫描控制器 (16)三、故障及问题分析 (20)四、总结和结论 (21)五、参考文献 (21)一、实验题目和任务要求(一)QuartusII原理图输入法设计与实现实验题目Quartus II原理图输入法设计与实现任务要求1)用逻辑门设计一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。
2)用生成的半加器模块和逻辑门设计与实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二级管显示输出信号。
3)用3-8线译码器和逻辑门设计和实现函数F CBA CBA CBA CBA=+++,仿真验证其功能。
(二)用VHDL设计与实现组合逻辑电路实验题目1)数码管译码器2)8421码转余3码3)奇校验器任务要求1)用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能,并下载到实验板测试。
要求用拨码开关设定输入信号,发光二极管显示输出信号。
2)用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能,并下载到实验板测试。
数字电路与逻辑设计实验报告

数字电路与逻辑设计实验报告实验目的:本实验旨在通过实际操作,加深对数字电路与逻辑设计原理的理解,掌握数字电路的基本原理和设计方法,提高学生的动手能力和实际应用能力。
实验一,二极管的正向导通特性实验。
实验原理:二极管是一种半导体器件,具有单向导电特性。
当二极管的正向电压大于其开启电压时,二极管将处于导通状态;反之,当反向电压作用于二极管时,二极管将处于截止状态。
实验步骤:1. 将二极管连接到直流电源电路中;2. 通过改变电源电压,观察二极管的正向导通特性;3. 记录不同电压下二极管的导通情况。
实验结果与分析:通过实验,我们发现二极管在正向电压大于其开启电压时会导通,而在反向电压作用下会截止。
这验证了二极管的正向导通特性。
实验二,基本逻辑门的实验。
实验原理:基本逻辑门包括与门、或门、非门等,它们是数字电路的基本组成单元,通过不同的输入信号产生不同的输出信号。
实验步骤:1. 搭建与门、或门、非门的实验电路;2. 分别输入不同的逻辑信号,观察输出信号的变化;3. 记录实验结果。
实验结果与分析:通过实验,我们发现与门、或门、非门在不同的输入信号下产生了不同的输出信号,验证了基本逻辑门的工作原理。
实验三,触发器的实验。
实验原理:触发器是一种存储器件,具有记忆功能,可以存储一个比特的信息。
常见的触发器包括RS触发器、D触发器、JK触发器等。
实验步骤:1. 搭建RS触发器、D触发器、JK触发器的实验电路;2. 分别输入触发信号,观察触发器的输出变化;3. 记录实验结果。
实验结果与分析:通过实验,我们发现不同类型的触发器在接收不同触发信号时,产生了不同的输出变化,验证了触发器的存储功能。
结论:通过本次实验,我们深入理解了数字电路与逻辑设计的基本原理,掌握了数字电路的实际应用技能。
数字电路与逻辑设计是现代电子技术的基础,通过实验的学习,我们将能更好地理解和应用数字电路与逻辑设计的知识,为今后的学习和工作打下坚实的基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京邮电大学电路实验中心<数字电路与逻辑设计实验(上)>实验报告班级: xxx学院: xxx实验室: xxx 审阅教师:姓名(班内序号): xxx)学号: 2xxx实验时间: xxxx评定成绩:目录实验1 Quartus II 原理图输入法设计与实现 (3)一、实验目的 (3)二、实验所用器材 (3)三、实验任务要求 (3)四、实验原理图 (3)五、实验仿真波形图及分析 (4)实验2 用VHDL 设计与实现组合逻辑电路 (5)一、实验目的 (5)二、实验所用器材 (5)三、实验任务要求 (5)四、VHDL代码 (5)五、实验仿真波形图及分析 (7)实验3 用VHDL 设计与实现时序逻辑电路 (8)一、实验目的 (8)二、实验所用器材 (8)三、实验任务要求 (8)四、模块端口说明及连接图 (8)五、VHDL代码 (9)六、实验仿真波形图及分析 (10)实验4 用VHDL 设计与实现数码管动态扫描控制器 (10)一、实验目的 (10)二、实验所用器材 (11)三、实验任务要求 (11)四、模块端口说明及连接图 (11)五、VHDL代码 (11)六、实验仿真波形图及分析 (15)故障及问题分析 (16)总结和结论 (17)实验1 Quartus II 原理图输入法设计与实现一、实验目的(1)熟悉用Quartus II原理图输入法进行电路设计和仿真;(2)掌握Quartus II 图形模块单元的生成与调用;(3)熟悉实验板的使用。
二、实验所用器材(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。
三、实验任务要求(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。
(2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。
(3)用3线-8线译码器(74LS138)和逻辑门设计实现函数+CBA,仿真验证其功能,并下载到实验板测试。
要求用拨码开关设定输入信号,发光二极管显示输出信号。
四、实验原理图(1)半加器原理图(2)全加器原理图(3)函数F原理图五、实验仿真波形图及分析(1)半加器仿真波形图仿真波形图分析:根据仿真波形,可以确定电路实现了半加器的功能,其逻辑表达式为S=A⊕B,CO=AB。
但我们也可以发现输出S和CO出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。
(2)全加器仿真波形图仿真波形图分析:根据仿真波形,可以确定电路实现了全加器的功能,其逻辑表达式为Si=Ai⊕Bi ⊕Ci-1,Ci=AiBi+ (Ai⊕Bi)Ci-1。
(3)函数F仿真波形图仿真波形图分析:+CBA,当且仅当CBA输入为000、010、100、111时,F=1,可知电路实现了函数+CBA。
实验2 用VHDL 设计与实现组合逻辑电路一、实验目的(1)熟悉用VHDL语言设计组合逻辑电路和时序电路的方法;(2)熟悉用Quartus II文本输入法进行电路设计;(3)熟悉不同的编码及其之间的转换。
二、实验所用器材(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。
三、实验任务要求(1)用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能,并下载到实验板测试。
要求用拨码开关设定输入信号,7段数码管显示输出信号。
(2)用VHDL语言设计实现一个8421码转换为格雷码的代码转换器,仿真验证其功能,并下载到实验板测试。
要求用拨码开关设定输入信号,发光二极管显示输出信号。
(3)用VHDL语言设计实现一个4人表决器,多数人赞成决议则通过,否则决议不通过,仿真验证其功能,并下载到实验板测试。
要求用拨码开关设定输入信号,发光二极管显示输出信号。
四、VHDL代码(1)7段数码管译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY smgymq ISPORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B:OUT STD_LOGIC_VECTOR(0 TO 6);C:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END smgymq;ARCHITECTURE behavioral OF smgymq IS BEGINPROCESS(A) BEGIN C<="11111100";CASE A ISWHEN"0000"=> B<="1111110";--0WHEN"0001"=> B<="0110000";--1WHEN"0010"=> B<="1101101";--2WHEN"0011"=> B<="1111001";--3WHEN"0100"=> B<="0110011";--4WHEN"0101"=> B<="1011011";--5WHEN"0110"=> B<="1011111";--6WHEN"0111"=> B<="1110000";--7WHEN"1000"=> B<="1111111";--8WHEN"1001"=> B<="1111011";--9WHEN OTHERS=> B<="0000000"; END CASE;END PROCESS;END behavioral;(2)8421码转换为格雷码的代码转换器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY trans ISPORT(A:IN STD_LOGIC_VECTOR(3 downto 0); B:OUT STD_LOGIC_VECTOR(3 downto 0) );END trans;ARCHITECTURE tran OF trans IS BEGINPROCESS(A)BEGINCASE A ISWHEN"0000" => B <="0000";WHEN"0001" => B <="0001";WHEN"0010" => B <="0011";WHEN"0011" => B <="0010";WHEN"0100" => B <="0110";WHEN"0101" => B <="0111";WHEN"0110" => B <="0101";WHEN"0111" => B <="0100";WHEN"1000" => B <="1100";WHEN"1001" => B <="1101";WHEN"1010" => B <="1111";WHEN"1011" => B <="1110";WHEN"1100" => B <="1010";WHEN"1101" => B <="1011";WHEN"1110" => B <="1001";WHEN"1111" => B <="1000";END CASE;END PROCESS;END;(3)4人表决器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY vote ISPORT(A:IN STD_LOGIC_VECTOR(3 downto 0); B:OUT STD_LOGIC_VECTOR(0 downto 0) );END vote;ARCHITECTURE vote1 OF vote IS BEGINPROCESS(A)BEGINCASE A ISWHEN"1111" => B <="1"; WHEN"1110" => B <="1"; WHEN"1101" => B <="1"; WHEN"1011" => B <="1";WHEN"0111" => B <="1"; WHEN OTHERS => B <="0"; END CASE; END PROCESS; END;五、实验仿真波形图及分析(1)7段数码管译码器仿真波形图分析:根据仿真波形,可以确定电路实现了7段数码管译码器的功能,A 端输入8421码,B[0]-B[6]对应数码管的a-g 端,C 端输出为“11111100”,对应点亮DISP1、DISP0。
但我们也可以发现输出B 出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。
(2)8421码转换为格雷码的代码转换器仿真波形图分析:根据仿真波形,可以确定电路实现了8421码转换为格雷码的代码转换器。
A 端输入8421码,B 端输出格雷码。