第一篇:(成都大学)EDA课程设计题目及解决方案(抢答器)
EDA课程设计
设计题目:
智力竞赛抢答器 一.电路功能:
可满足8个组,同时参加竞赛。抢答器复位后,数码显示为0,在竞赛主持人出完题并示意抢答开始后,每个组都可以通过各自的按钮开关发出抢答信号,抢答器一旦接收到某组最先发出的信号后,立即让数码管显出该组的组号,同时发出音响提示,且对后来组发出的抢答信号一律不与理睬。主持人用复位钮复位抢答器,数码显示归0,提示音停止,在抢答组回答完问题后,重复前述过程,可进行下一题抢答。
二.原理框图(见附图)
三.设计要求
用VHDL语言描述抢答器逻辑功能,经编译后仿真,仿真波形正确后,加上段码译码器编译通过后方可在实验箱上下载,做真实电路验证。四.撰写设计报告
给出设计方案框图,包括模块的划分,信息的传递关系;给出各模块的VHDL程序;给出每个模块的仿真波形图,并附以文字说明;写出设计的心得体会和收获。
一.结构描述法1(先锁存后编码)
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY scq_8 IS
PORT(g: IN STD_LOGIC_VECTOR(8 DOWNTO 1);
rst, en: IN STD_LOGIC;
q: OUT STD_LOGIC_VECTOR(8 DOWNTO 1));END scq_8;ARCHITECTURE one OF scq_8 IS BEGIN
PROCESS(rst, en)
BEGIN
IF rst='0' THEN
q<= “11111111”;
ELSIF
en ='1' THEN
q<=g;
END IF;
END PROCESS;
END one;
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY bm8_4 IS
PORT(d: IN STD_LOGIC_VECTOR(8 DOWNTO 1);
sum: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END bm8_4;ARCHITECTURE one OF bm8_4 IS BEGIN
PROCESS(d)
BEGIN
CASE d IS
WHEN “11111110” => sum<=“0001”;
WHEN “11111101” => sum<=“0010”;
WHEN “11111011” => sum<=“0011”;
WHEN “11110111” => sum<=“0100”;
WHEN “11101111” => sum<=“0101”;
WHEN “11011111” => sum<=“0110”;
WHEN “10111111” => sum<=“0111”;
WHEN “01111111” => sum<=“1000”;
WHEN OTHERS => sum<=“0000”;
END CASE;
END PROCESS;
END one;
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S IS
PORT(A: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
LED7S: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END;ARCHITECTURE one OF DECL7S IS BEGIN
PROCESS(A)
BEGIN
CASE A IS
WHEN “0000” => LED7S <= “0111111”;
WHEN “0001” => LED7S <= “0000110”;
WHEN “0010” => LED7S <= “1011011”;
WHEN “0011” => LED7S <= “1001111”;
WHEN “0100” => LED7S <= “1100110”;
WHEN “0101” => LED7S <= “1101101”;
WHEN “0110” => LED7S <= “1111101”;
WHEN “0111” => LED7S <= “0000111”;
WHEN “1000” => LED7S <= “1111111”;
WHEN “1001” => LED7S <= “1101111”;
WHEN “1010” => LED7S <= “1110111”;
WHEN “1011” => LED7S <= “1111100”;
WHEN “1100” => LED7S <= “0111001”;
WHEN “1101” => LED7S <= “1011110”;
WHEN “1110” => LED7S <= “1111001”;
WHEN “1111” => LED7S <= “1110001”;
WHEN OTHERS => NULL;
END CASE;
END PROCESS;END;
四.状态机描述法
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY qdq8_1 IS
PORT(rst,clk: STD_LOGIC;
g: IN STD_LOGIC_VECTOR(8 DOWNTO 1);
q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
sq: OUT STD_LOGIC);END qdq8_1;ARCHITECTURE one OF qdq8_1 IS
TYPE s IS(s0,s1);
SIGNAL crt_s: s;
SIGNAL sum: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN
PROCESS(rst,clk,g)
BEGIN
IF rst='0' THEN crt_s<=s0;
ELSIF clk'event AND clk='1' THEN
CASE crt_s IS
WHEN s0 => q<=“0000”;sq<='0';
CASE g IS
WHEN “11111110” => sum<=“0001”;crt_s<=s1;
WHEN “11111101” => sum<=“0010”;crt_s<=s1;
WHEN “11111011” => sum<=“0011”;crt_s<=s1;
WHEN “11110111” => sum<=“0100”;crt_s<=s1;
WHEN “11101111” => sum<=“0101”;crt_s<=s1;
WHEN “11011111” => sum<=“0110”;crt_s<=s1;
WHEN “10111111” => sum<=“0111”;crt_s<=s1;
WHEN “01111111” => sum<=“1000”;crt_s<=s1;
WHEN OTHERS => crt_s<=s0;
END CASE;
WHEN s1 => q<=sum;sq<='1';crt_s<=s1;
END CASE;
END IF;
END PROCESS;END one;
第二篇:EDA课程设计题目
课程设计题目 设计一 数字式竞赛抢答器
1、设计一个可容纳 6 组(或 4 组)参赛的数字式抢答器,每组设一个按钮,供抢答使用。
2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。
3、设置一个主持人“复位”按钮。
4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器发出 2~3 秒的音响。
5、设置一个计分电路,每组开始预置 100 分,由主持人记分,答对一次加 10 分,答错一次减 10 分。
教学提示:
1、此设计问题的关键是准确判断出第一抢答者并将其锁存,实现的方法可使用触发器或锁存器,在得到 第一信号后将输入封锁,使其它组的抢答信号无效。
2、形成第一抢答信号后,用编码、译码及数码显示电路显示第一抢答者的组别,用第一抢答信号推动扬 声器发出音响。
3、计分电路采用十进制加/减计数器、数码管显示,由于每次都是加/减 10 分,所以个位始终为零,只要十位、百位进行加/减运算即可。
设计二 数字钟
1、设计一个能显示1/10秒、秒、分、时的12小时数字钟。
2、熟练掌握各种计数器的使用。
3、能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。
4、能用低位的进位输出构成高位的计数脉冲。
教学提示:
1、时钟源使用频率为0.1Hz的连续脉冲。
2、设置两个按钮,一个供“开始”及“停止”用,一个供系统“复位”用。
3、时钟显示使用数码管显示。
4、“时显示”部分应注意12点后显示1点。
5、注意各部分的关系,由低位到高位逐级设计、调试。
设计三 数字频率计
1、设计一个能测量方波信号的频率的频率计。
2、测量的频率范围是0?999999Hz。
3、结果用十进制数显示。教学提示:
1、脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为,f为被测信号的频率,N为计数器 所累计的脉冲个数,T为产生N个脉冲所需的时间。所以,在1秒时间内计数器所记录的结果,就是被 测信号的频率。
2、被测频率信号取自实验箱晶体振荡器输出信号,加到主控门的输入端。
3、再取晶体振荡器的另一标准频率信号,经分频后产生各种时基脉冲:1ms,10ms,0.1s,1s等,时基信 号的选择可以控制,即量程可以改变。
4、时基信号经控制电路产生闸门信号至主控门,只有在闸门信号采样期间内(时基信号的一个周期),输入 信号才通过主控门。
5、f=N/T,改变时基信号的周期T,即可得到不同的测频范围。
6、当主控门关闭时,计数器停止计数,显示器显示记录结果,此时控制电路输出一个置零信号,将计数 器和所有触发器复位,为新的一次采样做好准备。
7、改变量程时,小数点能自动移位。
设计四 拔河游戏机
1、设计一个能进行拔河游戏的电路。
2、电路使用15个(或9个)发光二极管,开机后只有中间一个发亮,此即拔河的中心点。
3、游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按 一次,亮点移动一次。
4、亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使 亮点恢复到中心。
5、用数码管显示获胜者的盘数。
教学提示:
1、按钮信号即输入的脉冲信号,每按一次按钮都应能进行有效的计数。
2、用可逆计数器的加、减计数输入端分别接受两路脉冲信号,可逆计数器原始输出状态为0000,经译码 器输出,使中间一只二极管发亮。
3、当计数器进行加法计数时,亮点向右移;进行减法计数时,亮点向左移。
4、由一个控制电路指示谁胜谁负,当亮点移到任一方终端时,由控制电路产生一个信号,使计数器停止 计数。
5、将双方终端二极管“点亮”信号分别接两个计数器的“使能”端,当一方取胜时,相应的计数器进行 一次计数,这样得到双方取胜次数的显示。
6、设置一个“复位”按钮,使亮点回到中心,取胜计数器也要设置一个“复位”按钮,使之能清零。
设计五 乒乓球比赛游戏机
1、设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。
2、用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED 指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。
3、当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。
4、一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。
5、设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。
6、甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球 才有效。
教学提示:
1、用双向移位寄存器的输出端控制LED显示来模拟乒乓球运动的轨迹,先点亮位于某一方的第1个LED,由 击球者通过按钮输入开关信号,实现移位方向的控制。
2、也可用计数译码方式实现乒乓球运动轨迹的模拟,如利用加/减计数器的2个时钟信号实现甲、乙双方 的击球,由表示球拍的按钮产生计数时钟,计数器的输出状态经译码驱动LED发亮。
3、任何时刻都保持一个LED发亮,若发亮的LED运动到对方的终点,但对方未能及时输入信号使其向相反 方向移动,即失去1分。
4、控制电路决定整个系统的协调动作,必须严格掌握各信号之间的关系。
设计六 交通信号灯控制器
1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
2、红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。
3、主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干 道亮绿灯时,主干道亮红灯。
4、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。
5、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。
教学提示:
1、主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。
2、选择 1HZ 时钟脉冲作为系统时钟。
3、45 秒、25 秒、5 秒定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,每当计满所 需时间,即向主控电路输出“时间到”信号,并使计数器清零,由主控电路启、闭三色信号灯或启动 另一计时电路。
4、主控电路是核心,这是一个时序电路,其输入信号为:车辆检测信号(A,B,;45 秒、25 秒、5 秒定 时信号(C,D,E),其输出状态控制相应的三色灯。主控电路可以由两个 JK 触发器和逻辑门构成,其输出经译码后,控制主干道三色灯 R、G、Y 和支干道三色灯 r、g、y。
设计七 电子密码锁
1、设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿 灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;
2、在锁的控制电路中储存一个可以修改的 4 位代码,当开锁按钮开关(可设置成 6 位至 8 位,其中实际 有效为 4 位,其余为虚设)的输入代码等于储存代码时,开锁;
3、从第一个按钮触动后的 5 秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并 由扬声器发出持续 20 秒的报警信号。教学提示:
1、该题的主要任务是产生一个开锁信号,而开锁信号的形成条件是,输入代码和已设密码相同。实现这种功能的电路构思有多种,例如,用两片8位锁存器,一片存入密码,另一片输入开锁的代码,通过比 较的方式,若两者相等,则形成开锁信号。
2、在产生开锁信号后,要求输出声、光信号,声音的产生由开锁信号触动扬声器工作,光信号由开锁信 号点亮 LED 指示灯;
3、用按钮开关的第一个动作信号触发一个 5 秒定时器,若 5 秒内无开锁信号产生,让扬声器发出特殊音响,以示警告,并输出一个信号推动 LED 不断闪烁。
设计八 彩灯控制器
1、设计一个彩灯控制器,使彩灯(LED 管)能连续发出四种以上不同的显示形式;
2、随着彩灯显示图案的变化,发出不同的音响声。教学提示: 教学提示
1、彩灯显示的不同形式可由不同进制计数器驱动 LED 显示完成;
2、音响由选择不同频率 CP 脉冲驱动扬声器形成。
设计九 脉冲按键电话显示器
1、设计一个具有 8 位显示的电话按键显示器;
2、能准确地反映按键数字;
3、显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;
4、*设置一个“重拨”键,按下此键,能显示最后一次输入的电话号码;
5、*挂机 2 秒后或按熄灭按键,熄灭显示器显示。
教学提示:
1、利用中规模计数器的予置数功能可以实现不同的按键对应不同的数字;
2、设置一个计数器记录按键次数,从而实现数字显示的移位。
设计十 简易电子琴
1、设计一个简易电子琴;
2、利用实验箱的脉冲源产生 1,2,3,……共 7 个或 14 个音阶信号;
3、用指示灯显示节拍;
4、*能产生颤音效果。
教学提示:
1、各音阶信号由脉冲源经分频得到。
设计十一 出租车自动计费器
1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用四位数码管显示 总金额,最大值为 99.99 元;
2、行车里程单价 1 元/公里,等候时间单价 0.5 元/10 分钟,起价 3 元(3 公里起价)均能通过人工输入。
3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每 100 个脉冲表示 1 公里,然后用 BCD 码比例乘法 器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关预置。例如单价是 1.0 元/公里,则脉冲当量为 0.01 元/脉冲。
4、用 LED 显示行驶公里数,两个数码管显示收费金额。
教学提示:
1、等候时间计费需将等候时间转换成脉冲个数,用每个脉冲表示的金额与脉冲数相乘即得计费数,例如 100 个脉冲表示 10 分钟,而 10 分钟收费 0.5 元,则脉冲当量为 0.05 元/脉冲,如果将脉冲当量设置成与行车里程计费相同(0.01 元/脉冲),则 10 分钟内的脉冲数应为 500 个。
2、用 LED 显示等候时间,两个数码管表示等候时间收费金额。
3、用加法器将几项收费相加,P=P1+P2+P3,4、P1 为起价,P2 为行车里程计费,P3 为等候时间计费,用两个数码管表示结果。
设计十二 洗衣机控制器
1、设计一个电子定时器,控制洗衣机作如下运转:定时启动→正转 20 秒→暂停 10 秒→反转 20 秒→暂停 10 秒→定时未到回到“正转 20 秒→暂停 10 秒→……”,定时到则停止;
2、若定时到,则停机发出音响信号;
3、用两个数码管显示洗涤的预置时间(分钟数)按倒计时方式对洗涤过程作计时显示,直到时间到停机; 洗涤过程由“开始”信号开始;
4、三只 LED 灯表示“正转”、“反转”、“暂停”三个状态。
教学提示:
1、设计 20 秒、10 秒定时电路。
2、电路输出为“正转”、“反转”、“暂停”三个状态。
3、按照设计要求,用定时器的“时间到”信号启动相应的下一个定时器工作,直到整个过程结束。13.可控脉冲发生器
内容及要求:
实现周期、占空比均可调的脉冲发生器。(1)采用1khz的工作时钟;
(2)脉冲周期0.5s~6s,占空比10%~90%;(3)可初始化:周期2.5s,占空比50%;
14.8bit序列检测器
内容及要求:
完成从2bit输入码流中检测特定8bit数据的电路,具体要求如下:(1)输入2bit码流,msb在前,4个周期的数据组成一个结构化字节;(2)检测序列0x7e;
(3)成功检测到特定序列后,点亮一个LED;
(4)操作中采用开关作为数据输入,按键作为有效数据指示信号;(5)工作时钟选择1k即可;
(6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。
15人表决电路设计
内容及要求
完成7人表决电路设计,LED灯表示通过、否决。(1)开关表示赞成与否,1~8编号(1赞成);(2)LED显示表决的结果;
(3)数码管分别显示赞成、否决的人数;(4)工作时钟100Hz即可;
(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。
16排队电路设计
内容及要求
单窗口排队机电路,给每个新来者编号,并计算队伍长度。
(1)进队、离队两个信号作为输入,当前服务号码和队长各由4个数码管显示;(2)初始时队长0,进队号码由1顺序递增,输出编号;(3)有人入队,长度加,有人离队长度减;(4)工作时钟适当即可;
(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。
17算术计算器电路设计
内容及要求
实现一位十进制数的加减乘除元算,结果显示在数码管上。(1)键盘作为运算数据输入;(2)不同位置的按键代表运算符;(3)2个数码管显示运算结果;(4)支持连续运算;
(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。
18电梯控制器电路设计
内容及要求
设计智能电梯运行控制电路,板级验证用按键/开关与数码管/LED表示输入与输出。(1)楼层4层;
(2)梯内显示当前楼层、梯外各层显示当前电梯所在楼层;
(3)1层只有向上按钮,4层只有向下按钮,其余各层均有上下按钮;(4)电梯具有锁定功能(梯内);
(5)超重/超员报警(电路有空载、超重、乘客入梯指示输入);(6)采用Altera的cyclone器件,目标板soc实验室开发板;(7)设计相应的调度算法,使运营成本最低;
(8)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、后仿真、下载验证等。19 LCD模块接口电路设计
内容及要求
实现NiosII驱动240X128LCD显示。
(1)T6963C控制器,显示模块与CPU的接口采用标准的8位微处理器接口,即D0~D7、nRD、nWR、nCE以及C/D信号,当C/D为‘1’时,选中指令通道,数据总线上的数据均为指令;当C/D为‘0’时,选中数据通道,数据总线上的数据为写入LCD或读出的有效数据。8bit输入,串行输出,伴有串行信号msb指示;
(2)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。音频信号存储与播放
内容及要求
(1)4.096s音频信号,8kA/D转换为8bit数据,共32768字节,存储播放;(2)音频数据自行解决,可采用语音传感器采集;(3)扬声器播放;
(4)可以部分播放,时长可控;
(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。脉宽调制电路设计
内容及要求 脉宽调制电路。(1)脉宽可调;(2)周期可调;
(3)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。
22.计时器电路设计
内容及要求
设计时、分、秒计时器电路,数码管显示输出。(1)输入10K精准时钟;
(2)具有时、分、秒计时功能,24小时制;(3)时分秒均可手动调整校正;
(4)计时信息有6个数码管显示输出,格式hhmmss;或者8个数码管显示输出,格式hh:mm:ss;(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。FIR滤波器电路设计
内容及要求
完成有限冲激响应低通数字滤波器设计。(1)滤波频率20kHz;
(2)增益不作要求,抽头系数自行计算;(3)同步电路设计;
(4)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。
24自动售货机电路
内容及要求
设计自动售货机电路,要求如下:
(1)待售物品价格1元、2元、3元、五元;(2)只接受1元、5元、10元币值;(3)机内存有1元零钱无限;
(4)投入钱币之前认为售货机为空闲状态;投入钱币后需要按下物品标签吐出商品;(5)自动找零;
(6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。25.排队电路设计
内容及要求
单窗口排队机电路,给每个新来者编号,并计算队伍长度。
(1)进队、离队两个信号作为输入,当前服务号码和队长各由4个数码管显示;(2)初始时队长0,进队号码由1顺序递增,输出编号;(3)有人入队,长度加,有人离队长度减;(4)工作时钟适当即可;
(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。
26信号发生器系统设计
内容及要求
设计一个简易信号发生器。要求能够产生正弦波、方波、锯齿波和三角波信号,并能够实现调频功能;最终能在示波器上观察到各种波形。汽车尾灯控制器设计
内容及要求
根据现代交通规则,汽车尾灯控制器应满足以下基本要求:(1)汽车正常使用时指示灯不亮;(2)汽车右转时,右侧的一盏灯亮;(3)汽车左转时,左侧的一盏灯亮;
(4)汽车刹车时,左右两侧的指示灯同时亮;
(5)汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用。简易音乐播放器
内容及要求
产生音乐的两个因素是音乐频率和音乐的持续时间,以纯硬件完成演奏电路比利用微处理器(CPU)来实现乐曲演奏要复杂的多如果不借助于功能强大的EDA工具和硬件描述语言,凭借传统的数字逻辑技术,即使最简单的演奏电路也难以实现。根据设计要求,乐曲硬件演奏电路系统主要由数控分频器和乐曲存储模块组成。数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。29自动售邮票机
内容及要求
设计一个自动售邮票机,用开关电平信号模拟投币过程,每次投一枚硬币,但可以连续投入数枚硬币。机器能自动识别硬币金额,最大为1元,最小为5角。设定票价为2.5元,每次售一张票。
购票时先投入硬币,当投入的硬币总金额达到或超过票的面值时,机器发出指示,这时可以按取票键取出票。如果所投硬币超过票的面值则会提示找零钱,取完票以后按找零键则可以取出零钱。
30看门狗设计
内容及要求
1.看门狗电路时电子系统,是嵌入式系统中常用的抗干扰措施之一,其作用是在程序“跑 飞”后强制系统复位。
2.看门狗实际上是一个计数器,它需要在一定时间内被清零,否则,看门狗将产生一个复位信号使系统重新启动。3.系统主要由3个功能模块构成: 1)计数比较模块; 2)分频模块; 3)复位计时模块
第三篇:数电EDA课程设计智力竞赛抢答器
燕山大学
EDA课程设计报告
姓 名:马晨宏
学 号:050104020076 班 级: 05级电子信息工程3班 日 期:2007年11月12日
成 绩:
一、设计题目:智力竞赛抢答器
二、设计要求:.五人参赛每人一个按钮,主持人一个按钮,按下就开始; 2.每人一个发光二极管,抢中者灯亮; 3.有人抢答时,喇叭响两秒钟; 4.答题时限为10秒钟,从有人抢答开始,用数码管倒计时间,0,9,8…1,0;倒计时到0的时候,喇叭发出两秒声响。
三、设计内容:
1.设计方案:主持人控制总开关,主持人置高电平后,系统进入准备工作。有人抢答时,相应的二极管发光,同时数码管开始倒计时,且喇叭响两秒钟。当倒计时再次到0的时候,喇叭再响2秒钟。我设计的方案由五个高低电平控制相应的发光二极管,第六个用于主持人复位。由二极管控制数码管和其中一个喇叭响,再由数码管控制另一喇叭响。因此把整个课题分成四个模块:抢答器、倒计时器、计时器、秒脉冲生成器。
2.模块一:抢答器
I6为置零端,主持人控制,i1-i5由每位选手控制。o1-o5为发光二极管,主持人置低电平后,o1-o5都被置零。当主持人置为高电平时,抢答开始,成功者对应的二极管发光,通过与门将cp信号封锁,并输入到DFF中,则其他选手在按键时,输出不会有影响,则实现了一人抢答后,其他人不能再做答。若重新开始则主持人再按i6清零即可。
此模块的仿真波形如下:
仿真说明:
当i6为1时,即主持人按键以后,i5最先抢答成功,显示o5是1,使其对应的二极管发光,然后主持人清零,o5变成零,可以再次抢答。
模块二:十秒倒计时器
此十秒钟倒计时器是由74168组成的十进制减法计数器,它只保留预制置数端,CP信号端,计数输出端,其余的都置为0。Ldn是置零端,当它等于1的时候,74168有效,倒计时开始。当输出0、9、--1时,D触发器输出结果总是1,不影响CP信号。当输出从1到0时,D触发器到上升沿,输出结果为1,则CP信号被封锁。此时倒计时器保持在0不变。若要重新开始,则把Ldn置0即可。
此模块的仿真波形如下:
由图可见,Ldn为1的时候开始倒计时,输出结果0,9,8…0。最后保持0不变,符合题目要求。模块三:2秒计时器
如图将74160接成2进制计数器,输出端和CP用与门连接,当clrn输入0时o1—o4输出0;clrn输入1,CP脉冲通过,计数器开始计数。而计到2时,输出端通过与门使CP信号封锁,使计数器保持在二不变。此模块的仿真波形如下:
由图可见,当clrn为1的时候,开始计时。0、1、2、到2停止。当clrn被置零后,输出也被置零,则可以重新计时。
模块四:秒脉冲生成器
三个74160十进制计数器组成一个732进制的计数器,一个732HZ的脉冲分频成1S的脉冲给两秒计时器和十秒的倒计时器提供秒脉冲,当计数到732时三个计数器的ldn同时置零,重新开始计数。
此模块的仿真波形如下:
由图可见,一个732HZ的脉冲通过分频器被分频成1S的脉冲,给两秒计时器和十秒的倒计时器提供秒脉冲。2.总电路说明:
仿真波形图如下:
仿真图形说明:当S为1的时候,即主持人按键以后,i5抢答成功,显示ou5是1,对应的二极管发光。a、b、c、d、e、f、g数码管显示,倒计时开始。Ou6为1,喇叭响2秒钟。当倒计时结束时,ou7为1,喇叭再响2秒钟。当S再被置0的时,输出被清零,可以重新开始。
四、硬件实践结果
软件仿真正确后,把它下载到可编程逻辑器件中去,通过硬件连接,仿真正确,说明此软件设计合理。
五、改进措施
用按钮(需要加防抖动电路)和与门代替五个高低电平,会有助于实际应用。
六、心得体会
带着欣喜与疲倦,我们结束了两周的EDA课程设计,回想刚拿到题目时候的困惑与紧张,出现错误时的反复修改冥思苦想,设计电路正确可进行模拟时不正常显示的不知所措,心急气愤……。当最后看到自己的劳动成果与题目相符时,最终松了一口气的轻松喜悦!通过这两个星期的EDA课程设计,不但使我熟悉了EDA课程设计的基本思想和基础知识,初步掌握了其应用软件MAX-Plus的使用,而且更为深入的体会了数字电路在现代高科技信息产业领域中的重要地位,通过简单的电路设计,提高了我得独立思考能力,通过连结实验箱增强了我的动手能力,并延伸了我在课堂上学到的知识,此次课程设计让我认识到高新技术的快速发展和应用,让我看到了EDA技术功能的强大,也让我认识到掌握他们的重要性,同时也看到了自己的差距与不足,我知道只有今后自己努力学习,拓宽自己的知识面,才能更好的掌握这项技术,也才能适应社会的发展。我很感谢学校能给我们这次进行EDA课程设计培训,熟悉电子CAD一些基本知识培养我们独立思考,动手能力和创新思维的机会,同时向一直辅导和帮助我们的老师们表示感谢,谢谢你们的耐心指导。我一定会更加努力学好这门课程。
第四篇:2018春EDA课程设计安排及参考题目
EDA课程设计安排
要求:
1、至少完成一个设计任务,撰写课程设计报告,交A4纸打印稿,字数不限,左侧装订,单独答辩考核,提前完成可提前答辩。
2、课程设计过程:选题、查资料、设计、实验箱上实现(或者自己做实物)、写报告、答辩。
3、参考题目和要求附后,自己选定题目后查阅资料进行设计,需要实验验证的可以到实验室(1C06 325)进行实验验证。
4、可以自己选择参考课题以外的课题,但难度和工作量不能少于参考题目的。
5、辅导答疑:办公室(1C06 321),具体时间另行安排。
6、实验室开放时间:上午8:30到 下午3:00,与李帅老师联系,进实验室时一定要穿鞋套。
7、课程设计报告必须交,每人单独答辩,考核内容程序设计、仿真调试、硬件实现。
8、答辩时间另行通知。
电话:*** QQ:276432828 邮箱:wq.wangquan@163.com 办公室:1C06 321
EDA课程设计参考题目及要求
可自选其它题目
课程设计题一:八人抢答器
要求:
1、八人抢答逻辑:只有一个最先抢答有效。
2、在主持人控制下,10秒内抢答有效。
3、采用数码管显示抢答10秒倒计时,若有抢答直接结束,显示结果。
4、抢答结束后用数码管显示抢答结果:抢答有效人编号;若有异常(提前抢答,犯规),显示抢答人编号和E,本次抢答结束。
5、设主持人控制键、复位键。
控制键:启动抢答
复位键:系统复位
6、开始、正常结束、抢答结束、违规抢答采用声音提示。
课程设计题二:7人多数表决器
要求: 1、7人多数表决逻辑:多数通过。
2、在主持人控制下,10秒内表决有效。
3、采用数码管显示表决10秒倒计时。
4、表决结束后用发光二极管及数码管显示表决结果,数码管显示结果:通过、不通过,同意人数。
5、设主持人控制键、复位键。
控制键:启动表决
复位键:系统复位
6、表决开始、结束采用声音提示。
课程设计题三:日历和数字种
要求:
1、数字钟:时、分,小时用二十四进制显示,分钟用六十进制显示。
2、每月日历为30天,并显示星期几。
3、显示采用动态数码管显示方式或静态显示方式。
动态时显示八位:日期 星期几 小时 分钟
静态时显示四位:分别显示(日期30天 星期)和(小时 分钟)采用控制键切换或周期轮流显示。
4、具有清零的功能,且能够对小时、分钟进行调整(校时)。
5、具有整点、半点报时功能,整点用声音次数报时,半点特殊声音报时。
课程设计题四:LED彩灯控制器设计
要求:
1、至少10个发光管4种花样自动变换,循环往复。
2、彩灯花样变换的快慢节拍可以手动和自动方式控制,手动控制按钮按一次转换一次;自动控制方式每15秒变换一次,1分钟循环一遍。
3、系统复位清零开关。
课程设计题五:汽车尾灯控制器设计
要求:
1、汽车车尾左右两侧各有四盏灯:黄灯、红灯、雾灯、倒车照明灯,前面有照明灯(远光、近光)、黄灯、雾灯
2、白天正常行驶时照明灯都不亮,夜间行驶时两个前照明灯都亮。
3、左转弯时左侧黄灯闪亮(2Hz),右转弯时右侧黄灯闪亮。
4、汽车刹车时,两个红灯都亮。
5、能见度低或者夜间行驶时雾灯点亮。
6、倒车时红灯、倒车照明灯亮。
课程设计题六:秒表
要求:
1、计时范围:0~59分59.59秒,整数四位数和小数两位数显示;
2、计时精度10毫秒;
3、复位按钮,计时器清零,并做好下次计时准备;
4、可以对两个对象(A、B)计时,具有启/停控制;
3、设开始、停止A、停止B、显示A、显示B、复位按钮。
课程设计题七:交通灯控制器
要求:
1、红灯和绿灯相互转换时经过黄灯,黄灯闪烁三次(6秒);
2、主干道方向通行30秒,辅干道方向通行20秒,单独左转信号15秒;先直行信号,后左转信号。
3、设手动、自动、特殊情况三种方式。
4、特殊情况时所有路口红灯都亮,给120、110等通行。
5、自动时显示各种状态倒计时。
课程设计题八:篮球比赛计分器
要求:
1、两队各三位显示,共计六位数码显示;
2、设A、B队加、减分按键,复位键;
3、加减分实现1分、2分、3分加减。
课程设计题九:循环码编码器和译码器设计
要求:
1、单独设计一个8位循环码编码器;
2、单独设计一个8位循环码译码器;
3、两个模块连在一起工作。
课程设计题十:简易电子琴设计
要求:
1、设置三种音阶:低音、中音、高音控制按键;
2、设计1、2、3、4、5、6、7音(哆来咪法搜拉稀);
3、能弹奏一首简单的儿歌。
课程设计题十一:拔河游戏机设计
要求:
1、电路使用9个发光二极管表示拔河的“电子绳”,开机后只有中间一个发亮,此即拔河的中心点。游戏甲乙双方各持一个按钮,迅速地、不断地按动产生脉冲,谁按得快,亮点向谁方向移动,每按一次,亮点移动一次。亮点移到任一方终端二极管,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。
2、由裁判下达比赛开始命令后,甲乙双方才能输入信号,否则,输入信号无效。
3、用数码管显示获胜者的盘数,每次比赛结束自动给获胜方加分。
课程设计题十二:电子密码锁
要求:
1、在锁开的状态下输入密码,设置的密码共4位,用数据开关K1∼K10分别代表数字1、2、…、9、0,输入的密码用数码管显示,最后输入的密
码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示右移一位,并在左边空出的位上补充“0”。
2、用一位输出电平的状态代表锁的开闭状态,绿色发光管指示。
3、为保证密码锁主人能打开密码锁,设置一个万能密码,在主人忘记密码时使用。
第五篇:EDA 课程设计
《电子系统设计自动化》课程设计报告
学 院: 机电工程学院
题 目: 数字时钟电路设计 课 程: 《电子系统设计自动化》课程设计 专业班级: 电信10级2 班 学生姓名: 刘星 秦玉杰 王艳艳 学 号: 1004101035 1004101036 1004101038
完成日期:2013年 12 月 27 日
摘要:
EDA(Electronic Design Automation)电子设计自动化,就是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成用软件方式设计的电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次实习利用QuartusII为设计软件、VHDL为硬件描述语言,结合所学的数字电路的知识设计一个24时多功能数字钟,具有正常时、分、秒计时,动态显示,清零、快速校时校分、整点报时、花样显示等功能。利用硬件描述语言VHDL对设计系统的各个子模块进行逻辑描述,采用模块化的设计思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑分割、逻辑综合优化、逻辑布线、逻辑仿真,最终将设计的软件系统下载设计实验系统,对设计的系统进行硬件测试。
一、课程设计基本要求和任务
《EDA课程设计》是继《模拟电子技术基础》、《数字电子技术基础》课程后,电信专业学生在电子技术实验技能方面综合性质的实验训练课程,是电子技术基础的一个部分。1.1 目的和任务
(1)通过课程设计使学生能熟练掌握一种EDA软件(QUARTUSII)的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程,为以后进行工程实际问题的研究打下设计基础。
(2)通过课程设计使学生能利用EDA软件(QUARTUSII)进行至少一 个电子技术综合问题的设计,设计输入可采用图形输入法或VHDL硬件描述语言输入法。(3)通过课程设计使学生初步具有分析、寻找和排除电子电路中常见 故障的能力。
(4)通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。1.2 功能要求:
(1)具有时、分、秒计数显示功能,以24小时循环计时。(2)时钟计数显示时有LED灯的花样显示。(3)具有调节小时、分钟、秒及清零的功能。(4)具有整点报时功能。
1.3 总体方框图:
本系统可以由秒计数器、分钟计数器、小时计数器、整点报时、分的调整以及小时的调整和一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方法。显示:小时采用24进制,而分钟均是采用6进制和10进制的组合。1.4 设计原理:
数字钟电路设计要求所设计电路就有以下功能:时、分、秒计时显示,清零,时、分调节,整点报时及花样显示。分、秒计时原理相似,可以采用60进制BCD码计数器进计时;小时采用24进制BCD码进行计时;在设计时采用试验电路箱上的模式7电路,不需要进行译码电路的设计;所设计电路具有驱动扬声器和花样显示的LED灯信号产生。试验箱模式7的电路如图一所示:图一模式七实验电路图
1.5 性能指标及功能设计:
(1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分——60进制计数,即从0到59循环计数,时钟——24进制计数,即从0到23循环计数,并且在数码管上显示数值。
2.2 模块划分自顶向下分解
2.3 模块描述
时钟计时模块完成时、分、秒计数,及清零、调节时和分钟的功能。时、分、秒计数的原理相同,均为BCD码输出的计数器,其中分和秒均为六十进制BCD码计数器,小时为二十四进制BCD码计数器。设计一个具有异步清零和设置输出功能的六十进制BCD码计数器,再设计一个具有异步清零和设置输出功能的二十四进制计数器,然后将它们通过一定的组合构成时钟计时模块。各个输入/输出端口的作用为:
(1)clk为计时时钟信号,reset为异步清零信号;
(2)sethour为小时设置信号,setmin为分钟设置信号;(3)daout[5„0]为小时的BCD码输出, daout[6...0]为秒和分钟的BCD码输出,enmin和enhour为使能输出信号。
(4)在时钟整点的时候产生扬声器驱动信号和花样显示信号。由时钟计时模块中分钟的进行信号进行控制。当contr_en为高电平时,将输入信号clk送到输出端speak用于驱动扬声器,同时在clk的控制下,输出端lamp[2..0]进行循环移位,从而控制LED灯进行花样显示。输出控制模块有扬声器控制器和花样显示控制器两个子模块组成 2.4 顶层电路图
顶层文件是由四个模块组成,分别是时、分、秒计数器和报警的VHDL语言封装而成。经过锁定引脚再重新编译获得如下顶层原理电路图:
三、方案实现
3.1 各模块仿真及描述
(1)秒计数器模块仿真图:将标准秒信号送入”秒计数器”,秒计数器采用60进制计数器,每累计60秒发出一个分脉冲信号,该信号将作为分计数器的时钟脉冲,daout代表秒输出。
(2)分计数器电路仿真图:也采用60进制计数器,每累计60分钟,发出一个时脉冲信号,该信号将被送到时计数器,daout端口代表分钟输出
(3)小时计数器电路仿真图:时计数器采用12进制计时器,可实现对24小时累 计。每累计12小时,发出一个脉冲信号。
引脚配置完成后再进行一次全程编译,无误则可以下载到试验箱上进行硬件测试。硬件验证的方法如下:选择实验模式7;时钟脉冲clk与clock0(1024Hz)信号相连;键8和键5均为低电平,时钟正常计时,数码管1和2显示秒,数码管4和5显示分钟,数码管7和8显示小时;键8为高电平时,时钟清零;键5为高电平时,按下键7和键4进行调时调分操作;当时钟为整点的时候,三个发光二极管进行循环移位操作,同时扬声器发声。
五、心得体会
经过源程序的编辑、逻辑综合、逻辑适配、编程下载成功后,在EDA实验开发系统进行硬件验证时却发现实验结果不正确,扬声器无法发声。经检查,自己设计的管脚文件有错。将管脚锁定文件修改后,重新进行逻辑适配、编程下载成功后,实验结果仍然不正确,百思不得其解。无奈之下,决定重头开始排查每一步的细节,确定各个模块的功能完全实现并且顶层模块功能正确。修改之后,重新进行逻辑适配、编程下载验证,实验结果完全正确。
这次EDA课程设计历时两个星期,在整整两个星期的日子里,不仅巩固了以前所学过的知识,而且学到了很多书本上学不到的知识,同时锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,对未来有了更多的信心。这次课程设计,进一步加深了我对EDA的了解,使我对QuartusII的基本操作有所了解,使我对应用软件的方法设计硬件系统有了更加浓厚的兴趣。通过这次课程设计,我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合,从实践中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中,我遇到许多问题,毕竟是第一次应用VHDL进行硬件电路系统的设计,许多EDA的知识还没有充分的掌握,遇到困难也是在所难免的,同时发现了自己的不足之处:学习知识表面化,没有深入了解它们的原理。总的来说,这次设计的数字时钟电路还是比较成功的,尽管在设计中遇到了很多问题,最后在老师的辛勤指导、同学的帮助和自己不断思考下,终于迎刃而解,有点小小的成就感,觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的。最后,对给过我帮助的所有同学和指导老师再次表示忠心的感谢!
参考文献
[1] 崔健明.《电子电工EDA仿真技术》 高等教育出版社 2000年 [2] 卢杰,赖毅.《VHDL与数字电路设计》 科学出版社 2001年 [3] 潘松,黄继业.《EDA技术实用教程》 科学出版社 2002年 [4] 朱运利.《EDA技术应用》 电子工业出版社 2004年 [5] 张明.《VHDL实用教程》 电子科技大学出版社 1999年
[6] 彭介华.《电子技术课程设计与指导》 高等教育出版 1997年
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY minute IS PORT(clk,clk1,reset,sethour:IN STD_LOGIC;enhour:OUT STD_LOGIC;daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY minute;ARCHITECTURE fun OF minute IS SIGNAL count :STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL enhour_1, enhour_2: STD_LOGIC;--enmin_1为59分时的进位信号 BEGIN--enmin_2由clk调制后的手动调时脉冲信号串 daout<=count;enhour_2<=(sethour and clk1);--sethour为手动调时控制信号,高电平有效 enhour<=(enhour_1 or enhour_2);PROCESS(clk,reset,sethour)BEGIN IF(reset='0')THEN--若reset为0,则异步清零 count<=“0000000”;ELSIF(clk'event and clk='1')THEN--否则,若clk上升沿到 IF(count(3 DOWNTO 0)=“1001”)THEN--若个位计时恰好到“1001”即9 IF(count <16#60#)THEN--又若count小于16#60#,即60 IF(count=“1011001”)THEN--又若已到59D enhour_1<='1';--则置进位为1 count<=“0000000”;--count复0 ELSE count<=count+7;--若count未到59D,则加7,即作“加6校正” END IF;--使前面的16#60#的个位转变为8421BCD的容量 ELSE count<=“0000000”;--count复0(有此句,则对无效状态电路可自启动)END IF;--END IF(count<16#60#)ELSIF(count <16#60#)THEN count<=count+1;--若count<16#60#则count加1 enhour_1<='0' after 100 ns;--没有发生进位 ELSE count<=“0000000”;--否则,若count不小于16#60# count复0 END IF;--END IF(count(3 DOWNTO 0)=“1001”)END IF;--END IF(reset='0')END process;END fun;
3、时计数器模块的VHDL语言:
LIBRARY IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;
IF(clk'event and clk='1')THEN IF(dain=“0000000”)THEN speak<=count1(1);IF(count1>=“10”)THEN count1<=“00”;--count1为三进制加法计数器 ELSE count1<=count1+1;END IF;END IF;END IF;END PROCESS speaker;lamper:PROCESS(clk)BEGIN IF(rising_edge(clk))THEN IF(count<=“10”)THEN IF(count=“00”)THEN lamp<=“001”;--ELSIF(count=“01”)THEN lamp<=“010”;ELSIF(count=“10”)THEN lamp<=“100”;END IF;count<=count+1;ELSE count<=“00”;END IF;END IF;END PROCESS lamper;END fun;
循环点亮三只灯