一种fpga加载模式的动态配置电路的制作方法

文档序号:6460896阅读:334来源:国知局
专利名称:一种fpga加载模式的动态配置电路的制作方法
技术领域
本发明涉及FPGA( Field Programmable Gate Array,现场可编程门阵列) 加载模式的动态配置技术,具体涉及的是, 一种FPGA加载模式的动态配 置电路。
背景技术
随着通讯技术的M,通讯设备越来越复杂,集成度也越来越高,FPGA (Field Programmable Gate Array,现场可编程门阵列)已经是系统中不可 或缺的重要成员。FPGAA^于门阵列方式为用户提供可编程资源的,其内 部逻辑结构的形成是由配置数据决定的。FPGA的配置引脚可分为两类专 用配置引脚和非专用配置引脚,专用配置引脚只有在配置时起作用,而非 专用配置引脚在配置完成后则可以作为普通的I/(D 口使用。专用的配置引 脚有模式配直引脚M2、 Ml、 MO;时钟配置引脚CCLK;逻辑异步复位 配置引脚PROG,启动控制配置引脚DONE及边界扫描配置引脚TDI、 TDO、 TMS、 TCK;非专用配置引脚有数据串行输入配置引脚Din、 D0、 D7、片 选配置引脚CS、 WRITE、 BUSY、初始化状态配置引脚INIT。在不同的配 置模式下,时钟配置引脚CCLK可由FPGA内部产生,也可以由外部控制 电路提供。在众多FPGA的生产厂家中,Xilinx公司的FPGA器件方便使 用,性能优越,而且得到了越来越多地应用。
Xilinx FPGA的程序加载模式有很多种,最常用的有Slave Serial (从串 模式)、Master Serial (主串模式)、Slave SelectMAP (从并模式)、Master SelectMAP (主并才莫式)、JTAG才莫式(Joint Text Action Group,在线测试
4模式),加载模式的选择是通过对3个模式配置引脚M0 M2进行选择来 实现的。
通常在调试时,使用JTAG加载模式,在此模式下可以使用FPGA器 件自带的逻辑分析仪软件,大大加快调试进度。调试完成后实际使用时, 则会使用Slave模式(包括Slave Serial或Slave SelectMAP模式)通过CPU 加载、或者Master模式(包括Master Serial或Master SelectMAP模式)通 过专用芯片加载。
在单板设计调试过程中,往往需要经常在JTAG模式和其他加载模式之 间进行切换,以适应不同的调试目的。而且在一些特殊情况下,甚至需要 到现场使用JTAG模式进行FPGA程序调试,调试完毕后再恢复到正常使 用模式。因此,在设计加载电路时,必须至少考虑JTAG模式与Slave或 Master模式之间的切换方法,并尽可能做到灵活、可靠。
为达到上述目的,现有技术中通常有以下两种做法
(1) 在模式配置引脚上制作上下拉电阻,根据实际需要的加裁模式焊 接相应的电阻,使模式配置引脚M0 M2上呈现所需的电平,从而应用相 应的加载模式。
(2) 通过短路块连接模式配置引脚MO ~ M2到所需电平,得到所需加 载模式。
上述第(l)种方法,虽然能够在一定程度上解决FPGA不同加载模式 的应用需求,但是其不够灵活。因为在电阻一旦焊接以后,就必须使用烙 铁等工具才能更改加载模式,这样的做,即使在实验室调试都不是很方便, 如果在现场需要进行类似的操作,就更加困难了,所以灵活性差、更改操 作不便。而上述第(2)种方法,虽然在灵活性上有所提高,但是由于短路 块的可靠性低,从而导致整个系统可靠性的降低。
综上所述,现有技术中未能有效、灵活、方便地解决FPGA加载模式 之间相互切换的问题,所以需要进一步的开拓更有效的方法。

发明内容
本发明的目的在于提供一种FPGA加载模式的动态配置电路,其解决 了 FPGA加载模式的动态配置,操作便捷。
为实现上述目的,本发明采用如下技术方案
本发明提出了一种FPGA加栽模式的动态配置电路,该动态配置电路 包括
一控制电路,该电路的可编程输出端口与待配置的现场可编程门阵列 (以下均简称FPGA)的模式配置引脚M0 M2相连,所述控制电路用于 向待配置的FPGA提供模式配置所需的控制时序。
其中,所述动态配置电路还包括緩存电路,所述緩存电路设置在所 述控制电路的可编程输出端口与待配置的FPGA的模式配置引脚M0-M2 之间。
其中,所述动态配置电路还包括多个上拉电阻和多个下拉电阻,待 配置FPGA的模式配置引脚MO ~ M2分别通过一所述上拉电阻连接一直流 电源的输出端,所述FPGA的模式配置引脚MO ~ M2分别通过一所述下拉 电阻接地。
其中,所述控制电路还与所述FPGA的启动控制配置引脚DONE相连, 用于检测所述启动控制配置引脚DONE的工作状态,并判断所述FPGA的 配置数据是否加载完毕。
其中,所述控制电路还与所述FPGA的逻辑异步复位配置引脚PROG 相连,用于设置所述逻辑异步复位配置引脚PROG的工作状态,启动所述 FPGA的重新配置过程。
其中,所述控制电路还与所述FPGA的初始化状态配置引脚INIT相连, 用于检测初始化状态配置引脚INIT的工作状态,并判断所述配置数据的加 栽是否4皮中断、或判断所述FPGA的配置存储器是否已清空。
6其中,所述控制电路包括
时序控制电路,用于产生所述控制时序,并设置所述FPGA的模式配 置引脚MO ~ M2、及逻辑异步复位配置引脚PROG的工作状态;
配置引脚检测单元,用于接收来自所述FPGA的初始化状态配置引脚 INIT及启动控制配置引脚DONE的输出电平,并检测所述配置引脚输出电 平的工作状态,根据所述检测的结果,所述配置引脚检测单元控制所述时 序控制电路向所述FPGA的逻辑异步复位配置引脚PROG发出控制时序。
本发明通过在FPGA的外部增加一控制电路来实现对FPGA工作模式 的动态配置,并同时实现了 FPGA在不同加载模式下的相互切换。本发明 提供的动态配置电路,操作方便、电路结构筒单,并且在动态配置电路的 结构固定不变时,也可以实现不同加栽模式间的互相切换、提高了系统配 置&灵活性、而且还保证了系统的稳定性。


图1为本发明动态配置电路的结构示意图; 图2为本发明动态配置电路的具体电路结构示意图; 图3为本发明控制电路采用CPU时的电路结构示意图; 图4为本发明控制方法的流程图5为本发明控制方法中程序配置数据的加载过程流程图。
具体实施例方式
以下结合附图详细描述本发明的技术方案。
如图1和图2所示,本发明提供了一种FPGA加栽模式的动态配置电 路,所述动态配置电路包括
一控制电路200,该控制电路200的可编程输出端口与待配置的FPGA 300的模式配置引脚相连,所迷控制电路200用于向待配置的FPGA 300提供模式配置所需的控制时序。这里的控制电路200属于FPGA外部的控制 器,其可以由单片机等微处理器构成。
如图1所示,为了保证控制时序不丢失数据、或FPGA配置引脚电平 的可靠检测,可以在所述控制电路200的可编程输出端口与待配置的FPGA 300的模式配置引脚之间增加一緩冲电路210,该緩冲电路210可以是锁存 器、或电可编程逻辑器件(Electrically Programmable Logic Device ,筒称 EPLD)等等。
如图2所示,以Xilinx公司的FPGA器件为例说明本发明动态配置电 路的连接关系,通常FPGA具有以下两类配置引脚
(1) 专用的配置引脚有模式配置引脚M2、 Ml、 MO;时钟配置引 脚CCLK;逻辑异步复位配置引脚PROG,启动控制配置引脚DONE及边 界扫描配置引脚TDI、 TDO、 TMS、 TCK;
(2) 非专用配置引脚有数据串行输入配置引脚Din、 D0、 D7、片选配 置引脚CS、 WRITE、 BUSY、初始化状态配置引脚INIT。
本发明所述的动态配置电路可采用将Xilinx FPGA的模式配置引脚 M0~M2与控制电路的可编程输出端口直接连接的方式,或者采用緩冲电 路将配置模式引脚M0 M2与可编程输出端口间接连接的方式,从而实现 FPGA的被动配置模式。如图2所示,本发明的动态配置电路还可以包括 多个上拉电阻(Rll、 R12、 R13)和多个下拉电阻(R21、 R22、 R23 ), 待配置的FPGA 300的模式配置引脚M0 M2分别通过一所述上拉电阻连 接一直流电源VCC的输出端,所述FPGA 300的模式配置引脚分别通过一 所述下拉电阻接地GND。另外,如图3所示,如果作为控制电路的CPU直 接与FPGA相连,则对应的FPGA 300的模式配置引脚M0~M2分别还要 与CPU的三个控制端IOO ~ 102相连,而FPGA 300的其他配置引脚(其包 括逻辑异步复位配置引脚PROG、初始化状态配置引脚INIT和启动控制配 置引脚DONE等等)分别与CPU的其他控制端(103 ~I05等)相连,用于检测各个配置引脚的工作状态,并判断配置数据加载是否完毕、是否被
中止等等情况,这里关于FPGA 300的其他配置引脚与控制电路相连的作 用,详见以下关于控制方法的说明。图2中增加上、下电阻的目的是,为 了根据需要配置FPGA为最终产品所使用的模式,使得在没有软件参与的 情况下,FPGA也能够得到缺省的配置模式,所以在本发明里不限制上拉电 阻和下拉电阻的具体接线方式,只要能获得一缺省配置模式即可。
依据上述结构说明,可见图1所示的动态配置电路可以保证系统能动 态设置FPGA的配置模式,并适应不同场合的应用需求。为实现这一目的, 将上述控制电路200细化,则可以得到以下结构。如图1和图3所示,所 述控制电路200包括 一时序控制电路201和一配置引脚检测单元202。所 述时序控制电路201用于产生所述控制时序,并设置所述FPGA的模式配 置引脚M0 M2、及逻辑异步复位配置引脚PROG的工作状态,这里的控 制时序可以包^i殳置模式配置引脚M0 M2的控制时序、以及其他配置引 脚的控制时序;而所述配置引脚检测单元202用于接收来自所述FPGA的 初始化状态配置引脚INIT及启动控制配置引脚DONE的输出电平,并检测 .所述配置引脚输出电平的工作状态,根据所述检测的结果,所述配置引脚 检测单元控制所述时序控制电路向所述FPGA的逻辑异步复位配置引脚 PROG发出控制时序。所述控制电路200的具体工作原理可以参见以下关 于本发明动态配置控制方法的说明。
基于上述具体电路结构,以下给出了一种FPGA加栽模式的动态配置 控制方法,该方法的控制过程主要由上述控制电路来完成,可以通过将该 方法编写成程序软件,并由控制电路来执行该软件,从而实现对FPGA的 动态配置。
如图4所示,本发明的控制方法包括以下步骤
400,向待S&置FPGA的模式配置引脚M0 M2输入一控制时序,配置 所述FPGA的加载才莫式。
9410,控制FPGA加栽属于所述加载;f莫式程序的配置数据。
420,检测启动控制配置引脚DONE的工作状态。
430,判断配置数据是否加载完毕;若是,则执行步骤440;若否,则 返回步骤410。在这一步骤中,主要是通过判断所述启动控制配置引脚 DONE的输出电平在第一预设时间内是否转换为表征数据加载过程失败的 有效电平,若所述启动控制配置引脚DONE的输出电平在第一预设时间内 未转换为表征数据加栽过程失败的有效电平,则判定所述配置数据加栽完 毕。这里所说的,用于表征数据加载过程失败的有效电平通常是高电平, 而,第一预设时间为所述FPGA由配置状态过渡到用户状态的过渡时间周 期,通常这个时间是8个系统时钟周期,比如1秒。
440,若需要变更FPGA的加载模式,则可以通过远程控制向图1的控 制电路发送控制指令、或者现场向控制电路发送控制指令,用于变更FPGA 的加载模式。当控制电路接收到控制指令时,判断是否需要变更加载模式, 若需要,则返回步骤400;若不需要,则执行步骤450。为了实现这一步骤 中的远程控制,需要在图1所述控制电路200中增加一用于远程通讯的通 讯单元,用于接收上位机发送来的控制指令。
450,结束此次加载模式的配置。
如图5所示,上述步骤410包括以下步骤
411,设置所述FPGA的逻辑异步复位配置引脚PROG为表征重新配置 FPGA的有效电平,开始初始化所述FPGA,通常这个用于表征重新配置 FPGA的有效电平为低电平;
412,检测所述FPGA是否清空配置存储器; 若是,则执行步骤413;若否,则返回步骤411,重新配置; 413,向所述FPGA传输相应程序的配置数据,并存储于所述FPGA的 配置存储器中。在这一过程中,还可以通过实时检测初始化状态配置引脚 .INIT的工作状态来判断数据加栽过程是否被中断,如,在所述配置数据的
10传输过程中,检测所述初始化状态配置引脚INIT的输出电平是否转换为表 征加载被中断的有效电平(通常为低电平);若否,则继续传输所述程序 数据;若是,则返回步骤411,通过配置逻辑异步复位配置引脚PROG,重 新开始配置FPGA。
如图5所示,在上述步骤412中,主要采用如下过程来实现对配置存 储器状态的判断首先,检测所述FPGA的初始化状态配置引脚INIT;然 后,判断所述初始化状态配置引脚INIT的输出电平是否在第二预设时间内 转换为表征已清空配置存储器的有效电平;若是,则判定所述FPGA已清 空配置存储器,反之,则认为未清空配置存储器。这里所说的第二预设时 间为所述FPGA清空配置存储器所需要的时间,通常需要l亳秒;而这里 所说的用于表征已清空配置存储器的有效电平为高电平。
下面以图3所示的CPU 10引脚作为Xilinx FPGA配置引脚可编程输入 端口为例介绍本发明技术方法的具体实现过程。通常FPGA在加载过程启 动后,即将逻辑异步复位配置引脚PROG拉低,然后再拉高,当输出初始 化状态配置引脚INIT为高电平时,FPGA对模式配置引脚M[2:0]进行采样, 确定加栽模式。因此在FPGA进行采样前,完成对模式配置引脚M[2:0]的 设置,就可以可靠完成加载模式动态设置。以下以从JATG在线测试模式 转换为Slave Serial从串模式为例进行说明。
首先,设定图2所述的上拉电阻和下拉电阻,获得缺省的电阻配置为 焊接Rll、 R12、 R13,而不焊接R21、 R22、 R23。然后,通过CPU的控 制端101向FP(JA的模式配置引脚MO ~ M2输入一控制时序,使FPGA的 模式配置引脚M[2:0]-101,位于JTAG在线测试模式下。这样的话,FPGA 可以直接使用其JTAG电缆和Xilinx软件进行下载。当FPGA在线测试模 式结束时,启动控制配置引脚DONE会被置于高电平,CPU通过检测启动 控制配置引脚DONE的工作状态就可以判断在线测试数据是否加载完毕。
若上述在线测试数据加载完毕,FPGA需要转入Slave Serial(从串模式)模式,其Slave Serial模式的加载过程如下
(1) CPU设置控制端10[2:0]输出所需的电平,使FPGA的模式配置 引脚M[2:0〗=l 11 ,进入Slave Serial模式。
(2) CPU设置FPGA的逻辑异步复位配置引脚PROG输出低电平, 然后在l微秒之后输出高电平,使FPGA启动重新配置,进入初始化过程。
.通常FPGA系统上电后,通过对逻辑异步复位配置引脚PROG置于低电平, 便可以对FPGA进行重新配置,同时在初始化过程完成后,启动控制配置 引脚DONE的输出信号将会变低。
(3) CPU检测FPGA初始化状态配置引脚INIT的引脚输出电平,若 在1毫秒内引脚INIT电平变高,则表示在完成初始化过程后,FPGA器件 已完成清空配置存储器的操作。如果初始化状态配置引脚INIT被置于低电 平,则表示未清空配置存储器,操作宣告失败,退出此刻加载程序,然后 再从第(2)重新开始。
(4) 依次加载FPGA程序的配置数据,同时检测初始化状态配置引脚 INIT的输出电平。如果初始化状态配置引脚INIT变低,则表示程序配置数 据加栽被中断,若要进行重新配置,只需返回到第(2)步将引脚PROG置 为低电平即可重新进行配置;若引脚INIT没有变低,则CPU继续传输FPGA 所需的配置数据。
(5 )所有配置数据加载完成后,若在Is内引脚DONE的输出信号变 高,则表示加载成功,否则,表示加载失败,退出此刻加载程序,然后再 从第(2)重新开始。
综上所述,本发明简化了现有技术中FPGA加载模式间相互转换的操 作过程,提高了操作的灵活性以及系统的可靠性,其可以广泛地应用于通 过FPGA模式配置引脚M0 ~ M2进行JTAG在线测试模式设置的FPGA芯 片上,尤其是Xilinx公司的FPGA器件的加载模式配置操作中。
上述各具体步骤的举例说明较为具体,'并不能因此而认为是对本发明
12的专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。
权利要求
1、一种FPGA加载模式的动态配置电路,其特征在于,所述动态配置电路包括一控制电路,该电路的可编程输出端口与待配置的现场可编程门阵列的模式配置引脚相连,所述控制电路用于向待配置的现场可编程门阵列提供模式配置所需的控制时序。
2、 根据权利要求1所述的动态配置电路,其特征在于,所述动态配置 电路还包括緩存电路,所述緩存电路设置在所述控制电路的可编程输出 端口与待配置的现场可编程门阵列的模式配置引脚之间。
3、 根据权利要求1或2所述的动态配置电路,其特征在于,所述动态 配置电路还包括多个上拉电阻和多个下拉电阻,待配置的现场可编程门阵列的模式配置引脚分别通过一所述上拉电阻连接一直流电源的输出端, 所述现场可编程门阵列的模式配置引脚分别通过一所述下拉电阻接地。
4、 根据权利要求3所述的动态配置电路,其特征在于,所述控制电路 还与所述现场可编程门阵列的启动控制配置引脚相连,用于检测所述启动 控制配置引脚的工作状态,并判断所述现场可编程门阵列的配置数据是否 加载完毕。
5、 根据权利要求4所述的动态配置电路,其特征在于,所述控制电路 还与所述现场可编程门阵列的逻辑异步复位配置引脚相连,用于设置所述 逻辑异步复位配置引脚的工作状态,启动所述现场可编程门阵列的重新配 置过程。
6、 根据权利要求 所述的动态配置电路,其特征在于,所述控制电路 还与所述现场可编程门阵列的初始化状态配置引脚相连,用于检测初始化状态配置引脚的工作状态,并判断所述配置数据的加栽是否被中断、或判 断所述现场可编程门阵列的配置存储器是否已清空。
7、根据权利要求6所述的动态配置电路,其特征在于,所述控制电路 包括时序控制电路,用于产生所述控制时序,并设置所述现场可编程门阵 列的模式配置引脚、及逻辑异步复位配置引脚的工作状态;配置引脚检测单元,用于接收来自所述现场可编程门阵列的初始化状 态配置引脚及启动控制配置引脚的输出电平,并检测所述配置引脚输出电 平的工作状态,根据所述检测的结果,所述配置引脚检测单元控制所述时 .序控制电路向所述现场可编程门阵列的逻辑异步复位配置引脚发出控制时 序。
全文摘要
本发明公开了一种FPGA加载模式的动态配置电路,该动态配置电路包括一控制电路,该电路的可编程输出端口与待配置的FPGA的模式配置引脚相连,所述控制电路用于向待配置的FPGA提供模式配置所需的控制时序。本发明提供的动态配置电路,操作方便、电路结构简单,并且在动态配置电路的结构固定不变时,也可以实现不同加载模式间的互相切换、提高了系统配置的灵活性、而且还保证了系统的稳定性。
文档编号G06F17/50GK101582688SQ200810067280
公开日2009年11月18日 申请日期2008年5月15日 优先权日2008年5月15日
发明者庆 张 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1