Leon3软核的FPGA SelectMap接口配置设计_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、leon3软核的fpga selectmap接口配置设计 引言 系统的硬件通常包括cpu、存储器和各种外设器件,其中cpu是系统的核心,其重要性不言而喻。随着和sopc技术的进展,基于fpga的嵌入式系统与传统的嵌入式系统相比,具有设计周期短、设计风险和设计成本低、集成度高、灵便性大、维护和升级便利、硬件缺陷修复等优点。基于fpga的嵌入式系统设计技术和市场逐渐成熟,使得嵌入式cpu软核(如公司推出的microblaze、公司的nios、欧空局开发的leon3软核等)的大量应用成为可能。virtex系列fpga是xilinx公司推出的一种高密度、大容量的现场可编程门阵列。该系列fpga可支持动

2、态重构,当fpga规律功能需要转换,如算法改进或是发觉设计上的错误,或fpga配置数据发生错误而导致功能失效(如在空间辐射环境下的单粒子翻转效应导致配置数据错误等),则需要对fpga举行重新配置。通常采纳的配置系统由cpu、fpga和存储器构成。本文结合详细应用需求,介绍了利用嵌入式cpu leon3软核处理器对virtex系列fpga的配置举行控制的办法。此系统能够实现fpga配置数据的重构,并且削减了外围cpu和cpld器件的用法,具有很好的应用价值。1 leon3软核leon3是欧空局开发的32位cpu软核,其标准版是一种开源的软核,用法gnu lgpl授权协议,可以免费地应用于讨论、教

3、学和商业目的。leon3软核用法语言描述,与sparc v8兼容,用法7级流水线,集成了全流水的ieee-754浮点处理器,提高了对多处理器的支持。因为leon系列命令集符合sparc v8标准,外部符合amba标准,兼容软件和ip核资源极其丰盛,加上其开放源代码的策略,对它的讨论和应用受到了广泛的关注。leon3软核具有良好的可配置性和可移植性,能够按照需要灵便地挑选外围控制器。并且该软核不是fpga厂商推出的,因此可以应用于不同类型的fpga芯片。leon3开源软核的grlib ip库中提供了多种功能模块,如串口控制器、存储器控制器、通用可编程i/o等,把该软核及其外围的控制模块集成到fp

4、ga中,构成一个嵌入式片上系统。2 selectmap接口配置系统设计2.1 virtex系列fpga配置方式virtex系列fpga基于sram工艺,共有4种配置方式:主串(master serial)、从串(slave setial)、selectmap和边界扫描(boundarysca-n)。串行(主串或从串)模式需要的配置信号少(program、cclk、din、init、done),fpga在配置时钟的升高沿接收1位配置数据,该配置方式速度较慢。边界扫描模式没有存储芯片,掉电后需重新配置,所以该种配置方式多用于调试阶段。selectmap模式是一种8位并行配置模式,它是virtex系

5、列fpga最快的一种配置模式,其配置时钟最高可达66mhz,每个配置时钟周期内有8位配置数据下载到fpga内。在对配置速度要求较高的一些应用场合,普通采纳selectmap配置方式。selectmap配置方式所需引脚及相应功能如表1所列。表中busy信号是握手信号,惟独当配置时钟的频率超过50mhz时才起作用,本设计的配置时钟频率低于50mhz,因此不用法busy信号。m(2:0)是模式挑选信号,在selectmap配置模式下,m(2:0)应置为110。2.2 selectmap接口配置硬件设计实现本文设计的selectmap接口配置系统由两片fpga和存储器(flash)构成,1所示。设计中

6、fpga1选用了xilinx公司virtex系列芯片vir-tex-5 xc5vsx95t,是需要举行配置的芯片。fpga2内部嵌入了leon3 cpu软核,可利用该cpu软核的存储控制器模块对flash举行读写控制;利用fpga内部丰盛的资源,在fpga2内部集成一个自定义的selectmap接口控制ip核,主要用来产生fpga的配置信号,这些selectmap配置信号的状态由嵌入在fpga2内部的cpu leon3软核监控。该设计采纳开源的leon3软核cpu,并且充分利用了fpga丰盛的资源,与通常的selectmap配置系统相比,设计成本低,设计较灵便。flash存储器采纳intel公

7、司的js28f256p30t95,具有32 mb的存储空间,用来存储fpga1的配置数据。由于flash的每个地址空间中存储着16位数据,leon3 cpu处理器读取flash地址中的数据,然后把数据以字节形式传送到fpga2。这个过程中,cpu处理器所在的fpga2为fpga1提供配置时序控制信号。这些控制信号的产生由fpga2内部集成的selectmap接口控制ip核实现。该ip核的功能模块由3个寄存器组成:配置寄存器、编程寄存器和输入寄存器。每次cpu对flash举行读或写操作时,这些寄存器存储fpga1的配置信号数据。其中配置寄存器和编程寄存器为只写寄存器,输入寄存器为只读寄存器。具体

8、的规律框图2所示。cpu数据线在selectmap接口控制ip核内部寄存器的构成如表2所列。该配置规律模块完成以下几方面的功能:启动fpga1配置时序;向fpga1内部传入配置数据;监测fpga1是否正常配置。用法嵌入式cpu软核配置fpga1的流程如下:启动fpga1的配置时序。cpu地址线选中fpga2内部编程寄存器,数据线输出fpga1配置控制信号cs、write和program,将cs和write置低,program置高。监测fpga的配置状态。cpu地址线选中fpga2内部输入寄存器,接收fpga1的输出信号init,若其值为高,那么cpu开头发出fpga1的配置数据,否则持续检查i

9、nit的值,直到其值为1。向fpga1内传送配置数据。cpu地址线选中fpga2内部配置寄存器,数据线data15:8输出fpga1的配置数据,data0产生配置时钟cclk,在cclk的升高沿fpga1接收配置数据。配置数据传送分两步,首先data0置0,然后data0置1。cclk产生一个升高沿,在此过程中data15:8数据保持不变。重复此过程,cpu输出fpga1所有配置数据。检查fpga1是否配置胜利。fpga1的配置数据被传送至结束时,cpu地址线选中fpga2内部输入寄存器,接收fpga1的输出信号done。若其值为高时,解释fpga1配置胜利,否则需要重新配置fpga1。sel

10、ectmap接口配置方式下fpga的时序3所示。3 及分析fpga2采纳xilinx公司的virtex-5 xc5vfx70t,selectmap接口控制ip核采纳vhdl语言实现,嵌入式cpu软核采纳的是欧空局开发的lcon3软核。在xilinxise 10.1平台下完成对lcon3 cpu软核处理器、外围控制器及自定义selectmap接口控制ip核集成的设计、综合,利用modelsim se6.0完成仿真。selectmap配置仿真波形4所示。因为fpga1(virtex-5 xc5vsx95t)的配置数据较大,仿真出完整的配置过程是不现实的,图中用5个字节的配置数据来代替fpga的完整配置过程。为了把配置寄存器数据data和并行配置的8位数据相对比,分别出了data的高8位data15:8。从图中可以看出,在一次完整的配置过程中,cs和write为低,program为高,当监测到init为高时发出配置数据,在配置时钟cclk的升高沿接收8位配置数据,done信号为高电平指示配置完成。该仿真结果和selectmap配置方式的fpga时序全都,证实了本设计的正确性及可行性。结语通过用法嵌入式lcon3 cpu软核和fpga及开发板上的存储器件,实现了对xilinx公司的fpga举行selectmap配置的一种有效的计划。这种办法削减了外围器件的数目,增

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论