基于FPGA的ARM并行总线研究与仿真

发布者:幸福花开最新更新时间:2013-08-11 来源: 21ic关键字:FPGA  ARM  并行总线 手机看文章 扫描二维码
随时随地手机看文章
   

0 引言

在数字系统的设计中,FPGA+ARM 的系统架构得到了越来越广泛的应用,FPGA 主要实现高速数据的处理;ARM 主要实现系统的流程控制.人机交互.外部通信以及FPGA 控制等功能.I2C.SPI 等串行总线接口只能实现FPGA 和ARM 之间的低速通信 ;当传输的数据量较大.要求高速传输时,就需要用并行总线来进行两者之间的高速数据传输.

下面基于ARM 处理器LPC2478 以及FPGA 器件EP2C20Q240,以ARM 外部总线的读操作时序为例,研究两者之间高速传输的并行总线;其中,数据总线为32 位;并在FPGA 内部构造了1024x32bits 的SRAM 高速存储缓冲器,以便于ARM 处理器快速读写FPGA 内部数据.

1 ARM 并行总线的工作原理

ARM 处理器LPC2478 的外部并行总线由24 根地址总线.32根数据总线和若干读写.片选等控制信号线组成.根据系统需求,数据总线宽度还可以配置为8 位.16 位和32 位等几种工作模式.

在本设计中,用到ARM 外部总线的信号有:CS.WE.OE.DATA[310].ADDR[230].BLS 等.CS 为片选信号,WE 为写使能信号,OE 为读使能信号,DATA 为数据总线,ADDR 地址总线,BLS 为字节组选择信号.ARM 的外部总线读操作时序图,分别如图1 所示.

基于FPGA的ARM并行总线研究与仿真

根据ARM 外部并行总线操作的时序,ARM 外部总线的读写操作均在CS 为低电平有效的情况下进行.由于读操作和写操作不可能同时进行,因此WE 和OE 信号不能同时出现低电平的情况.

数据总线DATA 是双向的总线,要求FPGA 也要实现双向数据的传输.在时序图中给出了时序之间的制约关系,设计FPGA 时应该满足ARM 信号的建立时间和保持时间的要求,否则可能出现读写不稳定的情况.

2 FPGA 的并行总线设计

2.1 FPGA 的端口设计

FPGA 和ARM 之间的外部并行总线连接框图,如图2 所示.由于FPGA 内部的SRAM 存储单元为32 位,不需要进行字节组的选择,因此BLS 信号可以不连接.为了便于实现ARM 和FPGA 之间数据的快速传输,FPGA 内部的SRAM 既要与ARM 处理器进行读写处理,还要跟FPGA 内部的其他逻辑模块进行数据交换,因此SRAM 采用双口RAM 来实现.

基于FPGA的ARM并行总线研究与仿真

从端口的方向特性看,DATA 端口是INOUT(双向)方式,其余端口均为IN(输入)方式.从端口的功能看,clk20m 是全局时钟,在实现时应采用FPGA 的全局时钟网络,这样可以有效减少时钟延时,保证FPGA 时序的正确性.ADDR 是16 位的地址总线,由ARM 器件输入到FPGA.DATA 是32 位的双向数据总线,双向总线的设计是整个设计的重点.OE 为ARM 输入到FPGA 的读使能信号.

WE 为ARM 输入到FPGA 的写使能信号.CS 为ARM 输入到FPGA 的片选信号,FPGA 没有被ARM 选中时必须输出高阻态,以避免总线冲突.

2.2 FPGA 的双向总线设计

在FPGA 的并行总线设计中,如果顶层和底层的模块都要用到双向的IO 端口,则要遵守设计原则;否则不利于VHDL 程序的综合.双向IO 端口的设计原则是:只有顶层设计才能用INOUT类型的端口,在底层模块中应把顶层的INOUT 端口转化为独立的IN(输入).OUT(输出)端口并加上方向控制端口.顶层设计的VHDL 代码如下:

其中,DATA_i.DATA_o 和output_en 均为FPGA 内部的信号,在内部的各层次模块中,通过这三个信号就可以进行单向的IO 控制.这样,顶层设计中双向的DATA 端口转化为了内部单向的DATA_i(输入).DATA_o(输出)和output_en(输出使能).在内部各模块中,结合这三个信号以及 ADDR.OE.WE.CS 等信号,则可方便地实现ARM 总线接口的功能.实现的VHDL 关键代码如下:

3 仿真结果分析

通过Quartus II 仿真工具,对FPGA 并行总线进行时序仿真;仿真结果如图3 所示.根据ARM 并行总线的读写时序图要求,从仿真结果可以看出FPGA 的总线接口设计满足了设计的要求.由于选用的FPGA 器件内部带有逻辑分析仪的功能模块,通过Quartus II 软件中的SignalTap II 逻辑分析工具,对FPGA的设计模块进行在线测试,发现总线时序了满足ARM 并行总线的要求,且工作稳定,从另一个角度验证了设计和仿真结果的正确性.

基于FPGA的ARM并行总线研究与仿真

4 结论

由于FPGA 技术和ARM 技术应用越来越广泛,通过设计并行总线接口来实现两者之间的数据交换,可以较容易地解决快速传输数据的需求,因此设计满足系统要求的FPGA 并行总线显得尤为重要.本文设计的FPGA 的ARM 外部并行总线接口,满足了总线的时序要求,并在某航空机载雷达应答机中进行了应用,系统运行稳定,性能良好.以上的设计和仿真方法,对其他类似的设计也有 一定的参考作用.

关键字:FPGA  ARM  并行总线 引用地址:基于FPGA的ARM并行总线研究与仿真

上一篇:FPGA“独孤求败”? 架构创新与工艺提升并行
下一篇:基于FPGA的司机眼球跟踪疲劳检测报警系统

推荐阅读最新更新时间:2024-05-02 22:44

FPGA平台架构提升信息娱乐系统设计灵活性
开发车载信息娱乐系统面临着前所未有的挑战。事实上,支持众多不一致甚至矛盾的要求需要采用全新的思路。设计基于FPGA的平台就是一种可行的解决方案,可通过设计灵活性来满足多样化的汽车要求。   对于那些想要达到新的期望值的OEM来说,问题在于改变整个供应链的基本行为,包括从如何建立信息娱乐系统架构到为这些系统提供的产品和服务。   这种压力又传递给了一级发动机控制单元(ECU)供应商,因为他们所服务的OEM坚持要迎合来自消费市场的产品要求,诸如要能够灵活地适应市场变化、降低成本以及不断缩短设计周期。在汽车市场中,这种变化的幅度是空前的,并且正在形成猛烈的风暴袭击一级供应商。一级供应商如果想在这一领域取得成功,就必须适应这
[嵌入式]
<font color='red'>FPGA</font>平台架构提升信息娱乐系统设计灵活性
FPGA构建高性能DSP
    在数据通信和图像处理这样的应用中,需要强大的处理能力。当最快的数字信号处理器(DSP)仍无法达到速度要求时,唯一的选择是增加处理器的数目,或采用客户定制的门阵列产品。现在,设计人员有了新的选择,可采用现场可编程门阵列(FPGA)来快速经济地完成设计。采用现场可编程器件不仅缩短了产品上市时间,还可满足现在和下一代便携式设计所需要的成本、性能、尺寸等方面的要求,并提供系统级支持。 FPGA的方案选择     幸运的是,需要高性能DSP功能的便携式设备设计者还有其它选择。最近FPGA开始达到了应用所要求的成本竞争力。优选的FPGA方案可用来处理计算量繁重的高端DSP算法,同时还可为设计提供可编程逻辑解决方案
[应用]
解密Arm中国:全球最具影响力的芯片公司中国布局浮出水面
经济观察报 记者 陈伊凡 沈怡然 李华清 对于Arm与中国合资公司事宜,5月4日下午,Arm授权的代表邮件回复《经济观察报》称:“合资公司目前刚开始运营”,“我们的重点是让这个新的合资公司取得成功;开发出全新的Arm IP和标准,赋能中国市场,促进本地创新和增长。” “Arm将不会回应一切未经证实的市场臆测。”关于Arm与中国的合资公司,近期多个报道称中方将控股,且合资公司将在中国寻求IPO。 Arm与中国合资事件背后,是Arm在中国近期已经部署了多个举措。4个月前,Arm中国调整了公司架构:Arm Limited 不再直接持有安谋电子科技(上海)有限公司(以下简称“安谋上海”)的股权,而将其股权转给安谋科技(中国)有限公司(以下
[半导体设计/制造]
配置arm linux Qt开发环境
配置arm linux Qt开发环境的过程相对比较复杂,所以有必要把步骤记录一下。 版本:Ubuntu10.04 LTS / Qt SDK 4.7.3 / arm-linux-gcc 4.4.3 一、安装arm-linux-gcc编译器 1.下载arm-linux-gcc-4.4.3, http://ishare.iask.sina.com.cn/f/13836544.html 2.解压后复制到/usr/local/toolschain目录,其他目录也可以,本文以此路径为例 3.使用 sudo gedit /etc/enviroment 修改PATH,添加/usr/local/toolschain/4.4.3/bin:。注意
[单片机]
php5.4.5移植到arm-linux摘要,lighttpd配置
php5.4.5移植到arm-linux摘要. 因为有嵌入WEB服务的需求,再常识了N多的开源的嵌入服务后最终选择了lighttpd.Apache太大支了,而且在arm上对swf的支持不好. 其他的都不怎么理想. lighttpd的移植过程就省略了。这里只摘要了PHP移植,采用fastcgi与lighttpd 协作. php版本:php5.4.5 交叉编译设置参数: ./configure --enable-fastcgi --enable-force-cgi-redirect --enable-discard-path --disable-cli --without-iconv --enable-mbstring
[单片机]
ARM汇编编程规则
1. 基本概念 • ATPCS (ARM-Thumb Procedure Call Standard) 规定了一些子程序间调用的基本规则,这些规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则。有了这些规则之后,单独编译的 C语言 程序就可以和汇编程序相互调用。 使用ADS的 c语言 编译器编译的C语言子程序满足用户指定的ATPCS类型。而对于汇编语言来说,则需要用户来保证各个子程序满足ATPCS的要求。 • AAPCS (ARM Archtecture Procedure Call Standard) 2007年ARM公司正式推出了AAPCS标准,AAPCS是ATPCS的改进版,
[单片机]
赛灵思Kintex-7 FPGA DDR3接口性能演示
本演示展现了 Kintex-7 FPGA 连接 DDR3 存储器的接口功能。从演示中可以看出将高性能1600 Mbps DDR3 设计移植到硬件平台上是多么简单。有关示例目前已经发布。这些功能使用户能够快速启动 FPGA 设计中的 DDR3 部分,以加快整体产品上市进程。这里给出的参考设计是标准的 IP 核,可通过存储器接口生成器 (MIG) IP 核免费提供。该参考设计已导入 Kintex-7 KC705 平台。本演示还采用了 ChipScope™ 分析器软件来展示接口和 DDR3 控制器的功能。该软件可以测试并验证 DDR3 接口以 1600 Mbps 的速度在Kintex-7 FPGA 开发套件 KC705 板上的 FPGA
[嵌入式]
Arm在汽车领域的增长前景与战略重点
自2023年9月重返公开市场以来,芯片设计公司Arm以其强劲的价格表现让投资者们眼前一亮。在人工智能的推动下,Arm的股价今年迄今已上涨约66%,自去年上市以来更是上涨了一倍多。随着该公司客户名单不断扩大,Arm的增长前景愈发看好,尤其在汽车领域,这一增长势头尤为明显。 汽车行业被认为是Arm增长最快的领域之一,无论从该领域的收入增长速度和公司对未来市场的投资都可以看出。几乎所有主要的半导体制造商,包括英伟达、苹果和高通等,都在使用Arm的设计。虽然Arm以其手机技术而闻名,但首席执行官Rene Hass表示,随着智能汽车时代对高性能芯片的需求增加,汽车领域已成为公司的重点关注对象。 尽管汽车业务在Arm整体业务中所占比例
[汽车电子]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved