基于FPGA的双口RAM在双CPU通信中的应用及设计论文 联系客服

发布时间 : 星期六 文章基于FPGA的双口RAM在双CPU通信中的应用及设计论文更新完毕开始阅读

宁夏理工学院毕业设计(论文)

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总线系统,将所需的

- 1 -

宁夏理工学院毕业设计(论文)

并行线和双机之间的控制线相连接就可以实现数据通信。

对于“基于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平台的工作原理和应用。第三章是本次课题研究的重点,主要是设计系统和系统关键性技术的解决,提出了一些可行性的解决方案和软硬件技术。第四章主要是对本次课题研究的反思和提出的未来的发展方向,提出了在这次研究中所面临的问题,以及此次研究中没有解决的方案。

- 2 -

宁夏理工学院毕业设计(论文)

2 RAM与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 通常由四部分组成:存储体(存储矩阵)、地址译码器、读/写控制器和仲裁器。

Ao A1X1X1 X2存储体Xn Xn地址译码器地址译码器X2An数据输入/输出(D1/D0)读写控制(R/W)片选(CE)使能(OE)读/写控制器数据输入/输出(D1/D0) 读写控制(R/W) 片选(CE) 使能(OE)令牌仲裁(SEM)硬件仲裁 (BUSY)中断仲裁(INT)仲裁控制器令牌仲裁(SEM)硬件仲裁(BUSY)中断仲裁(INT)

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

- 3 -

宁夏理工学院毕业设计(论文)

2.1.2双口RAM工作原理

双口RAM芯片IDT7130是一种性能比较优越的通信器件,在多CPU通信系统设计中非常实用。双口RAM在使用中要求解决的实际问题时如何避免两端CPU对同一个RAM单元中起冲突,当双CPU对双口RAM进行读取操作时,会出现四种不同的情况:(1)双CPU有序的对同一地址单元进行读取操作;(2)双CPU同时对一个地址单元进行读取操作;(3)双CPU同时对一个地址单元进行存操作;(4)双CPU同时对一个地址单元读出数据;这就要求双口RAM在系统设计时,起到调节作用使系统高效有序地运行。

本设计采用自顶而下的设计理念。选用Xilinx公司的Spartan-6 FPGA器件,基于低功耗45 nm、9-金属铜层、双栅极氧化层工艺技术,提供高级功耗管理技术,150 000个逻辑单元,集成式PCI Express模块,高级存储器支持等。250 MHz DSP slice和3.125 Gb/s低功耗收发器。通过Verilog HDL语言对双口RAM功能的描述就能在一片FPGA器件内实现8位16字节的双口RAM,并进行读写操作控制。在双口RAM读写操作控制Verilog HDL代码如下:

library ieee;

use ieee.std_logic_1164.all; --调用常用的程序包 use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity ram is --定义实体

generic(width:integer :=8;length:integer:=8); --根据这个来改变RAM的大小,width为数据长度,length为数据个数

port(r_clk,w_clk:in std_logic;---定义写时钟和读时钟

r_add,w_add:in std_logic_vector(2 downto 0);--写地址和读地址 r_en,w_en:in std_logic;--读使能和写使能

d_in:in std_logic_vector(width-1 downto 0);--数据输入 d_out:out std_logic_vector(width-1 downto 0));--数据输出 end entity;

architecture art of ram is

type memory is array (0 to length-1) of std_logic_vector(width-1 downto 0);---定义一数组类型来存储数据

- 4 -