FPGA 乒乓操作 zhuan

合集下载

FPGA的2个SRAM乒乓选择控制

FPGA的2个SRAM乒乓选择控制

FPGA的2个SRAM乒乓选择控制现代化生产和科学研究对图像采集系统要求日益提高。

传统图像采集系统大都是基于PC机上,而在一些特殊的场合,尤其是在实时性要求较高时,普通的PC机显然无法满足应用要求。

文中设计了一种基于ARM和FPGA的嵌入式的图像采集存储系统,可以很好地解决实时的嵌入式图像采集和存储问题。

它主要包括图像采集模块、图像处理模块以及图像存储模块等。

1 系统结构及工作原理本系统的结构模型,如图1所示。

图像采集模块负责采集原始图像,并将原始图像数据送给FPGA,采用了可编程视频输入处理器SAA7113H。

原始图像数据送到FPGA后,FPGA将原始图像数据暂存于两个SRAM中,系统采用了Alter公司的EPlK30TCl44—3和ICSI公司的IS6LV25616AL。

一帧图像采集完成后,ARM将图像数据通过FPGA取出,进行必要的处理,并形成图片文件存到CF卡中,本系统选用了Philips公司的LPC2214。

图像采集芯片将原始图像数据传到FPGA,FPGA将图像原始数据暂存于SRAMl中,当一帧图像存储完后,下一帧图像数据存于SRAM2中。

同时,将SRAMl中的数据送给ARM,ARM在对原始图像进行必要的处理后,将图像数据以图片文件的方式存储在CF卡中。

这样就实现了嵌入式高速图像采集和存储功能,用户可以很方便地将CF卡上的图片上传到PC机中进行进一步的分析和处理。

2 系统硬件设计2.1 图像采集模块用可编程视频输入处理器SAA7113H进行视频信号处理。

SAA7113H内部集成了强大图像色度、亮度处理功能以及多种输出模式;有32个工作寄存器,在系统复位时,必须通过I2C总线对其进行初始化。

本系统使用灰度图像,没有使用色度信号,所以数据线为8位。

SAA7113H与FPGA 的接口,如图2所示。

2.2 FPGA模块FPGA主要作用是把图像采集芯片传过来的图像原始数据,采取乒乓操作的方式,暂存于两片SRAM中。

FPGA乒乓操作及串并转换设计篇

FPGA乒乓操作及串并转换设计篇

FPGA/CPLD重要设计思想及工程应用乒乓操作及串并转换设计篇概述“乒乓操作”是一个常常应用于数据流控制的处理技巧,典型的乒乓操作方法如下图所示。

乒乓操作的处理流程输入数据流通过“输入数据选择单元”将数据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口RAM(DPRAM) 、单口RAM(SPRAM) 、FIFO等。

在第一个缓冲周期,将输入的数据流缓存到“数据缓冲模块1”。

在第2 个缓冲周期,通过“输入数据选择单元”的切换,将输入的数据流缓存到“数据缓冲模块2”,同时将“数据缓冲模块1”缓存的第1 个周期数据通过“输出数据选择单元”的选择,送到“数据流运算处理模块”进行运算处理。

在第3 个缓冲周期通过“输入数据选择单元”的再次切换,将输入的数据流缓存到“数据缓冲模块1”,同时将“数据缓冲模块2”缓存的第2 个周期的数据通过“输出数据选择单元”切换,送到“数据流运算处理模块”进行运算处理。

如此循环。

利用乒乓操作完成数据的无缝缓冲与处理乒乓操作可以通过“输入数据选择单元”和“输出数据选择单元”按节拍、相互配合的切换,将经过缓冲的数据流没有停顿地送到“数据流运算处理模块”进行运算与处理。

把乒乓操作模块当做一个整体,站在这个模块的两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因此非常适合对数据流进行流水线式处理。

所以乒乓操作常常应用于流水线设计中,完成数据的无缝缓冲与处理。

串并转换串并转换是FPGA 设计的一个重要技巧,它是高速数据流处理的常用手段,串并转换的实现方法多种多样,根据数据的排序和数量的要求,可以选用寄存器、双口RAM(DPRAM) 、单口RAM(SPRAM) 、FIFO 等实现。

若想数据的缓冲区开得很大,可以通过DPRAM 实现了数据流的串并转换,对于数量比较小的设计可以采用寄存器完成串并转换。

如无特殊需求,系统中应该用同步时序设计完成串并之间的转换。

FPGA的乒乓帧技术在高速数据采集中的应用

FPGA的乒乓帧技术在高速数据采集中的应用

FPGA的乒乓帧技术在高速数据采集中的应用2007-03-16 23:49目前在很多数据采集的场合,都要用到FPGA,主要作用是对数据进行一些处理,缓存,然后通过计算机总线(比如PCI总线或其他一些工业控制总线)上传到主机。

这里就涉及到一个上传速度的问题,FPGA的程序如果设计不当,将会大大影响效率。

这片FPGA通常由这几个模块组成:数据宽度转换模块,缓存控制模块和接口控制逻辑模块。

数据宽度转换模块靠近FPGA的数据输入端,主要是转换数据传送的位宽,要使传到FPGA的数据尽量转换成与计算机总线数据宽度相同,以便提升速率。

比如对于A/D转换后的8位数据,要通过32位的PCI总线上传,就要先把8位数据转换为32位的数据,这样可以最大限度地利用PCI总线的带宽。

接口控制逻辑模块靠近计算机的总线端,主要是对总线接口芯片的local端的信号进行控制,以达到通过接口芯片上传到主机的目的。

比如对PCI接口芯片PCI9054而言,设计者就要读一下9054的datasheet,选定它的工作模式,然后按照该模式的时序图进行控制逻辑模块的设计,这部分可以用状态机来实现,比如s0 是idle状态,s1是读状态,s2是写状态等等,然后确定这些状态之间转换的条件即可。

这部分一定要小心设计,要把datasheet中的时序图搞明白,不然如果设计不当,从主机上抓数据的时候很容易导致主机挂起而死机。

缓存控制模块是介于数据宽度转换模块和接口控制逻辑模块之间的,也是我重点要谈的一部分。

在不同的应用场合,数据格式也不同,不过一般都是一帧一帧传输的,一帧数据的起始有帧头,有些也有帧尾还有其他校验位之类的,原理上都差不多。

比较通常的做法是,FPGA把接收到的数据先存储在它外挂的RAM(一般采用SRAM)中,RAM的容量正好等于一帧数据的大小,存满RAM之后,再通过接口芯片进行上传。

如果FPGA外挂一片RAM的话,要等到它存满之后才能开始上传工作,这会让效率打折扣,对一些要求高速传输的场合会造成影响。

基于FPGA的乒乓球游戏机设计

基于FPGA的乒乓球游戏机设计

基于FPGA的乒乓球游戏机设计基于FPGA的乒乓球游戏机设计在现代电子设计领域,微电子技术迅猛发展,无论是系统设计、电路设计,还是芯片设计,其设计的复杂度都在增加,传统的手工设计方法已经不能满足设计者的要求,急需新的设计工具来解决。

EDA技术的迅速发展顺应了时代的发展,使得电子设计自动化技术有了新的、快的发展,其重要程度日益突出。

本文设计了基于FPGA的,用Verilog HDL语言描述的乒乓球游戏机的设计。

它由控制模块、数码管的片选信号模块、送数据模块和7段译码器模块组成,连接形成乒乓球游戏机的顶层电路。

在QuartusⅡ软件上用Verilog HDL语言分别对每个模块进行描述,然后在软件上进行编译、仿真,最终实现乓乓球比赛的基本过程和规则,并能自动裁判和计分,达到设计的要求。

关键词:EDA ;FPGA ;Verilog HDL AbstractIn the field of modern electronic design, the rapid development of microelectronictechnology,whether the system design, circuit design and chip design, the design is more complex, the traditional manual design methods have been unable to meet therequirements of designers,in urgent need of new design tools to solve. The rapiddevelopment of EDA technology to the development of the times, the electronic design automation technology has been the development of new, fast, its importance isoutstanding day by day. This paper is designed based on FPGA, the designof table tennis game is described with Verilog HDL language. It consists of control module, chip select signal module, digital tube to send data module and the 7 segmentdecoder modules, the top-level circuit connected to form a table tennis game. In the Quartus software by Verilog HDL language for each module are described, and then the compiler, simulation in software, realize the basic process and the rules of tabletennis table tennis competition, and can automatically judge and score, to meet the design requirements.Keywords: EDA; FPGA; Verilog HDL1.1课题研究的背景随着微电子技术的飞跃发展,无论是系统级设计、电路设计还是芯片设计,它的复杂程度都在不断的增加,而且它的发展速度也越来越快。

FPGA设计的四种常用思想与技巧乒乓操作

FPGA设计的四种常用思想与技巧乒乓操作

FPGA设计的四种常用思想与技巧乒乓操作FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,可以根据需要重新配置其内部硬件电路。

在FPGA设计中,有许多常用的思想和技巧,其中之一就是乒乓操作。

乒乓操作是指通过交替使用两个资源或状态来实现其中一种功能或优化设计的一种方法。

本文将介绍FPGA设计中的四种常用思想与技巧乒乓操作。

1.数据缓冲乒乓操作:数据缓冲乒乓操作是指在设计中使用两个缓冲区交替存储数据。

一个缓冲区用于接收数据,另一个缓冲区用于处理数据。

当一个缓冲区正在接收数据时,另一个缓冲区可以同时进行数据处理。

这种乒乓操作可以提高数据处理的效率,减少数据处理的延迟。

2.时钟域乒乓操作:时钟域乒乓操作是指在设计中使用两个时钟域交替操作。

一个时钟域用于采样输入数据,另一个时钟域用于处理数据。

这种乒乓操作可以实现不同时钟域之间的数据交换和同步。

例如,可以将输入数据从一个时钟域同步到另一个时钟域,然后再进行处理。

这种乒乓操作可以解决时钟域之间的异步问题,提高设计的可靠性和性能。

3.状态机乒乓操作:状态机乒乓操作是指在设计中使用两个状态机交替执行其中一种功能。

一个状态机用于执行一些任务,另一个状态机用于处理其他任务。

这种乒乓操作可以实现多任务的并行处理。

例如,可以将一个状态机用于处理输入数据,另一个状态机用于处理输出数据。

这种乒乓操作可以提高设计的并行度,加快任务的执行速度。

4.存储器乒乓操作:存储器乒乓操作是指在设计中使用两个存储器交替读写数据。

一个存储器用于读取数据,另一个存储器用于写入数据。

这种乒乓操作可以实现数据的连续读写,提高存储器的访问效率。

例如,可以将一个存储器用于读取输入数据,另一个存储器用于写入输出数据。

这种乒乓操作可以减少存储器的读写延迟,提高数据的传输速度。

综上所述,FPGA设计中的乒乓操作是一种常用的思想和技巧,可以提高设计的效率和性能。

通过数据缓冲乒乓操作、时钟域乒乓操作、状态机乒乓操作和存储器乒乓操作,可以实现数据的并行处理、时钟域的同步、多任务的执行和存储器的高效访问。

基于FPGA的乒乓球游戏机控制器设计

基于FPGA的乒乓球游戏机控制器设计

基于FPGA的乒乓球游戏机设计摘要Verilog是甚高速集成电路硬件描述语言。

目前,verilog已成为许多设计自动化工具普遍采用的标准化硬件描述语言。

verilog语言功能性强,覆盖面广,灵活性高,具有很好的实用性。

本文设计一个基于verilog的乒乓游戏机,乒乓游戏机由状态机、记分器、译码显示器与按键去抖等部分所组成。

通过对各部分编写verilog程序,然后进行编译、仿真、逻辑综合、逻辑适配,最后进行编程下载,并且通过EDA实验箱的验证,实现乒乓游戏机的基本功能。

关键词:verilog;EDA;乒乓游戏机AbstractVERILOG is high speed IC hardware describe language.VERILOG already becomes the language of normalizing hardware describe that a lot of design automation implement adopts commonly at present.The VERILOG language function is strong.The face covering is broad,flexibility high and have the very good pragmatism.One main body of the book is designed waits for what part group is accomplished owing to that VERILOG table tennis game machine,table tennis game machine go to tremble from state machine,marker,decoding display and button.By compiling and composing VERILOG procedure to every part,then compiling, simulate,logic synthesis,logic fitting.Carry out programming time be loaded with finally.Then verification and by GW48type EDA experiment box,realize table tennis game machine’s fundamental function.Key words:VERILOG:EDA;Table tennis game machine目录1绪论 (1)1.1课题的背景和意义 (1)1.2国内外研究现状 (1)1.3本论文的主要内容 (2)2Quartus II与Modelsim软件简介 (3)2.1Quartus II简介 (3)2.2Modelsim简介 (4)3方案选择与系统总体设计 (6)3.1整体方案的选择 (6)3.1.1设计任务与要求 (6)3.1.2设计的原理和方法 (7)3.1.3芯片的选择 (8)3.2系统总体设计 (8)3.2.1乒乓游戏机的组成示意图 (8)3.2.2本系统的逻辑分框图 (9)4系统各部分电路的详细设计 (10)4.1七段数码管显示译码电路 (10)4.2按键去抖电路 (11)4.3状态机设计 (11)4.3.1状态机的6种状态及状态转移 (11)4.3.2状态机/球台控制电路 (13)4.4记分器设计 (15)5系统的整体综合与仿真 (16)5.1顶层文件设计 (16)5.2系统程序框图: (17)5.3整个系统的综合与仿真 (18)5.3.1电路符号 (18)5.3.2系统仿真 (18)6系统的运行与仿真过程 (20)6.1系统程序的编译 (20)6.2系统的仿真 (22)结论 (24)谢辞 (25)参考文献 (26)附录 (27)1绪论1.1课题的背景和意义随着人们的物质生活越来越好了,人们开始对娱乐生活有了新的要求,特别是进入新世纪以来各种电子产品的不断出现,更是促进了我国电子行业的发展,为此,能够推出一款新的游戏产品是非常有前景的,本设计正是考虑了当前的社会现状,想设计出一款“乒乓球”游戏机,以往可能有过这方面的设计出现过,但是那些大多数都是采用的单片机等来实现的,本设计将采用最新的FPGA技术对“乒乓球”游戏机进行实现。

基于FPGA乒乓球游戏

基于FPGA乒乓球游戏

基于FPGA的乒乓球游戏的设计与实现引言FPGA(FieldProgrammableGateArray),现场可编程门阵列。

它是继PAL、GAL、CPLD等可编程器件的基础上进一步发展的成果。

它作为专用集成电路(ASIC)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

作为一种可编程器件,FPGA与传统的数字电路和门电路相比,它采用逻辑单元阵列的模式,内部包含有可配置逻辑模块、输出输入模块和内部连线三个部分。

通过硬件描述语言(如VHDL语言)完成的电路设计,可以通过综合与布局,快速烧录至FPGA芯片上进行测试。

SOPC(SystemOnProgrammableChip),可编程片上系统。

它是用可编程逻辑技术把整个系统放到一块硅片上,用于从事嵌入式系统的系统研究和电子测量处理等领域。

SOPC是一种特殊的嵌入式系统,它既是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能,但它又不是简单的SOC,也是可编程系统,具有灵活的设计方式,可裁剪、可扩充、可升级,并具备软硬件在系统可编程的功能。

1乒乓球游戏玩法介绍将双通道示波器作为显示屏。

将两路信号输入示波器中,让示波器工作在X/Y模式。

单片机实验板上的两个按钮作为控制键分别用于左击球和右击球,当小球接近屏幕左边时按下左击球可将球击回右侧,右侧击球亦然。

小球可以按照一定的抛物线轨迹自动在屏幕上左右运动,连续按下两次击球键能够击出高抛球,使球飞行距离增高。

当球接触到屏幕边沿而未按下击球键则被判定为输球。

2实验器件CycloneIII(EP3C10E144C8)FPGA实验板,单片机P89V51实验板(含按键显示屏等),电阻导线若干。

Altera公司生产的CycloneIIIFPGA芯片具有低功耗、低成本和高性能等特点。

其体系结构包括高达120K的垂直排列逻辑单元(LE)、以9-Kbit(M9K)模块构成的4Mbits嵌入式存储器、200个18x18的嵌入式乘法器。

fpga乒乓操作的作用

fpga乒乓操作的作用

fpga乒乓操作的作用FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,乒乓操作是FPGA中一种重要的操作方式,它在FPGA的应用中起到了很大的作用。

在接下来的文章中,我们将详细介绍FPGA乒乓操作的作用。

1.FPGA的基本概念和结构为了更好地理解FPGA乒乓操作的作用,我们首先来了解一下FPGA的基本概念和结构。

FPGA是一种可编程逻辑器件,它由可编程逻辑元件(通常是可编程逻辑门)组成,这些元件可以通过编程进行配置,从而形成预期的逻辑功能。

相比于ASIC(专用集成电路),FPGA更加灵活,因为ASIC的电路结构在制造过程中是固定的,而FPGA可以通过编程重新配置。

FPGA的基本结构由一系列逻辑元件和可编程互连网络组成。

逻辑元件通常是可编程逻辑门,例如与门、或门、非门等等,互连网络则负责将这些逻辑元件连接起来,以实现复杂的逻辑功能。

FPGA的互连网络通常采用可编程交换机和多路复用器实现。

2.FPGA乒乓操作的概念FPGA乒乓操作是指FPGA中两个逻辑元件之间的数据传输方式。

通常情况下,逻辑元件之间的数据传输是通过互连网络进行的,但在一些情况下,使用乒乓操作可以实现更高效的数据传输。

乒乓操作是通过将数据缓存到特定的寄存器中实现的。

当一个逻辑元件要传输数据给另一个逻辑元件时,它首先将数据写入到一个寄存器中,然后将该寄存器的内容传输给另一个逻辑元件。

FPGA乒乓操作在FPGA的应用中起到了重要的作用。

下面将详细介绍几个乒乓操作的作用:(1)数据传输的方便性:乒乓操作提供了一种方便灵活的数据传输方式,可以在FPGA中的不同逻辑元件之间进行快速的数据传输。

这对于实现复杂的逻辑功能非常重要,因为这些功能通常需要在多个逻辑元件之间传输大量的数据。

(2)数据流水线的实现:乒乓操作可以用于实现数据流水线。

数据流水线是一种通过将处理过程分为多个阶段,每个阶段由一个逻辑元件处理数据并将结果传递给下一个阶段的方式。

乒乓球游戏的FPGA实现

乒乓球游戏的FPGA实现

课程报告设计课题: 乒乓球游戏的FPGA实现姓名: XXX 专业: 集成电路设计与集成系统学号: XXX 日期 20 年月日——20 年月日指导教师:目录1.设计的任务与要求 (1)2.方案论证与选择 (1)3.单元电路的设计和元器件的选择 (5)4.系统电路总图及原理 (10)5.经验体会 (10)参考文献 (11)附录A:系统电路原理图 (12)附录B:模块代码…………………………………………………………………乒乓球游戏的FPGA实现1. 设计的任务与要求设计一个基于FPGA的乒乓球游戏,学习使用FPGA器件完成具有工程背景的应用设计1.1设计指标ball 是模拟乒乓球行进路径的发光管亮灯控制模块,在游戏中,以一排发光管交替发光指示乒乓球的行进路径,其行进的速度可由输入的时钟信号clk 控制;board 是乒乓板接球控制模块,即当发光管亮到最后一个的瞬间,若检测到对应的表示球拍的键的信号,立即将“球”反向运行,如果此瞬间没有接到键信号,将给出出错鸣叫,同时为对方记1分,并将记分显示出来;cou4和cou10分别是失球计数器的高低位计数模块;mway是乒乓球行进方向控制模块,主要由发球键控制;sound是失球提示发声模块。

1.2 设计要求1.画出电路原理图(或仿真电路图);2.开发板EP2C5T114C83. 编写设计报告,写出设计的全过程,附上有关资料和图纸(也可直接写在相关章节中),有心得体会。

2.方案论证与选择总体方案选择实现形式有两种:一次编程成型或者是多模块拼接。

我选择的是多模块拼接而成,自己编程两个个主要模块:八位双向移位寄存器,计数器。

然后通过适当的门电路搭建目的电路。

此方案的好处在在于比较容易实现,修改比较简单,但是整体电路可能会比较繁杂,也容易出现漏洞,对编程的应用不多,更多在的在于电路的搭建。

…3. 单元电路的设计与元器件选择1、八位移位寄存器这个是整个电路的中心模块。

现实乒乓球的运动状态,同时通过这些状态,结合适当的门电路,产生其他的控制信号,如移动方向的信号,技术信号,代码为LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHERT ISPORT(CLK,LOAD,RL:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);QB:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END SHERT;ARCHITECTURE behav OF SHERT ISBEGINPROCESS (CLK,LOAD,RL )VARIABLE REG8:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLK'EVENT AND CLK ='0' THENIF LOAD ='1' THEN REG8:=DIN;ELSE IF RL='1' THEN REG8(7 DOWNTO 1):=REG8(6 DOWNTO 0);REG8(0):='0';ELSE REG8(6 DOWNTO 0):=REG8(7 DOWNTO 1);REG8(7):='0';END IF;END IF;END IF;QB<=REG8(7 DOWNTO 0);END PROCESS;END behav;2、计数器这个模块主要用来记录得分的。

FPGA重要设计思想及工程应用之乒乓操作设计

FPGA重要设计思想及工程应用之乒乓操作设计
FPGA/CPLD
重要设计思想及工程应用
乒乓操作设计篇
中嵌教育() 谢大钊 编著
谢大钊 编著
PDF 文件使用 "pdfFactory Pro" 试用版本创建 ÿ橧\
概述 “ 乒乓操作 ” 是一个常常应用于数据流控
制的处理技巧,典型的乒乓操作方法如下页图所 示。
谢大钊 编著
PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì橧\
运用乒乓操作实现低速模块处理高速 数据流
所以端口 C1 的数据速率为: 1Mb/20ms=50Mbps 。 因此, “ 数据预处理模块 1” 的最低数据 吞吐能力也仅仅要求为 50Mbps 。同理, “ 数 据预处理模块 2” 的最低数据吞吐能力也仅仅 要求为 50Mbps 。换言之,通过乒乓操作, “ 数据预处理模块 ” 的时序压力减轻了,所要 求的数据处理速率仅仅为输入数据速率的 1/2 。
如上页图所示,数据缓冲模块采用了双口 RAM ,并在 DPRAM 后引入了一级数据预处理模块, 这个数据预处理可以根据需要的各种数据运算,比如 在一个高速电子系统中,对输入数据流的变频、解调、 解码等。假设端口 A 的输入数据流的速率为 100Mbps ,乒乓操作的缓冲周期是 10ms 。以下我们 就来分析各个节点端口的数据速率。 A 端口处输入数据流速率为 100Mbps ,在第 1 个缓冲周期 10ms 内,通过 “ 输入数据选择单元 ” , 从 B1 到达 DPRAM1 。 B1 的数据速率也是 100Mbps , DPRAM1 要在10ms内写入 1Mb 数据。
谢大钊 编著
PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì橧\

基于FPGA双RAM乒乓操作的数据存储系统的研究_图文(精)

基于FPGA双RAM乒乓操作的数据存储系统的研究_图文(精)

科技信息。

机械与电子o2010年第2l期基于FPGA双RAM乒乓操作的数据存储系统的研究钱黄生1夏忠珍z11。

中国电子科技集团公司第四十一研究所山东青岛266555;2.南京立汉化学有限公.-3江苏南京211102l【搐要】本文阐速了在对实时性要求较高,而对数据存储深度要求不高的数据采集系统中,用FPGA构建双RAM来乒乓存储数据的方法,重点介绍了乒乓操作的控制方法。

本方法在XILINX9.1软件中通过时序仿真。

并且通过XC2VP20验证了本方法完全能够满足设计的要求。

【关键词】FPGA;KAM;乒乓操作0引言经过70年的不断发展,FPGA已由当初的1200门发展成为今天的百万门级。

通过不断更新优化产品架构和生产工艺,实现了更多的逻辑单元、更高的性能、更低的单位成本和功耗【11。

本文用到的FPGA是xilinx公司Virtex-Il Pro家族的xc2vp20芯片,它包含2个POWER PC处理器.20880个cell.多达290KB的分布式RAM以及88个18KB的Block RAM嘲。

由于本系统的存储深度不大,所以采用FPGA片内资源来构建RAM。

这样效率更高.且使用方便,而且还可以避免板级信号干扰。

既节省了印制板空间又节约了成本。

1乒乓操作原理乒乓操作口棚是种经常应用于数据流控制的处理方法。

图l是它的典型操作示意图。

乒乓操作的处理流程为:输人数据流通过“输入数据选择单元”将数据流等时分配到两个数据缓冲区.数据缓冲模块选择双口RAM (DPRAM或单r】RAM,FIFO等。

在第一个周期,将输入的数据流缓存到。

数据暂存单元1”:在第2个周期,通过“输人数据选择单元”的切换,将输入的数据流缓存到“数据暂存单元2”,同时将“数据暂存单元1”缓存的第1个周期数据通过“输出数据选择单元”的选择。

输送到“数据处理单元”即上位机凄走进行处理;在第3个缓冲周期通过“输人数据选择单元”的再次切换,将输入的数据流缓存到“数据暂存单元1”,同时将“数据暂存单元2”缓存的第2个周期的数据通过“输出数据选择单元”切换,输送到“数据处理单元”进行运算处理。

基于FPGA的乒乓球游戏设计解读

基于FPGA的乒乓球游戏设计解读

软件部分 VHDL
--逻辑矢量转换为无符号数以便比较
count_value1<=unsigned(count1); count_value2<=unsigned(count2); compare_value1<=unsigned(compare1); compare_value2<=unsigned(compare2);
软件部分 C语言
int main (void) { Xuint32 Status; //读取GPIO初始化状态 XGpio Push_Bottons_4Bit; //定义GPIO按钮 XGpio Led_8Bit; //定义GPIO Xuint32 DataRead; //读取按钮数据 Xuint32 PWM[256]; //抽样256个点,保存在数组 Xuint32 count=0x0; //定义计分变量 int i,j=2,dir=1,inside_flag,hit_flag; //定义轨迹方向变量、 击球标志、可击球标志

signal divclk : std_logic; --分频时钟 signal count1 : std_logic_vector(0 to 15):=X"0000";--计数器1 signal count_value1: unsigned(0 to 15); --无符号计数值1 signal count2 : std_logic_vector(0 to 15):=X"0000";--计数器2 signal count_value2 : unsigned(0 to 15); --无符号计数值2 signal compare1 : std_logic_vector(0 to 15); --比较匹配值1 signal compare_value1: unsigned(0 to 15); --无符号比较匹配值1 signal compare2 : std_logic_vector(0 to 15); --比较匹配值2 signal compare_value2 : unsigned(0 to 15); --无符号比较匹配值2 signal dir1 : std_logic:='1'; --计数器1计数方向标志1为增计数,0为减计数 signal dir2 : std_logic:='1'; --计数器2计数方向标志1为增计数,0为减计数 signal slv_reg0 : std_logic_vector(0 to C_SLV_DWIDTH-1);

fpga乒乓球课程设计

fpga乒乓球课程设计

fpga乒乓球课程设计一、课程目标知识目标:1. 学生理解FPGA的基本原理和功能,掌握FPGA在数字系统设计中的应用。

2. 学生了解乒乓球游戏的规则及算法,能运用FPGA实现乒乓球游戏的简单控制逻辑。

3. 学生掌握Verilog或VHDL等硬件描述语言的基本语法,能够编写简单的硬件程序。

技能目标:1. 学生能够运用FPGA开发板进行基本电路设计和调试。

2. 学生能够分析乒乓球游戏的控制需求,设计并实现相应的硬件逻辑。

3. 学生通过课程实践,提高解决问题的能力和团队协作能力。

情感态度价值观目标:1. 学生培养对电子设计及FPGA技术的兴趣,激发创新意识。

2. 学生在项目实践中,学会面对挑战,培养克服困难的决心和信心。

3. 学生通过团队合作,学会尊重他人,提高沟通与协作能力。

课程性质:本课程为实践性较强的课程,结合理论教学和动手实践,培养学生运用FPGA技术解决实际问题的能力。

学生特点:学生具备基本的电子电路知识和编程能力,对FPGA有一定了解,具有较强的学习兴趣和动手能力。

教学要求:课程要求学生在理解基本原理的基础上,通过实践操作,完成乒乓球游戏控制逻辑的设计与实现。

教师需关注学生的学习进度,及时解答疑问,引导学生进行团队合作,提高综合能力。

二、教学内容1. FPGA基本原理与结构:介绍FPGA的基本组成、工作原理以及编程模型,使学生理解FPGA的灵活性和应用优势。

相关教材章节:第1章 FPGA概述。

2. 硬件描述语言基础:讲解Verilog或VHDL的基本语法和编程规范,为后续硬件逻辑设计打下基础。

相关教材章节:第2章 硬件描述语言基础。

3. 乒乓球游戏规则及算法:分析乒乓球游戏的规则,探讨实现乒乓球游戏控制逻辑的算法。

相关教材章节:第3章 数字系统设计实例——乒乓球游戏。

4. FPGA设计流程:介绍FPGA设计流程,包括设计输入、综合、布局布线、仿真和下载等环节。

相关教材章节:第4章 FPGA设计流程及工具。

基于FPGA乒乓球比赛游戏机的设计

基于FPGA乒乓球比赛游戏机的设计

基于FPGA乒乓球比赛游戏机的设计红芯电子xp.w收集整理可编程逻辑器件FPGA以其开发周期短、成本低、功耗低、可靠性高等优势,广泛应用于通信、航空、医疗等领域,近年来在消费电子领域中的应用也日渐增加。

为进一步挖掘FPGA在家庭娱乐如游戏机开发与应用中的巨大商机,介绍了一款以Altera公司FP-GA芯片为控制核心,附加少量外围电路组成的乒乓球比赛游戏机。

整个系统设计模块划分清晰:包括裁判端、选手端、控制端、显示端及模拟乒乓球台;功能齐全:包括发球权控制、犯规提示、局数比分显示等,模拟实际乒乓球比赛相似程度高。

采用了VHDL语言编程实现,在QuartusⅡ8.1集成环境下进行了模拟仿真,结果表明在设定的比赛规则下,游戏机运行正常,通过进一步优化可将其商品化,推入市场。

1 系统组成乒乓球比赛游戏机的组成如图1所示。

比赛规则约定:五局三胜;11分一局;裁判发出比赛开始信号,触发FPGA内部随机数发生器模块产生首次发球权方;比赛进行中,选手连续两次获得发球权后,发球权交予对方,如未获发球权方发球,裁判端犯规音响电路鸣响;13个LED排列成行模拟乒乓球台;点亮的LED模拟乒乓球,受FPGA控制从左到右或从右到左移动;比赛选手通过按钮输入模拟击球信号,实现LED移位方向的控制;若发亮的LED运动在球台中点至对方终点之间时,对方未能及时按下击球按钮使其向相反方向移动,即失去一分。

2 功能模块设计图1中,基于FPGA设计的控制端为整个系统的核心,其内部主要由简易随机数发生器、发球权控制器、乒乓球位置控制器、甲乙方计分控制器、犯规音响控制器等模块组成。

整个控制端采用模块化设计,先用VHDL语言编写功能模块,然后用顶层原理图将各功能模块连接起来。

设计的难点在于协调各模块工作,严格遵守各信号间时序关系。

本系统采用1 kHz系统时钟。

2.1 简易随机数发生器比赛首次发球权由随机数发生器产生的数据决定,其随机性要求不严,因此,采用非常简单的模式产生,即一旦FPGA上电,系统时钟百分频产生一方波信号square,当裁判闭合开始比赛开关产生start信号上升沿时,读取此时square 信号值作为随机数发生器输出randq。

FPGA之乒乓操作

FPGA之乒乓操作

FPGA之乒乓操作1.乒乓操作原理 乒乓操作是⼀个主要⽤于数据流控制的处理技巧,典型的乒乓操作如图所⽰: 外部输⼊数据流通过“输⼊数据选择控制”模块送⼊两个数据缓冲区中,数据缓冲模块可以为任何存储模块,⽐较常⽤的存储单元为双⼝RAM(Dual RAM),SRAM,SDRAM,FIFO等。

在第1个缓冲周期,将输⼊的数据流缓存到“数据缓冲1”模块,在第2个缓冲周期,“输⼊数据选择控制”模块将输⼊的数据流缓存到“数据缓冲2”模块的同时,“输出数据选择控制”模块将“数据缓冲1”模块第⼀个周期缓存的数据流送到“后续处理”,模块进⾏后续的数据处理,在第三个缓冲周期,在“输⼊数据选择控制”模块的再次切换后,输⼊的数据流缓存到“数据缓冲1”模块,与此同时,“输出数据选择控制”模块也做出切换,将“数据缓冲2”模块缓存的第⼆个周期的数据送到“后续处理模块”,如此循环。

这⾥正是利⽤了乒乓操作完成数据的⽆缝缓冲与处理,乒乓操作可以通过“输⼊数据选择控制”和“输出数据选择控制”按节拍,相互配合地进⾏来回切换,将经过缓冲的数据流没有停顿的送到“后续处理模块”。

⽐如将乒乓操作运⽤在液晶显⽰的控制模块上,如图所⽰。

对于外部接⼝传输的图像数据,以⼀帧图像为单位进⾏SDRAM的切换控制,当SDRAM1缓存图像数据时,液晶显⽰的是SDRAM2的数据图像;反之,当SDRAM2缓存图像数据时,液晶显⽰的是SDRAM1的数据图像,如此反复,这样出路的好处在于液晶显⽰图像切换瞬间完成,掩盖了可能⽐较缓慢的图像数据流变换过程。

2.FPGA乒乓操作代码2.1 FPGA设计代码1module pingpang2 (3input clk ,4input rst_n ,5input [7:0] data_in , // 输⼊数据6output reg [7:0] data_out // 输出数据7 );89// ------------------------------------------------------ //10reg [7:0] buffer1 ; // 缓存111reg [7:0] buffer2 ; // 缓存212reg wr_flag ; // 写标志,wr_flag=0,写buffer1,wr_flag=1,写buffer213reg rd_flag ; // 读标志,rd_flag=0,读buffer2,rd_flag=1,读buffer114reg state ; // 状态机,0:写1读2,1:写2读1,状态转移和输出分开编码15// ------------------------------------------------------ //16// 状态转移17always @ (posedge clk or negedge rst_n)18begin19if(rst_n == 1'b0)20begin21 state <= 'b0;22end23else24begin25 state <= !state;26//case(state)27// 1'b0 : state <= 1'b0; // 写1读2->写2读128// 1'b1 : state <= 1'b1; // 写2读1->写1读229// default : state <= 1'b0;30//endcase31end32end33// ------------------------------------------------------ //34// 状态输出35always @ (state)36begin37case(state)381'b0:39begin40 wr_flag = 1'b0; // 写141 rd_flag = 1'b0; // 读242end431'b1:44begin45 wr_flag = 1'b1; // 写246 rd_flag = 1'b1; // 读147end48default:49begin50 wr_flag = 1'b0;51 rd_flag = 1'b0;52end53endcase54end55// ------------------------------------------------------ //56// 写buffer数据57always @ (posedge clk or negedge rst_n)58begin59if(rst_n == 1'b0)60begin61 buffer1 <= 8'b0;62 buffer2 <= 8'b0;63end64else65begin66case(wr_flag)671'b0 : buffer1 <= data_in; // wr_flag = 0,写buffer1 681'b1 : buffer2 <= data_in; // wr_flag = 1,写buffer2 69default :70begin71 buffer1 <= 8'b0;72 buffer2 <= 8'b0;73end74endcase75end76end77// ------------------------------------------------------ //78// 读buffer数据79always @ (posedge clk or negedge rst_n)80begin81if(rst_n == 1'b0)82begin83 data_out <= 8'b0;84end85else86begin87case(rd_flag)881'b0 : data_out <= buffer2; // rd_flag=0,读buffer2 891'b1 : data_out <= buffer1; // rd_flag=1,读buffer1 90default : data_out <= 8'b0;91endcase92end93end94// ------------------------------------------------------ //95endmodule2.2 FPGA仿真代码`timescale 1ns / 1psmodule pingpang_tb();reg clk ;reg rst_n ;reg [7:0] data_in ;wire[7:0] data_out;always #10 clk = ~clk;initialbeginrst_n <= 1'b0 ;clk <= 1'b0 ;#2010;rst_n <= 1'b1 ;endalways @(posedge clk or negedge rst_n)beginif(!rst_n)data_in <= 'd0;elsedata_in <= data_in + 1'b1;endpingpang dut(.clk (clk ),.rst_n (rst_n ), .data_in (data_in ),.data_out (data_out ) );endmodule3.仿真结果。

FPGA乒乓球游戏机设计

FPGA乒乓球游戏机设计

摘要摘要在电子技术获得了飞速的发展的今天,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

而电子游戏因其携带方便、互动性高、无场地限制等优势,成为了人们休闲时很好的选择。

本设计将采用FPGA对“乒乓球”游戏机进行实现。

FPGA具有功能强、可靠性高、使用方便、体积小及重量轻等优点。

近年来,国内的FPGA技术与产品开发应用方面的发展也很快,各种电子产品已越来越多地采用FPGA控制系统且性价比高。

然后以FPGA为平台,VHDL硬件描述语言编程实现,实验箱验证。

最后在硬件上调试并实现实现“乒乓球”游戏机功能。

关键字:EDA,FPGA,VHDL,游戏机ABSTRACTABSTRACTThe electronic technology has obtained the rapid development in the modern, the electronic products penetrated almost every field of the society, a strong impetus to the development of social productive forces and the social informationization degree is improved, simultaneously also makes the modern electronic products to further improve the performance, product replacement are increasingly fast pace. Electronic games because of its portability, interactive high, no site limitation and other advantages, has become the people leisure time very good choice.This design will use the FPGA on the "ping pong" Electronic game machine. FPGA has the advantages of strong function, high reliability, convenient use, small volume and light weight etc.. In recent years, the development of FPGA technology and product development and application of domestic too soon, all kinds of electronic products have been increasingly adopted in FPGA control system and high cost performance. Then taking FPGA as the platform, VHDL hardware description language programming, verification experiment box. Finally, in the hardware debugging and the realization of "ping pong" game computer function.Key Words:EDA, FPGA, VHDL, Game machine目录第1章引言 (1)1.1 选题背景 (1)1.2 研究设计主要内容 (1)第2章开发工具描述 (3)2.1 EDA基础 (3)2.1.1 EDA技术的发展历程 (3)2.1.2 EDA技术的发展趋势 (5)2.1.3 EDA技术的基本工具 (5)2.2 硬件描述语言—VHDL (6)2.3 Quartus Ⅱ简介 (7)第3章功能实现与设计思路 (10)3.1 功能实现 (10)3.2 设计方案 (10)第4章各模块程序设计 (12)4.1 主控制程序设计 (12)4.1.1 桌台模块程序设计 (12)4.1.2 译码模块程序 (13)4.2 分频器模块设计 (14)4.3 防抖动模块设计 (15)4.4 显示控制和输出模块 (17)第5章系统的整合与仿真 (20)5.1 上层模块设计 (20)5.2 系统的仿真 (21)5.3 引脚分配与器件编程 (24)5.3.1 引脚分配 (24)5.3.2 器件编程 (24)第6章总结 (28)参考文献 (29)致谢 (30)附录 (31)附录一:桌台模块程序 (31)附录二:分频器模块程序 (35)附录三:防抖动模块程序 (36)附录四:显示控制和输出模块程序 (37)附录五:上层模块程序 (39)附录六:译码模块程序 (41)外文资料原文 (43)译文 (53)第1章引言第1章引言1.1选题背景电子技术的飞速发展,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

FPGA乒乓球实验报告

FPGA乒乓球实验报告

ELSIF aha="0001"and ala=bla+2 and bha="0001"
ELSIF bha="0001"and bla=ala+2 and aha==‘1’
B赢一局 bwin=‘1’
PROCESS(d) BEGIN CASE d IS WHEN"0000"=>q<="1000000"; WHEN"0001"=>q<="1111001"; WHEN"0010"=>q<="0100100"; WHEN"0011"=>q<="0110000"; WHEN"0100"=>q<="0011001"; WHEN"0101"=>q<="0010010"; WHEN"0110"=>q<="0000010"; WHEN"0111"=>q<="1111000"; WHEN"1000"=>q<="0000000"; WHEN"1001"=>q<="0010000"; WHEN others=>q<="1111111"; END CASE; END PROCESS; 四位二进制数转七段数码管显示
模块DISP
ARCHITECTURE fwm OF fenpinqi IS CONSTANT m:INTEGER:=5000000;(五百万) SIGNAL tmp:STD_LOGIC; BEGIN PROCESS(clk1,tmp) VARIABLE cout:INTEGER:=0; BEGIN IF clk1'EVENT AND clk1='1' THEN cout:=cout+1; IF cout<=m THEN tmp<='0'; ELSIF cout<m*2 THEN tmp<='1'; ELSE cout:=0; END IF; END IF; END PROCESS; clk<=tmp; END fwm; 一千万分频电路分频为5HZ,0.2S (0.1S~0.5S)

FPGA乒乓操作

FPGA乒乓操作

FPGA乒乓操作/programs/view/vgreBMVmF-M/乒乓操作的处理流程为:输入数据通过“输入数据选择单元"将数据等时分配到两个数据缓冲模块中,在第一个缓冲周期,将输入的数据流缓存到“数据缓冲模块1"中,在第二个缓冲周期,通过“输入数据单元”切换,将输入的数据缓存到“数据缓冲模块2’’,同时将“数据缓冲模块1”缓存的第一个周期数据通过“数据选择单元”的选择,送到“数据流运算处理模块’’进行处理,在第三个缓冲周期通过“输入数据选择单元"的再次切换,将输入的数据流缓存到“数据缓冲模块1”中,同时将“数据缓冲模块2”缓存的第二个周期的数据通过“输出数据选择单元”的切换,送到“数据流运算处理模块”进行运算处理。

如此循环。

乒乓操作的最大特点是通过“输入数据选择单元”和“输出数据选择单元’’按节拍的切换,将经过缓冲的数据流没有停顿地送到“数据流运算处理模块”进行运算处理。

把乒乓操作当作一个整体,站在这个模块的两端看数据,输入数据和输出数据都是连续不断的,因此非常适合对数据流进行流水线式处理,完成数据的无缝缓冲与处理。

在本系统的存储模块设计中,正是采用了乒乓操作原理。

比较常用的存储单元为双口RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。

乒乓操作的第二个优点是可以节约缓冲区空间。

比如在WCDMA 基带应用中,1个帧是由15个时隙组成的,有时需要将1整帧的数据延时一个时隙后处理,比较直接的办法是将这帧数据缓存起来,然后延时1个时隙进行处理。

这时缓冲区的长度是1整帧数据长,假设数据速率是3.84Mbps,1帧长10ms,则此时需要缓冲区长度是38400位。

如果采用乒乓操作,只需定义两个能缓冲1个时隙数据的RAM(单口RAM即可)。

当向一块RAM写数据的时候,从另一块RAM 读数据,然后送到处理单元处理,此时每块RAM的容量仅需2560位即可,2块RAM加起来也只有5120位的容量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FPGA 乒乓操作
乒乓操作的处理流程为:输入数据通过“输入数据选择单元"将数据等时分配到两个数据缓冲模块中,在第一个缓冲周期,将输入的数据流缓存到“数据缓冲模块1"中,在第二个缓冲周期,通过“输入数据单元”切换,将输入的数据缓存到“数据缓冲模块2’’,同时将“数据缓冲模块1”缓存的第一个周期数据通过“数据选择单元”的选择,送到“数据流运算处理模块’’进行处理,在第三个缓冲周期通过“输入数据选择单元"的再次切换,将输入的数据流缓存到“数据缓冲模块1”中,同时将“数据缓冲模块2”缓存的第二个周期的数据通过“输出数据选择单元”的切换,送到“数据流运算处理模块”进行运算处理。

如此循环。

乒乓操作的最大特点是通过“输入数据选择单元”和“输出数据选择单元’’按节拍的切换,将经过缓冲的数据流没有停顿地送到“数据流运算处理模块”进行运算处理。

把乒乓操作当作一个整体,站在这个模块的两端看数据,输入数据和输出数据都是连续不断的,因此非常适合对数据流进行流水线式处理,完成数据的无缝缓冲与处理。

在本系统的存储模块设计中,正是采用了乒乓操作原理。

比较常用的存储单元为双口RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。

乒乓操作的第二个优点是可以节约缓冲区空间。

比如在WCDMA基带应用中,1个帧是由15个时隙组成的,有时需要将1整帧的数据延时一个时隙后处理,比较直接的办法是将这帧数据缓存起来,然后延时1个时隙进行处理。

这时缓冲区的长度是1整帧数据长,假设数据速率是3.84Mbps,1帧长10ms,则此时需要缓冲区长度是38400位。

如果采用乒乓操作,只需定义两个能缓冲1个时隙数据的RAM(单口RAM即可)。

当向一块RAM写数据的时候,从另一块RAM
读数据,然后送到处理单元处理,此时每块RAM的容量仅需2560位即可,2块RAM加起来也只有5120位的容量。

另外,巧妙运用乒乓操作还可以达到用低速模块处理高速数据流的效果。

如图2所示,数据缓冲模块采用了双口RAM,并在DPRAM后引入了一级数据预处理模块,这个数据预处理可以根据需要的各种数据运算,比如在WCDMA设计中,对输入数据流的解扩、解扰、去旋转等。

假设端口A的输入数据流的速率为100Mbps,乒乓操作的缓冲周期是10ms。

以下分析各个节点端口的数据速率。

A端口处输入数据流速率为100Mbps,在第1个缓冲周期10ms内,通过“输入数据选择单元”,从B1到达DPRAM1。

B1的数据速率也是100Mbps,DPRAM1要在10ms内写入1Mb数据。

同理,在第2个10ms,数据流被切换到DPRAM2,端口B2的数据速率也是100Mbps,DPRAM2在第2个10ms被写入1Mb数据。

在第3个10ms,数据流又切换到DPRAM1,DPRAM1被写入1Mb数据。

仔细分析就会发现到第3个缓冲周期时,留给DPRAM1读取数据并送到“数据预处理模块1”的时间一共是20ms。

有的工程师困惑于DPRAM1的读数时间为什么是20ms,这个时间是这样得来的:首先,在在第2个缓冲周期向DPRAM2
写数据的10ms内,DPRAM1可以进行读操作;另外,在第1个缓冲周期的第5ms起(绝对时间为5ms时刻),DPRAM1就可以一边向500K以后的地址写数据,一边从地址0读数,到达10ms时,DPRAM1刚好写完了1Mb数据,并且读了500K数据,这个缓冲时间内DPRAM1读了5ms;在第3个缓冲周期的第5ms起(绝对时间为35ms时刻),同理可以一边向500K以后的地址写数据一边从地址0读数,又读取了5个ms,所以截止DPRAM1第一个周期存入的数据被完全覆盖以前,DPRAM1最多可以读取20ms时间,而所需读取的数据为1Mb,所以端口C1的数据速率为:1Mb/20ms=50Mbps。

因此,“数据预处理模块1”的最低数据吞吐能力也仅仅要求为50Mbps。

同理,“数据预处理模块2”的最低数据吞吐能力也仅仅要求为50Mbps。

换言之,通过乒乓操作,“数据预处理模块”的时序压力减轻了,所要求的数据处理速率仅仅为输入数据速率的1/2。

通过乒乓操作实现低速模块处理高速数据的实质是:通过DPRAM这种缓存单元实现了数据流的串并转换,并行用“数据预处理模块1”和“数据预处理模块2”处理分流的数据,是面积与速度互换原则的体现!。

相关文档
最新文档