您的当前位置:首页正文

EDA课程设计——篮球球比赛计分器

来源:化拓教育网
EDA课程设计——-篮球球比赛计分器

<<电子设计自动化EDA技术>>课程

设计报告

题目: 篮球比赛记分牌

姓 名: 院 系: 专 业: 学 号: 指导教师:

完成时间:

年 月

1

设计题目 篮球比赛记分牌 用PLD器件EP1K10TC100-3及7段译码显示数码管,设计一个篮球比赛记分牌,具体要求如下: 设计要求 1、 根据比赛实际情况记录两队得分,罚球进的1分,进球的2分; 2、 记分牌要具有纠错功能,能减1分、2分功能; 3、 利用3个译码显示管输出比赛的分; (包括:设计方案`上机设计与仿真结果`硬件实验方案,及实验结果`收获`和体会) EDA技术以硬件描述语言来描述系统级设计,采用自顶向下的设计方法,并支持系统设计过程 仿真和高层综合。VHDL语言具有具有很强的行为描述能力和多层次描述硬件功能的能力,是系统设计领域中使用最多的硬件描述语言之一;具有标准、规范等优势,能在设计的各个阶段对电路系统进行仿真和模拟,使设计者在系统的设计早期就能检查设计系统的功能,极大的减少了可能发生的错误,减少了开

2

发成本。 设计方案: 利用一个D触发器,3个4位二进制全加器,一个二选一数据选择器,3个七段译码显示管组成电路,此电路具有加减、复位、显示等功能。能够满足比赛的实际要求。 语指 导教评师评定课 成程绩 设计等级 目录

1 课程设计题目`内容与要求……………………… 1.1 设计内容 1.2 具体要求

2系统设计………………………… 2.1 设计思路

3

2.2 系统原理

3 系统实现……………………………………………

4 系统仿真……………………………………………

5硬件验证(操作)说明………………………………

6 总结…………………………………………………

7参考书目……………………………………………

一、 课程设计题目、内容与要求

1.1课程设计的题目:篮球比赛记分牌 1.2课程设计内容:

1、 根据比赛实际情况记录两队得分,罚球进的1分,进球的2分;

2、 记分牌要具有纠错功能,能减1分、2分功能;

4

3、 利用3个译码显示管输出比赛的分;

二、 系统设计

2.1设计思路:

篮球比赛记分牌是记录两队比赛的得分情况,并能够进行纠错功能;根据系统设计的要求,篮球记分牌的电路原理框图如下:

2.2 系统原理与设计说明 系统各个模块的功能如下:

1、D触发器电路模块实现翻转功能当出错时,输出为1,使电路回到上一个正确的状态。

2、4为二进制全加器电路模块实现加法计数功能。

5

3、移位寄存器电路模块保存比赛两队得分情况的4个相邻状态,出错时将调用上一个正确状态。

4、二选一数据选择器电路模块 用来控制移位寄存器 5、 LED数码管驱动电路模块

三、系统实现

各模块电路的源程序如下: 1、D触发器电路模块及程序:

set输入(Q=1),清零应该可以用复位键reset吧(Q=0)。 library ieee;

entity sync_rsdff is

port(d,clk : in std_logic; set : in std_logic; reset: in std_logic; q,qb : out std_logic); end sync_rsdff;

architecture rtl_arc of sync_rsdff is begin

process(clk) begin

if (clk'event and clk='1') then if(set='0' and reset='1') then q<='1'; qb<='0';

elsif (set='1' and reset='0') then q<='0'; qb<='1'; else

6

q<=d;

qb<=not d; end if; end if;

end process; end rtl_arc;

2、 移位寄存器模块电路及程序:

library IEEE;

entity shft_reg is

port ( DIR : in std_logic; CLK : in std_logic; CLR : in std_logic; SET : in std_logic; CE : in std_logic; LOAD : in std_logic; SI : in std_logic; DATA : in std_logic_vector(3 downto 0); data_out : out std_logic_vector(3 downto 0) );

end shft_reg;

architecture shft_reg_arch of shft_reg is

signal TEMP_data_out : std_logic_vector(3 downto 0); begin process(CLK) begin

if rising_edge(CLK) then if CE = '1' then if CLR = '1' then

TEMP_data_out <= \"0000\"; elsif SET = '1' then

7

TEMP_data_out <= \"1111\"; elsif LOAD = '1' then

TEMP_data_out <= DATA; else

if DIR = '1' then

TEMP_data_out <= SI & TEMP_data_out(3 downto 1); else

TEMP_data_out <= TEMP_data_out(2 downto 0) & SI; end if; end if; end if; end if;

end process;

data_out <= TEMP_data_out; end architecture;

3、二选一数据选择器电路模块及程序:

entity mux is

port(do,d1:in bit; sel:in bit; q:out bit); end mux;

architecture a of mux is begin

q<=(do and sel)or(not sel and d1); end a;

4、加法计数器的电路模块及程序:

LIBRARY IEEE;

8

ENTITY add4 IS

PORT(a1,a2,a3,a4:IN STD_LOGIC; b1,b2,b3,b4:IN STD_LOGIC;

sum1,sum2,sum3,sum4:OUT STD_LOGIC; cout4:OUT STD_LOGIC); END add4;

ARCHITECTURE add_arc OF add4 IS

SIGNAL cout1,cout2,cout3:STD_LOGIC; COMPONENT halfadd

PORT(a,b:IN STD_LOGIC;

sum,hcarry:OUT STD_LOGIC); END COMPONENT; COMPONENT fulladd

PORT(in1,in2,cin:STD_LOGIC;

fsum,fcarry:OUT STD_LOGIC); END COMPONENT; BEGIN

u1:halfadd PORT MAP(a=>a1,b=>b1,sum=>sum1,hcarry=>cout1); u2:fulladd MAP(in1=>a2,in2=>b2,cin=>cout1,fsum=>sum2,fcarry=>cout2);

u3:fulladd MAP(in1=>a3,in2=>b3,cin=>cout2,fsum=>sum3,fcarry=>cout3);

u4:fulladd MAP(in1=>a4,in2=>b4,cin=>cout3,fsum=>sum4,fcarry=>cout4);

END add_arc;

5、七段译码电路及程序:

library ieee;

entity deled is port(

datain:in std_logic_vector(3 downto 0); qout:out std_logic_vector(6 downto 0) ); end deled;

architecture func of deled is begin

process(datain)

9

PORT PORT PORT

begin

if datain= \"0000\" then qout<=\"1111110\"; elsif datain= \"0001\" then qout<=\"0110000\"; elsif datain= \"0010\" then qout<=\"1101101\"; elsif datain= \"0011\" then qout<=\"1111001\"; elsif datain= \"0100\" then qout<=\"0110011\"; elsif datain= \"0101\" then qout<=\"1011011\"; elsif datain= \"0110\" then qout<=\"1011111\"; elsif datain= \"0111\" then qout<=\"1110000\"; elsif datain= \"1000\" then qout<=\"1111111\"; elsif datain= \"1001\" then qout<=\"1111011\"; else null; end if;

end process; end func;

四、系统仿真

1、D触发器电路模块仿真波形:

2、移位寄存器模块电路仿真波形:

3、二选一数据选择器电路模块仿真波形:

10

4、加法计数器的电路模块仿真波形:

5、七段译码电路仿真波形:

五﹑硬件验证说明

这次设计采用的硬件电路有芯片EP1K10TC100-3,实验板上标准时钟电路、LED 显示等,

11

六、总结 七、参考书目

[1]《PLD与数字系统设计》李辉 西安电子科技大学出版社 2005

[2]《EDA技术及可编程逻辑器件应用实训》沈明山 北京科学出版社 2004 [3]《VHDL数字系统设计与高层次综合》林敏 方颖立著北京:电子工业出版社 2002

[4]《VHDL程序设计》曾繁泰 陈美金著北京: 清华大学出版社 2001 [5]《EDA技术实验与课程设计》曹昕燕 周风臣 清华大学出版社 2005 [6]《PLD器件与EDA技术》李冬梅 北京广播学院出版社2000

12

因篇幅问题不能全部显示,请点此查看更多更全内容