基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx

上传人:b****3 文档编号:7728712 上传时间:2023-05-09 格式:DOCX 页数:26 大小:903.05KB
下载 相关 举报
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第1页
第1页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第2页
第2页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第3页
第3页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第4页
第4页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第5页
第5页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第6页
第6页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第7页
第7页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第8页
第8页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第9页
第9页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第10页
第10页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第11页
第11页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第12页
第12页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第13页
第13页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第14页
第14页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第15页
第15页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第16页
第16页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第17页
第17页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第18页
第18页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第19页
第19页 / 共26页
基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx

《基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx(26页珍藏版)》请在冰点文库上搜索。

基于FPGA的双口RAM在双CPU通信中的应用及设计本科毕业设计Word文档格式.docx

Basedonthedemandofmoderncommunicationsystem,thedesignwasstudiedbyusingdualportRAMtoimplementtheparalleldatacommunicationbetweenthedoubleCPU,pointedouttheneedtobesolvedinthedesignofseveralkeyproblems,andgivesthecorrespondingsolutions.

Withtherapiddevelopmentofelectronictechnology,alargenumberofhigh-speeddataacquisitionandmodernindustrymeasurementandcontrolsystemandthefunctionoftheonlinetestinstrumentandperformanceputforwardhigherrequest,doubleCPUparallelworkdoublesinglechipmicrocomputersystemiswidelyused.Isbecomingmoreandmorewidelyusedincomplexnumbersystem,thedigitalcircuitdesignofonepieceofFPGAdevicestorageequipmentandsomeoftheelectricalinterfacematchingcircuitsolutionhasbecomeamainstreamchoice.UsingFPGAtorealizefunctionofdualportRAMisaverygoodmethodtosolvetheproblemofparallelismandspeed,anditsflexibleconfigurablepropertiesbasedonFPGAdualportRAMiseasiertomodifytestandsystemupgradecanreducethedesigncost,shortenthedevelopmentcycle.

Keywords:

FPGA;

DualportRAM;

DoubleCPU;

Theparalleldatacommunication

目录

摘要I

AbstractII

1绪论1

1.1研究发展趋势1

1.2研究现状1

1.3研究重点方向2

2RAM与CPU之间通信的基本原理3

2.1双口RAM结构及工作原理3

2.1.1双口RAM的结构3

图2,1双口RAM存储结构图3

2.1.2双口RAM工作原理4

2.2双CPU工作原理及应用5

2.2.1双CPU的结构5

2.2.2双CPU的工作原理6

2.2.3基于双CPU通信的设计及应用6

2.3FPGA的基本结构及工作原理7

2.4本章小结8

3双口RAM在双CPU通信中的设计及仿真9

3.1双端口RAM并行通信设计9

3.2系统关键性问题的解决10

3.2.1系统故障冗余设计10

3.2.2交叉事物处理设计10

3.3双CPU系统设计及关键技术问题11

3.3.1确保双CPU的协同可靠11

3.3.2合理设计交叉事物的实时处理软硬件11

3.3.3双口RAM存储空间的组成及访问11

3.3.4可靠性的保障12

3.4仿真结果及性能分析13

3.5本章小结14

4总结及展望15

4.1课题研究所面临的问题15

4.2未来研究方向15

参考文献16

致谢17

附录18

1绪论

1.1研究发展趋势

随着现代智能系统的升级和更新,在双向通信和信息传输过程中,对信息量的增加和实时性的要求更加精准高效。

这就要求在设计控制系统时提高系统对数据的高速采集和处理能力,充分发掘系统的大容量、高速度、快传输的潜力。

在多CPU并行处理嵌入式的基础上,可以充分发挥系统的控制能力和超强的信息处理能力的潜能,提高系统的智能化和自动化的性能,从而是系统更好的适应各种复杂的控制环境,更好的发挥控制能力。

在多CPU嵌入式控制系统中,数据传输通信已成为制约系统性能的主要因素,然而双口RAM的高速数据传输通信和共享能力解决了系统性能提高的瓶颈问题。

双口RAM不仅是一种性能极高的静态存储器,而且还是一种性能极好的通信器件。

双口RAM的两侧端口之间可以实现多CPU的高速并行通信传输。

这也是双口RAM芯片的一个重要应用特点。

由于“基于FPGA的双口RAM”对嵌入式多CPU控制系统中CPU之间的数据通信有重要作用,因此对有关的研究比较多。

综合考虑分析对于“基于FPGA的双口RAM”条件下嵌入式多CPU智能系统中多CPU之间的通信与数据处理所面临的关键性技术问题的研究比较广泛。

在该背景条件下,双口RAM对于多CPU之间数据通信与传输问题的解决成为研究重点,当前可以应用的平台主要是FPGA软件,FPGA又称为现场可编程逻辑门阵列,是一种通用型的用户可编程器件。

通过FPGA构造出设计要求所需的双口RAM,用于解决多CPU智能控制系统中CPU之间的数据传输与处理等功能。

目前,FPGA的发展有一些新的动态,主要有一些几个方面:

1.更高的性能,芯片朝着高密度,低功耗,低电压的方向研究。

2.更低的价格成本,使得研究成本降低,对研究具有重要意义。

1.2研究现状

在高速数据采集处理系统智能化发展的背景下,为了实现大数据的采集、传输、处理、实时控制等智能化功能,越来越多的多核CPU系统的出现,使得多CPU之间的通信成为制约其智能化系统发展的瓶颈问题。

基于多CPU并行通信的嵌入式系统,利用双口RAM的特殊端口性,实现多CPU之间安全可靠、实时传输的信息处理和大数据传输功能。

在用双口RAM设计的多CPU并行通信系统中,RAM仲裁机制成为系统设计关键技术问题。

多CPU通信系统在嵌入式系统中应用比较广泛,比如常见的有PCI总线系统,将所需的并行线和双机之间的控制线相连接就可以实现数据通信。

对于“基于FPGA的双口RAM”背景下的双CPU通信产业发展中的研究。

’在“基于FPGA的双口RAM”条件下,掌握现代发展趋势,打破现有的串行、并行、系统总线的格局,给嵌入式多CPU系统带来巨大的挑战,所以将此项内容作为研究课题的人很多’。

在嵌入式多CPU系统中,CPU之间的通信方式可以分为:

串行通信、并行通信、系统总线方式以及双口RAM通信方式等。

前三中通信方式的主要缺陷是传输速度慢、在处理大容量数据时容易出现数据拥堵,数据处理时间长,实时性效果差。

由于双口RAM的数据处理能力强,传统的数据处理方式和利用价值偏低,这样就使得传统通信方式跟不上现代通信的需求。

1.3研究重点方向

对于“基于FPGA的双口RAM”的背景下双CPU通信传输所面临的发展机遇与严峻挑战。

“基于FPGA的双口RAM”具有重要的研究意义,需要抓住发展要求,突破发展瓶颈,迎接挑战,做到扬长避短,吸取重要的发展成果,制定出相应的应对方案和措施。

提升自己的研究水准和技术要求,并且通信传输问题的研究人群相当广泛。

现场可编程逻辑门阵列FPGA是一种在编程软件中通用型用户编程器件,一片FPGA芯片包括大量的逻辑门、寄存器和I/O口资源,FPGA结构灵活、操作简单、集成化程度高、通用性强,通过FPGA构造专用的双口RAM具有前沿意义。

目前主要发展方向与趋势可以归纳为以下几点:

更高的性能,性价比更高,芯片朝着低功耗、高集成、低电压方向发展,性价比更高,对FPGA的应用推广意义更大。

很少有人提及,我将试图在此方向研究,加以技术改进,弥补之前的研究不足。

本次课题研究重点是双口RAM在双CPU之间通信中起到的关键性作用,及双CPU之间通信所需解决的传输问题。

第二章主要是讲解了双口RAM及双CPU的结构与工作原理,以及FPGA平台的工作原理和应用。

第三章是本次课题研究的重点,主要是设计系统和系统关键性技术的解决,提出了一些可行性的解决方案和软硬件技术。

第四章主要是对本次课题研究的反思和提出的未来的发展方向,提出了在这次研究中所面临的问题,以及此次研究中没有解决的方案。

2RAM与CPU之间通信的基本原理

2.1双口RAM结构及工作原理

2.1.1双口RAM的结构

双端口RAM对SRAM内存两套完全独立的数据读写,地址线和控制线,并允许两个独立系统在同一时间随机存取存储器,或共享的多端口存储器。

的最大特点是双端口RAM存储数据共享。

内存通常配备两套独立的地址,数据和控制线路,并允许两个独立的CPU或异步控制器访问存储单元同时。

数据共享,所以必须能够访问仲裁控制功能。

内部仲裁逻辑控制可以提供以下功能:

定时控制相同的地址访问单元,存储单元块访问配置;

信号切换逻辑(例如中断信号),等。

双端口RAM可以用来改善RAM的吞吐量,同时也可以应用到实时数据缓存。

双口RAM是一种高性能的双端口静态随机存取器。

‘当起用读/写存取器时,既可以随机地按所给地址从RAM的存储单元模块中将数据取出(读取),也可以随机地将数据存入到RAM存储单元中(称为取出)’。

可以随机地对RAM进行读/写操作,所以使用起来相当便捷。

因此,RAM在软硬件系统的设计中应用比较广泛。

‘双口RAM的每一位信息都存储在一个触发器中,当有电源时,信息则不会丢失。

一旦停电或发生其它故障时,RAM中的信息就出现丢失现象,因而不能够长期保存数据,也不方便将内存信息传输到其他地方。

’双口RAM存储结构如图2.1所示。

双口RAM通常由四部分组成:

存储体(存储矩阵)、地址译码器、读/写控制器和仲裁器。

图2,1双口RAM存储结构图

2.1.2双口RAM工作原理

双口RAM芯片IDT7130是一种性能比较优越的通信器件,在多CPU通信系统设计中非常实用。

双口RAM在使用中要求解决的实际问题时如何避免两端CPU对同一个RAM单元中起冲突,当双CPU对双口RAM进行读取操作时,会出现四种不同的情况:

(1)双CPU有序的对同一地址单元进行读取操作;

(2)双CPU同时对一个地址单元进行读取操作;

(3)双CPU同时对一个地址单元进行存操作;

(4)双CPU同时对一个地址单元读出数据;

这就要求双口RAM在系统设计时,起到调节作用使系统高效有序地运行。

本设计采用自顶而下的设计理念。

选用Xilinx公司的Spartan-6FPGA器件,基于低功耗45nm、9-金属铜层、双栅极氧化层工艺技术,提供高级功耗管理技术,150000个逻辑单元,集成式PCIExpress模块,高级存储器支持等。

250MHzDSPslice和3.125Gb/s低功耗收发器。

通过VerilogHDL语言对双口RAM功能的描述就能在一片FPGA器件内实现8位16字节的双口RAM,并进行读写操作控制。

在双口RAM读写操作控制VerilogHDL代码如下:

libraryieee;

useieee.std_logic_1164.all;

--调用常用的程序包

useieee.std_logic_unsigned.all;

useieee.std_logic_arith.all;

entityramis--定义实体

generic(width:

integer:

=8;

length:

integer:

=8);

--根据这个来改变RAM的大小,width为数据长度,length为数据个数

port(r_clk,w_clk:

instd_logic;

---定义写时钟和读时钟

r_add,w_add:

instd_logic_vector(2downto0);

--写地址和读地址

r_en,w_en:

--读使能和写使能

d_in:

instd_logic_vector(width-1downto0);

--数据输入

d_out:

outstd_logic_vector(width-1downto0));

--数据输出

endentity;

architectureartoframis

typememoryisarray(0tolength-1)ofstd_logic_vector(width-1downto0);

---定义一数组类型来存储数据

signaldata:

memory;

begin

process(w_clk,w_add,w_en,d_in)--写数据进程

Begin

ifw_clk'

eventandw_clk='

1'

then--在时钟上升沿来时

ifw_en='

then--若使能为1,则写数据

data(conv_integer(w_add))<

=d_in;

endif;

endprocess;

process(r_clk,r_add,r_en,data)--读数据进程

begin

ifr_clk'

eventandr_clk='

then

ifr_en='

d_out<

=data(conv_integer(r_add));

endart;

2.2双CPU工作原理及应用

2.2.1双CPU的结构

双CPU控制指的是操作系统有两个相对独立的物理CPU,协调两块主板在整个系统同时工作,性能在理论上是单一的双CPU。

‘CPU的内部结构主要包括:

(1)算术逻辑单元ALU

(2)寄存器组RS(3)控制单元(4)总线(Bus)’。

双核心处理器,在两个CPU核CPU衬底集成,和每个处理器核心通过并行总线连接。

双核心并不是一个新概念,但CMP(芯片多处理器、单片处理器)的最基本,最简单和易于实现的基本类型。

换句话说是双核处理器在一个半导体作为一个处理器内核的处理器有两个功能。

结合两个物理处理器核芯,繁重,处理大数据,两个核心可以相互配合,实现最大的CPU运行效果。

两个可以互补搭配的核心运行性能将得到改善,如使用英特尔奔腾双核处理器相当于D你有两个主机使用奔腾4。

如果超线程是使用软件来模拟双核的效果,所以现在指的是双核心是两个核心的现实意义。

它弥补了超级系统线程应用更少的缺点,可广泛应用于多个版本的Windows操作系统,它还可以有效地解决在双核操作分离和数据缓存冲突错误。

2.2.2双CPU的工作原理

CPU的主要任务是CPU通过执行各种命令,完成各种操作和控制功能,是计算机的核心组织,确定整个计算机系统的类型、性能和速度。

我们常说,286年,286年,486年,586年,奔腾,核心和core2duo是指CPU模型中,CPU由运算器和控制器组成。

8051单片机W77E58兼容是一个快速,其内核重新设计后,提高了时钟速度和内存访问周期速度。

改进后,在相同的时钟频率下,指令执行速度比标准8051快得多。

相对而言,根据指令的类型,W77E58指令执行速度是标准8051的1.5-3倍。

总的来说,W77E58大约2.5的速度比标准的8051倍。

在相同的能力和低频时钟的情况下,也相应的降低功耗。

采用静态CMOS设计理念,W77E58可以运行在较低的时钟频率。

工作电压4.5v至5.5v,1KB外部数据存储器,当用户使用片上存储器而不是外部存储器可以节省更多的I/O端口。

首先,CPU的内部结构分为控制单元、算术逻辑单元、存储单元(包括内部总线和缓冲区)三个部分。

CPU工作像一个生产车间流水线:

原料进入车间(应用程序指令),在货物分配调度部门(控制单元)和被送到生产线(算术逻辑单元),生产一个成品(加工后数据),然后在仓库存储(存储单元),然后等待市场推广销售(应用程序)。

一般情况下,一条指令可以包括按规定顺序执行的若干操作,CPU的工作就是执行这些指令,在完成一条指令之后,CPU的控制单元又传达指令读取器从内存中读取下一条新指令来执行。

这个过程在不断的重复快速的循环。

2.2.3基于双CPU通信的设计及应用

目前,在高速数据采集及大数据处理、在线测控系统中,为了是实现数据采集处理的高效、可靠、实时性等功能,越来越多的运用到多CPU通信方式。

基于双CPU通信系统的设计,不仅提高了数据处理的速度、可靠度,而且也增强了系统的控制能力和信息处理能力,提高了系统的智能化程度的水平,可以使系统更好的适应各种环境。

当前,双CPU通信方式主要应用到智能控制系统,大数据处理系统,双CPU数据接口通信,双RAM与双CPU之间的通信方式等。

在本次课题研究中主要研究双RAM与双CPU之间的通信,使用双RAM与双CPU通信可以很方便的实现,在选择CPU接口时具有很大的灵活性,但是这样就增加了设计的复杂性和难易程度。

2.3FPGA的基本结构及工作原理

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步研究发展的产物。

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

FPGA芯片主要包括7部分组成实现功能,分别是:

可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。

FPGA拥有丰富的布线资源,布线资源连通着FPGA内部的所有单元,并且连线的长度与制作工艺决定着信号在连线上的传输速度与精确度。

FPGA芯片内部的丰富布线资源,可以根据一定的性能分为四大类:

‘第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;

第二类是长线资源,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线;

第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;

第四类是分布式的布线资源,用于专有时钟、复位等控制信号线’。

  然而在实际系统设计中,不必考虑直接选择布线方式,FPGA内部的布线器可以自动根据设计要求选择相应的布线网络,连通各个单元模块。

从根本上说,布线资源的选择方式跟设计要求以及研究方法有着密切的关联。

图2.2FPGA芯片的内部结构

目前用以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的设计与布局,快速的烧录至FPGA上进行相应测试,是现代IC设计验证的技术主流方向。

这些可编辑元器件可以用来实现一些基本的逻辑门电路(例如AND、OR、XOR、NOT)或者更为复杂的一些组合功能(比如解码器或数学方程式)。

在大多数的FPGA里面,这些可编辑的元器件里也包含记忆元件(例如触发器(Flip-flop)或者其他更加完整的记忆块[2])。

‘FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个工作原理,内部包含可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分’。

‘现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构,FPGA是利用小型查找表(16×

1RAM)来实现组合逻辑,每个查找表连接都到一个D触发器的输入端,触发器再来驱动其他逻辑电路或者驱动I/O,因此构成了既可实现组合逻辑功能,又可以实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属导线互相连接或者直接连接到I/O模块上的’。

FPGA的逻辑的实现是通过向内部静态存储单元加载编程数据来完成的,存储在存储器单元中的数值决定了逻辑单元的逻辑功能以及各模块之间,模块与I/O间的连接方式,最终决定FPGA所能实现的功能,FPGA可允许无限次的编程和修改。

2.4本章小结

本章主要介绍了双口RAM的基本结构组成和工作原理,双口RAM的仲裁机制原理在处理双CPU通信中技术问题起到关键性作用。

双CPU的组成结构和工作原理,以及双CPU在通信系统中的设计与应用。

本章在最后还介绍了FPGA这个研究平台,简述了FPGA的主要组成部分和它的工作原理。

3双口RAM在双CPU通信中的设计及仿真

3.1双端口RAM并行通信设计

双端口RAM两岸的端口独立控制总线,地址总线和数据总线,各种CPU接口设计很简单,和各种各样的CPU性能高兼容性,那么容易实现并行两个CPU之间的沟通。

双端口RAMIDT7132芯片,例如并行的设计流量,如图4.1所示。

两岸的CPU可以同时双端口RAM芯片存储单元读和写操作,实现点对点的并行通信。

两岸的CPU不仅操作方便,而且可以直接双端口RAM互连,不需要额外的逻辑电路的设计。

确保双端口RAM左右的CPU是稳定的和可靠的双CPU通信系统运行的稳定性是非常重要的[14]。

所以设计中几个重要问题需要解决:

(1)硬件系统和软件系统应该有相应的故障冗余处理,因为两个CPU系统作为一个整体,一个系统故障,在另一个系统可以进行;

(2)交叉事务处理软件的设计合理,因为在一些沟通处理,处理一个端口数据处理的必要条件是另一个端口数据处理,因此在软件设计中,需要考虑交叉处理程序;

(3)组成的双端口RAM存储和访问,一个CPU访问RAM存储区域的访问不会影响另一个CPU访问。

图3.1双口RAM并行通信原理图

3.2系统关键性问题的解决

3.2.1系统故

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2