篮球比赛数字记分牌的设计方案.docx
《篮球比赛数字记分牌的设计方案.docx》由会员分享,可在线阅读,更多相关《篮球比赛数字记分牌的设计方案.docx(11页珍藏版)》请在冰豆网上搜索。
篮球比赛数字记分牌的设计方案
篮球比赛记分牌
设计题目
用PLD器件EP1K10TC100-3及7段译码显示数码管,设计一个篮球比赛记分牌,具体要求如下:
设计要求1、根据比赛实际情况记录两队得分,罚球进的1分,进球的2分;
2、记分牌要具有纠错功能,能减1分、2分功能;
3、利用3个译码显示管输出比赛的分;
设计过程
指
导
教
师
评
语
评定
课
成绩程
设
计
等
级
(包括:
设计方案`上机设计与仿真结果`硬件实验方案,及实验结果`收获`和体会)
EDA技术以硬件描述语言来描述系统级设计,采用自顶向下的设计方法,并支持系
统仿真和高层综合。
VHDL语言具有具有很强的行为描述能力和多层次描述硬件功能的能力,是系统设计领域中使用最多的硬件描述语言之一;具有标准、规等优势,能在设计的各个阶段对电路系统进行仿真和模拟,使设计者在系统的设计早期就能检查设计系统的功能,极大的减少了可能发生的错误,减少了开发成本。
设计方案:
利用一个D触发器,3个4位二进制全加器,一个二选一数据选择器,3个七段译码显示管组成电路,此电路具有加减、复位、显示等功能。
能够满足比赛的实际要求。
..
1`
1.1
1.2
2
2.1
2.2
3
4
5()
6
7
....
..
一、课程设计题目、容与要求
1.1课程设计的题目:
篮球比赛记分牌
1.2课程设计容:
1、根据比赛实际情况记录两队得分,罚球进的1分,进球的2分;
2、记分牌要具有纠错功能,能减1分、2分功能;
3、利用3个译码显示管输出比赛的分;
二、系统设计
2.1设计思路:
篮球比赛记分牌是记录两队比赛的得分情况,并能够进行纠错功
能;根据系统设计的要求,篮球记分牌的电路原理框图如下:
2.2系统原理与设计说明
系统各个模块的功能如下:
....
..
1、D触发器电路模块实现翻转功能当出错时,输出为1,使电路回到
上一个正确的状态。
2、4为二进制全加器电路模块实现加法计数功能。
3、移位寄存器电路模块保存比赛两队得分情况的4个相邻状态,出
错时将调用上一个正确状态。
4、二选一数据选择器电路模块用来控制移位寄存器
5、LED数码管驱动电路模块
三、系统实现
各模块电路的源程序如下:
1、D触发器电路模块及程序:
set输入(Q=1),清零应该可以用复位键reset吧(Q=0)。
libraryieee;
useieee.std_logic_1164.all;
entitysync_rsdffis
port(d,clk:
instd_logic;
set:
instd_logic;
reset:
instd_logic;
q,qb:
outstd_logic);
endsync_rsdff;
architecturertl_arcofsync_rsdffis
begin
process(clk)
begin
if(clk'eventandclk='1')then
if(set='0'andreset='1')then
q<='1';
qb<='0';
elsif(set='1'andreset='0')then
q<='0';
qb<='1';
else
....
..
q<=d;
qb<=notd;
endif;
endif;
endprocess;
endrtl_arc;
2、移位寄存器模块电路及程序:
libraryIEEE;
useIEEE.std_logic_1164.all;
entityshft_regis
port(
DIR:
instd_logic;
CLK:
instd_logic;
CLR:
instd_logic;
SET:
instd_logic;
CE:
instd_logic;
LOAD:
instd_logic;
SI:
instd_logic;
DATA:
instd_logic_vector(3downto0);
data_out:
outstd_logic_vector(3downto0)
);
endshft_reg;
architectureshft_reg_archofshft_regis
signalTEMP_data_out:
std_logic_vector(3downto0);begin
process(CLK)
begin
ifrising_edge(CLK)then
ifCE='1'then
ifCLR='1'then
TEMP_data_out<="0000";
elsifSET='1'then
TEMP_data_out<="1111";
elsifLOAD='1'then
TEMP_data_out<=DATA;
else
ifDIR='1'then
TEMP_data_out<=SI&TEMP_data_out(3downto1);else
....
..
TEMP_data_out<=TEMP_data_out(2downto0)&SI;
endif;
endif;
endif;
endif;
endprocess;
data_out<=TEMP_data_out;
endarchitecture;
3、二选一数据选择器电路模块及程序:
entitymuxis
port(do,d1:
inbit;
sel:
inbit;
q:
outbit);
endmux;
architectureaofmuxis
begin
q<=(doandsel)or(notselandd1);
enda;
4、加法计数器的电路模块及程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYadd4IS
PORT(a1,a2,a3,a4:
INSTD_LOGIC;
b1,b2,b3,b4:
INSTD_LOGIC;
sum1,sum2,sum3,sum4:
OUTSTD_LOGIC;
cout4:
OUTSTD_LOGIC);
ENDadd4;
ARCHITECTUREadd_arcOFadd4IS
SIGNALcout1,cout2,cout3:
STD_LOGIC;
COMPONENThalfadd
PORT(a,b:
INSTD_LOGIC;
sum,hcarry:
OUTSTD_LOGIC);
ENDCOMPONENT;
COMPONENTfulladd
PORT(in1,in2,cin:
STD_LOGIC;
fsum,fcarry:
OUTSTD_LOGIC);
ENDCOMPONENT;
BEGIN
u1:
halfaddPORTMAP(a=>a1,b=>b1,sum=>sum1,hcarry=>cout1);
....
..
u2:
fulladdPORT
MAP(in1=>a2,in2=>b2,cin=>cout1,fsum=>sum2,fcarry=>cout2);
u3:
fulladdPORT
MAP(in1=>a3,in2=>b3,cin=>cout2,fsum=>sum3,fcarry=>cout3);
u4:
fulladdPORT
MAP(in1=>a4,in2=>b4,cin=>cout3,fsum=>sum4,fcarry=>cout4);
ENDadd_arc;
5、七段译码电路及程序:
libraryieee;
useieee.std_logic_1164.all;
entitydeledis
port(
datain:
instd_logic_vector(3downto0);
qout:
outstd_logic_vector(6downto0)
);
enddeled;
architecturefuncofdeledis
begin
process(datain)
begin
ifdatain="0000"thenqout<="1111110";
elsifdatain="0001"thenqout<="0110000";
elsifdatain="0010"thenqout<="1101101";
elsifdatain="0011"thenqout<="1111001";
elsifdatain="0100"thenqout<="0110011";
elsifdatain="0101"thenqout<="1011011";
elsifdatain="0110"thenqout<="1011111";
elsifdatain="0111"thenqout<="1110000";
elsifdatain="1000"thenqout<="1111111";
elsifdatain="1001"thenqout<="1111011";
elsenull;
endif;
endprocess;
endfunc;
四、系统仿真
1、D触发器电路模块仿真波形:
....
..
2、移位寄存器模块电路仿真波形:
3、二选一数据选择器电路模块仿真波形:
4、加法计数器的电路模块仿真波形:
....
..
5、七段译码电路仿真波形:
五﹑硬件验证说明
这次设计采用的硬件电路有芯片EP1K10TC100-3,实验板上标准时钟电路、LED显示等,
....
..
六、总结
此课题说明了使用VHDL语言设计数字电路的方法以及VHDL语言在数字电路设计仿真中的重要作用,仿真结果表明VHDL语言应用于数字电路仿真是切实可行的,该语言在电子设计领域受到了广泛的接受。
用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软
件进行编译优化仿真极减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。
通过对本设计项目的研究,使我进一步了解了EDA、数字电路等多门课程,
使得所学的专业知识有机地结合起来,得到了实践和运用的机会,且通过实践和
运用巩固了相关的理论知识,提高了工程实践能力。
例如:
使用MAX+PLUSII软件
和硬件实验平台都得到了充分的锻炼。
设计过程中,由于知识的局限性,我们遇到
过很多困难,不知这样把各个功能模块很好的结合起来,耗费了大了量的时间,但我们并没放弃,克服困难,逐步摸索方法,找到问题所在,缩短了设计周期。
从本设计看出,要做真正的设计、研究,我们现在的知识还远远不够,还需学习更多、更广、更先进的知识才行!
七、参考书目
[1]《PLD与数字系统设计》辉电子科技大学2005
[2]《EDA技术及可编程逻辑器件应用实训》明山科学2004
[3]《VHDL数字系统设计与高层次综合》林敏方颖立著:
电子工业2002
[4]《VHDL程序设计》曾繁泰美金著:
清华大学2001
[5]《EDA技术实验与课程设计》昕燕周风臣清华大学2005
[6]《PLD器件与EDA技术》冬梅广播学院2000
....