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

合集下载

北邮数字电路综合实验报告

北邮数字电路综合实验报告

数字电路综合实验报告简易智能密码锁一、实验课题及任务要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。

基本要求: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]亮,继而循环下去。

北邮数电实验上实验一

北邮数电实验上实验一

北邮数电实验上实验一QuartuII原理图输入法设计与实现数字电路与逻辑设计实验实验报告QuartuII原理图输入法设计与实现QuartuII原理图输入法设计与实现一.实验名称QuartuII原理图输入法设计与实现二.设计任务要求[实验目的]1.熟悉用QuartuII原理图输入法进行电路设计和仿真。

2.掌握QuartuII图形模块单元的生成与调用;3.熟悉实验板的使用。

[实验任务要求]1.掌握QuartuII的基础上,利用QuartuII用逻辑门设计实现一个半加器,生成新的半加器图像模块。

[实验元器件]QuartuII原理图输入法设计与实现计算机(QuartuII软件),数字系统与逻辑设计实验开发板三.设计思路和原理图[半加器设计]1.半加器的应有两个输入值,两个输出值。

A表示加数,B表示被加数,S表示半加和,C表示向高位的进位。

2.由数字电路与逻辑设计理论知识可知,半加器的逻辑表达式为:S=A⊕BC=AB3.选择两个逻辑门:异或门和与门。

A,B为异或门和与门的输入,S 为异或门的输出,C为与门的输出。

4.利用QuartuII仿真实现其逻辑功能,并生成新的半加器图形模块单元。

原理图如下:[全加器设计]1.全加器可以由两个半加器和一个或门构成。

全加器有三个输入值,两个输出值:为加数,为被加数,1为低位向高位QuartuII原理图输入法设计与实现的进位。

2.由数字电路与逻辑设计理论知识可知,全加器的逻辑表达式为:S=⊕⊕1=(⊕)1+3.利用全加器的逻辑表达式和半加器的逻辑功能,实现全加器。

原理图如下:四.仿真波形图及波形分析设置输入A、B、C的周期,即可模拟真值表中000~111的八个输入状态,由此仿真出的结果即为真值表的F的取值。

其中,A为最高位,B为中间位,C为最低位,故TA=2TB=4TC,具体数值根据元件工作频率计算得出。

[半加器]QuartuII原理图输入法设计与实现当半加器的2个输入端都输入0时,即A=B=0时,则有输出:半加和S=0,进位端C=0。

北邮数电实验报告信息

北邮数电实验报告信息

数字电路与逻辑设计实验姓名***学院信息与通信工程学院专业信息工程班级***学号****班内序号***实验一一、实验名称和实验任务要求1.实验内容:QuartusII原理图输入法设计与实现。

2.实验目的:(1)熟悉用QuartusII原理图输入法进行电路设计和仿真。

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

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

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

(2)用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板上测试。

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

(3)用3线—8线译码器(74LS138)和逻辑门实现函数F=(/C)(/C)(/C)+(/C)C(/C)+C(/C)(/C)+CCC,仿真验证其功能,并下载到实验板测试。

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

二、原理图半加器模块和逻辑门设计实现的全加器:三、仿真波形图及分析电路实现了全加器的功能。

全加器是实现两个1位二进制数及低位来的进位相加求得和数及向高位进位的逻辑电路。

由其原理可得逻辑表达式:sum=ain⊕bin⊕cincout = (ain⊕bin)cin + ain*bin。

列出真值表:仿真波形对比真值表,可以看出波形图与理论值完全符合。

四、故障及问题分析1、问题:按照逻辑表达式连接了全加器电路后,仿真波形很乱。

解决方法:思考后知道了应该把输入信号依次设成2的n次方,这样的仿真波形清楚容易分析。

2、问题:把代码下载到板子上的过程中,进行到37%的时候停了,等了2分钟也没继续下载。

解决方法:再次重连USB尝试下载,手紧握着接线口,下载成功了,分析可能是接线口接触不好。

实验二一、实验名称和实验任务要求1.实验内容:用VHDL设计与实现组合逻辑电路。

2.实验目的:(1)熟悉用VHDL语言设计组合逻辑电路的方法。

北邮数电实验报告

北邮数电实验报告

北邮数电实验报告北邮数电实验报告一、引言数电实验是电子信息类专业学生必修的一门实验课程,通过实践操作,帮助学生巩固理论知识,培养实际动手能力。

本次实验旨在通过设计和搭建一个简单的数字电路,来理解数字电路的基本原理和工作方式。

二、实验目的本次实验的目的是设计一个4位二进制加法器,实现两个4位二进制数的相加运算。

通过实验,我们可以加深对于数字电路的理解,掌握数字电路的设计和搭建方法。

三、实验原理1. 二进制加法器二进制加法器是一种用于计算二进制数相加的数字电路。

它由若干个逻辑门和触发器组成,可以实现二进制数的加法运算。

在本次实验中,我们将设计一个4位二进制加法器,即可以计算两个4位二进制数的相加结果。

2. 逻辑门逻辑门是数字电路中常用的基本元件,用于实现逻辑运算。

常见的逻辑门有与门、或门、非门、异或门等。

在本次实验中,我们将使用与门和异或门来构建4位二进制加法器。

四、实验步骤1. 设计4位二进制加法器的电路图根据实验要求,我们需要设计一个能够计算两个4位二进制数相加的电路。

首先,我们可以将两个4位二进制数分别用D0~D3和E0~E3表示,其中D0和E0分别为最低位。

然后,我们需要使用与门和异或门来实现加法器的功能。

通过逻辑运算,我们可以得到每一位的和以及进位。

最后,将每一位的和连接起来,即可得到最终的结果。

2. 搭建电路根据电路图,我们可以开始搭建实验电路。

首先,将所需的逻辑门和触发器连接起来,形成一个完整的电路。

然后,将所需的输入信号和电源连接到电路上。

最后,使用示波器等工具检查电路的工作状态,确保电路正常运行。

3. 进行实验测试在搭建好电路后,我们可以进行实验测试。

首先,将两个4位二进制数的输入信号连接到电路上。

然后,通过观察输出信号,判断电路是否正确计算了两个二进制数的相加结果。

如果输出信号与预期结果一致,说明电路设计和搭建成功。

五、实验结果与分析在进行实验测试后,我们可以得到实验结果。

通过观察输出信号,我们可以判断电路是否正确计算了两个二进制数的相加结果。

北邮-数电实验报告

北邮-数电实验报告

北邮-数电实验报告数字电路实验报告学院:信息与通信工程专业:信息工程班级:2013211125学号:2013210681姓名:袁普实验一:QuartusⅡ原理图输入法设计与实现一:实验要求①:用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。

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

③:用3线—8线译码器和逻辑门设计实现函数F,仿真验证其功能,下载到实验板测试。

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

二:报告内容①:实验一(2)的原理图用两个已经生成的半加器图形模块单元和一个双输入或门即可实现全加器②:仿真波形图以及分析波形图:波形分析:通过分析ab ci三个输入在8中不同组合下的输出,发现与全加器的真值表吻合,说明实现了全加器的逻辑功能。

同时看见波形中出现了毛刺(冒险),这也与事实一致。

③:故障及问题分析第一次在做全加器的时候发现找不到已经生成的半加器模块,后来发现是因为在建立工程时这两个项目没有建在同一个文件夹里,在调用的时候就找不到。

后来我将全加器工程建在同一个文件夹里解决了此问题。

实验二:用VHDL设计和实现组合逻辑电路一:实验要求①:用VHDL设计一个8421码转换为格雷码的代码转换器,仿真验证其功能。

②:用VHDL设计一个4位二进制奇校验器,要求在为奇数个1时输出为1,偶数个1时输出为0,仿真验证其功能。

③:用VHDL设计一个数码管译码器,仿真验证其功能,下载到实验板测试,要求用拨码开关设定输入信号,数码管显示输出信号,并且只使一个数码管有显示,其余为熄灭状态。

二:故障及问题分析在刚开始实现让一个数码管显示的时候,我本来准备再设置6个输入和输出,通过实验板上的拨码来输入信息分别控制不同的数码管的的开闭状态,但是后来发现这样效率很低而且实验板上的拨码开关数量根本不够。

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

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

数字电路与逻辑设计实验综合实验报告目录一、实验题目和任务要求 (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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京邮电大学电路实验中心<数字电路与逻辑设计实验(上)>实验报告班级: xxxx学院: xxx实验室: xxx 审阅教师:姓名(班内序号): xxx 学号: xxx实验时间: xxx评定成绩:目录实验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)和逻辑门设计实现函数F=C ̅B ̅A ̅+C ̅B A ̅+CB ̅A ̅+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仿真波形图仿真波形图分析:F=C ̅B ̅A ̅+C ̅B A ̅+CB ̅A ̅+CBA,当且仅当CBA输入为000、010、100、111时,F=1,可知电路实现了函数F=C ̅B ̅A ̅+C ̅B A ̅+CB ̅A ̅+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 出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。

相关文档
最新文档