EDA课程设计

发布 2022-09-30 20:30:28 阅读 9085

成功的途径有很多种,抄也是一种捷径!

职业技术学院。

学生课程设计报告。

课程名称: 基于vhdl四路抢答器

专业班级: 电子102

姓名: xxxxxxxxxx

学号: xxxxxxxxxxxxx

学期: 2011-2012-2

指导教师: xxxxxxxxxx

目录。1.课程设计题目和要求3

2.课程设计报告内容3

2.1方案设计与论证3

2.2单元模块设计3

2.3主电路原理图9

2.4器件编程与**9

2.5性能测试与分析9

3.总结94.致谢10

5.参考文献10

i题目:基于vhdl四路抢答器的设计。

1.课程设计的目的和要求:

1)设计一个可容纳4组参赛的数字式抢答器,每组设一个按钮,供抢答使用。

2)具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。

3)设置一个主持人“复位”按钮,主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器发出声音。

2.课程设计报告内容:

1)方案设计与论证:

将该任务设计的为一个四路抢答器,分成三个模块进行设计:抢答鉴别模块、选择模块和报警模块(vhdl语言编程)。

2)单元模块设计:

a.抢答鉴别模块:

1、vhdl源程序。

library ieee;

use entity jdjb is

port( clk2,rst: in std_logic;

s: in std_logic_vector(3 downto 0);

warn: buffer std_logic;

states: out std_logic_vector(3 downto 0) )

end qdjb;

architecture one of qdjb is

signal so: std_logic_vector(3 downto 0);

beginprocess(clk2,s,)

beginif rst='0' then

so<="0000";

elsif clk2'event and clk2'=1' then

if so="0000" then

if s/="0000" then

so<=s;

end if;

end if;

end if;

warn<=so(0)or so(1) or so(2) or so(3);

case so is

when "0001"=>xuanshou<="0001";

when "0010"=>xuanshou<="0010";

when "0100"=>xuanshou<="0011";

when "1000"=>xuanshou<="0100";

when others=>xuanshou<="0000";

end case;

end process;

end one;

2、**图:

b.数据选择模块:

1、vhdl源程序:

library ieee;

use use

entity sjxz is

port ( a,b,c: in std_logic_vector(3 downto 0);

clk: in std_logic;

s: out std_logic_vector(1 downto 0);

y: out std_logic_vector(3 downto 0) )

end sjxz;

architecture one of sjxz is

signal count: std_logic_vector (1 downto 0);

begins<=count;

process(clk,count)

beginif clk'event and clk='1' then

if count>="10" then

count<="00";

else count<=count+1;

end if;

end if;

case count is

when "00"=>y<=a;

when "01"=>y<=b;

when "10"=>y<=c;

when others=>null;

end case;

end process;

end one;

2、**图:

1、vhdl源程序:

library ieee;

use use

entity bj is

port( i,clk: in std_logic;

q: out std_logic);

end bj;

architecture beh**e of bj is

signal warn: std_logic;

signal n: integer range 0 to 700;

beginq<= warn;

process (clk)

beginif clk'event and clk='1' then

if i='0' then

warn <=0';

elsif (i='1'and n<=700) then

warn <=1';

n<=n+1;

elsewarn <=0';

end if;

end if;

end process;

end beh**e;

2、**图:

4)器件编程与**:

将编译好的模块程序**到cpld中:device(epf10k10lc84-3)选取要与硬件对应,否则会导致实验失败,连线做硬件实验。

5)性能测试与分析:

按下rst键观察数码管是否复位并开始倒计时,蜂鸣器是否发出提示声;按下s0,观察数码管是否显示1,再按s1,数码管均不改变显示,按下四个抢答键时,蜂鸣器是否发出报警;按下rst键,等待计时时间到,观察是否显示00,蜂鸣器是否发出报警。

3.总结:在这次eda设计与实践课程中,通过对qutusu6.0的使用,让我加深理解了vhdl程序设计的步骤和原理。

我们的题目是四路抢答器设计,刚开始一头雾水,通过查资料和借鉴前辈的作品,我一步一步从迷茫到困惑再到柳暗花明,从一点一点中学习,一点一点进步。我发现做学问不可以迷信,要有怀疑一切的态度,并且要知其然知其所以然,静下心来,仔细研究,才能有所发现。

编写程序是一定要思路清晰,在该设计的计时模块正是这一点的体现,一步一步来,不可急于求成,在遵守规则并有章可循的前提下,大胆发挥勇于尝试,对于出现的错误一定要研究不可放过,此时放过下次还会出现。不断总结才能不断进步。

总的来说,这次设计的抢答器还是比较成功的,在设计中遇到了很多问题,最后在老师的指导以及我们大家不懈努力下,终于迎刃而解,心中的成就感,不说也都明白。平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力。同时为以后的毕业设计打下了坚实的基础。

4.致谢:在这次的eda课程设计过程中,我要感谢老师多次的教导,去学习和怎样使用该软件,也要感谢同学们的热情帮助,才使我顺利完成设计。

1)延明,张亦华。数字电路eda技术入门。北京。北京邮电大学出版社。2006.

2)章彬宏。eda应用技术。北京:北京理工大学出版社,2007.

3)王振红。vhdl数字电路设计与应用实践教程。北京。机械工业出版社。

4)焦素梅,eda应用技术。北京。清华大学出版社。2005.

EDA课程设计

题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...

eda课程设计

哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...

eda课程设计

目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...