北航电气实验FPGA实验报告
fpga实训报告

fpga实训报告引言随着技术的不断发展,电子行业也在迅速进步。
作为电子产品领域的重要组成部分,FPGA(Field Programmable Gate Array)即现场可编程门阵列技术)在近年来受到越来越多的重视。
本文将分享我参与的一次FPGA实训项目的经验和体会。
一、FPGA的基本概念FPGA是一种集成电路芯片,它通过可编程逻辑门阵列构成的,能够实现电路的数字逻辑功能。
与传统的ASIC(Application-Specific Integrated Circuit)相比,FPGA具有可编程的优势,能够根据需要进行重新编程,具备更高的灵活性和可塑性。
二、实训项目背景本次实训项目是一个基于FPGA的数字信号处理系统设计。
我们小组的任务是设计一个音频信号处理系统,能够实现音频的输入、处理和输出等功能。
这个项目旨在让我们熟悉FPGA开发流程和工具,并锻炼我们的团队协作能力和解决问题的能力。
三、项目过程1.需求分析在开始项目之前,我们首先进行了需求分析。
我们确定了音频输入输出的格式要求,处理功能的要求,以及系统的性能指标。
这一步对于项目的成功实施非常关键,只有明确需求,才能确保后续的设计和开发效果。
2.系统设计在需求分析的基础上,我们开始进行系统设计。
我们首先进行模块拆分,将系统划分为音频输入模块、音频处理模块和音频输出模块。
然后,我们根据每个模块的功能设计相应的电路和逻辑。
3.软件仿真设计好电路和逻辑后,我们使用FPGA开发工具进行软件仿真。
通过仿真,我们可以验证设计的正确性和稳定性。
当发现问题时,我们及时进行修改和优化,直到达到预期的效果。
4.物理综合在软件仿真通过后,我们进行物理综合。
这一步骤将我们的设计映射到实际的硬件资源上,包括将逻辑电路映射到LUT(Lookup Table)、将时序电路映射到寄存器等。
物理综合过程中,我们需要考虑到硬件资源的利用率和系统的性能要求。
5.实际实现完成物理综合后,我们开始进行实际的系统实现。
FPGA实验报告北航电气技术实验

FPGA电气技术实践实验报告院(系)名称宇航学院专业名称飞行器设计与工程(航天)学生学号XXXXXXXX学生姓名XXXXXX指导教师XXXX2017年11月XX日实验一四位二进制加法计数器与一位半加器的设计实验时间:2017.11.08(周三)晚实验编号20一、实验目的1、熟悉QuartusII的VHDL的文本编程及图形编程流程全过程。
2、掌握简单逻辑电路的设计方法与功能仿真技巧。
3、学习并掌握VHDL语言、语法规则。
4、参照指导书实例实现四位二进制加法计数器及一位半加器的设计。
二、实验原理.略三、实验设备1可编程逻辑实验箱EP3C55F484C8 一台(包含若干LED指示灯,拨码开关等)2计算机及开发软件QuartusII 一台套四、调试步骤1四位二进制加法计数器(1)参照指导书实例1进行工程建立与命名。
(2)VHDL源文件编辑由于实验箱上LED指示灯的显示性质为“高电平灭,低电平亮”,为实现预期显示效果应将原参考程序改写为减法器,且”q1<= q1+1”对应改为”q1<= q1-1”,以实现每输入一个脉冲“亮为1,灭为0”。
由于参考程序中的rst清零输入作用并未实现,所以应将程序主体部分的最外部嵌套关于rst输入是否为1的判断,且当rst为1时,给四位指示灯置数”1111”实现全灭,当rst为0时,运行原计数部分。
(3)参照指导书进行波形仿真与管脚绑定等操作,链接实验箱并生成下载文件(4)将文件下载至实验箱运行,观察计数器工作现象,调试拨动开关查看是否清零。
可以通过改变与PIN_P20(工程中绑定为clk输入的I/O接口)相连导线的另一端所选择的实验箱频率时钟的输出口位置,改变LED灯显示变化频率。
并且对照指导书上对实验箱自带时钟频率的介绍,可以通过改变导线接口转换输入快慢,排查由于clk输入管脚损坏而可能引起的故障。
2一位半加器(1)参照指导书实例1进行工程建立与命名。
(2)图形源文件编辑:由于实验箱上LED指示灯的显示性质为“高电平灭,低电平亮”,为实现预期显示效果应将原电路图中两个输出管脚与非门串联以实现原参考输出“高电平亮,低电平灭”。
FPGA实验报告

FPGA实验报告一、实验目的本次FPGA实验目的是通过使用FPGA开发板,了解FPGA的基本原理和应用,培养学生对数字电路设计的基本能力。
二、实验原理FPGA(Field-Programmable Gate Array)是一种可编程逻辑芯片,通过在芯片中加入多个查找表、可编程互连和触发器等基本模块,使得用户可以根据实际需求程序设计芯片的逻辑功能和互连关系。
FPGA的主要优点是能快速更新设计并且重配置灵活,而且速度快、功耗低。
本次实验我们使用的FPGA开发板是Xilinx Spartan-6系列,采用的开发环境是Xilinx ISE Design Suite。
三、实验内容1.实验用到的器件及端口我们使用的FPGA开发板上有多个输入输出端口,如LED灯、开关、按键等。
其中LED灯作为输出端口,开关和按键作为输入端口。
实验中,我们通过控制开关的状态,来控制LED灯的亮与灭。
2.设计电路我们的实验电路主要由一个FPGA芯片、多个LED灯、多个开关和按键等组成。
具体设计如下:(插入电路图)3.编写代码我们使用Verilog语言来描述逻辑电路的功能,并将其编写成代码。
代码示例如下:module led_controllerinput wire CLK,input wire [3:0] SWITCH,output reg [7:0] LEDcase(SWITCH)endcaseendendmodule4.烧录代码通过Xilinx ISE Design Suite的工具链,将上述代码综合、实现、生成比特文件。
然后通过JTAG接口将比特文件烧录到FPGA芯片中。
5.实验结果实验结果是通过观察LED灯的亮灭情况来验证代码的正确性。
根据开关的不同状态,LED灯的亮灭也不同。
四、实验总结通过本次实验,我们深入了解了FPGA的基本原理和应用,并且使用了Xilinx Spartan-6系列的开发板完成了LED控制的实验。
通过观察LED灯的亮灭情况,验证了我们编写的代码的正确性。
fpga实训报告

fpga实训报告本报告旨在总结和分享我在FPGA实训课程中的学习和实践经验。
我将介绍我在实训过程中所遇到的挑战、学到的知识以及对未来发展的展望。
1. 概述FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,具有灵活性和可重构性,广泛应用于嵌入式系统、数字电路设计和计算机硬件加速等领域。
在本次实训中,我们团队学习了FPGA的基本原理和使用方法,并基于Verilog语言开发了几个具体的项目。
2. 实训内容2.1 FPGA基础知识我们首先学习了FPGA的基础知识,包括FPGA的结构和工作原理、FPGA开发流程、Verilog语言基础等。
通过理论学习和实际操作,我们对FPGA的内部结构和原理有了更深入的了解。
2.2 FPGA开发工具在实训中,我们使用了主流的FPGA开发工具。
通过熟练掌握这些工具的使用,我们能够进行FPGA的设计、仿真和下载等操作,为后续的实验项目做好准备。
2.3 FPGA实验项目在实训过程中,我们完成了多个FPGA实验项目,包括数字逻辑电路设计、时序电路设计、数码管显示、LED闪烁、有限状态机设计等。
通过这些项目,我们将理论知识应用到实际场景中,提高了自己的设计能力和实践能力。
3. 实训经验和收获3.1 团队合作在实训中,我们组成了小组合作完成各项实验项目。
通过合作,我们不仅学会了协作和沟通,还互相帮助解决问题,提高了团队凝聚力和协作能力。
3.2 动手实践FPGA实训的一个重要特点是强调实践操作。
通过大量的实验练习,我们不仅掌握了基本的FPGA开发技能,还了解了FPGA在各个领域中的广泛应用,并在实践中提高了自己的问题解决能力。
3.3 创新思维在一些项目中,我们需要设计和实现独特的功能,这要求我们发挥创新思维,灵活运用所学知识。
通过这个过程,我们培养了创新意识和解决实际问题的能力。
4. 未来展望通过FPGA实训的学习和实践,我对FPGA的应用和发展前景有了更深入的认识和理解。
2016年北航FPGA实验报告分析

电气技术实践可编程逻辑器件FPGA应用开发实验报告姓名班级学号2016年12月电气技术实践报告目录一、实验目的 (1)二、实验要求 (1)三、实验内容 (1)四、实验代码及实验结果 (1)1、4位二进制加法计数器 (1)2、半加器 (3)3、RS触发器 (3)4、数码管十六进制计数器 (5)5、跑马灯 (7)6、键盘电路 (9)7、LED点阵显示 (12)8、多人抢答器 (18)五、实验感想 (21)一、实验目的1、熟悉使用可编程逻辑器件(Altera公司FPGA Cyclone系列EP1C6Q)。
2、熟悉使用硬件描述语言VHDL。
3、掌握FPGA集成环境(Altera公司FPGA QuartusII 9.0)开发流程。
4、熟悉使用核心目标系统板与接口电路等工作原理及其功能模块绑定信息。
5、熟悉并掌握下载线方式和下载文件的选择。
二、实验要求1、学习并掌握文本、图形等输入和时序、功能仿真方法。
2、学习并熟悉门电路、组合电路、时序电路等单一模块功能。
3、学习并设计各种不同状态机逻辑功能。
4、学习并设计由单一模块→较多功能模块集成→系统集成方法。
5、学习并选择多种模式显示(发光二极管显示、米字型数码管显示、七段数码管→动态扫描或静态扫描显示、LED点阵显示各种字符和图形或静止或移动等方式、LCD液晶显示各种字符和图形或静止或移动等方式)。
6、根据自已的兴趣和愿望,可从以下给定的实验目录中选取或自已设定功能题目。
7、实验数目没有要求,关键是看质量,是否是自已编写、调试、实现。
三、实验内容1、按指导书集成开发环境章节操作实现文本编程实例1和图形编程实例2全过程。
2、任选门电路、组合电路、时序电路实验各完成一个其逻辑功能,其实现方案自已规定。
在进行FPGA目标器件输入和输出引脚绑定时,输入引脚绑定高/低电平、单脉冲、各种分频连续脉冲等多种信号,输出引脚可绑定发光二极管、七段数码管、LED 点阵等显示模式。
3、在完成1位十进制计数器的基础上,可增加完成2或3等多位十进制计数器逻辑功能并用多位七段数码管来显示。
FPGA实验报告5篇

FPGA实验报告5篇第一篇:FPGA实验报告FPGA实验报告专业:XXX 姓名:XXX 学号:XX一:实验目的1.熟悉Modelsim和Quartus II软件的运行环境和使用2.熟练使用Quartus II仿真软件生成网表。
3.熟悉FPGA前仿真和后仿真的整个流程。
二:实验内容编写counter计数器,在Quartus II仿真软件中生成网表,再在Modelsim中进行后仿真。
三: 实验步骤1.在Modelsim编写源程序(counter计数器及激励),编译源文件,确保程序的正确性,并进行前仿真,生成波形图如下:附:源程序如下:module counter(q,clk,reset);input clk,reset;output [3:0] q;reg [3:0] q;always @(posedge reset or negedge clk)if(reset)q <= 4'b0;elseq <= q + 1;endmodule module top;reg CLK,RESET;wire [3:0] Q;counter c1(Q,CLK,RESET);initialCLK=1'b0;always#1 CLK=~CLK;initial$monitor($time,“Q=%d”,Q);initialbeginRESET=1'b1;#5 RESET=1'b0;#180 RESET=1'b1;end endmodule 2.新建文件夹,将源程序counter.v放进去。
然后启动Quartus II仿真软件,生成网表。
1).在【File】下拉菜单中选中New Project Wizard选项,出现对话框。
并指定工程工作目录、工程名称和顶层模块名,如图(a)所示。
2).添加(Add)counter.v文件。
如图(b)所示。
3).选择器件系列4).指定其它EDA工具,如图(d)所示。
北航电气技术实践FPGA报告

FPGA实验报告141717一、实验目的1、熟悉使用可编程逻辑器件--Altera 公司FPGA Cyclone ш系列EP3C55F2、熟悉使用硬件描述语言--VHDL3、熟悉FPGA集成环境--Altera公司FPGA Quartusǁ 9或10开发流程4、熟悉并掌握核心目标系统板与接口电路等工作原理及功能模块绑定新信息5、熟悉并掌握下载线方式和下载文件的选择二、实验要求1、学习并掌握文本编辑、图形编辑等输入和时序、功能仿真方法。
2、学习并掌握门电路、组合电路、时序电路等单一模块功能。
3、学习并设计各种不同状态机逻辑功能的电路。
4、学习并设计有单一模块--较多功能模板集成--系统集成的方法。
5、学习并将系统及成功逐一拆分成一个个子功能模块的方法。
6、学习并选择多种模式显示(发光二极管显示、七段数码管--动态扫描或静态扫描显示、LED点阵显示各种字符和图形或静止或移动等方式、LCD字符液晶显示各种字符和图形或静止或移动、TFT-LCD触摸液晶屏显示各种信息等方式)。
7、根据自己的兴趣和愿望,可从给定的实验题目中选取或自己设定功能题目。
8、同组实验者应轮流操作实例实验流程,并实施源程序编写、编译、调试、下载程序和验证实验结果实践环节。
9、利用元件例化语句调用,至少涉及一个有内容、功能较复杂稍大的主、子程序综合应用例程。
功能内容,关键是看质量。
三、实验设备1、可编程逻辑EDA/SOPC实验箱一台。
2、计算机及开发软件Quartusǁ一台套。
四、实验内容1、按指导书7.6集成开发环境使用章节操作顺序实现文本编程实例1和图形编程实例2全过程。
2、分析并运行指导书5.2综合实例,掌握其编程技巧和输入及输出显示方法。
3、任选门电路、组合电路、时序电路实验各完成一个其逻辑功能,其实现方案自拟定。
在运行FPGA目标器件输入和输出引脚绑定时,输入引脚可绑定高/低电平、单脉冲、各种分频连续脉冲等多种信号,输出引脚可绑定发光二极管、七段数码管、LED 点阵等显示模式。
fpga实训报告

fpga实训报告摘要:本实训报告旨在介绍FPGA(现场可编程门阵列)的基本原理和应用。
文章首先介绍了FPGA的概念和发展历程,然后详细阐述了FPGA的结构和工作原理。
接着,报告列举了几个常见的FPGA应用领域,并重点介绍了在数字信号处理和通信系统中的应用。
最后,本报告总结了FPGA在实际项目中的优势和挑战,并展望了FPGA技术的未来发展方向。
1. 引言FPGA是一种可编程的逻辑芯片,具有灵活性高、性能强等特点,因而在数字电路设计和嵌入式系统开发中得到广泛应用。
本实训报告将深入介绍FPGA的原理和应用领域。
2. FPGA的概念和发展历程FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,最早由Xilinx公司于1985年推出。
与传统的固定功能集成电路相比,FPGA可以通过编程实现不同的逻辑功能。
随着技术的发展和需求的增加,FPGA的规模不断扩大,性能也不断提高。
3. FPGA的结构和工作原理FPGA由可编程逻辑元件、输入/输出接口和内部互联网络构成。
可编程逻辑元件由可编程查找表(LUT)、触发器和算术逻辑单元等组成,可以通过配置位流(Configuration Bitstream)来实现不同的逻辑功能。
内部互联网络用于连接各个逻辑元件和输入/输出接口,实现信号的传输和通信。
4. FPGA的应用领域4.1 数字信号处理FPGA在数字信号处理中广泛应用,例如音频和图像处理等。
由于FPGA具有并行计算能力和高速数据处理特性,可以实现实时的信号采集、转换和滤波等功能。
4.2 通信系统FPGA在通信系统中也有重要应用,例如调制解调器、协议转换器和网络路由器等。
通过FPGA的可编程性,可以根据不同的通信标准和协议进行灵活配置和优化设计。
4.3 自动化控制FPGA可应用于自动化控制系统,如工业控制和机器人控制等。
通过实时数据采集和处理,FPGA可以实现高精度控制和实时响应。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京航空航天大学电气实验报告FPGA实验张天130325班学号:13031220一.实验目的略二.实验要求略三.实验设备略四.实验内容略五.实验实例1.实例6-1思考题1:输出信号q3q2q1绑定接口电路的七段数码管或米字型数码管或LED点阵显示?答:思考题2:怎样修改成4位二进制减法计数器,具有清零,启动控制功能等?答:思考题3:把计数器修改成2位或更多位十进制计数功能,再用七段数码管进行显示等?答:2.实例6-2思考题:一位半加器电路采用VHDL语言实验答:library ieee;use ieee.std_logic_1164.all;use iee.std_logic_unsigned.all;entity halfadd isport (a,b;in std_logicsum,carry; out std_logic)end entity halfadd;architecture halfadd isbeginsum<=a and(not b)+b and (not a);carry<= a and b;end architecture halfadd;六.实验过程我们组做的是一个利用led点阵规律亮灭变化形成字体,并且字体产生变化,形成“自动化❤”的样子,实现图片如下图:1.实验分析:实验设计思路:本实验的设计思路是利用led灯的辉光效应,利用逐行扫描,在高频情况下就会显示所有行的亮灯,进而形成汉字,并且有时钟计数程序,当时钟数字达到规定值(本实验为111111111b)时,跳转到下一个状态,显示第二个憨子。
每个汉字的颜色由led灯决定,改led矩阵有红绿两种led灯,因此有红绿橙三种颜色显示。
2.实现过程对设计思路的实现并非一帆风顺,最初编写的时候遇到了一些问题。
首先,定义输入输出角是个繁琐的事情(需要定义40+次,每次必须手动),另外,在程序编写过程中,也出现了一些逻辑错误,对于错误,我们仔细逐条语句分析,最终解决了错误,解决过程中也加深了对FPGA的语言逻辑及硬件结构的理解。
七.FPGA使用心得在学习FPGA过程中,我获得了很多收获。
首先,由于有单片机的基础,上手过程并不是十分复杂,对于输入输出的理解我没有遇到太多阻碍。
这次学习也验证了我具有短时间内掌握一款新型的芯片的能力。
学习过程中最大的困难就是VDHL语言的编写。
我们以前有c语言的基础,不过学习这种新的语言还是花出了不少时间与精力,现在可以说基本掌握的VDHL的基本写法和思路,能运用到需要的程序中来。
另外,调试的过程能极强地加大对程序的理解及逻辑的构建,在调试中,逐渐明白了以前不懂的东西,对FPGA的工作原理的理解更加透彻了。
不了解的人可能会把FPGA当做一种单片机,但其实,相比于单片机,FPGA 是有很多优势的。
其无固定的硬件结构使其具有远超单片机的灵活性,另外,它的编程方法可以同步进行多个process 使其能同步处理多个进程,因此,它的运算效率大大提高,在当今社会,有很大的利用价值。
八.电气实验总结略附:程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity led isport(clk:in std_logic;rst:in std_logic;com:out std_logic_vector(7 downto 0);red:out std_logic_vector(7 downto 0);green:out std_logic_vector(7 downto 0));end;architecture led of led isconstant s0:std_logic_vector(1 downto 0):="00";constant s1:std_logic_vector(1 downto 0):="01";constant s2:std_logic_vector(1 downto 0):="10";constant s3:std_logic_vector(1 downto 0):="11";signal present:std_logic_vector(1 downto 0);signal com1:std_logic_vector(7 downto 0);signal red1:std_logic_vector(7 downto 0);signal green1:std_logic_vector(7 downto 0);signal count:std_logic_vector(9 downto 0);signal zi:std_logic_vector(2 downto 0);beginprocess(rst,clk)beginif(rst='0')then--――系统初始化present<=s0;com1<=(others=>'0');elsif(clk'event and clk='1')thencase present iswhen s0=>if(com1="00000000")thencom1<="11111111";red1<="11111111";green1<="11111111";zi<="000";present<=s0;else if(count="111111111")thencount<=(others=>'0');present<=s1;elsecase zi iswhen "000"=>com1<="00001000";green1<="00000000"; count<=count+1;zi<=zi+1;when "001" =>com1<="00111100"; red1<="00000010"; green1<="00000000"; count<=count+1;zi<=zi+1;when "010"=>com1<="00100100"; red1<="00000100"; green1<="00000000"; count<=count+1;zi<=zi+1;when "011"=>com1<="00111100"; red1<="00001000"; green1<="00000000"; count<=count+1;zi<=zi+1;when "100"=>com1<="00100100"; red1<="00010000"; green1<="00000000"; count<=count+1;zi<=zi+1;when "101"=> com1<="00111100"; red1<="00100000"; green1<="00000000"; count<=count+1;zi<=zi+1;when "110"=> com1<="00100100"; red1<="01000000"; green1<="00000000";zi<=zi+1;when "111"=>com1<="00111100";red1<="10000000";green1<="00000000";count<=count+1;present<=s0;zi<="000";end case;end if;end if;when s1=>if(count="111111111")then --S1模式:从右到左逐个点亮LEDcount<=(others=>'0');present<=s2;else present<=s1;case zi iswhen "000"=>com1<="00100000";red1<="00000001";green1<="00000001";count<=count+1;zi<=zi+1;when "001" =>com1<="00100000";red1<="00000010";green1<="00000010";count<=count+1;zi<=zi+1;when "010"=>com1<="00100110";red1<="00000100";green1<="00000100";count<=count+1;zi<=zi+1;when "011"=>com1<="11110000";green1<="00001000";count<=count+1;zi<=zi+1;when "100"=>com1<="10101111";red1<="00010000";green1<="00010000";count<=count+1;zi<=zi+1;when "101"=>com1<="10100100";red1<="00100000";green1<="00100000";count<=count+1;zi<=zi+1;when "110"=>com1<="10101010";red1<="01000000";green1<="01000000";count<=count+1;zi<=zi+1;when "111"=>com1<="10101111";red1<="10000000";green1<="10000000";count<=count+1;present<=s0;zi<="000";end case;count<=count+1;present<=s1;end if;when s2=>if(count="111111111")then --S2模式:从两边到中间逐个点亮LEDcount<=(others=>'0');present<=s3;elsecase zi iswhen "000"=>com1<="00011000";red1<="00000000";green1<="00000001";count<=count+1;zi<=zi+1;when "001" =>com1<="00010100";red1<="00000000";green1<="00000010";count<=count+1;zi<=zi+1;when "010"=>com1<="01010010";red1<="00000000";green1<="00000100";count<=count+1;zi<=zi+1;when "011"=>com1<="00110011";red1<="00000000";green1<="00001000";count<=count+1;zi<=zi+1;when "100"=>com1<="00010010";red1<="00000000";green1<="00010000";count<=count+1;zi<=zi+1;when "101"=>com1<="00011010";red1<="00000000";green1<="00100000";count<=count+1;zi<=zi+1;when "110"=>com1<="10010010";red1<="00000000";green1<="01000000";count<=count+1;zi<=zi+1;when "111"=>com1<="11110010";red1<="00000000";green1<="10000000";count<=count+1;present<=s0;zi<="000";end case;count<=count+1;present<=s2;end if;when s3=>if(count="111111111")thencount<=(others=>'0');present<=s0;elsepresent<=s3;case zi iswhen "000"=>com1<="00000000";red1<="00000001";green1<="00000000";count<=count+1;zi<=zi+1;when "001" =>com1<="01100110";red1<="00000010";green1<="00000000";count<=count+1;zi<=zi+1;when "010"=>com1<="11111111";red1<="00000100";green1<="00000000";count<=count+1;zi<=zi+1;when "011"=>com1<="11111111";red1<="00001000";green1<="00000000";count<=count+1;zi<=zi+1;when "100"=>com1<="01111110";red1<="00010000";green1<="00000000";count<=count+1;zi<=zi+1;when "101"=>com1<="00111100";red1<="00100000";green1<="00000000";count<=count+1;zi<=zi+1;when "110"=>com1<="00011000";red1<="01000000";green1<="00000000";count<=count+1;zi<=zi+1;when "111"=>com1<="00000000";red1<="10000000";green1<="00000000";count<=count+1;present<=s0;zi<="000";end case;count<=count+1;present<=s3;end if;end case;end if;end process; com<=com1; red<=red1; green<=green1; end;。