湖南涉外经济学院
课程设计报告
课程名称:EDA技术与应用
报告题目:乒乓球比赛游戏机的设计 学生姓名:
所在学院:
专业班级:
学生学号:
指导教师:
2014年12月30日
课程设计任务书
乒乓球游戏电路是一个对输入信号、输入时机正确与否的16个LED表示乒乓球球台和乒乓球,用数码管模拟显示器,显示比赛局数比分和每局玩家得分的电路。电路并不复杂,整体分为两个模块:一,游戏主模块;二,计分显示模块。主模块完成用LED表示球和球台并对玩家是否击球、是否犯规做出判断,并且将两位玩家的游戏得分进行输出。计分显示模块完成对局数比分的运算,显示局数比分和每局游戏玩家的得分。实现中采用Verilog HDL描述、ModelSim进行功能仿真、Quartus II 进行逻辑综合和适配下载,选用CycloneIII系列EP3C80F484C8型号的芯片上实现。在此过程中,完整地建立了测试平台,完成了功能和时序仿真,从而保证了设计的功能与时序的正确性。
关键词:Verilog HDL;FPGA;乒乓球游戏
一、概述............................................................ 1
二、设计的目的...................................................... 1
三、总体设计思想.................................................... 1
3.1 基本原理 .................................................... 1
3.2 设计框图 .................................................... 2
四、设计步骤和调试过程.............................................. 2
4.1 总体设计电路 ................................................ 2
4.2 乒乓球各模块的设计 .......................................... 3
4.2.1 控制模块的设计......................................... 3
4.2.2 送数据模块的设计....................................... 6
4.2.3 产生数码管片选信号模块的设计........................... 7
4.2.4 7段译码器模块的设计 ................................... 8
五、波形仿真与实验调试............................................. 10
5.1系统的波形仿真.............................................. 10
5.2 实验调试结果 ............................................... 12
六、结论与心得..................................................... 12
七、参考文献....................................................... 13
一、概述
乒乓球运动是一项受大众非常喜爱的运动,它是一项集健身性,竞技性和娱乐性为一体的运动。乒乓球是一项非常受大众喜欢的运动,几十年来,乒乓球运动在中国迅速兴起,很重要的原因就是对客观条件要求不高,随时随处就能玩起来。乒乓球运动越来越多地被作为增强智力、提高工作效率以及保健、医疗和康复的极佳手段而引起各方面的重视。如今,人们生活太忙碌,很多的人只能通过网络来玩乒乓球游戏,而乒乓球游戏机正好解决了人们的困扰。它简单易行,只要简简单单几个手指的操作就能达到同样娱乐跟锻炼的效果。
二、设计的目的
这次的设计主要是学习使用EDA集成设计软件MxplussII,电路描述,综合,模拟过程。掌握使用EDA工具设计乒乓游戏机的的设计思路和设计方法。体会使用EDA综合过程中电路设计方法和设计思路的不同。
三、总体设计思想
3.1 基本原理
用8个LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。
3.2 设计框图
图1 设计流程图
图2 乒乓球游戏机原理图
四、设计步骤和调试过程
4.1 总体设计电路
用8个发光二极管代表乒乓球台,在游戏机的两侧设置两个开关,一个是发球开关,一个是击球开关,甲方按动发球开关时,靠近甲方的第一盏灯亮,然后发光二极管由甲向乙依次点亮,代表乒乓球在移动。当球过网后,乙方就可击球。若乙方提前击球或没击中球,则判乙方失分,甲方自动加分,重新发球比赛继续进行到一方记分到21分,该局结束,记分牌清零,可以开始新的一局比赛。
使用VHDL进行电路系统设计,利用PLD来实现控制器的硬件电路。
图3 乒乓游戏机的电路框图
4.2 乒乓球各模块的设计
4.2.1 控制模块的设计
模块corna 分两个进程,第一个进程实现逻辑功能,第二个进程将整数的记分转换为十进制数,便于译码显示。Af,aj,bf,bj分别为a方发球键和接球键,b方发球键和接球键,shift表示球所在的位置。其vhdl程序描述如下:
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity cornal is
Port(clr,af,aj,bf,bj,clk:in std_logic;
Shift:out std_logic_vector(7 downto 0);
ah,al,bh,bl:out std_logic_vector(3 downto 0);
awin,bwin:out std_logic);
End cornal;
Architecture bahave of cornal is
Signal amark,bmark:integer;
Begin
Process(clr,clk)
Variable a,b:std_logic;
Variable she:std_logic_vector(7 downto 0);
Begin
If clr='0' then
a:='0';
b:='0';
she:="00000000" ;
amark
bmark
elsif clk'event and clk='1' then
if a='0' and b='0' and af='0' then --a方发球
a:='1';
she:="10000000";
elsif a='0' and b='0' and bf='0' then --b方发球
b:='1';
she:="00000001";
elsif a='1'and b='0' then --a方发球后
if she>8 then
if bj='0' then --b方过网击球
amark
a:='0';
b:='0';
she:="00000000";
else
she:='0'&she(7 downto 1); --b方没有击球
end if; elsif she=0 then --球从b方出界
amark
a:='0';
else
if bj='0'then --b方正常击球
a:='0';
b:='0';
else
she:=she(6 downto 0)&'0';
end if;
end if;
end if;
end if;
shift
end process;
process(clk,clr,amark,bmark)
variable aha,ala,bha,bla:std_logic_vector(3 downto 0);
variable tmp1,tmp2:integer; variable t1,t2:std_logic;
begin
if clr='0'then --清零
aha:="0000";
ala:="0000";
bha:="0000";
bla:="0000";
tmp1:=0;
tmp2:=0;
t1:='0';
t2:='0';
elsif clk'event and clk='1'then
if aha="0001"and ala="0001" then --a方得分达到11分,则保持 aha:="0001";
ala:="0001";
t1:='1';
elsif bha="0001"and bla="0001" then --b方得分达到11分,则保持 bha:="0001";
bla:="0001";
elsif amark>tmp1 then
if ala="1001" then ala:="0000";
tmp1:=tmp1+1; aha:=aha+1;
else
ala:=ala+1;
tmp1:=tmp1+1;
end if;
elsif bmark>tmp2 then
if bla="1001" then
bla:="0000";
bha:=bha+1;
tmp2:=tmp2+1;
else
bla:=bla+1;
tmp2:=tmp2+1;
end if;
end if;
end if;
al
bl
ah
bh
awin
bwin
end process;
end bahave;
4.2.2 送数据模块的设计
送数据模块ch41a的vhdl程序描述如下:
Library IEEE;
Use IEEE.std_logic_1164.all; Entity ch41a is
Port(sel:in std_logic_vector(2 downto 0); D0,d1,d2,d3:in std_logic_vector(3 downto 0); Q:out std_logic_vector(3 downto 0)); End ch41a;
Architecture behave of ch41a is Begin Process(sel) Begin Case sel is When"100"=>qqqq
4.2.3 产生数码管片选信号模块的设计
产生数码管片选信号模块sel的vhdl程序描述如下:
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all; Entity sel is
Port(clk:in std_logic;
Sell:out std_logic_vector(2 downto 0)); End sel;
Architecture behave of sel is Begin Process(clk)
Variable tmp:std_logic_vector(2 downto 0); Begin
if clk'event and clk='1' then If tmp="000" then Tmp:="001";
Elsif tmp="001"then Tmp:="100";
Elsif Tmp="100"then Tmp:="101";
Elsif tmp="101" then Tmp:="000"; End if; End if; Sell
4.2.4 7段译码器模块的设计
7段译码器模块disp的vhdl的程序描述如下: Library ieee;
Use ieee.std_logic_1164.all;
Entity disp is
Port(d:in std_logic_vector(3 downto 0); Q:out std_logic_vector(6 downto 0)); End disp;
Architecture behave of disp is Begin Process(d) Begin Case d is
When"0000"=>qqqqqqqqqq
五、波形仿真与实验调试 5.1系统的波形仿真
图4所示为A方发球,在恰当的时候B方接到球,当球回到A方时,A方又接到球,但B方再也没有接到球的仿真波形。
图4 乒乓球仿真波形一
图5所示为A方两次发球,B方没有接到球,A方得到2分的仿真波形图。
图5乒乓球仿真波形二
图6所示为A方发球,B方提前击球的情况,此时,A方得一分。图中还显示了A方发球,B方在规定的时刻没有接到球的情况,此时,A方又得一分。
图6乒乓球仿真波形三
图7所示为A方得分增加到11分的情况,此时awin输出高电平,输出分数保持不变。当清零信号按下时,得分清为零,awin输出恢复低电平,又可以开始新的一局比赛。
图7乒乓球仿真波形四
5.2 实验调试结果
通过调试我们可以观察到,8个LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球有效。
表1 学生情况统计表
序号 1 2
姓名 夏梓轩 潘宇
性
出生日期 别
学号
专业 电子信息科学与工程 电子信息科学与工程
联系电话 [1**********] [1**********]
备注
男 1993.08.05 [1**********]428 男 1994.06.20 [1**********]051
六、结论与心得
这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,
而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也能仿真正确了。最难的是引脚锁定与测试这一块,由于,我选的乒乓球游戏机的引脚很多,而且也比较复杂,其中老是将引脚弄错,终于锁定完了,编译也没有出错,当在硬件上测试的时候,发现结果并不像设定的那么好,比如在发球的时候,根本没有设置首先从哪边开始,然后在接发球的过程中很难接到,不过也有接到的时候,基本上达到了实验的要求。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
七、参考文献
[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005. [2] 甘历.VHDL应用与开发实践[M].科学出版社.2003
[3]杨恒,卢飞成. FPGA/VHDL快速工程实践入门与提高[M].北京航空航天大学
出版社.2003
[4] 张亦华等主编,《数字逻辑设计实验技术与EDA工具》,北京邮电大学出版社,2003
[5] 朱正伟主编,《EDA技术及应用》,清华大学出版社,2005 [6]黄智伟等主编,《FPGA系统设计与实践》,电子工业出版社,2004
湖南涉外经济学院
课程设计报告
课程名称:EDA技术与应用
报告题目:乒乓球比赛游戏机的设计 学生姓名:
所在学院:
专业班级:
学生学号:
指导教师:
2014年12月30日
课程设计任务书
乒乓球游戏电路是一个对输入信号、输入时机正确与否的16个LED表示乒乓球球台和乒乓球,用数码管模拟显示器,显示比赛局数比分和每局玩家得分的电路。电路并不复杂,整体分为两个模块:一,游戏主模块;二,计分显示模块。主模块完成用LED表示球和球台并对玩家是否击球、是否犯规做出判断,并且将两位玩家的游戏得分进行输出。计分显示模块完成对局数比分的运算,显示局数比分和每局游戏玩家的得分。实现中采用Verilog HDL描述、ModelSim进行功能仿真、Quartus II 进行逻辑综合和适配下载,选用CycloneIII系列EP3C80F484C8型号的芯片上实现。在此过程中,完整地建立了测试平台,完成了功能和时序仿真,从而保证了设计的功能与时序的正确性。
关键词:Verilog HDL;FPGA;乒乓球游戏
一、概述............................................................ 1
二、设计的目的...................................................... 1
三、总体设计思想.................................................... 1
3.1 基本原理 .................................................... 1
3.2 设计框图 .................................................... 2
四、设计步骤和调试过程.............................................. 2
4.1 总体设计电路 ................................................ 2
4.2 乒乓球各模块的设计 .......................................... 3
4.2.1 控制模块的设计......................................... 3
4.2.2 送数据模块的设计....................................... 6
4.2.3 产生数码管片选信号模块的设计........................... 7
4.2.4 7段译码器模块的设计 ................................... 8
五、波形仿真与实验调试............................................. 10
5.1系统的波形仿真.............................................. 10
5.2 实验调试结果 ............................................... 12
六、结论与心得..................................................... 12
七、参考文献....................................................... 13
一、概述
乒乓球运动是一项受大众非常喜爱的运动,它是一项集健身性,竞技性和娱乐性为一体的运动。乒乓球是一项非常受大众喜欢的运动,几十年来,乒乓球运动在中国迅速兴起,很重要的原因就是对客观条件要求不高,随时随处就能玩起来。乒乓球运动越来越多地被作为增强智力、提高工作效率以及保健、医疗和康复的极佳手段而引起各方面的重视。如今,人们生活太忙碌,很多的人只能通过网络来玩乒乓球游戏,而乒乓球游戏机正好解决了人们的困扰。它简单易行,只要简简单单几个手指的操作就能达到同样娱乐跟锻炼的效果。
二、设计的目的
这次的设计主要是学习使用EDA集成设计软件MxplussII,电路描述,综合,模拟过程。掌握使用EDA工具设计乒乓游戏机的的设计思路和设计方法。体会使用EDA综合过程中电路设计方法和设计思路的不同。
三、总体设计思想
3.1 基本原理
用8个LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。
3.2 设计框图
图1 设计流程图
图2 乒乓球游戏机原理图
四、设计步骤和调试过程
4.1 总体设计电路
用8个发光二极管代表乒乓球台,在游戏机的两侧设置两个开关,一个是发球开关,一个是击球开关,甲方按动发球开关时,靠近甲方的第一盏灯亮,然后发光二极管由甲向乙依次点亮,代表乒乓球在移动。当球过网后,乙方就可击球。若乙方提前击球或没击中球,则判乙方失分,甲方自动加分,重新发球比赛继续进行到一方记分到21分,该局结束,记分牌清零,可以开始新的一局比赛。
使用VHDL进行电路系统设计,利用PLD来实现控制器的硬件电路。
图3 乒乓游戏机的电路框图
4.2 乒乓球各模块的设计
4.2.1 控制模块的设计
模块corna 分两个进程,第一个进程实现逻辑功能,第二个进程将整数的记分转换为十进制数,便于译码显示。Af,aj,bf,bj分别为a方发球键和接球键,b方发球键和接球键,shift表示球所在的位置。其vhdl程序描述如下:
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity cornal is
Port(clr,af,aj,bf,bj,clk:in std_logic;
Shift:out std_logic_vector(7 downto 0);
ah,al,bh,bl:out std_logic_vector(3 downto 0);
awin,bwin:out std_logic);
End cornal;
Architecture bahave of cornal is
Signal amark,bmark:integer;
Begin
Process(clr,clk)
Variable a,b:std_logic;
Variable she:std_logic_vector(7 downto 0);
Begin
If clr='0' then
a:='0';
b:='0';
she:="00000000" ;
amark
bmark
elsif clk'event and clk='1' then
if a='0' and b='0' and af='0' then --a方发球
a:='1';
she:="10000000";
elsif a='0' and b='0' and bf='0' then --b方发球
b:='1';
she:="00000001";
elsif a='1'and b='0' then --a方发球后
if she>8 then
if bj='0' then --b方过网击球
amark
a:='0';
b:='0';
she:="00000000";
else
she:='0'&she(7 downto 1); --b方没有击球
end if; elsif she=0 then --球从b方出界
amark
a:='0';
else
if bj='0'then --b方正常击球
a:='0';
b:='0';
else
she:=she(6 downto 0)&'0';
end if;
end if;
end if;
end if;
shift
end process;
process(clk,clr,amark,bmark)
variable aha,ala,bha,bla:std_logic_vector(3 downto 0);
variable tmp1,tmp2:integer; variable t1,t2:std_logic;
begin
if clr='0'then --清零
aha:="0000";
ala:="0000";
bha:="0000";
bla:="0000";
tmp1:=0;
tmp2:=0;
t1:='0';
t2:='0';
elsif clk'event and clk='1'then
if aha="0001"and ala="0001" then --a方得分达到11分,则保持 aha:="0001";
ala:="0001";
t1:='1';
elsif bha="0001"and bla="0001" then --b方得分达到11分,则保持 bha:="0001";
bla:="0001";
elsif amark>tmp1 then
if ala="1001" then ala:="0000";
tmp1:=tmp1+1; aha:=aha+1;
else
ala:=ala+1;
tmp1:=tmp1+1;
end if;
elsif bmark>tmp2 then
if bla="1001" then
bla:="0000";
bha:=bha+1;
tmp2:=tmp2+1;
else
bla:=bla+1;
tmp2:=tmp2+1;
end if;
end if;
end if;
al
bl
ah
bh
awin
bwin
end process;
end bahave;
4.2.2 送数据模块的设计
送数据模块ch41a的vhdl程序描述如下:
Library IEEE;
Use IEEE.std_logic_1164.all; Entity ch41a is
Port(sel:in std_logic_vector(2 downto 0); D0,d1,d2,d3:in std_logic_vector(3 downto 0); Q:out std_logic_vector(3 downto 0)); End ch41a;
Architecture behave of ch41a is Begin Process(sel) Begin Case sel is When"100"=>qqqq
4.2.3 产生数码管片选信号模块的设计
产生数码管片选信号模块sel的vhdl程序描述如下:
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all; Entity sel is
Port(clk:in std_logic;
Sell:out std_logic_vector(2 downto 0)); End sel;
Architecture behave of sel is Begin Process(clk)
Variable tmp:std_logic_vector(2 downto 0); Begin
if clk'event and clk='1' then If tmp="000" then Tmp:="001";
Elsif tmp="001"then Tmp:="100";
Elsif Tmp="100"then Tmp:="101";
Elsif tmp="101" then Tmp:="000"; End if; End if; Sell
4.2.4 7段译码器模块的设计
7段译码器模块disp的vhdl的程序描述如下: Library ieee;
Use ieee.std_logic_1164.all;
Entity disp is
Port(d:in std_logic_vector(3 downto 0); Q:out std_logic_vector(6 downto 0)); End disp;
Architecture behave of disp is Begin Process(d) Begin Case d is
When"0000"=>qqqqqqqqqq
五、波形仿真与实验调试 5.1系统的波形仿真
图4所示为A方发球,在恰当的时候B方接到球,当球回到A方时,A方又接到球,但B方再也没有接到球的仿真波形。
图4 乒乓球仿真波形一
图5所示为A方两次发球,B方没有接到球,A方得到2分的仿真波形图。
图5乒乓球仿真波形二
图6所示为A方发球,B方提前击球的情况,此时,A方得一分。图中还显示了A方发球,B方在规定的时刻没有接到球的情况,此时,A方又得一分。
图6乒乓球仿真波形三
图7所示为A方得分增加到11分的情况,此时awin输出高电平,输出分数保持不变。当清零信号按下时,得分清为零,awin输出恢复低电平,又可以开始新的一局比赛。
图7乒乓球仿真波形四
5.2 实验调试结果
通过调试我们可以观察到,8个LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球有效。
表1 学生情况统计表
序号 1 2
姓名 夏梓轩 潘宇
性
出生日期 别
学号
专业 电子信息科学与工程 电子信息科学与工程
联系电话 [1**********] [1**********]
备注
男 1993.08.05 [1**********]428 男 1994.06.20 [1**********]051
六、结论与心得
这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,
而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也能仿真正确了。最难的是引脚锁定与测试这一块,由于,我选的乒乓球游戏机的引脚很多,而且也比较复杂,其中老是将引脚弄错,终于锁定完了,编译也没有出错,当在硬件上测试的时候,发现结果并不像设定的那么好,比如在发球的时候,根本没有设置首先从哪边开始,然后在接发球的过程中很难接到,不过也有接到的时候,基本上达到了实验的要求。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
七、参考文献
[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005. [2] 甘历.VHDL应用与开发实践[M].科学出版社.2003
[3]杨恒,卢飞成. FPGA/VHDL快速工程实践入门与提高[M].北京航空航天大学
出版社.2003
[4] 张亦华等主编,《数字逻辑设计实验技术与EDA工具》,北京邮电大学出版社,2003
[5] 朱正伟主编,《EDA技术及应用》,清华大学出版社,2005 [6]黄智伟等主编,《FPGA系统设计与实践》,电子工业出版社,2004