1 引言 .................................................................................................................................................... 1 1.1 设计背景 ...................................................................................................................................... 1 1.2 VHDL简介 .................................................................................................................................. 1 1.3 QUARTUSⅡ简介 .......................................................................................................................... 3 2 乒乓球比赛游戏机的设计 ................................................................................................................ 3 2.1 系统设计要求 .............................................................................................................................. 3 2.2 设计思路 ...................................................................................................................................... 4 3 乒乓球比赛游戏机的实现 ................................................................................................................ 6 3.1 乒乓球比赛游戏机的顶层原理图 .............................................................................................. 6 3.2 系统各功能模块的实现 .............................................................................................................. 6 3.2.1 比赛控制模块 ...................................................................................................................... 6 3.2.2 记分模块 .............................................................................................................................. 7 3.2.3 数码管显示模块 .................................................................................................................. 8 4 各个模块的仿真以及系统仿真、分析 ............................................................................................ 9 4.1 比赛控制模块仿真波形 .............................................................................................................. 9 4.2 记分模块仿真波形图 .................................................................................................................. 9 4.3 管脚锁定 .................................................................................................................................... 10 4.4 系统的波形仿真 ........................................................................................................................ 11 4.5 显示结果的几种情况 ................................................................................................................ 14 5 总结 .................................................................................................................................................. 15 5.1 设计制作过程中遇到的问题及解决方案 ................................................................................ 15 5.2 本设计有以下几个可以改进的地方 ........................................................................................ 15 参考文献 ................................................................................................................................................ 16 附 录 ................................................................................................................................................ 17 游戏控制模块的VHDL程序 ........................................................................................................... 17 记分模块的VHDL程序 ...................................................................................................................... 19 动态扫描模块的VHDL程序 ........................................................................................................... 20 译码器模块的VHDL程序 ............................................................................................................... 21
乒乓球比赛游戏机设计
1 引言
1.1 设计背景
人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品的进步。现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管;后者的核心就是EDA技术。EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计。没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,但是面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的EDA工具,使用统一的集体化设计黄精,改变传统的设计思路,将精力集中到设计构想、方案比较和寻找优化设计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,对EDA技术提出了更高的要求。未来的EDA技术将在仿真、时序分析、集成电路自动测试、高速印刷版设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展。
1.2 VHDL简介
硬件描述语言已经有几十年的发展历史,并且在系统的仿真、验证和设计、综合等方面得到成功的应用。目前常用的硬件描述语言有VHDL、Verilog HDL、ABEL等[2][3][4]。VHDL则起源于20世纪70年代末和80年代初,美国国防部提出的VHSIC计划,目标是为下一代集成电路的生产、实践阶段性的工艺极限和完成10万门级以上的电路设计而建立一种新的描述方法[5]。VHDL的英文全称为Very-High-Speed Integrated Circuit Hardware Description Language,是IEEE标准化的硬件描述语言,并且已经成为系统描述的国际公认标准,得到众多EDA
1
乒乓球比赛游戏机设计
公司的支持。
VHDL具有很多的优点使它能够被大多数人认可,被广泛应用在逻辑电路的设计方面,并且成为了标准化的硬件描述语言,其优点如下:
(1)功能强大和设计灵活。一个简洁的使用VHDL语言编写的程序就可以描述一个复杂的逻辑电路,因为VHDL拥有强大的语言结构[6]。VHDL多层次的设计描述功能可以有效地控制设计的实现,支持设计库和可重复使用的元件生成,还支持多种设计方式,如层次化设计、模块化设计和同步、异步和随机电路设计。
(2)与具体器件无关。用VHDL设计硬件电路时不用先确定设计要用到哪种器件,也不用特别熟悉器件的内部结构,这样可以使设计人员专注于进行系统设计。设计完成后,可以根据消耗的资源选择合适的器件,而不造成资源的浪费。
(3)很强的移植能力。VHDL由很多不同的工具支持,同一个设计的程序可以在包括综合工具、仿真工具、系统平台等工具中使用。
(4)强大的硬件描述能力。VHDL可以描述系统级电路和门级电路,而且描述方式多样,可以采用行为描述、寄存器传输描述或者结构描述,也可以用其混合描述方式。同时,VHDL可以准确地建立硬件电路模型,因为它支持惯性延迟和传输延迟。VHDL的数据类型很丰富,支持标准定义的数据类型,当标准定义的数据类型不能满足用户的需求时,用户可以自己定义的所需要的数据类型,增加了设计的自由度。
(5)语法规范,易于共享。当把用VHDL编写的代码文件看作是程序时,它可以作为设计人员之间的交流内容;当把它看作是文档时,可以作为签约双方的合同文本。VHDL易于共享的特点,使得大规模的协作开发容易实现。同时,这些特点也促进了VHDL的发展和完善。
综上所述,VHDL有很多其他的硬件描述语言所不具备的优点。但是,VHDL仍然存在一些缺点,主要是3个方面。
(1)要求设计者对硬件电路知识甚至是芯片结构方面的知识了解较多。应该摆脱一般的高级语言程序设计思路,因为在电路世界里的事件很多是并行发生的,并且硬件电路系统内部的模块可以是互相独立的,也可以是互为因果的,所以,在用VHDL设计硬件电路时应摆脱一般的高级语言程序设计思路。在设计电路时,应先构思电路,然后才能描述。
(2)不能进行太抽象的系统描述。因为EDA工具无法综合抽象性太强的系统,故用VHDL描述系统电路时不能太抽象。目前的VHDL很难综合实际的硬件电路,
2
乒乓球比赛游戏机设计
只能适用于系统建模。
(3)不能描述模拟电路。对于模拟电路而言,VHDL并不是一种理想的硬件描述语言。但可以预见,未来硬件描述语言的发展方向是模拟电路和数模混合电路的描述方式。
1.3 QuartusⅡ简介
QuartusII是Altera公司的综合性PLD开发软件,可以采用多种输入方式,如VHDL、Verilog HDL、AHDL(Altera Hardware Description Language)及电路图等。它支持一些比较成熟的模块,如LPM/MegaFunction宏功能模块库等,设计者可以直接调用这些模块,从而使设计的复杂性降低了,设计的速度也加快了。QuartusII内带有综合器和仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,减少了设计者的工作量。QuartusII是一种综合性的开发平台,在QuartusII中可以进行系统级设计嵌入式的软件开发和可编程逻辑的设计。QuartusII越来越受到数字系统设计者的欢迎,是因为QuartusII拥有强大的设计能力和直观易用的接口,可以在多种平台上使用,如XP、Linux以及Unix等,具有完善的用户图形界面设计方式,运行速度快,功能集中,易学易用等特点。
2 乒乓球比赛游戏机的设计
2.1 系统设计要求
设计一个由甲乙双方参赛,有裁判的三人乒乓球游戏机。
用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置点亮的LED依此从左到右,或从右到左,其移动速度应能调节。
当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,既表示启动球拍击球,若未击中,球掉出桌外,则对方得一方。
设置自动记分电路,甲乙双方各用两位数码管进行记分显示,每记满11分
3
乒乓球比赛游戏机设计
为1局。
甲乙双方各设一个发光二极管表示拥有发球权,每隔两次自动交换发球权,拥有发球权的一方发球才有效。系统框图如图2-1所示:
图2-1 乒乓球比赛游戏机系统框图
2.2 设计思路
此设计问题可分为游戏控制模块,加减计数模块,译码模块,甲乙方得分显示模块四部分。
设置甲乙双方击球脉冲信号int1/int2,一方的击球信号使加/减计数器加法计数,则另一方的击球信号就使加/减计数器减法计数,译码模块输出端Y1-Y8接LED模拟乒乓球的轨迹。经控制模块实现移位方向的控制,真值表2-2所列。
设置发球权拥有显示信号s1、s2。控制模块使每两次交换发球权。 加/减控制信号U/D由乒乓球到达Y8、Y1和击球信号int1、int2及发球权拥有信号s1、s2共同产生,真值表如表2-3所示。
当球到达Y8或Y1时,参赛者没有及时击中,则球掉出桌外,加/减计数模块停止计数,对方得一分。
设置捡球信号reset1,通过加/减计数模块的异步置数端实现捡球。当甲方拥有发球权时捡球信号将球放到Y1,乙方拥有发球权时将球放到Y8.
在控制模块对甲乙双方的得分进行检测,只要一方的得分达到11,则一局结束,设置裁判员复位信号reset.在每局结束后将双方得分清零。
由调节晶振产生的时钟脉冲信号的频率,可以调节球的运动速度。
4
乒乓球比赛游戏机设计 表2-2 加/减计数译码显示真值表
时钟 CLK 加/减控制 计数器输出 Q3Q2Q1Q0 译码器输出 Y8Y7Y6Y5Y4Y3Y2Y1 U/D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 0001 0010 0011 0100 0101 0110 0111 1000 0111 0110 0101 0100 0011 0010 0001 表2-3 加减控制信号的产生
00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001 Y8 1 0 Y1 0 1 Int1 0 ↑ Int2 ↑ 0 S1 0 1 S2 1 0 U/D 1 0 硬件系统示意图如下所示
图2-4 硬件系统示意图
5
乒乓球比赛游戏机设计
3 乒乓球比赛游戏机的实现
3.1 乒乓球比赛游戏机的顶层原理图
图3-1 顶层原理图
原理图中输入部分分别是:复位按键res,时钟clk_1,startbutton开始游戏按键,serve[1..0]发球按键,serve0代表甲发球,serve1代表乙发球,int1为甲击球按键,int2为乙击球按键,原理图中输出部分分别是:8个LED灯light[1..8],数码管段选信号A、C、D、E、F、G、H,数码管进入译码器74ls138的位选信号sel[2..0],在数码管上显示了甲乙两个人的分数。
3.2 系统各功能模块的实现
3.2.1 比赛控制模块
6
乒乓球比赛游戏机设计
图3-2 比赛控制模块元件框图
按下startbutton按键之后游戏开始,当按下serve0时甲发球,8个一排的LED灯从左向右移动(从1到8),当移动到第八个灯时按下int2按键代表乙击中,则乙得1分,提前或未来的及击球则甲得分。当按下serve1时乙发球从右向左移动,当移动到第一个灯时按下int1代表甲击中球,甲得1分,提前或未来的击球及则乙得分。 3.2.2 记分模块
图3-3 记分模块元件框图
当选择好的信号binaryin[4..1]进入mydecoder之后,相应的数据会选择到相应的信号中,并且通过bcdout1[4..1]和bcdout2[4..1]输出相应的分数在两位数码管上的显示数字。bcdout1为十位数,bcdout2为个位数。
7
乒乓球比赛游戏机设计
3.2.3 数码管显示模块
图3-4 显示模块框图
数码管显示模块主要是由两个模块组成分别为setime以及deled这两个模块组成:setime模块主要是将输入的分数进行动态扫描,显示到每一位数码管的位选上,通过高速的扫描后会将每一位选手的分数很清晰的显示在数码管上。
deled模块是一个译码器的模块译码器的译码对照表3-5如下所示:
表3-5 译码器的译码对照表 显示的数字 0 1 2 3 4 5 6 7 8 9 X BCD编码 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 XXXX 七段共阳数码管 1000000 1111001 0100100 0110000 0011001 0010010 0000010 1111000 0000000 0010000 1111111 在程序中只考虑0000-1001(即0-9)的情况,将其转化为相应的七段显示器的码字,其他情况不予考虑。
8
乒乓球比赛游戏机设计
4 各个模块的仿真以及系统仿真、分析
4.1 比赛控制模块仿真波形
图4-1 比赛控制模块
4.2 记分模块仿真波形图
图4-2记分模块仿真波形图
9
乒乓球比赛游戏机设计
表4-3 对应分数的数码管显示 binaryin 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 bcdout1 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0001 bcdout2 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 0001 在图4-2中可以看出当得分为2(0010)分时对应的两位数码管则会显示为02(bcoudt1:0000,bcoudt2:0010),当分数超过11分时数码管的显示全为为00。
表4-3为具体的分数对应的数码管显示。
4.3 管脚锁定
在验证出乒乓球比赛游戏机系统的功能之前,需要清楚实验箱与各个信号之间的对应关系,参照资料得出本设计中各引脚的对应情况如下:
10
乒乓球比赛游戏机设计
图4-4 各引脚的对应情况
4.4 系统的波形仿真
图4-5所示为甲方发球,在恰当的时候乙方接到球,当球回到甲方时,甲方又接到球,但乙方再也没有接到球的仿真波形。
11
乒乓球比赛游戏机设计
图4-5 乒乓球仿真波形一
图4-6所示为甲方两次发球,乙方没有接到球,甲方得到2分的仿真波形图。
图4-6 乒乓球仿真波形二
图4-7所示为甲方发球,乙方提前击球的情况,此时,甲方得一分。图中还显示了甲方发球,乙方在规定的时刻没有接到球的情况,此时,甲方又得一分。
12
乒乓球比赛游戏机设计
图4-7 乒乓球仿真波形三
图4-8所示为当清零信号按下时,得分清零,又开始新一局游戏
图4-8 乒乓球仿真波形四
13
乒乓球比赛游戏机设计
4.5 显示结果的几种情况
图4-9 验证结果1
图4-10 验证结果2
图4-11 验证结果3
14
乒乓球比赛游戏机设计
5 总结
按照任务要求,我们设计出的乒乓球比赛游戏机具备比赛控制、数码管显示、等多种功能。本乒乓球比赛游戏机能够在按下发球键之后,LED灯依次移动并能在移动到最后一个灯时按下击球键击中球,并且能自动记分显示在两位数码管上。经过这次的课程设计,我收获颇丰,学到很多知识,我学会了如何去完成一个任务,懂得了享受过程。当遇到问题,想办法一点点解决。
5.1 设计制作过程中遇到的问题及解决方案
1.VHDL语法使用不规范:
当我们编写软件程序的时,遇到了编译错误。细心阅读QuartusII错误提示和所编写的程序后发现是因为VHDL语法使用错误。最后经过翻阅EDA课本,熟悉相关语法后将其改正。
2.动态扫描部分不清楚,以至无法实现得分显示功能
起初以为每个数码管的引脚都要锁定,不知该怎样锁定四个数码管的引脚,后来想起曾经做过的数码管显示控制系列最终完成了该部分。
3.引脚锁定不完整,最终编译无法通过:
处理了之前出现的几个问题后,在最后编译时未通过。细致查看了错误提示,发现是个别管脚未锁定的原因。我们最终把各个管脚锁定号码一一检查了一遍,从而通过了编译。
5.2 本设计有以下几个可以改进的地方
1.可以在甲乙两位得分的数码管显示中间在用一个显示“:”这个符号。 2.通过适当添加几种语音芯片,就可以在不同的情况下发出美妙的声响,能为比赛增添不少乐趣。
3.在现有设计基础上使用无线电或红外技术,还可以使本项目升级为无线智能乒乓球游戏机。
15
乒乓球比赛游戏机设计
参考文献
[1] 李蓉.基于VHDL语言的数字抢答器的设计[J].科技风,2008,24:42-46. [2] 侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计(修订版)[M].西安:
西安电子科技大学出版社,2005:3-9.
[3] 孟庆海,张洲.VHDL基础及经典实例开发[M].西安:西安交通大学出版社,
2008,4:1-5.
[4] 王行,李衍.EDA技术入门与提高[M].西安:西安电子科技大学出版社,
2005:17-32.
[5] 周彩宝等.VHDL语言及其应用[J].计算机工程,1998,10:17-20. [6] 孙冰等.VHDL在计算机组成原理实验中的应用研究[J].价值工程,
2011,30(27):56-59.
[7] 黄正瑾等编著.CPLD系统设计技术入门与应用[M].北京:电子工业出版社,
2002:13-23.
[8] 刘爱荣等编著. EDA技术与CPLD/FPGA开发应用简明教程[M]. 北京:清华大
学出版社,2007:45-56.
[9] 席砺莼等.基于VHDL语言的数字抢答器系统设计[J].现代电子技术,
2003,3:57-61.
[10] 高健等.基于Verilog HDL数字抢答器系统的研制[J].实验室研究与探索,
2004,10:34-37.
16
乒乓球比赛游戏机设计
附 录
游戏控制模块的VHDL程序
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all; entity compete is
port(reset:in std_logic; clk_1:in std_logic;
startbutton:in std_logic;
serve:in std_logic_vector(1 downto 0); int1,int2:in std_logic;
light:out std_logic_vector(1 to 8);
counta,countb:out std_logic_vector(3 downto 0)); end compete;
architecture one of compete is type pingpong is (waitserve,light1on,ballmoveto2,allow2int,light8on,ballmoveto1,allow1int);
signal state:pingpong;
signal i:integer range 0 to 8;
signal count1,count2,count3,count4:std_logic_vector(3 downto 0):=\"0000\";
begin
process(clk_1) begin
if reset='1' then
i<=0;count1<=\"0000\";count2<=\"0000\";count3<=\"0000\";count4<=\"0000\";
elsif clk_1'event and clk_1='1' then if count1=\"1011\" then
i<=0;count1<=\"0000\";count2<=\"0000\";count3<=count3+1; elsif count2=\"1011\" then
i<=0;count1<=\"0000\";count2<=\"0000\";count4<=count4+1; elsif startbutton='0' then
i<=0;count1<=\"0000\";count2<=\"0000\";count3<=\"0000\";count4<=\"0000\";
17
乒乓球比赛游戏机设计
else
case state is
when waitserve=> case serve is
when \"01\"=> i<=1;state<=light1on; when \"10\"=> i<=8;state<=light8on; when \"11\"=>i<=0; when others=> i<=0; end case;
when light1on=>i<=2; if int2='1' then i<=0;
count1<=count1+1;state<=waitserve; else
state<=ballmoveto2; end if;
when light8on=> i<=7;
if int1='1' then i<=0;
count2<=count2+1;state<=waitserve; else
state<=ballmoveto1; end if;
when ballmoveto1=> if int1='1' then i<=0;
count2<=count2+1;state<=waitserve; elsif i=2 then i<=1; state<=allow1int; else i<=i-1; end if;
when ballmoveto2=> if int2='1'then i<=0;
count1<=count1+1;state<=waitserve; elsif i=7 then i<=8; state<=allow2int; else i<=i+1; end if;
when allow1int=>
if int1='1' then i<=2; state<=ballmoveto2;
else count2<=count2+1;i<=0;
18
乒乓球比赛游戏机设计
state<=waitserve; end if;
when allow2int=>
if int2='1'then i<=7;state<=ballmoveto1; else count1<=count1+1;i<=0; state<=waitserve; end if; end case; end if; end if; end process;
counta<=count1;countb<=count2; light<=\"10000000\"
when(i=1)else \"01000000\" when(i=2)else \"00100000\" when(i=3)else \"00010000\" when(i=4)else \"00001000\" when(i=5)else \"00000100\" when(i=6)else \"00000010\" when(i=7)else \"00000001\" when(i=8)else \"00000000\"; end one;
记分模块的VHDL程序
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity mydecoder is
port(binaryin: in std_logic_vector(4 downto 1); bcdout1: out std_logic_vector(4 downto 1); bcdout2: out std_logic_vector(4downto 1)); end mydecoder;
architecture m of mydecoder is
signal tembinaryin:std_logic_vector(4 downto 1); begin
process(binaryin) begin
19
乒乓球比赛游戏机设计
tembinaryin<=binaryin; case tembinaryin is
when \"0000\"=> bcdout1<=\"0000\";bcdout2<=\"0000\"; when \"0001\"=> bcdout1<=\"0000\";bcdout2<=\"0001\"; when \"0010\"=> bcdout1<=\"0000\";bcdout2<=\"0010\"; when \"0011\"=> bcdout1<=\"0000\";bcdout2<=\"0011\"; when \"0100\"=> bcdout1<=\"0000\";bcdout2<=\"0100\"; when \"0101\"=> bcdout1<=\"0000\";bcdout2<=\"0101\"; when \"0110\"=> bcdout1<=\"0000\";bcdout2<=\"0110\"; when \"0111\"=> bcdout1<=\"0000\";bcdout2<=\"0111\"; when \"1000\"=> bcdout1<=\"0000\";bcdout2<=\"1000\"; when \"1001\"=> bcdout1<=\"0000\";bcdout2<=\"1001\"; when \"1010\"=> bcdout1<=\"0001\";bcdout2<=\"0000\"; when \"1011\"=> bcdout1<=\"0001\";bcdout2<=\"0001\"; when others=> bcdout1<=\"0000\";bcdout2<=\"0000\"; end case; end process; end m;
动态扫描模块的VHDL程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity seltime is
port(clk:in std_logic;
s:in std_logic_vector(15 downto 0); daout:out std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0)); end seltime;
architecture behav of seltime is
signal sec : std_logic_vector(2 downto 0); begin
process(clk) begin
if(clk'event and clk='1') then if(sec=\"111\") then sec<=\"000\"; else
sec<=sec+1; end if;
20
乒乓球比赛游戏机设计
end if; end process;
process(sec,s(15 downto 0)) begin
case sec is
when \"000\"=>daout<=s(3 downto 0); when \"001\"=>daout<=\"1111\"; when \"010\"=>daout<=\"1111\";
when \"011\"=>daout<=s(11 downto 8); when \"100\"=>daout<=s(7 downto 4); when \"101\"=>daout<=\"1111\"; when \"110\"=>daout<=\"1111\";
when \"111\"=>daout<=s(15 downto 12);
when others=>daout<=\"XXXX\"; end case; end process; sel<=sec; end behav;
译码器模块的VHDL程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DELED IS
PORT ( S : IN STD_LOGIC_VECTOR(3 DOWNTO 0); A,B,C,D,E,F,G,H : OUT STD_LOGIC); END DELED;
ARCHITECTURE BEHAV OF DELED IS
SIGNAL DATA:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL DOUT:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN
DATA<=S;
PROCESS (DATA) BEGIN
CASE DATA IS
WHEN \"0000\"=>DOUT<=\"00111111\"; WHEN \"0001\"=>DOUT<=\"00000110\"; WHEN \"0010\"=>DOUT<=\"01011011\"; WHEN \"0011\"=>DOUT<=\"01001111\"; WHEN \"0100\"=>DOUT<=\"01100110\";
21
乒乓球比赛游戏机设计
WHEN \"0101\"=>DOUT<=\"01101101\"; WHEN \"0110\"=>DOUT<=\"01111101\"; WHEN \"0111\"=>DOUT<=\"00000111\"; WHEN \"1000\"=>DOUT<=\"01111111\"; WHEN \"1001\"=>DOUT<=\"01101111\"; WHEN \"1010\"=>DOUT<=\"01110111\"; WHEN \"1011\"=>DOUT<=\"01111100\"; WHEN \"1100\"=>DOUT<=\"00111001\"; WHEN \"1101\"=>DOUT<=\"01011110\"; WHEN \"1110\"=>DOUT<=\"01111001\"; WHEN \"1111\"=>DOUT<=\"00000000\"; WHEN OTHERS=>DOUT<=\"00000000\"; END CASE; END PROCESS;
H<=DOUT(7);G<=DOUT(6);F<=DOUT(5);E<=DOUT(4); D<=DOUT(3);C<=DOUT(2);B<=DOUT(1);A<=DOUT(0); END BEHAV;
22
因篇幅问题不能全部显示,请点此查看更多更全内容