一种fpga调试方法及其设备的制作方法

文档序号:6157488阅读:255来源:国知局
专利名称:一种fpga调试方法及其设备的制作方法
技术领域
本发明大致涉及硬件的调试领域,更具体地,涉及一种FPGA调试方法及其设备。
背景技术
总的来说,在硬件开发中,开发者在CPU启动后使用该CPU烧录闪存(flash)。图 4示出了这种调试方法的示意图,如图4所示,在CPU410启动后,对闪存420进行烧制,然后 将闪存420中的配置数据载入现场可编程门阵列(FPGA)430,从而可以对FPGA进行调试。 然而在硬件并行调试中使CPU启动往往需要很长的时间,因而影响到系统的调试进度。因此需要一种加快系统调试的方法。

发明内容
本发明的实施方式公开了一种FPGA调试方法及其设备,以解决上述问题。根据本发明的一方面,提出了一种现场可编程门阵列FPGA调试方法,包括在CPU 启动之前,通过复杂可编程逻辑器件CPLD将FPGA配置数据存储到闪存中;所述CPLD建立 FPGA和所述闪存之间的有效通道,以使所述FPGA能够通过所述有效通道获取所述配置数 据用于调试。根据本发明的另一方面,提出了一种用于FPGA调试的系统,包括闪存,用于存储 FPGA的配置数据;CPLD,用于建立FPGA和所述闪存之间的有效通道,以使所述FPGA能够通 过所述有效通道获取所述配置数据用于调试.通过上述的技术方案,在CPU启动前,FPGA通过CPLD很快地获得其调试所需的配 置数据,从而可以更快地开始调试,而不必等待CPU启动完成。


结合附图对本发明的实施方式进行详细的描述,可更好地理解本发明,其中图1示出了根据本发明实施方式的FPGA调试系统的方框图;图2示出了根据本发明实施方式的FPGA调试方法的流程图;图3示出了根据本发明实施方式,JTAG到并行flash的实现示意图。图4示出了根据现有技术的FPGA调试方法的流程图。
具体实施例方式下面参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本 发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。图1示出了一种用于对FPGA进行调试的系统,包括闪存110,用于存储FPGA 140 的配置数据;复杂可编程逻辑器件(CPLD) 120,用于在CPU 130启动之前建立FPGA 140和 闪存110之间的有效通道,以使得FPGA 140能够通过该有效通道获取调试所用的配置数 据。
其中,CPLD 120内部解析和缓存FPGA配置数据。CPLD 120还可具有并行或者SPI闪存控制器功能,用于对闪存110进行连接和控 制。该调试系统还可包括计算机150(如,个人电脑(PC)),用于通过联合测试行动组 (JTAG)电缆将FPGA 140的配置数据下载在CPLD120。此外,PC 150还用于配置CPLD 120。虽然上面以分离的功能模块的形式描述了本发明实施例的消息处理装置,但是图 1示出的每一个组件在实际应用中可以用多个器件实现,示出的多个组件在实际应用中也 可以集成在一块芯片或一个设备中。该消息处理装置也可包括用于其它目的的任何单元和装置。下面结合图2的流程图对图1所示的FPGA调试系统的工作流程进行描述。在步骤210中,在单板的CPU 130启动之前,PC 150通过JTAG电缆下载CPLD配 置数据和FPGA配置数据到CPLD 120。在步骤220中,CPLD 120根据CPLD配置数据进行配置,并内部解析和缓存JTAG链 的有效数据,即载入JTAG链的有效数据,以提取出FPGA 140的配置数据。在步骤230中,在载入成功后,CPLD 120内的并行或者SPI闪存控制功能将FPGA 140的配置数据写入闪存110。图3示出了 JTAG到并行的闪存110的实现示意图。如图3所示,CPLD 120中的 状态机121对PC 150发送的JTAG链进行解析,将解析出的FPGA配置数据寄存在数据寄存 器122中,并在控制信号状态机124的控制下将该FPGA配置数据(FLASH_DATA)写入地址 寄存器123中的地址数据(FLASH_ADDR)所指示的闪存110中。此夕卜,FLASH_WE、FLASH_0E 和FLASH_CE是对闪存110的控制信号,其具体功能为本领域技术人员所公知。在步骤MO中,FPGA 140通过CPLD读取闪存110中的FPGA配置数据。此时,CPLD 120以从属串行或者从属并行的方式配置FPGA 140。在步骤250中,FPGA 140基于该配置数据进行调试。可通过CPLD 120的并行或者串行外设接口(SPI)闪存控制器功能访问闪存110。 在两者之间有桥接来对数据速率进行自适应。在CPLD 120载入成功后,FPGA 140经由CPLD 120从闪存110中获取配置数据, 而无需等待CPU 130启动完成,这极大地加速了系统调试的过程。在CPU 130启动之后,还使用该方法来访问闪存110以支持CPU130的多次启动和 FPGA 140的从属串行或者从属并行配置。这种方法的配置速度取决于CPLD 120和闪存110 的特性。其详细计算如下CCLK· =丨
16其中,t。。是CPLD 120的寄存器的时钟到输出的时间,tsu是CPLD120的寄存器建 立时间,tflash是闪存110的访问时间。标准并行闪存设备的典型速度是60ns到120ns,t。。 和tsu可使用FPGA 140的厂家工具获得。在本实施方式中,可通过Lattice MachXO设备来实现该解决方案。闪存110采用 Spansion 公司的 S29GL512P、FPGA 140 是 Xilinx 公司的 Virtex-6。在 CPU 130 启动之前, 使用PC中的Isp VM System工具下载两组配置数据,一组用于CPLD MachXO的配置,另一组是用于闪存110配置的比特文件。在CPU 130启动之前,所有其它子系统通过从闪存110 获得的配置数据开始调试。在本发明的实施方式中,在CPU 130启动前,FPGA 140通过CPLD120很快地获得 其调试所需的配置数据,从而可以更快地开始调试,而不必等待CPU 130启动完成。本领域技术人员应该很容易认识到,可以通过编程计算机实现上述方法的不同步 骤。在此,一些实施方式同样包括机器可读或计算机可读的程序存储设备(如,数字数据存 储介质)以及编码机器可执行或计算机可执行的程序指令,其中,该指令执行上述方法的 一些或全部步骤。例如,程序存储设备可以是数字存储器、磁存储介质(如磁盘和磁带)、 硬件或光可读数字数据存储介质。实施方式同样包括执行上述方法的所述步骤的编程计算 机。描述和附图仅示出本发明的原理。因此应该意识到,本领域技术人员能够建议不 同的结构,虽然这些不同的结构未在此处明确描述或示出,但体现了本发明的原理并包括 在其精神和范围之内。此外,所有此处提到的示例明确地主要只用于教学目的以帮助读者 理解本发明的原理以及发明人所贡献的促进本领域的构思,并应被解释为不是对这些特定 提到的示例和条件的限制。此外,此处所有提到本发明的原则、方面和实施方式的陈述及其 特定的示例包含其等同物在内。上面的描述仅用于实现本发明的实施方式,本领域的技术人员应该理解,在不脱 离本发明的范围的任何修改或局部替换,均应该属于本发明的权利要求来限定的范围,因 此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种现场可编程门阵列FPGA调试方法,包括在CPU启动之前,通过复杂可编程逻辑器件CPLD将FPGA配置数据存储到闪存中; 所述CPLD建立FPGA和所述闪存之间的有效通道,以使所述FPGA能够通过所述有效通 道获取所述配置数据用于调试。
2.根据权利要求1所述的方法,其中,通过CPLD将FPGA配置数据存储到闪存中包括 通过联合测试行动组JTAG电缆将CPLD配置数据和所述FPGA配置数据下载到所述CPLD ;所述CPLD根据所述CPLD配置数据进行配置,并内部解析和缓存所述FPGA配置数据;以及将所述FPGA配置数据写入所述闪存。
3.根据权利要求2所述的方法,还包括所述FPGA通过CPLD读取闪存中的所述FPGA配置数据; 所述CPLD以从属串行或者从属并行的方式配置所述FPGA ; 所述FPGA根据所获得的配置数据进行调试。
4.一种用于FPGA调试的系统,包括 闪存,用于存储FPGA的配置数据;CPLD,用于建立FPGA和所述闪存之间的有效通道,以使所述FPGA能够通过所述有效通 道获取所述配置数据用于调试。
5.根据权利要求4所述的系统,还包括计算机,用于通过JTAG电缆将FPGA配置数据下载在所述CPLD ; 所述CPLD还用于根据所述CPLD配置数据进行配置,内部解析和缓存所述FPGA配置数 据,并将所述FPGA配置数据写入所述闪存。
6.根据权利要求4所述的系统,其中,所述CPLD还包括并行或者SPI闪存控制器功能, 用于对闪存进行连接和控制。
全文摘要
公开了一种FPGA调试方法及其设备。该方法包括在CPU启动之前,通过复杂可编程逻辑器件CPLD将FPGA配置数据存储到闪存中;CPLD建立FPGA和闪存之间的有效通道,以使FPGA能够通过有效通道获取配置数据用于调试。通过上述的技术方案,在CPU启动前,FPGA通过CPLD很快地获得其调试所需的配置数据,从而可以更快地开始调试,而不必等待CPU启动完成。
文档编号G01R31/3185GK102103186SQ200910200420
公开日2011年6月22日 申请日期2009年12月18日 优先权日2009年12月18日
发明者何虎刚, 李优杏 申请人:上海贝尔股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1