1、 1 信息科学与技术学院 草鱼 EDA 技术课程设计 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼题目名称 : p ork基于 FPGA的 4路定时抢答器设计 草鱼 学生姓名 : p ork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 学 草鱼 草鱼 草鱼 草鱼号 : p ork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草 鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼
2、 草鱼 草鱼 专业年级 : p ork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 指导教师 : p ork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 时 草鱼 草鱼 草鱼 草鱼间 : p ork2013/1/7 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 目录 草鱼 内 草鱼容 草鱼 摘 草鱼 要 2 草鱼
3、 1.实验目的 2 草鱼 2.设 计任务与要求 3 草鱼 3.方案选择与说明 3 草鱼 3.1 方案选择论证 3 草鱼 3.2 模块选择介绍 3 草鱼 4.硬件原理电路图的设计及分析 4 草鱼 4.1 总系统结构图 4 草鱼 4.2 各模块程序和仿真图 4 草鱼 2 5.性能测试与分析 9 草鱼 6.心得体会 10 草鱼 参考文献 10 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 内 草鱼容 草鱼摘 草鱼要 草鱼 草鱼 草鱼 草鱼 草鱼 EDA 技术是现代电子
4、信息工程领域的一门新技术 , 鲤鱼 他是先进的计算机工作平台上开发出来的一套电子系统设计的软硬件工具 , 鲤鱼 并设计先进的电子系统设计方法 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 本文介绍了以 FPGA 为基础的四路抢答器的设计 , 鲤鱼 此次设计是一个有 4 组抢答输入 , 鲤鱼并具有抢答计时控制 , 鲤鱼 到时报警以及时间显示等功能 的通用型抢答器 。 草鱼 此次设计它以 VHDL硬件描述为平台 , 鲤鱼 结合动手实践完成 。 草鱼 该抢答器分为五个模块 : pork抢答模块 、 pork计时模块 、 pork选择模块 , 鲤鱼 位循环模块和译码模块 。 草鱼 利用 MAX+PlusII
5、 工具软件完成率编译仿真验证 。 草鱼 草鱼 1.实验目的 草鱼 通过本课程的学习使学生掌握可编程器件 、 porkEDA 开发系统软件 、 pork硬件描述语言和电子线路设计与技能训练等各方面知识 ; pork提高工程实践能力 ; pork学会应用 EDA 技术解决一些简单的电3 子设计问题 。 草鱼 挺高我们的动手思考能力 , 鲤鱼 检验我们 学习的理论知识 , 鲤鱼 联系实际认识 EDA 工具 , 鲤鱼 设计方法 。 草鱼草鱼 本次设计的目的就是在掌握 EDA 实验开发系统的初步使用基础上 , 鲤鱼 了解 EDA 技术 , 鲤鱼 了解并掌握 VHDL 硬件描述语言的设计方法和思想 , 鲤
6、鱼 通过学习的 VHDL 语言结合电子电路的设计知识理论联系实际 , 鲤鱼 掌握所学的课程知识 , 鲤鱼 学习 VHDL 基本单元电路的综合设计应用 。 草鱼 通过对 智力竞赛抢答器 的设计 , 鲤鱼 巩固和综合运用所学课程 , 鲤鱼 理论联系实际 , 鲤鱼 提高设计能力 , 鲤鱼 提高分析 、pork解决计算机技术实际问题的独立工作能力 。 草鱼 本文采用经输入与非门 和非门后的反馈信号的高电平作为解锁存 , 鲤鱼 用 555 定时器的模型来倒计时 , 鲤鱼 同时以脉冲信号来控制加法器和减法器来控制抢答过程中的计分 , 鲤鱼 应用二极管和数码显示管为主要部件来设计扫描显示器 。 草鱼 通过课
7、程设计深入理解 VHDL 语言的精髓 和掌握运用所学的知识 , 鲤鱼 达到课程设计的目标 。 草鱼 草鱼 草鱼 2.设计任务与要求 草鱼 1)分别使用 S0S3 表示 4 名选手 ; p ork草鱼 2)设置一个系统清除和抢答控制开关 rst, 鲤鱼 该开关由主持人控制 ; pork草鱼 3)抢答器具有锁存和显示功能 , 鲤鱼 选手按下抢答按钮 , 鲤鱼 所存相应的 编号 , 鲤鱼 并在 LED和数码管上显示 , 鲤鱼 同时指示灯亮 。 草鱼 实行优先锁存 , 鲤鱼 该优先权一直保持到主持人将系统清零 ; p ork草鱼 4)抢答器具有定时抢答功能 , 鲤鱼 且一次抢答时间由主持人设定 , 鲤
8、鱼 时间由 30S10S不定 。 草鱼 定时显示器显示主持人设定的时间 。 草鱼 数码管显示倒计时过程 , 鲤鱼 以十进制显示 ; p ork草鱼 5)主持人提示开始抢答(按下按钮)前有人抢答的 , 鲤鱼 视为抢答者违规 , 鲤鱼 本次抢答无效 , 鲤鱼 在数码管上显示违规者的编号 , 鲤鱼 并出报警音提示 ; pork草鱼 6)如果抢答时间已到 , 鲤鱼 无人抢答 , 鲤鱼 本次抢答无 效 , 鲤鱼 系统报警并禁止抢答 ; pork草鱼 3.方案选择与说明 草鱼 3.1 方案选择论证 草鱼 将该任务分成五个模块进行设计 , 鲤鱼 分别为 : pork抢答器抢答模块 、 pork抢答器计时模块
9、 、por k位循环模块 、 pork译码模块和选择模块 。 草鱼草鱼 通过不同模块的选择编程来实现总体的功能 , 鲤鱼 将系统连接起来 。 草鱼 这样就可以化繁为简 , 鲤鱼 并且可以很好的实现各模块的兼容协同 , 鲤鱼 来组成完整的系统 。 草鱼 具体的各模块介绍如下 。 草鱼草鱼 3.2 模块选择介绍 草鱼 抢答锁存模块 : p ork草鱼 在这个模块中主要实现抢答过程中的抢答功能 。 草鱼 在抢答开始后 , 鲤鱼 当任意一路抢答器按下后 , 鲤鱼 信号输入并进行锁存 , 鲤鱼 这时其它抢答按键再按下也不起作用 。 草鱼 此模块有 A、 porkB、 porkC、 porkD 四路抢答输
10、入信号 ; pork复位信号 R; pork输出报警信号 BJ; pork数据输出信号 Y。 草鱼 草鱼 抢答器计时模块 : p ork草鱼 在这个模块中主要实现抢答过程中的计时功能 。 草鱼 在抢答开始主持人按下复位键后进行 60 秒的倒计时 , 鲤鱼 并且在 60秒倒计时后无人抢答显示超时并报警 , 鲤鱼 若有选手抢答则计时停止 ,主持人也可以手动设置计时时间 。 草鱼 此模块包含时钟信号 CLK; pork系统复位信号 R; pork修改时间使能信号 EN; pork无人抢答警报信号 BJ; pork有人抢答停止计时信号 ST; pork时间设置输入十位和个位信号 cg, 鲤鱼 cs;
11、pork计时十位和个位输出信号4 SW, 鲤鱼 GW。 草鱼 草鱼 数据选择模块 : p ork草鱼 在这个模块中主要实现抢答过程中的数据循环显示功能 , 鲤鱼 通过 SEL 信号的循环输入 , 鲤鱼 从而控制数码管的循环显示 , 鲤鱼 利用人眼的视觉停留使人感觉数码管是同时常亮的 。 草鱼 此模块包含输入显示位控制信号 SEL; pork数据输入信号 H, 鲤鱼 G, 鲤鱼 S; pork数据输 出信号 Z 草鱼 。 草鱼 草鱼 译码模块 : p ork草鱼 草鱼 草鱼 草鱼 草鱼 在这个模块中主要实现抢答过程中将 BCD 码转换成 7段的功能 。 草鱼 在本次课设中主要用于对时间的个位 、
12、 pork十位的数值进行相应的译码 , 鲤鱼 使其在数码管上能显示出正常数字 。 草鱼 此模块包含输入信号 SJ, 鲤鱼 输出信号 Y。 草鱼 草鱼 位循环模块 : p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 实现抢答过程中对数码管扫描显示位的控制 。 草鱼 在本次课设中共利用了三个数码管 , 鲤鱼 所以将 SEL 设置在 000, 鲤鱼 001, 鲤鱼 010 三个数之间循环 , 鲤鱼 使得数码 管仅显示后三位 。 草鱼 此模块包含 CLK 控制信号 , 鲤鱼 复位控制信号 R, 鲤鱼 输出信号 SEL。 草鱼 草鱼 4.硬件原理电路图的设计及分析 草鱼 4.1 总系统结构图 草鱼
13、下图为具有完整抢答器功能的结构图 , 鲤鱼 其中用到了抢答模块一个 , 鲤鱼 计时模块一个 ,鲤鱼 译码模块两个 , 鲤鱼 选择模块一个 , 鲤鱼 位循环模块一个 。 草鱼 共有 17个输入 , 鲤鱼 11 个输出 。草鱼草鱼 草鱼 草鱼 系统电路图 草鱼 4.2 各模块程序 和仿真图 草鱼 抢答锁存模块 草鱼 草鱼 草鱼1 VHDL 源程序 草鱼 草鱼 草鱼 LIBRARY 草鱼 IEEE;PORK草鱼 草 鱼 草鱼 USE 草鱼 IEEE.STD_LOGIC_1164.ALL;PORK草鱼 草鱼 草鱼 USE 草鱼 IEEE.STD_LOGIC_ARITH.ALL;PORK草鱼 草鱼 草鱼
14、 USE 草鱼 IEEE.STD_LOGIC_UNSIGNED.ALL;PORK草鱼 草鱼 草鱼 ENTITY 草鱼 QDMK 草鱼 IS草鱼 5 草鱼 草鱼 草鱼 草鱼 草鱼 PORT(A,B,C,D:IN 草鱼 STD_LOGIC;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 R:IN 草鱼 STD_LOGIC;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 SIGNAL 草鱼 CLK:IN 草鱼 STD_LOGIC;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 BJ:OUT 草鱼 STD_LOGIC;POR
15、K草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 Y:BUFFER 草鱼 STD_LOGIC_VECTOR(6 草鱼 DOWNTO 草鱼 0);PORK草鱼 草鱼 草鱼 END 草鱼 QDMK;PORK草鱼 草鱼 草鱼 ARCHITECTURE 草鱼 BEHAVE 草鱼 OF 草鱼 QDMK 草鱼 IS草鱼 草鱼 草鱼 草鱼 BEGIN草鱼 草鱼 草鱼 草鱼 草鱼 PROCESS(A,B,C,D,R,CLK)草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 BEGIN草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 IF 草鱼 R=1THEN草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草
16、鱼 YYYYYYYYYYYY=“0000000“;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 END 草鱼 CASE;PORK草鱼 草鱼 草鱼 草鱼 END 草鱼 PROCESS;PORK草鱼 草鱼 草鱼 END 草鱼 BEHAVE;PORK草鱼 2 仿真 草鱼 从图中可看出 , 鲤鱼 本模块对输入的 BCD 码信号( SJ信号)进行了编译 , 鲤鱼 输出信号 Y,鲤鱼 使 其能在数码管上对应显示出相应的数值 。 草鱼草鱼 位循环模块 草鱼 9 1 VHDL源程序 草鱼 草鱼 草鱼LIBRARY 草鱼 IEEE;PORK草鱼 草鱼 草鱼 USE 草鱼 IEEE.STD_LOGIC_1164.A
17、LL;PORK草鱼 草鱼 草鱼 USE 草鱼 IEEE.STD_LOGIC_ARITH.ALL;PORK草鱼 草鱼 草鱼 USE 草鱼 IEEE.STD_LOGIC_UNSIGNED.ALL;PORK草鱼 草鱼 草鱼 ENTITY 草鱼 SEL 草鱼 IS草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 PORT(CLK,R:IN 草鱼 STD_LOGIC;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 SEL:BUFFER 草鱼 STD_LOGIC_VECTOR(2 草鱼 DOWNTO 草鱼 0);PORK草鱼 草鱼 草鱼 END 草鱼 SEL;PORK草鱼 草鱼 草鱼 ARCH
18、ITECTURE 草鱼 BEHAVE 草鱼 OF 草鱼 SEL 草鱼 IS草鱼 草鱼 草鱼 BEGIN草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 PROCESS(CLK,R)草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 BEGIN草鱼 草鱼 草 鱼 草鱼 草鱼 草鱼 草鱼 草鱼 IF 草鱼 R=1 草鱼 THEN草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 SEL=“000“;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 ELSIF 草鱼 CLKEVENT 草鱼 AND 草鱼 CLK=1THEN草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 IF 草鱼 SEL=“
19、010“THEN草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 SEL=“000“;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 ELSE 草鱼 SEL=SEL+1;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 END 草鱼 IF;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 END 草鱼 IF;PORK草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 END 草鱼 PROCESS;PORK草鱼 草鱼 草鱼 END 草鱼 BEHAVE;PORK草鱼 2 仿真 草鱼 从图中看出 , 鲤鱼 在复位开始信号为 1 时不工作 , 鲤鱼 在
20、为 0后开始工作 , 鲤鱼 SEL 信号在 0-2这三个数内随 CLK 信号的变化循环 , 鲤鱼 实现数码管的循 环显示 。 草鱼草鱼 5.性能测试与分析 草鱼 时序仿真图 草鱼 下图为整个模块的时序仿真图 , 鲤鱼 由图中可看出 , 鲤鱼 在复位信号为 0 后 , 鲤鱼 抢答器开始工作 , 鲤鱼 在有抢答信号后抢答器报警 , 鲤鱼 数码管轮流显示计时时间及最先抢答的抢答器对应的号码 。 草鱼草鱼 草鱼 草鱼 10 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 将 R 键拨到 0 观察数码管是否开始从 30 倒计时 , 鲤鱼 然后再将 R 键拨回 1, 鲤鱼 之后将使能信号 EN 拨至 1, 鲤鱼 将
21、cs,cg 设置为想要输入的时间 , 鲤鱼 然后将 R 拨至 0, 鲤鱼 观察数码管是否显示修改过之后的时间 , 鲤鱼 并从设置好的时间开 始计时 。 草鱼 在计时功能验证完成后 , 鲤鱼 按下抢答信号 , 鲤鱼 此时抢答器发出警报声 , 鲤鱼 并在数码管上显示出最先抢答的组对应的编号 , 鲤鱼 说明抢答器功能正常 。 草鱼草鱼 6.心得体会 草鱼 在 EDA 技术中最为瞩目的是以现代电子技术为特征的逻辑设计仿真测试技术 。 草鱼该技术只需要通过计算机就能对所设计的电子系统从不同层次的性能特点上 , 鲤鱼进行一系列准确的测试和仿真 , 鲤鱼 大大的方便了我们的设计 , 鲤鱼 避免了受现实中有限
22、的器件的限制 。 草鱼 草鱼 在本次课设中 , 鲤鱼 我做的是四路抢答器 。 草鱼 在最开始的一个礼拜 , 鲤鱼 我先是从网络上找到了类 似题目的课程设计 , 鲤鱼 参考并阅读了他人的程序 , 鲤鱼 然后再在电脑上按模块编写成序 , 鲤鱼 编写完成后进行了仿真 。 草鱼 在编写程序的过程中 , 鲤鱼 我发现自己在对 VHDL语言的掌握上还有很多欠缺 , 鲤鱼 程序也是经过了许多遍的修改之后 , 鲤鱼 才做到了在尽可能简练的基础上将功能完整实施出来 。 草鱼 在自模块编写完成后我又开始进行了完整电路的设计 , 鲤鱼 在电路连接完成后进行了时序仿真 , 鲤鱼 在第一次仿真完成后我发现电路仿真结果与
23、预期所设想的还存在一些差距 , 鲤鱼 经检查发现是计时模块有一点问题 , 鲤鱼 在经过改正之后 , 鲤鱼 终于仿真出理想的时序图 。 草鱼 草鱼 在这次课程设计中 , 鲤鱼 我遇到过很多困难的同时也 积累了 很多宝贵 的经验 , 鲤鱼 这对即将出身社会的我无疑是一笔巨大财富 。 草鱼 没有谁是天生就知道那个该怎么做的 , 鲤鱼 还是要靠自己慢慢去探索 ,鲤鱼 去学习 , 鲤鱼 去尝试的 。 草鱼 我深刻知道 用 VHDL 硬件描述语言的形式来进行数字系统的设计方便灵活 , 鲤鱼 利用 EDA 软件进行编译优化仿真极大地减少了 电路 设计时间和可能发生的错误 , 鲤鱼 降低了开发成本 。 草鱼
24、这为我们电子专业方向的 同学提供了莫大的帮助 , 鲤鱼 所以我努力学习着这门语言 。草鱼草鱼 通过这次课程设计我感受到学习使人进步 , 鲤鱼 只有自己不断去研究 , 鲤鱼 去学习 , 鲤鱼 去认识 , 鲤鱼 去用心做 , 鲤鱼 你才会学的更好 , 鲤鱼 用的更好 。 草鱼草鱼 参考文献 草鱼 1 草鱼 王萍 .电子设计自动化 EDA教程 M.成都 : pork电子科技大学出版社 , 鲤鱼 2000 草鱼 2 草鱼 黄继业 , 鲤鱼 潘松 .EDA 技术实用教程 M.北京 : pork科学出版社 , 鲤鱼 2006 草鱼 3 草鱼 谢自美 .电子线路测试 (第三版 )M.北京 : pork华中科
25、技大学出版社 , 鲤鱼 2003 草鱼 4 草鱼 董玉冰 .Multsim9 在电工电子技术中的应用 M.北京 : pork清华大学出版社 , 鲤鱼 2007 草鱼 5 草鱼 陈振官 .数字电路及制作实例 M.北京 : pork国防工业出版社 , 鲤鱼 2008 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 草鱼 草鱼 草鱼