版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于emif总线的fpga动态配置方案设计与实现 于长海摘要:提出一种fpga的动态配置方案,方案提供了一种fpga芯片的slave selectmap配置方式,用dsp芯片作为fpga的外部配置控制器,利用emif总线完成配置数据和时钟信号的输出,利用dsp的部分io管脚完成fpga相关配置信号的控制,实现了对于fpga配置文件的灵活加载和动态重构功能。对于fpga与dsp芯片的组合,设计中fpga的配置方式给出一种实用化的高性能解决方法,对于实际工程应用具有重要的参考价值。关键词:fpga动态配置;emif总线;dsp;slave se
2、lectmap:tp393文献标志码:a:1008-1739(2020)21-64-50引言fpga芯片的配置分为主串、主并、从串、从并及jtag等方式。一般工程前期设计时,fpga芯片都采用jtag烧写的方式为主,这样可以和主机进行互动,方便调试和仿真工作1。设计实现后可外接flash等非易失性存储芯片,上电启动时fpga主动读取芯片中的配置文件,完成自身的配置和初始化工作。这样的配置方式需要硬件上额外增加flash等存储芯片支持,另外,需要用主机配合jtag进行配置文件的烧写,每次启动只能加载固定的配置文件。在通信系统信号处理设计方案中,又常常将fpga与dsp芯片一起组合设计,采用emi
3、f(external memory interface)总线进行数据交互,实际应用中存在芯片载荷功能动态重构的需求2。传统外接flash等存储芯片的配置方式很难完成fpga的在线动态重配置和灵活加载的功能需求,且硬件上需要额外的储存资源支持。为了节约存储芯片等硬件资源,同时提高fpga芯片配置的灵活性,满足动态重构的功能需求,设计了一种slave selectmap的fpga芯片配置方案3。1方案总体设计方案设计时考虑了硬件资源的复用性,利用fpga与dsp之间emif总线的数据和写信号完成fpga的配置数据和时钟信号的控制4。利用dsp芯片的io管脚实现fpga相关配置信号的控制,利用dsp
4、芯片的本地flash完成fpga配置文件的存储,利用dsp芯片内的执行软件实现fpga配置文件的flash读取和动态配置功能,实现了硬件资源的节约,fpga芯片的灵活配置及动态可重构等功能需求总体方案分为硬件设计和软件设计2个部分。1.1硬件设计方案设计时fpga硬件采用xilinx公司的7系列芯片xc7k410t,外部配置主控制器dsp采用ti的tms320c6672实现。xilinx对于7系列fpga的slave selectmap配置方式的硬件设计要求如图1所示,配置需要数据总线、片选信号、读写信号和时钟信号,故方案设计时,外部处理器或微控制器需要按照fpga的配置要求提供对应的控制和数
5、据信号接入,在特定的时序要求下完成配置5。tms320c6672芯片的emif总线是一个dsp的外部存储接口,其信号组成结构如图2所示,主要由数据、地址、片选、字节使能、写信号、读信号、等待信号和读写控制信号组成6。综合考虑fpga端的配置时序需求,利用emif总线的16 bit数据线作为fpga配置数据信号,因为tms320c6672的emif总线没有时钟信号,设计时利用emif总线的写信号作为fpga的配置时钟,其他emif接口信号只作为正常通信使用,不参与fpga配置功能的实现。综合以上xc7k410t芯片的配置硬件需求与tms320c6672芯片emif总线组成情况,硬件总体设计结构如
6、图3所示。dsp端的emif总线数据和写信号分别连接fpga配置数据和时钟管脚,其余fpga配置需要的控制信号和状态信号与dsp的io管脚连接。根据fpga端配置的时序要求,完成相应信号的控制和状态读取,fpag的配置文件存储在dsp端本地flash之中,配置工作启动后由dsp完成文件的读取和fpga端的写入。1.2软件设计fpga配置主控软件在dsp芯片中运行,采用c语言实现,ccs开发环境中进行设计。针对方案所要实现的功能,软件的设计分为flash配置文件读取、emif总线接口时序配置、fpga配置信号管理和fpga配置文件写4个模块,总体结构如图4所示。主控軟件主要完成对于fpga配置文
7、件的读取、emif总线时序的配置、fpga配置信号的时序管理及fpga端配置文件的写入等工作的流程化控制,软件系统各个模块的功能如下:flash配置文件读取模块主要完成对于fpga配置文件的读取相关工作,包括动态配置文件的识别和获取,flash数据的读取和缓存等;emif总线时序配置模块主要完成emif总线的时序配置,包括数据和写信号的产生周期控制,完成fpga加载时间的控制功能;fpga配置文件写模块主要完成配置文件的emif写入,按照配置的时序要求,在指定时刻完成配置文件的数据时钟输出;fpga配置信号管理模块主要完成fpga相关的配置信号控制和管理功能,包括io管脚方向、电平状态和配置时
8、序的控制等。2方案实现流程方案主要实现的功能是通过外部dsp芯片完成fpga的动态配置,给出slave selectmap配置模式的一种实现方式。由于配置所需的数据、时钟和控制信号由dsp的emif总线数据、写信号和io管脚实现,具体实现时主要流程包含fpga的配置时序分析、emif总线时序的控制、控制信号的接入和配置、配置数据格式实现和dsp端主控软件的实现。2.1 fpga的配置时序分析xilinx公司给出的7系列fpga芯片slave selectmap配置方式下各个配置信号的时序关系图,如图5所示。从图中可以看出配置功能实现过程中各个信号的逻辑以及依赖关系,配置开始时首先拉低progr
9、am_b信号至少一个时钟周期,然后判断int_b的信号电平状态,若int_b为低电平则表示fpga芯片内部还没准备完成,需要继续等待,直到int_b信号为高,表示fpga芯片可以进行配置工作。配置写数据的过程中,首先应拉低rdwr_b信号,然后等待一个时钟周期拉低csi_b信号,此时可以进行数据的写入工作,等待配置数据全部写入完成后,需要判断done信号的电平状态,若done信号拉高说明fpga内部配置完成,否则表示fpga没有配置完成。done信号拉高后仍需要提供几个时钟周期的时钟信号,因为fpga内部需要继续进行初始化的操作,然后可以拉高csi_b信号,接着拉高rdwr_b信号,此时整个f
10、pga芯片的配置工作完成。从配置时序图可知,部分信号的先后顺序和持续时间需要进行严格的控制,只有满足特定的时序关系才能完成fpga芯片的配置工作。因此dsp芯片的io管脚和emif总线的部分信号需要根据时序要求严格进行设计。2.2 emif总线的时序控制根据xilinx官方slave selectmap模式的配置时钟与数据关系的要求,配置时钟低电平持續时间至少是所提供的时钟最小低电平时间与数据产生到时钟上升沿建立时间的最大值。配置时钟的高电平持续时间至少是所提供时钟高电平最小时间与时钟上升沿到数据保持的最小时间的最大值。tms320c6672芯片的emif总线写时序如图6所示,一个16 bit
11、的数据写操作主要包含setup,strobe,hold三个阶段,3个阶段的时间参数可以由dsp进行配置,是emif内部时钟周期的整数倍。本方案设计时选用的tms320c6672芯片emif总线的内部时钟为主频的固定分频值208 mhz,时钟周期约为4.8 ns,write setup参数设置为3,write strobe参数设置为4,write hold参数设置为3。本方案设计时由于此款dsp芯片emif总线无时钟信号,利用emifwe信号作为fpga的配置时钟,故时钟周期为write setup,write strobe,write hold的总和,也就是(3+4+3)×4.8 n
12、s=48 ns,加载数据速率为333.3 mbit/s。2.3控制信号的接入和配置根据xilinx对于7系列fpga的slave selectmap方式配置硬件需求及tms320c6672芯片实际硬件接口组成情况,综合考虑设计如图7所示的硬件详细配置信号连接关系。配置数据采用dsp芯片emif接口的16 bit数据信号连接,配置时钟信号由emif接口的写信号接入,片选信号由dsp的io0管脚连接,读写控制信号由dsp的io1管脚连接,program_b信号由dsp的io2管脚连接,int_b信号由dsp的io3管脚连接,done信号由dsp的io4管脚连接。其中,数据管脚是双向连接,时钟、片选
13、、读写控制和program_b信号由dsp输出到fpga端,int_b与done信号由fpga输入到dsp端。配置功能启动时,dsp端主动产生数据和时钟信号,并通过片选、读写控制和program_b信号完成关键信号的配置,通过int_b查询fpga的准备配置状态,通过done信号的状态查询fpga配置工作完成情况,通过以上所有管脚的有效配合完成fpga芯片的配置功能。2.4 fpga配置数据格式实现xlinx公司7系列fpga芯片slave selectmap模式下配置的数据格式要求,如图8所示。本方案设计时tms320c6672的emif总线数据为16位,故遵循图中x16的数据bit序,方案
14、设计时dsp芯片采用小端模式,故在进行bit序转换时,首先进行大小端字节序变换,然后再进行每个字节内bit序反转,配置文件中每隔16 bit数据都要进行转换,分别发送到emif总线之中。是简化dsp端软件执行过程,可以选择存储前进行fpga配置文件bit转换,此时dsp配置可以省去bit转换过程。2.5 dsp端主控软件的实现主控软件运行在dsp芯片中,完成各个控制信号和配置数据的产生、数据格式转换以及配置时序的控制等工作,其实现流程如图9所示。根据xilinx公司提供的7系列fpga配置时序要求,dsp的软件首先进行相关信号及接口的初始化工作,如配置dsp芯片运行主频、emif总线的时序参数
15、和配置信号io管脚的方向和电平状态等;其次,在所有信号初始化完成的基础上,按时序要求,拉低program_b信号若干时钟周期后再拉高,清除fpga内已经存在的配置信息;接着轮询int_b管脚的电平状态,直到判定为高电平,表示fpga芯片可以继续进行配置操作;接着拉低rdwr_b和csi_b管脚,进行flash内指定地址的配置文件读取和bit序转换操作;继而将转换后的数据通过emif总线输出给fpga;在将所有的配置文件读取、转换和写出后,轮询done管脚的电平状态,直到其输出为高电平表示fpga芯片配置成功;继续输出几个时钟,等待fpga内部初始化完成后,将csi_b和rdwr_b管脚拉高,整
16、个配置工作完成。3方案测试结果针对方案所要实现的fpga芯片动态配置功能,对各个实现环节及相关参数进行配置和验证。实际测试硬件环境中tms320c6672芯片的emif和io管脚分别连接xc7k410t的配置数据、时钟和相关控制和状态信号之上,flash芯片掛接在dsp端,如图10所示。软件配置上,dsp运行主频为1.25 ghz,emif接口时钟为208 mhz。配置连接csi_b、rdwr_b和program_b信号的io管脚为输出,int_b和done信号连接的io管脚为输入。配置emif接口write setup,write strobe,write hold参数分别为3,4,3个em
17、if时钟周期,配置仿真emif传输时序如图11所示。fpga使用一个闪灯程序进行测试,配置文件存储在dsp的本地flash中。上电启动,dsp首先完成自身及配置信号的初始化,然后按照xilinx公司要求的7系列fpga的slave selectmap模式配置时序,控制各个信号的状态和时序,读取flash的数据进行bit序转换后写入到fpga芯片之中,done信号拉高后,继续输入几个时钟周期,可以看到此时fpga端的灯开始闪烁,代表配置工作已经成功。dsp端可以接收上位机命令,实现配置文件的灵活加载和动态重构功能。4结束语本文研究实现了一种fpga芯片slave selectmap模式的配置方案
18、,该方案利用dsp作为配置主控制器,利用emif总线的数据、写信号以及部分io管脚分别完成fpga芯片配置数据、时钟和控制状态信号的控制,利用dsp中运行的主控软件实现加载流程的控制。省去了fpga端存储芯片的硬件资源,且可以实现fpga的灵活加载和动态重构功能,为dsp与fpga组合的通信系统信号处理工程实际提供一种fpga高效配置方案,该设计思想也可以应用于其他dsp与fpga组合设计中,对于需要在线载荷重构的工程应用具有一定的参考价值。参考文献1孙少华,屈盼让,韩佳玮.基于jtag协议的fpga在线加载j.航空计算技术,2019,49(6):89-91,95.2陈勇.基于fpga+dsp弹载sar信号处理系统设计j.电子技术应用,2019,45(9):101-105.3文发,尹君.基于cpu控制的fpga配置文件远程更新方法j.控制与信息技术,2019(3):56-59,69.4孔石,王春雷.基于emif16模块的tms320c6678与fpga接口设计与实现j.航空兵器,2015
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区活动场地场平施工合同
- 制造业员工聘用合同范本
- 体育机构装饰施工合同
- 环保项目施工补充合同
- 学校校园文化建设协议范本
- 佛山健身房租赁合同
- 建筑加固脚手架施工合同范本
- 养殖场人工智能服务租赁合同
- 建筑木材意向合同
- 2024融资居间合同范本(标准版)
- GB/T 14074-2017木材工业用胶粘剂及其树脂检验方法
- 钢栈桥工程安全检查和验收
- FDS软件介绍及实例应用
- 高原疾病防治知识培训课件
- 强基计划解读系列课件
- 2022-2023学年山东省济南市高一上学期期中考试英语试题 Word版含答案
- 玉米高产高效生产技术全套课件
- 《24点大挑战》教学-完整版课件
- 胸痛的鉴别诊断与危险分层课件
- 胜达因高速泵介绍课件
- 监理通风与空调质量评估报告
评论
0/150
提交评论