




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字电路与逻辑设计实验电子工程学院电路中心1主要内容
课程介绍数字系统设计注意事项综合实验题目第一部分
课程介绍3课程安排实验内容:完成一个综合课题的设计及仿真、调试。本学期实验教学进度:周次内容4召开课程说明会,介绍课程安排和题目,要求学生第6周上课前选好实验题目,每个题目每班不超过6人。6讲授内容:系统设计方法、综合题目要求等实验内容:按照题目要求讨论并确定设计方案7、8开放实验,完成电路的设计、仿真及调试9功能验收及答辩4考核方式考核项目及成绩评定操作成绩(30%)包括实验考勤、态度及整理、系统设计、开放实验情况等验收答辩(40%)包括功能验收和答辩实验报告(30%)5考核方式评定标准实验态度:包括考勤、纪律等,实验结束时关闭计算机、示波器等仪表,保持实验台清洁、整齐。实验设计方案:根据选定的题目,完成系统设计,主要内容包括:系统结构框图、方框图(模块划分)、模块之间信息传递关系、各模块的输入输出信号、主要模块的详细设计(ASM图、MDS图)等。开放实验:要求至少预约并按时参加2次开放实验,完成电路设计、仿真及调试。硬件验收及答辩:根据题目要求在实验板上实现电路功能并演示说明,回答老师提出的问题。6课题报告要求内容分数1设计课题的任务要求52系统设计(包括设计思路、总体框图、分块设计)153仿真波形及波形分析254源程序(要有注释)155功能说明及资源利用情况(编译后界面截图)106故障及问题分析157总结和结论108报告格式规范、清晰5电子版和纸版各提交一份最后一次实验后一周之内提交开放实验预约规则及注意事项预约时间:在实验开始的前7天的早上8:00到前1天的晚上23:00,可以预约该次实验;同一时间段不同实验室的实验只可预约其中一个。预约次数:每人同时最多预约2次实验,预约的实验结束后,可以再预约新的实验。现场预约:当预约的学生小于实验室容量时,允许学生临时来做实验,即直接到实验室预约。请在实验开始后1个小时内到实验室进行现场预约,否则实验情况不计入系统。违约处理:如果学生未按预约时间到实验室做实验,又没有提前取消预约,计违约1次,累计违约每达到2次,信用等级下降一级,在实验预约人数超过实验室容量时,信用等级最低的学生将首先被取消实验资格,信用等级相同的情况下,根据预约时间取消最后预约的学生的实验资格。信用等级根据本学期实验违约情况计算,对之前的违约记录不进行累计。7开放实验实验签到时间要求:预约的学生在实验开始前15分钟至实验开始后30分钟在实验室签到,实验室在实验开始之后的30分钟之内为提前预约的学生保留实验台,超过30分钟,按未预约的学生处理,并计1次违约。签到方法:已预约的学生请携带有效证件在规定时间内到预约的实验室,实验室的系统中将显示所有预约学生的信息,签到时系统会自动为学生分配实验台,请务必按分配的组号就座。8第二部分
数字系统设计10主要内容数字系统概述数字系统设计方法数字系统设计的描述方法其它概念11数字系统概述数字系统:由若干数字电路和逻辑部件构成的能够处理或传送数字信息的设备。数字系统的三大组成部分:输入输出接口、数据处理器、控制器区分数字系统与功能部件(数字单元电路)的标志:有无控制器12数字系统结构框图子系统输入控制信号输出控制信号信息输入输出信息控制器输出接口输出接口输入接口输入接口子系统子系统时钟数据处理器…13数字系统设计方法自底向上(bottom-up)设计法(试凑设计法)用试探的方法按给定的功能要求,选择若干模块(功能部件)来拼凑一个数字系统。主要凭借设计者的熟练技巧和经验来实现适用于小型数字系统的设计14数字系统设计方法自顶向下(top-down)设计法从整个系统功能出发,按一定原则将系统划分为若干子系统,再将每个子系统分为若干功能模块,再将每个模块分成若干较小的模块……直至分成许多基本模块实现。15自顶向下设计法的步骤(一)确定初步方案,进行系统设计和描述;明确设计课题的任务、要求、原理和使用环境,系统外部输入信号及输出信号的特性,以及系统所需要完成的逻辑功能和所要达到的技术指标等,然后确定初步方案。描述方法:方框图、定时图(时序图)、逻辑流程图。16自顶向下设计法的步骤(二)系统划分,进行子系统功能描述;将系统划分为控制器和受控电路两部分,受控电路又可以用各种模块(子系统)实现。确定使用哪些子系统,以及各子系统与控制器之间的关系。对各子系统和控制器进行功能描述:ASM图、MDS图等17自顶向下设计法的步骤(三)逻辑描述,完成具体设计。设计具体电路。传统方法:用标准的SSI、MSI、LSI或GAL等器件实现受控电路;用时序机设计方法实现控制器。EDA方法:用PLD器件实现电路设计。
自顶向下的设计过程是一个反复修改和补充的过程。18例1:两人乒乓游戏机以8个发光二极管代表乒乓球台,中间两个发光管兼作球网。用发光管按一定的方向依次闪亮来表示球的运动,在游戏机两侧各设发球/击球开关SA和SB,当甲方发球时,靠近甲方的第一个发光管亮,然后依次点亮第二个……球向乙方移动,球过网后到达设计者的规定的球位乙方即可击球,若乙方提前击球或未击到球,则甲方得分。然后重新发球进行比赛,直到某一方记分达到规定分,记分清零,重开一局比赛。19两人乒乓游戏机结构框图20模块划分分频模块记分模块球台显示模块译码模块控制器根据控制器的指令控制发光二极管的亮灭将分数转换为数码管显示对应的译码数据记录双方的得分将原始时钟分频,产生系统中不同模块需要的时钟频率21数字系统的描述方法(一)方框图可详细描述数字系统的总体结构,直观易懂每一个方框定义一个信息处理、存储或传送的子系统,在方框内用文字、表达式、通用符号或图形来表示该子系统的名称或主要功能方框之间用带箭头的直线相连,表示各个子系统之间数据流或控制流的信息通道,箭头指示了信息传送的方向22两人乒乓游戏机逻辑划分方框图分频器球台控制器译码显示器记分器SASBCPmSCSTOPCNT,Cr23数字系统的描述方法(二)定时图(时序图或时间关系图)用来定时地描述系统各模块之间、模块内部各功能组件之间以及组件内部各门电路或触发器之间输入信号、输出信号和控制信号的对应时序关系和特征(信号是电平还是脉冲,是同步信号还是异步信号等)。24数字系统的描述方法(三)ASM(AlgorithmicStateMachine)图(算法状态机图、逻辑流程图)用特定的几何图形、指向线和简练的文字说明,描述数字系统对信息的处理过程,以及控制单元所提供的控制步骤,以便于设计者发现和改进信息处理过程中的错误和不足,同时又是后续电路设计的依据与通常的软件设计中的流程图相似,但它表示事件的精确时间间隔序列,而一般的流程图只表示事件序列,没有时间概念25ASM图的基本符号状态名或功能说明状态输出表入口出口(A)状态框功能说明入口出口条件输出表(C)条件输出框条件入口条件真出口条件假出口(B)条件判别框NOYES26启动等待发球甲发球?乙发球?靠近甲的L1灯亮靠近乙的L8灯亮球向乙移动球向甲移动乙击球?甲击球?球移动到L7?球移动到L2?结束,胜方得分YesYesYesYesYesYesNoNoNoNoNoNo两人乒乓游戏机的ASM图27数字系统的描述方法(四)MDS(MnemonicDocumentedState)图MDS图是设计数字系统控制器的一种简洁方法,它类似于状态转换图,可以由详细流程图转换而来。MDS图中用一个圆圈表示一个状态,状态名标注在圆圈内,圆圈外的符号或逻辑表达式表示输出,用定向线表示状态转换方向,定向线旁的符号或逻辑表达式表示转换条件。28WaitLight1Light8MoveBMoveAEndSASBSASBSA
SBSA
SBL7SAL2SAL2SBL7两人乒乓游戏机的MDS图29例2:交通灯控制器设计制作一个用于十字路口的交通灯控制器。南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄灯和红灯的持续时间分别为20秒、5秒和25秒;当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,继续正常运行;用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间;30交通灯控制器结构框图31交通灯控制器逻辑划分方框图南北灯东西灯控制器计时器分频器时钟译码显示器resetcallcp32交通灯控制器的ASM图33交通灯控制器的MDS图Green_redred_YellowYellow_redred_GreenTyTgTyTgTgTgTyTy第三部分
注意事项双色点阵35双色点阵的结构36COLG1000000037双色点阵‘0’R10000000R00101000‘1’‘1’‘1’‘1’‘1’‘1’‘1’‘1’‘1’‘1’‘0’‘1’‘1’‘1’‘1’G00101000ROW注意实验板上的行列坐标,左下角为(0,0),右上角为(7,7)。38双色点阵——逐点扫描(0,0)(7,7)39双色点阵——显示字符或图形扫描显示采用ROW信号循环出‘0’的方式,可以保证亮度一致。扫描频率的选择要保证显示稳定,没有闪烁,并且亮度足够(频率越高,亮度越低)。(7,7)(0,0)40双色点阵——显示字符或图形(7,7)(0,0)G0001000041双色点阵——显示橙色R00010000‘1’‘1’‘1’‘1’‘1’‘0’‘1’‘1’ROW双色点阵——显示橙色42(7,7)(0,0)双色点阵43如何实现橙→黄的渐变?R、G用不同脉宽的信号控制R信号占空比大,则颜色偏橙色;
G信号占空比大,则颜色偏黄色44按键开关防抖动由于按键动作的时刻和按下的时间长短是随机的。并且存在由开关簧片反弹导致的电平抖动,抖动的时间一般小于20mS,因此必须为每个按键开关设置一个消抖和同步电路,此电路可有多种形式。45按键开关防抖动程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYkeyinIS PORT( clk :IN STD_LOGIC; reset :IN STD_LOGIC; resetn :OUT STD_LOGIC);ENDkeyin;ARCHITECTUREaOFkeyinIS SIGNALresetmp1,resetmp2:STD_LOGIC;BEGINPROCESS(clk)BEGINIF(clk'EVENTANDclk='0')THEN resetmp2<=resetmp1; resetmp1<=reset;ENDIF;ENDPROCESS; resetn<=clkANDresetmp1AND(NOTresetmp2);ENDa;46按键开关防抖动程序仿真波形按一次键,只产生一个脉冲,脉冲宽度为防抖动时钟的脉宽。防抖动时钟的频率为100HZ左右47
CPLD/FPGA资源优化问题通过优化,可以使用规模更小的可编程逻辑芯片,从而降低系统成本;对于许多可编程逻辑器件,由于布线资源有限,耗用资源过多会严重影响电路性能;为以后的技术升级留下更多的可编程资源,方便添加产品功能;对于多数可编程逻辑器件,资源耗用太多会使器件功耗显著上升。48常用优化方法软件优化资源共享串行化正确使用VHDL描述49QuartusII的优化选项资源共享针对耗费逻辑资源比较多的模块,通过选择、复用的方式共享该模块,以减少资源使用。5151if(sel='1')then sum<=a+b;else sum<=c+d;endif;52if(sel='1')then temp1<=a; temp2<=b;else temp1<=c; temp2<=d;endif;sum<=temp1+temp2;53串行化(一)把耗用资源较多、并行执行的逻辑块分割开来,提取相同的逻辑模块,在时间上复用该逻辑模块。例:时钟分频电路原始时钟fclk=1MHz扫描显示时钟f1khz=1000Hz按键防抖动时钟f100hz=100Hz时间计时时钟f1hz=1Hz。54串行化(二)并行设计fclk=1Mhz÷1000÷104÷106f1khz=1000hzf100hz=100hzf1hz=1hz44LCs55串行化(三)串行设计fclk=1Mhz÷1000÷10÷100f1khz=1000hzf100hz=100hzf1hz=1hz21LCs高速系统慎用56正确使用VHDL描述在组合逻辑进程中,其敏感向量表中要包含所有要读取的信号;这是为了防止出现不必要的锁存器。避免使用长的if-then-else语句,而使用case语句来代替;防止出现较大的优先编码器,使得代码比较容易读懂。定义整数类型的信号和变量时一定要用RANGE子句指定范围57编码常见问题MultiDrive的处理当你在两个及两个以上的进程中对同一个信号进行写操作时,编译器会提示你MultiDrive(多重驱动)错误。从硬件角度很容易理解为什么不能多重驱动。信号只能在一个进程里面修改,但是可以在多个进程里面读取判断。所以要解决多重驱动,我们需要至少两个信号在进程间进行通信。通过读取对方进程里面信号的值得到对方的状态,再根据对方不同状态对自己内部的信号进行操作。编码常见问题shumaguan1<=score/10;------分数的十位CASEshumaguan1ISWHEN0=>fenshu2<="1111110";WHEN1=>fenshu2<="0110000";WHEN2=>fenshu2<="1101101";……WHEN9=>fenshu2<=“1111011”;ENDCASE;shumaguan2<=(scoreREM10);--分数的个位CASEshumaguan2ISWHEN0=>fenshu3<="1111110";WHEN1=>fenshu3<="0110000";WHEN2=>fenshu3<="1101101";……WHEN9=>fenshu3<=“1111011”;ENDCASE;没问题吧?貌似没有问题,大家也都说没有问题。可是问题就这么凭空产生了:显示分数的这两个数码管永远保持一致,没有任何的不同步。管脚没有问题,代码貌似没有问题,连板子都换了好几个了,问题依然存在。这个问题纠结了我一个晚上加一个下午,终于我的一次无聊的举动改变了历史:shumaguan<=score/10;------分数的十位CASEshumaguanISWHEN0=>fenshu2<="1111110";WHEN1=>fenshu2<="0110000";WHEN2=>fenshu2<="1101101";……WHEN9=>fenshu2<=“1111011”;ENDCASE;shumaguan<=(scoreREM10);--分数的个位CASEshumaguanISWHEN0=>fenshu3<="1111110";WHEN1=>fenshu3<="0110000";WHEN2=>fenshu3<="1101101";……WHEN9=>fenshu3<=“1111011”;ENDCASE;就是这样,然后我哭了。这真心纠结,是时序问题吗?quartusII版本问题版本不同可能编译时会报错实验板的区别601(蓝)、622(绿)、615(红)相同,时钟通过红色拨码开关选择,第4位为1时,选择高频,频率50M603(黑),时钟通过按键选择,f7为最高频率25M其它注意问题59其它注意问题仿真加入中间信号输出端口一般是显示器件译码后信号,仿真时不容易观察,可加入中间信号,便于查看电路状态变化。60下载文件路径第四部分
综合实验题目62综合实验要求综合实验每个题目选择人数不能超过6人电路中心网站()2015秋季学期数字实验课程要求及题目63综合实验题目基于CPLD的简易洗衣机控制器的设计与实现LED点阵风扇的设计与实现打地鼠游戏的设计与实现简易猜数字游戏机的设计与实现简易数字电压表简易计算器电子节拍器的设计与实现64题目一简易洗衣机控制器的设计与实现基本要求:
洗衣机的工作步骤为洗涤、漂洗和脱水三个过程,工作时间分别为:洗涤30秒(进水5秒,洗衣15秒,排水5秒,甩干5秒),漂洗25秒(进水5秒,漂洗10秒,排水5秒,甩干5秒),脱水15秒(排水5秒,甩干10秒);用一个按键实现洗衣程序的手动选择:A、单洗涤;B、单漂洗;C、单脱水;D、漂洗和脱水;E、洗涤、漂洗和脱水全过程;用发光二极管显示洗衣机的工作状态(洗衣、漂洗和脱水),并倒计时显示每个状态的工作时间,全部过程结束后,应有声音提示使用者;用点阵动画显示洗衣机工作过程中进水、波轮或滚筒转动、排水和甩干等的工作情况,四种工作情况的动画显示要有区别且尽可能的形象。用一个按键实现暂停洗衣和继续洗衣的控制,暂停后继续洗衣应回到暂停之前保留的状态;提高要求:三个过程的时间有多个选项供使用者选择。可以预约洗衣时间。自拟其它功能。65题目二LED点阵风扇的设计与实现基本要求:用8×8点阵模拟风扇转动,并采用双色点阵显示。风扇转动方式如图1所示,包括四个点阵显示状态,并按顺序循环显示。风扇转动速度根据环境温度分为4档,其中1档的四个显示状态之间的切换时间为2秒,2为1秒,3档为0.5秒,4档为静止不动。图1点阵模拟风扇转动示意图66基本要求:环境温度通过2个BTN按键设置,一个用来增加,一个用来减少,温度可设置范围为10℃~40℃,温度精度为1℃,并用两个数码管进行温度显示。风扇根据不同的温度自动采用不同的转动速度,其中20℃~24℃对应1档,25℃~29℃对应2档,30℃~40℃对应3档,10℃~19℃对应4档,用一个数码管显示档位。定时模式:在风扇不同转动速度下,可以通过按键切换进入定时模式。定时时间可设置范围为20~59秒,采用两个数码管进行倒计时显示,当倒计时结束后,风扇状态保持静止不动。设置开关键。风扇开机初始状态为20℃、1档,并有不小于5秒的开机音乐。关机状态为点阵全灭。提高要求:设计LED风扇的其他工作模式。利用实验板上的温度传感器代替按键直接获取温度数据,实现对LED风扇四档转速的自动控制。用数码管实时显示温度传感器的温度数据,精度为0.1℃。自拟其他功能。题目二LED点阵风扇的设计与实现67题目三打地鼠游戏的设计与实现基本要求:设计一个挑战反应速度的“打地鼠”游戏,采用用8×8双色点阵显示游戏界面,其中游戏边界采用绿色LED显示,随机出现的地鼠采用红色LED显示,游戏有16个洞穴,如图1所示。游戏洞穴每次随机出现一个地鼠,每个地鼠的最长保持时间为2秒,2秒后随机出现下一个地鼠。以4×4键盘的按键代表锤子,16个洞穴与16个按键一一对应,一旦锤子在2秒内击中地鼠,地鼠消失,数码管计分器分数加1分;若锤子一直没有击中地鼠,2秒后该地鼠消失。用两个数码管显示游戏成绩,当游戏成绩达到10分时游戏结束,点阵显示字符“V”。图1打地鼠游戏示意图68题目三打地鼠游戏的设计与实现基本要求用两个数码管对整个游戏进行倒计时,当游戏时间超过59秒而成绩未达到10分时,游戏失败,点阵显示字符“X”。按复位键重新开始游戏,并开始倒计时。提高要求:增加游戏难关,在边界内每次随机出现两个地鼠,两个地鼠的最长保持时间均为2秒,2秒后随机出现下两个地鼠,锤子击中一个地鼠加1分,当游戏成绩达到20分而且游戏时间未超过59秒时,游戏结束,显示字符“V”,否则显示字符“X”。自拟其他功能。69题目四简易猜数字游戏机的设计与实现基本要求:游戏规则:通常由两个人玩,一方出数字,另一方猜。出数字的人要想好一个没有重复数字的4位数,不能让猜的人知道。数字设置:通过4*4键盘进行4位数字输入,在数码管(DISP0~DISP3)上显示当前所输入的数字。通过设置确定键(BTN1键)进行锁定,此时数码管上的数值消失,同时用点阵开始倒计时,即:初始状态点阵全亮,然后从右下角开始,由右到左、由下到上逐点逐排依次熄灭,间隔时间为1s,共计64s。猜数字:可以通过4*4键盘进行4位数字输入进行猜数字,且每输入一位数字在数码管(DISP0~DISP3)上显示当前所输入的数字,按确定键(BTN2键)进行确认,此时要根据输入的这组数字给出几A几B,其中:A前面的数字表示位置正确的数的个数,用DISP5显示B前的数字表示数字正确而位置不对的数的个数,用DISP4显示如正确答案为2134,而猜的人猜5314,则是1A2B,其中有一个4的位置对了,记为1A,而1和3这三个数字对了,而位置没对,因此记为2B,合起来就是1A2B
接着猜的人再根据出题者的几A几B继续猜,直到猜中(即4A0B)为止。
70基本要求若数字正确则显示猜数字成功,点阵显示“☺”笑脸;若输入数字错误系统仍然处于猜数字状态,点阵显示“X”,并用蜂鸣器或led闪烁报警。若到点阵全灭时(64s结束)仍未猜出正确数字,游戏失败,点阵显示“囧”。设置游戏机开关。提高要求:若数字正确则显示猜数字成功,并用蜂鸣器播放一段乐曲。
随机产生数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医用消毒设备电气安全与电磁兼容性考核试卷
- 城市配送与物流配送环节的全球物流网络考核试卷
- 密封用填料的耐臭氧性能探讨考核试卷
- 美甲店个体合作合同范本
- 水果新鲜采购合同范本
- 铁路雨季三防培训课件
- 土地流出合同范本
- 雪天交通安全课件
- 活动课安全课件
- 私密培训课件目录
- 学生因病休学申请书 因病休学一年后复学申请书(3篇)
- 2022年湖北省高中学业水平考试真题-音乐学科
- 提高屋面防水施工质量年QC成果
- 部编初中语文古诗词按作者分类梳理
- 博朗IRT6520中文说明书家用版
- 旅行社运营实务电子课件 1.1 初识旅行社
- 【读书如熬粥阅读答案】读书如熬粥阅读答案
- 少儿美术绘本教案课件-3-6岁 《西兰花先生的理发店》
- 保密管理工作课件
- 喷射井点降水方案
- 改革开放以来河南城市文化体制的改革
评论
0/150
提交评论