如何实现fpga是什么与arm同时访问外部sram

您的当前位置:&&
基于FPGA的动态可重构系统设计与实现
&&[ 09:12:55]
上一篇:&&[ 09:12:58]
免责声明:
除注明“来源:威龙行业资讯”以外的资讯,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;
如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行;
联系方式:
热门新闻资讯
热门图片资讯FPGA DSP ARM 的区别_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
22页免费3页免费6页免费11页免费3页免费 2页免费2页免费2页免费8页1下载券13页免费
喜欢此文档的还喜欢13页免费35页免费6页免费72页1下载券4页免费
FPGA DSP ARM 的区别|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢基于FPGA的动态可重构系统设计与实现 - 可重构计算,FPGA,动态可重构,局部重构,Virtex-4配置,JTAG(边界扫描)链 - 中电网
设计技术&&
||||||||||||||
应用开发&&
|||||||||||
基于FPGA的动态可重构系统设计与实现
关键词:,,,,,
时间: 10:19:00&&&&&&来源:现代电子技术
南希,龚龙庆,田卫,李潇(西安微电子技术研究所陕西西安710054)0引言由于数字逻辑系统功能复杂化的需求,单片系统的芯片正朝着超大规模、高密度的方向发展。对于一个大规模的数字系统而言,系统规模是基于各种逻辑功能模块的组合。但是,无论是时序逻辑系统,还是组合逻辑系统,或者组合/时序混合系统,从时间轴上来看,系统中的各个功能模块并不是时刻都在工作,而是根据系统外部的整体要求,轮流或循环地被激活或工作。并且,随着数字逻辑规模的扩大,在相同速度条件下,在一定的时间区间,其功能模块的平均使用率将下降。因此,系统设计应该从传统追求大规模、高密度的方向,转向如何提高资源利用率,用有限的资源实现更大规模的逻辑设计上来。可重构计算技术能够提供硬件的效率和软件的可编程性,它综合了微处理器和ASIC的特点,在空间维和时间维上均可变。1可重构技术概述1.1可重构的定义可重构就是在电子系统的工作状态下,动态地改变电路的结构。这主要通过对系统中的可编程逻辑器件进行重新配置或者局部重新配置来完成。利用可重构技术,能在只增加少量硬件资源的情况下,使系统同时具有软件实现和硬件实现的优点。1.2可重构方式的分类按照重构的方式,系统重构可以分为静态系统重构(Static Reconfiguration)和动态系统重构(DynamicReconfiguration)。1.2.1静态系统重构静态系统重构是指目标系统的逻辑功能静态重载,只能在运行前配置的系统,如图1所示。FPGA功能在外部逻辑的控制下,通过存储于存储器中不同的目标系统数据重新下载,从而实现芯片逻辑功能的改变。1.2.2动态系统重构动态系统重构是指能在运行过程中实时配置的可重构系统,如图2所示。对于时序变化的数字逻辑系统,其时序逻辑的发生不是通过调用芯片内不同区域、不同逻辑资源组合而成的,而是通过对具有专门缓存逻辑资源的FPGA进行局部或全局的芯片逻辑的动态重构而快速实现的。动态系统结构的FPGA具有缓存逻辑(Cache Logic),在外部逻辑的控制下,通过缓存逻辑对芯片逻辑进行全局或局部的快速修改,通过有控制重新布局布线的资源配置来加速实现系统的动态重构。就动态重构实现面积的不同,又可以分为全局重构和局部重构。(1)全局重构。对FPGA器件或系统能且只能进行全部的重新配置。在配置过程中,计算的中间结果必须取出存放在额外的存储区,直到新的配置功能全部下载完为止,重构前后电路相互独立,没有关联。(2)局部重构。对重构器件或系统的局部重新配置,与此同时,其余局部的工作状态不受影响。局部重构对减小重构的范围和单元数目,大大缩短重构时间,占有相当的优势。2基于FPGA的局部动态可重构技术2.1具有局部动态可重构功能的FPGA过去大家普遍进行动态重构研究的FPGA主要有Xilinx公司的XC6200系列和Atmel公司的AT6000系列等。它们也是基于SRAM结构,但是SRAM的各个单元能够单独访问配置,即局部重构。它们的功能互不影响,因而具有局部重构的特征。这样做的优点显著,但也会付出增大硬件电路规模和功耗的代价。最终要实现电子系统的完全实时重构,应采用结构上具有动态局部重构功能的FPGA器件,如Xilinx公司的Virtex-4系列。2.2基于FPGA局部动态可重构技术主要特征及典型原理FPGA局部动态可重构技术的特征就是将整体按功能或按时序分解为不同的组合,并根据实际需要,分时对芯片进行局部动态重构,以较少的硬件资源实现较大的时序系统整体功能。图3给出一种典型的FPGA局部动态可重构。由图3可以看出,在外部逻辑的控制下,可以实时动态地对芯片逻辑实现局部重构。通过控制布局、布线的资源,实现系统的动态重构。2.3FPGA实现局部动态可重构的结构要求要使FPGA有效地实现实时系统动态重构,FPGA在结构上必须满足以下要求:(1)不仅具有可重新编程能力,同时可动态进行系统资源地重新配置,而不会破坏器件中全局或局部逻辑操作能力。很多传统的FPGA把配置数据存放在外部的串行EPROM中。这种方式有3个缺点:重构之前整个FPGA必须停止工作;只是对整个FPGA进行重构;重构时FPGA中以前的内部状态无法保存。新的能够实现动态可重构的FPGA不需要在重构之前触发复位信号,而是将FPGA芯片中的一局部逻辑电路的时钟关闭,然后重新配置逻辑电路,最后恢复时钟信号。(2)FPGA内部配置信息对称,记载任何时刻,任何通用的基本逻辑功能可以配置于器件的任何一个位置,运用简单模型组合去实现设计中的复杂功能。3基于FPGA的可重构演示系统的设计与实现3.1演示验证系统的硬件组成及各部分功能(1)演示验证系统的硬件组成,如图4所示。ARM处理器片内具有256 KB的片上SRAM存储器、2 MB容量FLASH存储器。主要是对SPARTEN-3AN系列的FPGA进行控制,控制其调取FLASH存储器中的重构方案;FLASH存储器的并行数据通过ARM转换成串行;ARM中自带的FLASH存储器用来存放程序;(2)SPARTEN3AN系列的FPGA,是基于非易失性存储的FPGA,主要作为PCI总线和ARM处理器之间的双端口;放置Spw IP核、UART IP核、1553 IP核;模拟JTAG口;(3)两个XCVSX55的FPGA专用JTAG,进行配置文件的下载。Xilinx FPGA基于SRAM技术,因此是易失性的。如果关掉器件的电源,其配置就会丢失。在生产型环境中,FPGA通常使用外部存储器件(如PROM)防止停电时丢失配置数据;(4)FLASH存储器容量为16 M×32 b,用于处理器的上电引导和存放多个用于模块级FPGA重构方案;(5)两个PROM-XCF32P。Virtex4系列XC4VSX55FPGA,其配置PROM为XCF32P,32 Mb存储容量。利用XCF32P的设计修订(Design Revisioning)功能将FPGA多种配置存储为不同的修订版本,从而简化FPGA配置更改。上电时,由配置PROM的内部逻辑对设计修订版本选择输入(引脚或控制位)进行采样;(6)两组测试线,每组4根,Cl_Test[3..0]和C2_Test[3..0]分别测试两个XCVSX55系列FPGA的重构和反馈重构结果;(7)两通道的PROM控制信号线,C1(C2)_PROG,C1(C2)_DIN,C1(C2)_DONE,C1(C2)_INT,C1(C2)_CCLK用于实现两个XCVSX55系列FPGA的PROM方式的下载。由于JTAG(边界扫描)链在其中一个部件发生故障时会影响整个JTAG链的正常功能,因此多使用PROM的下载方式备用;(8)一路RS-232驱动接收器,实现和外部通信的接口;(9)PCI总线,通过该总线实现计算机与外界交互的外部接口。3.2演示验证系统的工作原理3.2.1上电复位在上电复位时,要确保ARM和FPGA同步复位。Xilinx公司的FPGA上电时需要200 ms左右的配置时间,在此期间I/O引脚处于三态状态,因此对关键的输入/输出信号(如IRQx,NWAIT,2.56兆输出数据及输出时钟)有必要采取的上下拉,以确保ARM及外围接口信号处于正常的状态,避免信号冲突。3.2.2初始化主要的初始化工作有2部分,分别由ARM和FPGA完成。(1)ARM执行的初始化工作。包括监控程序自举→监控程序执行ARM内部寄存器初始化→硬件自检→加载标志检测→(软件更新加载)→FPGA参数设定→用户软件加载及完整性正确性校验→控制权叫用户软件→用户软件初始化→用户软件运行。(2)FPGA执行的初始化工作。主要有FPGA内部寄存器和逻辑状态的初始值、内部缓冲区数据清零依靠复位信号来完成。其中的“FPGA参数设定”由监控程序负责执行或由FPGA使用缺省参数完成。数据融合格式、输入/输出码速率等FPGA参数存储在ARM的片内FLASH中的FPGA参数区中,上电或复位时有监控软件负责加载和初始化。3.2.3重构过程可重构演示验证系统的结构如图4所示,当出现错误和发生故障时,由ARM处理器读取FLASH存储器中的重构方案。但是,FLASH存储器取舍众多重构方案却是受外部1553B,Spw,UART的控制。由ARM处理器更新FLASH存储器或给完成并/串转换的FPGA发出控制命令来对可重构应用单元进行操作。模拟JTAG口的FPGA与两个应用FPGA的JTAG口边界扫描链(Boundary-Scan Chain),在ARM处理器的控制下,对被重构的FPGA进行重构。FPGA的主要任务是通过ARM控制器将事先存入FLASH中逻辑系统的不同功能配置信息,按用户的系统时序要习和外部控制,逐一下载到SRAM编程的FPGA之中,以实现系统功能的动态局部重构。在系统工作过程中,FPGA将根据不同的要求,在处理器的控制下,不断重构其逻辑功能,通过模板级重构,满足不同数字图像处理和其他逻辑运算的要求。<IMG height=343 src="file:///C:DOCUME~1ADMINI~1LOCALS~1Tempmsohtml1嵌入式开发
论坛服务区
ARM,FPGA 关于ARM和FPGA的通讯问题。
&&&&[您是本帖的第5599位阅读者]
用户等级:
最后登陆时间: 13:12:50状态:离线
ARM,FPGA 关于ARM和FPGA的通讯问题。
关键词:&&&&&&&&&&&&
******************************
*攻城为下,攻人为次,攻心为上*
******************************。
用户等级:
最后登陆时间: 13:12:50状态:离线
我用控制FPGA,FPGA模拟UART的发送和接收,和并口读取,我单独读或者单独写都没有问题,但是边读边写就有数据丢失....为什么,想了很久想不通..用的是ATMEL的40008,FPGA是ALTERA的EP1C3.
FPGA模拟UART的发送和接收,用到M4K,发送用一个M4K模拟512byte发送FIFO,接收一个M4K模拟两组256byte接收FIFO.一共做了8路UART的发送和接收.
想问问你的和FPGA是怎么连的我们正在做这个,的数据线和地址线都连在FPGA上了么?还有哪些控制信号?
是如何用配置FPGA的,PS?能不能介绍一下
我没有用配置FPGA,数据地址线直接连接。各位,我的问题有可以帮我的吗?
你不说清楚,别人怎么帮呢?这不是什么困难的事,但你要清楚描述你的电路和软件别人才能帮你。
就这个功能而言,已经有成千上万的人作过了。
我上面有说了呀我一个程序只是收FPGA,收的数据是对的。一个程序只是向FPGA中写数据,也是对的。但是我有一个程序是一边写数据给FPGA,一边又要读取FPGA中的数据,那么写和读就会有错误了。是不是的EBI设置的不对阿?FPGA其实相对于也是一个外部设备,连续读取和写入外部设备数据之间需要有什么操作吗?
同时读写是不是时序有问题啊?比如在写的时候,来一个读信号,就把还没写进去的数据读出来,导致读写都有问题了~
不是同时读写。读写程序都是在主循环中,不是在中断程序中,所以不会同时有读写,是读写交替进行。
根本就看不出你的系统是怎么搭建的根本就看不出你的系统是怎么搭建的
估计是FPGA设计有误
联系可得到技术发展&S3C2410飓风开发板在目前市面在售开发板的基础上外扩了ALTERA Cyclone系列的FPGA,大幅度提高了硬件设计的灵活性。FPGA采用Cyclone EP1C6,支持12万门左右的硬件设计,并且兼容EP1C12以支持更大的硬件设计。它既可以作为S3C2410的memory设备为CPU分担复杂的工作,同时也可以利用自身外扩的FLASH和SRAM,采用NIOS处理器自成一个微控制系统与S3C2410协同工作。
&&&&本开发板提供了大量的外部接口,为硬件设计提供了广阔的选择空间。彻底解决了以往S3C2410用户饱受硬件资源困扰的问题。
&&&&本开发板既可以提供复杂嵌入式产品的开发平台,也能成为各位嵌入式初学者和发烧友提高自身的有力工具。
&&&&重点在FPGA上面,目前初步我们能够提供的资料包括带有大量外部模块的pof文件、对应模块的寄存器说明文档以及示例驱动代码、带有硬件设计整体框架以及少量IP模块的verilog源代码。分两个方向走:一方面开发NIOS系统及更多接口,为其应用提供开发平台,我们将应大家的要求开发更多的硬件模块,并且不断更新发布pof文件。对于一些简单的模块,我们会提供无偿开发,对于复杂的模块,可以采用合作的形式联合开发。另一方面,编写FPGA下硬件设计教程,带领广大的嵌入式爱好者走进无比精彩的硬件设计领域。目前存在很多朋友对FPGA一知半解的情况,了解熟悉硬件特性将会对大家深入学习嵌入式有着很大的帮助。
硬件资源&&&
顶板部分(核心板)
=============================================================
硬 件 部 件&&&&&&功 能 描 述&&&&&&&&&&&&&&&&&&&&&&&&&&&备 注
主处理器&&&&&Samsung S3C2410A&&&&&&&&&&&&&920T内核,主频最高可达202MHz
ROM&&&&&&NAND Flash,64MNOR FLASH, 2M
SDRAM&&&&&&SDRAM,64M byte&&&&&&&&&&&&&&&&&&&32MX2
=====================================================================================
=====================================================================================
==============================================================
硬 件 部 件&&&&&&&&&功 能 描 述&&&&&&&&&&&&&&&&&&&&&&&&&&&备 注
FPGA&&&&&&&&&&&&ALTERA Cyclone EP1C6 12万门,兼容EP1C12,门数加倍;
EPCS1&&&&&&&&&&&EP1C6 上电配置芯片 兼容EPCS4
ROM&&&&&&&&&&&&&NOR FLASH, AM29LV160 同时兼容AM29LV320,4M byte
SRAM&&&&&&&&&&&&61LVK byte
以太网芯片&&&&&&10Mbps CS8900A 带变压器内置的RJ45接口
音频A/D、D/A&&&&UDA1341 I2S接口,双声道输出,MIC输入
EEPROM&&&&&&&&&&存储设备 符合IIC总线接口
红外接收器&&&&&&红外信号接收设备&&&&&&&&&&&&&&&&&&可接收所有红外遥控器的发射信号
RTC&&&&&&&&&&&&&为系统提供实时时钟基准&&&&&&&&&&&外接后备锂电池
有源晶振&&&&&&&&为FPGA提供时钟基准&&&&&&&&&&&&&&&可随意更换
===============================================================
FPGA内部资源 注:FPGA内部模块以pof形式提供,同时包括模块文档和部分源代码。
===============================================================
硬 件 部 件&&&&&&&&功 能 描 述&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&备 注
EMI&&&&&&&&&&&&&&&&S3C2410外部总线接口,进行总线协议的转换&&确保S3C2410对FPGA系统所有资源进行可靠访问。
EBI&&&&&&&&&&&&&&&&外部SRAM、FLASH接口&&&&&&&&&&&&&&&&&&&&&&确保对SRAM和FLASH进行可靠快速访问
智能卡模块&&&&&&&&&对符合7816标准的各类智能卡、IC卡进行操作
UART模块&&&&&&&&&&&符合RS232标准
I2C模块&&&&&&&&&&&&I2C主设备&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&支持高速400Kbps
红外模块&&&&&&&&&&&基于脉宽的红外接收
计数器模块&&&&&&&&&2个32位计数器&&&&&&&&&&&&&&&&&&&&&&&&&&&&&任意分频和前置置数可配
看门狗模块&&&&&&&&&32位定时器&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&手动喂狗
Intc模块&&&&&&&&&&&中断控制模块,控制上述模块的中断输出&&&&&&优先级可配
================================================================
===========================================================================================
扩展口资源
================================================================
硬 件 部 件&&&&&&&&&&&功 能 描 述&&&&&&&&&&&&&&&&&&&&&备 注
LCD接口&&&&&&&&&&&&液晶显示器驱动接口&&&&&&&&&&&&&&最高支持16位TFT真彩色
触摸屏接口&&&&&&&&&支持4线触摸屏控制
Host&&&&&&&&&&&支持主方式通信&&&&&&&&&&&&&&&1个 Host接口( 1.1协议)
Device&&&&&&&&&支持从方式通信&&&&&&&&&&&&&&&1个 Device接口(1.1协议)
网络接口&&&&&&&&&&&以太网连接&&&&&&&&&&&&&&&&&&&&&&10BASE-T标准
UART&&&&&&&&&&&&&&&高速串口传输&&&&&&&&&&&&&&&&&&&&2个串口连接器,多模块共享
SD卡接口&&&&&&&&&&&支持SD卡&&&&&&&&&&&&&&&&&&&&&&&&最大支持1G byte SD卡
智能卡接口&&&&&&&&&符合7816标准
AD输入接口&&&&&&&&&支持4路AD同时输入 10bit
红外接口&&&&&&&&&&&红外遥控信号接收
I2C接口&&&&&&&&&&&&访问EEPROM等器件
音频I2S接口&&&&&&&&音频输入输出 双声道输出,MIC输入
外部总线接口&&&&&&&20位地址线,16位数据线 支持中断访问
ATA接口&&&&&&&&&&&&用于外接硬盘光驱等 和外部总线及智能卡接口复用
LED&&&&&&&&&&&&&&&&8位LED
DIP&&&&&&&&&&&&&&&&8位DIP
BUTTON&&&&&&&&&&&&&4位按键 另外还有一个全局复位按键
通用接口&&&&&&&&&&&39个 可以用于测试或者进一步的扩展
系统指示灯&&&&&&&&&6盏 指示网络、FPGA、红外及电源的工作状态。
软件配置&&&
软 件 部 件&&&&&&&&&&功 能 描 述&&&&&&&&&&&&&&&&&&备 注
JTAG烧写Flash&&&&通过Jtag口烧写NOR Flash 主要烧写NOR Flash的bootloader
BootLoader&&&&&&&NOR Flash bootloader&&&&对NOR Flash的二次烧写以及对Nand Flash的烧写
&&&&&&&&&&&&&&&&&Nand Flash启动,Vivi Nand Flash分区,烧写等
Linux内核&&&&&&&&Kernel 2.4.18&&&&&&&&&&&&标准Linux内核或Mizi Linux内核
&&&&&&&&&&&&&&&&各种常用文件系统&&&&&&&&&&支持ROM/CRAM等文件系统
设备驱动程序&&&&UART驱动&&&&&&&&&&&&&&&&串口通信
&&&&&&&&&&&&&&&&驱动&&&&&&&&&&&&&&&&&主机OCHI驱动设备驱动
&&&&&&&&&&&&&&&&音频驱动&&&&&&&&&&&&&&&&音频输入输出
&&&&&&&&&&&&&&&&以太网驱动&&&&&&&&&&&&&&以太网通信
Ucos-II内核&&&&&Kernel 2.76&&&&&&&&&&最新版Ucos-II内核
&&&&&&&&&&&&&&&&示例Project&&&&&&&&&&移植成功的Project示例代码
S3C2410测试程序 模块操作的示例代码 在三星源码的基础上针对本板作了重新移植
FPGA内部模块操作示例代码 FPGA模块操作的示范性代码 均经过完整长期的功能测试
===================================================================================
===================================================================================
部 件 编 号&&部 件 名 称
1 完善的系统硬件原理图
2 详尽的产品用户手册以及开发文档
3 系统所用相关器件资料
4 在Linux下安装Linux操作系统,配置开发环境
5 编译vivi内核 指南
6 NOR flash Bootloader、ucos-ii源码介绍指南
7 FPGA内部模块寄存器手册及开发指南
8 FPGA内部总线及接口框架说明,新增模块开发指南
9 所有作者亲笔撰写的开发日志以及在调试过程中的心得文章
配套清单&&&
部 件 编 号&&部 件 名 称
1 S3C2410飓风开发板一块
2 标准交叉串口线一根
3 标准交叉网线一根
4 标准并口延长线一根
5 JTAG调试器Wiggler一块
6 Byte Blaster下载线一根
7 标配优质电源5V,3A 一个
8 配套S3C2410飓风光盘,包含文档以及源代码
部 件 编 号&&部 件 名 称
1 完善的系统硬件原理图
2 详尽的产品用户手册以及开发文档
3 系统所用相关器件资料
4 在Linux下安装Linux操作系统,配置开发环境
5 编译vivi内核 指南
6 NOR flash Bootloader、ucos-ii源码介绍指南
7 FPGA内部模块寄存器手册及开发指南
8 FPGA内部总线及接口框架说明,新增模块开发指南
9 所有作者亲笔撰写的开发日志以及在调试过程中的心得文章
******************************
*攻城为下,攻人为次,攻心为上*
******************************。
快速回复主题
匿名不能发帖!请先 [
Copyright (C) ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.《电子产品世界》杂志社 版权所有 北京东晓国际技术信息咨询有限公司京ICP060382号
北京市公安局备案:

我要回帖

更多关于 arm和fpga 的文章

 

随机推荐