CN106527402A - 一种fpga调试转换设备、***及方法 - Google Patents

一种fpga调试转换设备、***及方法 Download PDF

Info

Publication number
CN106527402A
CN106527402A CN201611109445.9A CN201611109445A CN106527402A CN 106527402 A CN106527402 A CN 106527402A CN 201611109445 A CN201611109445 A CN 201611109445A CN 106527402 A CN106527402 A CN 106527402A
Authority
CN
China
Prior art keywords
debugging
fpga
instruction
data
main frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611109445.9A
Other languages
English (en)
Inventor
王付翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Pango Microsystems Co Ltd
Original Assignee
Shenzhen Pango Microsystems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Pango Microsystems Co Ltd filed Critical Shenzhen Pango Microsystems Co Ltd
Priority to CN201611109445.9A priority Critical patent/CN106527402A/zh
Publication of CN106527402A publication Critical patent/CN106527402A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0256Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults injecting test signals and analyzing monitored process response, e.g. injecting the test signal while interrupting the normal operation of the monitored system; superimposing the test signal onto a control signal during normal operation of the monitored system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种FPGA调试转换设备、***及方法,并行接口通过并行总线与调试主机连接;串行接口通过串行总线与待调试目标FPGA器件连接;指令处理器接收调试主机发送的第一调试指令并获取第一调试指令对应的调试数据,将调试数据转换成串行信号格式数据下发给待调试目标FPGA器件。这样不再是在调试主机上由软件通过控制单根信号线模拟串行时序的方式将调试数据转换成的串行信号格式数据,而是将调试数据传输到FPGA调试转换设备上,由FPGA调试转换设备的格式转换芯片对调试数据进行处理转换得到串行信号格式数据并发送给待调试目标FPGA器件。这就充分利用了并行总线的带宽,提高了调试主机与FPGA调试转换设备之间的数据传输速度,更好地满足了FPGA调试需求。

Description

一种FPGA调试转换设备、***及方法
技术领域
本发明涉及FPGA(Field-Programmable Gate Array,现场可编程门阵列)领域,具体涉及一种FPGA调试转换设备、***及方法。
背景技术
FPGA作为一种半定制逻辑电路,因其功能强大,开发周期短,可反复修改等优势,被广泛应用于通信,工控,视频,安防乃至国防军工等领域之中。对于FPGA来说,现场可编程性是最大的优势之一,同时,在FPGA的开发过程中,对FPGA进行调试也十分重要,而随着集成电路技术的快速发展,FPGA芯片的集成度也越来越高,FPGA芯片调试难度也越来越大,因此需要FPGA厂家提供高速,可靠的FPGA编程、调试装置。
通常的,FPGA厂家会提供基于USB接口的FPGA调试设备,但因为USB使用范围广,操作简单,且易用于存储设备等的原因,容易造成泄密。为了解决USB接口容易泄密的问题,FPGA厂家会提供基于并行总线的调试设备,具体是通过在调试主机使用软件控制单根信号线模拟串行时序的方式,将调试数据转换成串行信号格式数据,再通过并行总线发送给调试设备进行电平转换,调试设备将电平转换后串行信号格式数据的下发给待调试目标FPGA器件进行调试。但由于调试数据是在调试主机上通过软件控制单根信号线模拟串行时序的方式转换成串行信号格式数据的,这就导致了将数据传输至调试设备的传输速度很慢,不能充分利用并行总线的带宽,难以满足FPGA的调试需求,为此提供一种能提高调试主机与调试设备之间的数据传输速度的新的FPGA调试设备就十分有必要了。
发明内容
本发明要解决的主要技术问题是,提供一种FPGA调试转换设备、***及方法,能提高数据传输速度,更好的满足FPGA调试需求。
为解决上述技术问题,本发明提供一种FPGA调试转换设备,所述FPGA调试转换设备包括:格式转换芯片,所述格式转换芯片包括通过并行总线与调试主机连接的并行接口,通过串行总线与待调试目标FPGA器件连接的串行接口,以及指令处理器;
所述指令处理器用于接收所述调试主机通过所述并行接口发送的第一调试指令,并获取所述第一调试指令对应的调试数据;以及用于将所述调试数据转换成串行信号格式数据通过所述串行接口下发给所述待调试目标FPGA器件。
进一步的,所述指令处理器包含并行总线控制器、指令解析器、串行总线控制器以及数据缓存器;
所述并行总线控制器用于接收来自所述并行接口的第一调制指令并下发给所述指令解析器;
所述指令解析器用于对所述第一调制指令进行解析并向所述调试主机发送指令解析响应;
所述数据缓存器用于接收并保存所述调试主机根据所述指令解析响应下发的调试数据;
所述串行总线控制器用于从所述数据缓存器中读取所述调试数据并转换为对应的串行信号格式数据后通过所述串行接口下发给所述待调试目标FPGA器件。
进一步的,所述并行总线控制器还用于接收来自所述并行接口的第二调制指令并下发给所述指令解析器;以及用于从所述数据缓存器中提取运行数据并转换成并行信号格式通过所述并行接口发送给所述调试主机;
所述指令解析器还用于通过所述并行接口从所述调试主机接收第二调试指令,并将对所述第二调试指令进行解析得到的数据获取指令下发给所述串行总线控制器;
所述串行总线控制器还用于将所述数据获取指令转换成串行信号格式后下发给所述待调试目标FPGA器件连接的串行接口,以及接收所述待调试目标FPGA器件根据所述数据获取指令通过所述串行总线反馈的运行数据,并将所述运行数据存储于所述数据缓存器中。
进一步的,所述并行总线控制器还用于在接收所述第一调试指令和第二调试指令之前,接收来自所述并行接口的第三调试指令并下发给所述指令解析器;
所述指令解析器还用于对所述第三调制指令进行解析,得到待配置项目以及配置数据;根据所述配置数据对所述待配置项目进行配置。
进一步的,所述串行总线包括JTAG和SPI两个总线,所述串行接口包括JTAG和SPI两个串行接口,所述串行总线控制器包括JTAG和SPI两个串行总线控制器;
所述第三调试指令包含串行总线类型指示信息;
所述指令解析器用于根据所述总线类型指示信息从所述JTAG和SPI两个串行总线控制器中选择一个进行激活。
进一步的,所述并行接口包括标准并行接口和扩展功能并行接口;所述第三调试指令包含并行接口类型指示信息;
所述指令解析器还用于对所述第三调制指令进行解析得到所述接口类型指示信息,并发送给所述并行总线控制器;
所述并行总线控制器用于根据所述接口类型指示信息启用所述标准并行接口和扩展功能并行接口中的一个。
进一步的,所述并行总线控制器还用于在接收到来自所述调试主机的第三调试指令之前,在所述FPGA调试转换设备上电之后,启用所述标准并行接口。
进一步的,所述FPGA调试转换设备还包括第一电平缓冲器和第二电平缓冲器;
所述第一电平缓冲器用于将所述调试主机发送的各调试指令及调试数据的电平转换为所述FPGA调试转换设备的工作电平,以及用于将所述FPGA调试转换设备反馈的数据的电平转换为所述调试主机的工作电平;
所述第二电平缓冲器用于将所述FPGA调试转换设备下发给所述待调试目标FPGA器件的串行信号格式数据的电平转换为所述待调试目标FPGA器件的工作电平,以及用于将所述待调试目标FPGA器件发送的运行数据的电平转换为所述FPGA调试转换设备的工作电平。
本发明还提供了一种FPGA调试转换***,所述FPGA调试转换***包括:调试主机以及上述任一种的FPGA调试转换设备;
所述调试主机通过并行总线与所述FPGA调试转换设备的并行接口连接,并向所述并行接口下发第一调试指令以及与所述第一调试指令对应的调试数据;
所述FPGA调试转换设备的指令处理器接收所述调试主机下发第一调试指令以及与所述第一调试指令对应的调试数据,并将所述调试数据转换成串行信号格式数据通过所述FPGA调试转换设备的串行接口下发给待调试目标FPGA器件。
本发明还提供了一种FPGA调试转换方法,所述FPGA调试转换方法应用于上述FPGA调试转换设备上,包括:
将所述FPGA调试转换设备的并行接口通过并行总线与调试主机连接,并将格式转换芯片的串行接口通过串行总线与待调试目标FPGA器件连接;
所述FPGA调试转换设备接收所述调试主机通过所述并行接口发送的第一调试指令,并获取所述第一调试指令对应的调试数据;
所述FPGA调试转换设备将所述调试数据转换成串行信号格式数据并通过所述串行接口下发给所述待调试目标FPGA器件。
有益效果
本发明提供一种FPGA调试转换设备、***及方法,包括格式转换芯片,格式转换芯片中包括并行接口、串行接口、以及指令处理器。其中,并行接口通过并行总线与调试主机连接;串行接口通过串行总线与待调试目标FPGA器件连接;指令处理器接收调试主机通过并行接口发送的第一调试指令,并获取第一调试指令对应的调试数据,将调试数据转换成串行信号格式数据通过串行接口下发给待调试目标FPGA器件。这样不再是在调试主机上由软件通过控制单根信号线模拟串行时序的方式将调试数据转换成的串行信号格式数据,而是将调试数据传输到FPGA调试转换设备上,由FPGA调试转换设备的格式转换芯片对调试数据进行处理转换得到串行信号格式数据并发送给待调试目标FPGA器件。这就充分利用了并行总线的带宽,提高了调试主机与FPGA调试转换设备之间的数据传输速度,更好的满足了FPGA调试需求。
附图说明
图1为本发明实施例一提供的FPGA调试转换***结构示意图;
图2为本发明实施例一提供的一种指令处理器结构示意图;
图3为本发明实施例一提供的又一种指令处理器结构示意图;
图4为本发明实施例一提供的一种FPGA调试转换设备结构图;
图5为本发明实施例一提供的指令格式示意图;
图6为本发明实施例二提供的一种FPGA调试转换方法流程示意图;
图7为本发明实施例二提供的一种对第一调试指令及对应数据的处理流程示意图;
图8为本发明实施例二提供的一种对第二调试指令的处理流程示意图;
图9为本发明实施例二提供的一种对第三调试指令的处理流程示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一
请参见图1,图1为本实施例中提供的FPGA调试转换***结构示意图,包括FPGA调试转换设备1与调试主机2,其中:
FPGA调试转换设备1包括格式转换芯片11,格式转换芯片11包括:并行接口111、指令处理器112、以及串行接口113。其中,并行接口111通过并行总线与调试主机2连接;而串行接口113可以通过串行总线与待调试目标FPGA器件连接,从而在FPGA调试转换***与待调试目标FPGA器件之间建立起通信连接,进行FPGA调试。应当理解的是,本实施例中的格式转换芯片11可以采用FPGA芯片。
指令处理器112用于接收调试主机2通过并行接口111发送的第一调试指令,并获取第一调试指令对应的调试数据;以及用于将调试数据转换成串行信号格式数据通过串行接口113下发给待调试目标FPGA器件。
具体的,参见图2,指令处理器112还包括并行总线控制器1121、指令解析器1122、串行总线控制器1123以及数据缓存器1124。则调试主机2向FPGA调试转换设备1发送第一调试指令之后,并行总线控制器1121会接收经由并行接口111传来的该第一调试指令,并将该第一调试指令下发给指令解析器1122。指令解析器1122会对第一调制指令进行解析,并向调试主机2发送相应的指令解析响应。调试主机2在收到反馈回来的指令解析响应之后,会根据指令解析响应向FPGA调试转换设备1下发调试数据,此时数据缓存器1124会接收并存储该调试数据。串行总线控制器1123可以从数据缓存器1124中读取该调试数据,并将读取到的调试数据转换为对应的串行信号格式数据,通过串行接口113下发给待调试目标FPGA器件。
本实施例中,指令处理器112可以按照FIFO(First Input First Output,先入先出队列)的执行方法对调试主机2下发的各第一调制指令进行处理。例如,FPGA调试转换设备1依次收到调试主机2下发的第一调制指令A、第一调制指令B和第一调制指令C,则指令解析器1122首先对第一调制指令A进行解析并向调试主机2发送A指令解析响应,此后才会依次对第一调制指令B和第一调制指令C进行解析并向调试主机2依次发送B指令解析响应和C指令解析响应。此后数据缓存器1124会依次接收并存储调试主机2顺序发送来的与第一调制指令对应的调试数据A,调试数据B和调试数据C,并由串行总线控制器1123从数据缓存器1124中顺序提取并依次发送给待调试目标FPGA器件。
应当理解的是,上述示例中是指令处理器112的各个器件分别按照FIFO的执行方法执行其功能,事实上,各个器件还可以等到将一个第一调制指令完全处理完毕之后再处理下一个第一调制指令,例如,指令解析器1122首先对第一调制指令A进行解析并向调试主机2发送A指令解析响应,在串行总线控制器1123从数据缓存器1124中提取对应的调试数据A并发送给待调试目标FPGA器件之后,指令解析器1122才会对第一调制指令B进行解析并向调试主机2发送B指令解析响应,同理,在串行总线控制器1123从数据缓存器1124中提取对应的调试数据B并发送给待调试目标FPGA器件之后,指令解析器1122才会对第一调制指令C进行解析并向调试主机2发送C指令解析响应。具体的,在串行总线控制器1123从数据缓存器1124中提取对应的调试数据并发送给待调试目标FPGA器件之后,可以发送完成信息告知指令解析器1122这一第一调制指令已完全处理完毕。
本实施例中,调试主机2还可以向FPGA调试转换设备1发送第二调制指令,第二调制指令可以控制格式转换芯片11从待调试目标FPGA器件中获取运行数据并反馈给调试主机2。
具体的,调试主机2向FPGA调试转换设备1发送第二调制指令,并行总线控制器1121接收经由并行接口111传来的该第二调制指令,并下发给指令解析器1122;指令解析器1122接收到该第二调试指令后,将对该第二调试指令进行解析,得到的数据获取指令并下发给串行总线控制器1123;串行总线控制器1123会将收到的数据获取指令转换成串行信号格式后下发给待调试目标FPGA器件连接的串行接口113,再经由串行接口113告知待调试目标FPGA器件需要反馈哪些运行数据,此时待调试目标FPGA器件会根据该数据获取指令通过串行总线反馈运行数据,这些运行数据经由串行总线控制器1123接收后可以存储于数据缓存器1124中;此后并行总线控制器1121可以从数据缓存器1124中提取出所需运行数据并转换成并行信号格式通过并行接口111发送给调试主机2。
应当理解的是,本实施例中串行总线控制器1123接收运行数据并存储于数据缓存器1124中,具体可以是串行总线控制器1123根据串行总线中的时钟频率,依据时钟的上升沿或下降沿将数据打出,保存至数据缓存器1124中。还应当理解的是,数据缓存器1124可以包括读数据缓存器和写数据缓存器两个,具体的,可以将调试主机2下发数据保存在写数据缓存器中,以供FPGA调试转换设备1将对应的调试数据写入待调试目标FPGA器件中;可以将待调试目标FPGA器件发送的数据写入读数据缓存器中,以供调试主机2读取。
本实施例中,FPGA调试转换设备1在接收调试主机2下发的第一调试指令和第二调试指令之前,还可以接收第三调制指令,第三调制指令可以控制格式转换芯片11实现对FPGA调试转换设备1的配置。
具体的,并行接口111会在接收到第一调试指令和第二调试指令之前,接收到调试主机2下发的第三调制指令,并将该调试指令发送给并行总线控制器1121,再经由并行总线控制器1121下发给指令解析器1122;指令解析器1122可以对第三调制指令进行解析,从而得到待配置项目以及配置数据,再根据配置数据对待配置项目进行配置。应当注意的是,本实施例中根据配置数据对待配置项目进行配置可以是由指令解析器1122进行完成,也可以是由其他器件进行完成。
具体的,本实施例中串行总线包括JTAG(Joint Test Action Group,联合测试工作组)和SPI(Serial Peripheral Interface,串行外设接口)两个总线,串行接口113也包括JTAG和SPI两个串行接口,串行总线控制器1123包括JTAG和SPI两个串行总线控制器。其中,JTAG串行接口与JTAG总线对应,JTAG总线与JTAG串行总线控制器对应;SPI串行接口与SPI总线对应,SPI总线与SPI串行总线控制器对应。
此时,第三调试指令中应当包含有串行总线类型指示信息,指令解析器1122可以根据该总线类型指示信息从JTAG和SPI两个串行总线控制器中选择一个进行激活。应当理解的是,在本实施例中,两个串行总线控制器的设置是相互独立且互斥的,即在指令解析器1122激活一个串行总线控制器之后,另一个串行总线控制器就不能工作。即激活一个串行总线控制器之后,仅其对应的一组串行总线及串行接口能工作,而另一个串行总线控制器对应的一组串行总线及串行接口不再工作。例如,指令解析器1122根据总线类型指示信息激活了JTAG串行总线控制器,此时FPGA调试转换设备1通过JTAG串行接口以及JTAG串行总线与待调试目标FPGA器件连接,调试数据或数据获取指令等信息经由JTAG串行总线控制器转换为JTAG串行信号格式发送给待调试目标FPGA器件,而与之对应的是SPI串行接口、SPI总线以及SPI串行总线控制器不工作。
本实施例中,激活JTAG串行总线控制器将调试数据转换为JTAG串行信号格式,可以实现对待调试目标FPGA器件的配置和调试;激活SPI串行总线控制器将调试数据转换为SPI串行信号格式,可以对待调试目标FPGA器件的FLASH(闪存)进行配置,实现待调试目标FPGA器件上电后自动加载的功能。
本实施例中,并行接口111可以包括SPP(Standard Parallel Port,标准并行接口)和ECP(Extended Capabilities Port,扩展功能并行接口)两种,SPP和ECP可以共用一个并行总线,此时第三调试指令中应当包含有并行接口类型指示信息,指令解析器1122在对第三调制指令进行解析后得到接口类型指示信息,并发送该接口类型指示信息给并行总线控制器1121,并行总线控制器1121再根据接口类型指示信息从SPP和ECP中选择一个启用。这样由于通过SPP进行数据传输,速度可达65KB/s,通过ECP进行数据传输,速度更是可以达到200KB/s,相较现有技术在调试主机上通过软件控制单根信号线模拟串行时序的方式将调试数据转换成串行信号格式之后再发送给FPGA调试转换设备而言,调试主机和FPGA调试转换设备之间的数据传输速度至少可以提升8倍。
应当理解的是,由于SPP是通用并行接口,其兼容性好,只要调试主机2支持并行接口均可以使用,因此并行总线控制器1121可以在FPGA调试转换设备1上电之后,即启用SPP进行工作,使调试主机2与FPGA调试转换设备1之间先通过SPP模式进行通信。此后调试主机2可以对自身是否支持ECP模式进行检测,若是支持,则可以向FPGA调试转换设备1下发包含接口类型切换为ECP的第三调制指令,则并行总线控制器1121可以通过一系列握手协议将接口由SPP切换至ECP,使调试主机2与FPGA调试转换设备1之间通过ECP进行通信;若不支持,则可以不向FPGA调试转换设备1下发包含并行接口类型指示信息的第三调制指令(即并行接口类型指示信息为空),或可以向FPGA调试转换设备1下发包含继续使用SPP的第三调制指令,则并行总线控制器1121不控制并行接口之间的切换。应当理解的是,在调试主机2支持ECP模式时,调试主机2还可以通过下发包含并行接口类型指示信息的第三调制指令来控制FPGA调试转换设备1在SPP和ECP之间切换。
本实施例中,指令处理器112还可以包含指令寄存器1125,参见图3,指令寄存器1125可以用于保存调试主机2向FPGA调试转换设备1发送的各种调试指令,而在指令寄存器1125保存调试指令之后,指令解析器1122可以从指令寄存器1125获取对应的调试指令进行解析,并进行相应的操作。
本实施例中,参见图4,FPGA调试转换设备1还可以包括第一电平转换缓冲器12和第二电平转换缓冲器13,其中:第一电平转换缓冲器12用于将调试主机2发送的各调试指令及调试数据的电平转换为FPGA调试转换设备1的工作电平,以及用于将FPGA调试转换设备1反馈的待调试目标FPGA器件的运行数据的电平转换为调试主机2的工作电平;第二电平转换缓冲器13用于将FPGA调试转换设备1下发给待调试目标FPGA器件的串行信号格式数据的电平转换为待调试目标FPGA器件的工作电平,以及用于将待调试目标FPGA器件发送的运行数据的电平转换为FPGA调试转换设备1的工作电平。
本实施例中,FPGA调试转换设备1还可以包括连接线以及排线,其中,连接线可以用于将FPGA调试转换设备1与调试主机2连接,具体的,连接线可以通过第一电平转换缓冲器12及并行总线将格式转换芯片11和调试主机2连接;排线可以用于将FPGA调试转换设备1与待调试目标FPGA器件连接,具体的,排线可以通过第二电平转换缓冲器13及串行总线将格式转换芯片11和待调试目标FPGA器件连接。
本实施例中,连接线可以采用DB25连接线,而电平转换缓冲器可以采用74HC244缓冲器来实现电平转换功能,应当理解的是,连接线及电平转换缓冲器的具体选用器件可以根据设备实际要求进行选定。
本实施例中,调试主机2下发的调试指令至少可以为以下五种指令格式之一,参见图5,可以仅以第一排的“Command”格式下发调试指令,此时调试主机2下发的仅是调试指令,指令解析器1122解析之后调试主机2不会再下发对应数据,FPGA调试转换设备1仅根据调试主机2下发的调试指令进行操作,例如调试主机2下发第三调试指令的情况;调试主机2也可以以第二排的“Command”+“Wdata”构成的格式或第三排的“Command”+“Wlen”+“Wdata”构成的格式下发调试指令,指令解析器1122对调试主机2下发的调试指令解析之后,调试主机2会下发与之前调试指令相对应的调试数据,此时FPGA调试转换设备1将以固定长度或非固定长度将调试数据保存至数据缓存器1124中,例如调试主机2下发第一调试指令的情况;调试主机2还可以以第四排的“Command”+“Rdata”构成的格式或第五排的“Command”+“Rlen”+“Rdata”构成的格式下发调试指令,指令解析器1122对调试主机2下发的调试指令解析之后,提取固定长度的待调试目标FPGA器件的运行数据或非固定长度的运行数据发送给调试主机2,例如第二调试指令。
应当注意的是,本实施例中调试主机2下发的调试指令还可以对串行总线时钟频率进行修改,例如调试主机2可以下发包含串行总线时钟频率修改信息的第三调试指令,串行总线再根据串行总线时钟频率修改信息修改自身的串行时序。
应当注意的是,本实施例中对于调试主机2下发的所有调试指令均可按照FIFO的执行方法进行处理。例如,FPGA调试转换设备依次收到调试主机下发的第一调制指令A、第二调制指令B和第三调制指令C,则指令处理器112依次对第一调制指令A、第二调制指令B和第三调制指令C进行处理。
本实施例提供的FPGA调试转换设备及***,FPGA调试转换设备包括格式转换芯片,格式转换芯片中包括并行接口、串行接口、以及指令处理器。其中,并行接口通过并行总线与调试主机连接;串行接口通过串行总线与待调试目标FPGA器件连接;指令处理器接收调试主机通过并行接口发送的第一调试指令,并获取第一调试指令对应的调试数据,将调试数据转换成串行信号格式数据通过串行接口下发给待调试目标FPGA器件。这样不再是在调试主机上由软件通过控制单根信号线模拟串行时序的方式将调试数据转换成的串行信号格式数据,而是将调试数据传输到FPGA调试转换设备上,由FPGA调试转换设备的格式转换芯片对调试数据进行处理转换得到串行信号格式数据并发送给待调试目标FPGA器件。应当理解的是,通过串行总线进行数据传输的传输速度很大,完全可以满足对FPGA的调试需求,而通过并行接口的方式进行调试数据的传输,可以充分利用并行总线的带宽,这样就提高了调试主机与FPGA调试转换设备之间的数据传输速度,更好地满足了FPGA调试需求。
实施例二
参见图6,图6为本实施例提供的一种FPGA调试转换方法流程示意图,本方法中包括FPGA调试转换设备,FPGA调试转换设备包含有格式转换芯片,FPGA调试转换方法流程包括:
S601:将格式转换芯片的并行接口通过并行总线与调试主机连接;
S602:将格式转换芯片的串行接口通过串行总线与待调试目标FPGA器件连接;
这样在调试主机、FPGA调试转换设备、以及待调试目标FPGA器件之间就建立起了通信连接。
S603:接收调试主机通过所述并行接口发送的第一调试指令,并获取第一调试指令对应的调试数据;
S604:将调试数据转换成串行信号格式数据并通过串行接口下发给待调试目标FPGA器件。
值得注意的是,本实施例中的格式转换芯片11可以是FPGA芯片。
本实施例中,步骤S603接收调试主机通过并行接口发送的第一调试指令,并获取第一调试指令对应的调试数据包括,参见图7:
S701:接收来自并行接口的第一调制指令进行解析,并向调试主机发送指令解析响应;
S702:接收调试主机根据指令解析响应下发的调试数据并保存。
本实施例中,可以按照FIFO(First Input First Output,先入先出队列)的执行方法对调试主机下发的各第一调制指令进行处理,即对前一个第一调制指令处理完毕之后在对下一个第一调制指令进行处理。
本实施例中,调试主机还可以向FPGA调试转换设备发送第二调制指令,第二调制指令可以控制格式转换芯片从待调试目标FPGA器件中获取运行数据并反馈给调试主机,具体流程参见图8,包括:
S801:接收来自并行接口的第二调制指令进行解析,得到数据获取指令;
S802:将数据获取指令换成串行信号格式后下发给与待调试目标FPGA器件连接的串行接口;
S803:接收待调试目标FPGA器件根据数据获取指令通过串行总线反馈的运行数据并保存;
S804:提取运行数据并转换成并行信号格式通过并行接口发送给调试主机。
应当理解的是,本实施例中步骤S803接收待调试目标FPGA器件根据数据获取指令通过串行总线反馈的运行数据并保存具体可以是:根据串行总线中的时钟频率,依据时钟的上升沿或下降沿将接收到的运行数据打出,保存至格式转换芯片的数据缓存器中。还应当理解的是,数据缓存器可以包括读数据缓存器和写数据缓存器两个,具体的,可以将调试主机下发数据保存在写数据缓存器中,以供FPGA调试转换设备将对应的调试数据写入待调试目标FPGA器件中;可以将待调试目标FPGA器件发送的数据写入读数据缓存器中,以供调试主机读取。
本实施例中,FPGA调试转换设备在接收调试主机下发的第一调试指令和第二调试指令之前,还可以接收第三调制指令,第三调制指令可以控制格式转换芯片实现对FPGA调试转换设备的配置,具体流程参见图9,包括:
S901:接收来自并行接口的第三调试指令进行解析,得到待配置项目以及配置数据;
S902:根据配置数据对待配置项目进行配置。
具体的,本实施例中,格式转换芯片还包括串行总线控制器,同时串行总线可以包括JTAG和SPI两个总线,串行接口可以包括JTAG和SPI两个串行接口,串行总线控制器可以包括JTAG和SPI两个串行总线控制器。其中,JTAG串行接口与JTAG总线对应,JTAG总线与JTAG串行总线控制器对应;SPI串行接口与SPI总线对应,SPI总线与SPI串行总线控制器对应。
此时,根据步骤S902对串行总线、串行接口以及串行总线控制器进行配置包括:对第三调试指令进行解析得到串行总线类型指示信息(即配置数据),根据总线类型指示信息从JTAG和SPI两个串行总线控制器中选择一个进行激活,则激活的一个总线控制器控制其对应的串行总线、串行接口进行工作,从而实现对串行总线、串行接口以及串行总线控制器的配置。
应当理解的是,在本实施例中,JTAG和SPI两个串行总线控制器的设置是相互独立且互斥的,即在激活一个串行总线控制器之后,另一个串行总线控制器就不能工作。即激活一个串行总线控制器之后,仅其对应的一组串行总线及串行接口能工作,而另一个串行总线控制器对应的一组串行总线及串行接口不再工作。
本实施例中,激活JTAG串行总线控制器可以将调试数据转换为JTAG串行信号格式,可以实现对待调试目标FPGA器件的配置和调试;激活SPI串行总线控制器可以将调试数据转换为SPI串行信号格式,可以对待调试目标FPGA器件的FLASH(闪存)进行配置,实现待调试目标FPGA器件上电后自动加载的功能。
具体的,本实施例中,并行接口可以包括SPP和ECP两种,此时,根据步骤S902对并行接口进行配置包括:对第三调试指令进行解析得到接口类型指示信息(即配置数据),根据接口类型指示信息启用SPP和ECP中的一个进行工作,另一个不工作。
更具体的,由于SPP是通用并行接口,其兼容性好,只要调试主机支持并行接口就可以通过SPP与FPGA调试转换设备建立通信连接,ECP是扩展功能并行接口,其兼容性要求较高,需要调试主机有相应的硬件支持,但是其数据传输速度更快。因此调试主机与FPGA调试转换设备之间可以先通过SPP进行通信,此后调试主机可以对自身是否支持ECP模式进行检测,若是支持,则可以向FPGA调试转换设备下发第三调制指令,然后FPGA调试转换设备根据第三调制指令中的配置数据通过一系列握手协议将接口由SPP切换至ECP,使调试主机与FPGA调试转换设备之间通过ECP进行通信;若不支持,则可以不向FPGA调试转换设备下发包含并行接口类型指示信息的第三调制指令(即并行接口类型指示信息为空),或可以向FPGA调试转换设备下发包含继续使用SPP信息的第三调制指令。应当理解的是,在调试主机支持ECP模式时,调试主机还可以通过下发包含并行接口类型指示信息的第三调制指令来控制FPGA调试转换设备在SPP和ECP之间切换。
本实施例中,调试主机和FPGA调试转换设备通过SPP进行数据传输,速度可达65KB/s,通过ECP进行数据传输,速度更是可以达到200KB/s,相较现有技术在调试主机上通过软件控制单根信号线模拟串行时序的方式将调试数据转换成串行信号格式之后再发送给FPGA调试转换设备而言,调试主机和FPGA调试转换设备之间的数据传输速度至少可以提升8倍。
本实施例中,调试主机下发的第三调试指令还可以包括串行总线时钟频率修改信息,在对第三调试指令进行解析得到串行总线时钟频率修改信息之后,串行总线根据该串行总线时钟频率修改信息修改自身的串行时序。
本实施例中,调试主机还可以对FPGA调试转换设备下发状态查询指令,FPGA调试转换设备收到该指令后会将自身状态反馈给调试主机。
本实施例提供的FPGA调试转换方法,通过将FPGA调试转换设备之格式转换芯片中的并行接口通过并行总线与调试主机连接,串行接口通过串行总线与待调试目标FPGA器件连接,实现FPGA调试转换设备与调试主机以及待调试目标FPGA器件之间的通信,FPGA调试转换设备再接收调试主机通过并行接口发送的第一调试指令,并获取第一调试指令对应的调试数据,再将调试数据转换成串行信号格式数据,通过串行接口下发给待调试目标FPGA器件。这样不再是在调试主机上由软件通过控制单根信号线模拟串行时序的方式将调试数据转换成的串行信号格式数据,而是将调试数据传输到FPGA调试转换设备上,由FPGA调试转换设备的格式转换芯片对调试数据进行处理转换得到串行信号格式数据并发送给待调试目标FPGA器件。应当理解的是,通过串行总线进行数据传输的传输速度很大,完全可以满足对FPGA的调试需求,而通过并行接口的方式进行调试数据的传输,可以充分利用并行总线的带宽,这样就提高了调试主机与FPGA调试转换设备之间的数据传输速度,更好地满足了对FPGA的调试需求。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种FPGA调试转换设备,包括格式转换芯片,所述格式转换芯片包括通过并行总线与调试主机连接的并行接口,通过串行总线与待调试目标FPGA器件连接的串行接口,以及指令处理器;
所述指令处理器用于接收所述调试主机通过所述并行接口发送的第一调试指令,并获取所述第一调试指令对应的调试数据;以及用于将所述调试数据转换成串行信号格式数据通过所述串行接口下发给所述待调试目标FPGA器件。
2.如权利要求1所述的FPGA调试转换设备,其特征在于所述指令处理器包含并行总线控制器、指令解析器、串行总线控制器以及数据缓存器;
所述并行总线控制器用于接收来自所述并行接口的第一调制指令并下发给所述指令解析器;
所述指令解析器用于对所述第一调制指令进行解析并向所述调试主机发送指令解析响应;
所述数据缓存器用于接收并保存所述调试主机根据所述指令解析响应下发的调试数据;
所述串行总线控制器用于从所述数据缓存器中读取所述调试数据并转换为对应的串行信号格式数据后通过所述串行接口下发给所述待调试目标FPGA器件。
3.如权利要求2所述的FPGA调试转换设备,其特征在于,
所述并行总线控制器还用于接收来自所述并行接口的第二调制指令并下发给所述指令解析器;以及用于从所述数据缓存器中提取对应的运行数据并转换成并行信号格式通过所述并行接口发送给所述调试主机;
所述指令解析器还用于通过所述并行接口从所述调试主机接收第二调试指令,并将对所述第二调试指令进行解析得到的数据获取指令下发给所述串行总线控制器;
所述串行总线控制器还用于将所述数据获取指令转换成串行信号格式后下发给所述待调试目标FPGA器件连接的串行接口,以及接收所述待调试目标FPGA器件根据所述数据获取指令通过所述串行总线反馈的运行数据,并将所述运行数据存储于所述数据缓存器中。
4.如权利要求3所述的FPGA调试转换设备,其特征在于,所述并行总线控制器还用于在接收所述第一调试指令和第二调试指令之前,接收来自所述并行接口的第三调试指令并下发给所述指令解析器;
所述指令解析器还用于对所述第三调制指令进行解析,得到待配置项目以及配置数据;根据所述配置数据对所述待配置项目进行配置。
5.如权利要求4所述的FPGA调试转换设备,其特征在于,所述串行总线包括JTAG总线和SPI总线,所述串行接口包括JTAG串行接口和SPI串行接口,所述串行总线控制器包括JTAG串行总线控制器和SPI串行总线控制器;
所述第三调试指令包含串行总线类型指示信息;
所述指令解析器用于根据所述总线类型指示信息从所述JTAG串行总线控制器和SPI串行总线控制器中选择一个进行激活。
6.如权利要求4所述的FPGA调试转换设备,其特征在于,所述并行接口包括标准并行接口和扩展功能并行接口;所述第三调试指令包含并行接口类型指示信息;
所述指令解析器还用于对所述第三调制指令进行解析得到所述接口类型指示信息,并发送给所述并行总线控制器;
所述并行总线控制器用于根据所述接口类型指示信息启用所述标准并行接口和扩展功能并行接口中的一个。
7.如权利要求6所述的FPGA调试转换设备,其特征在于,所述并行总线控制器还用于在接收到来自所述调试主机的第三调试指令之前,在所述FPGA调试转换设备上电之后,启用所述标准并行接口。
8.如权利要求1-7所述的FPGA调试转换设备,其特征在于,还包括第一电平缓冲器和第二电平缓冲器;
所述第一电平缓冲器用于将所述调试主机发送的各调试指令及调试数据的电平转换为所述FPGA调试转换设备的工作电平,以及用于将所述FPGA调试转换设备反馈的数据的电平转换为所述调试主机的工作电平;
所述第二电平缓冲器用于将所述FPGA调试转换设备下发给所述待调试目标FPGA器件的串行信号格式数据的电平转换为所述待调试目标FPGA器件的工作电平,以及用于将所述待调试目标FPGA器件发送的运行数据的电平转换为所述FPGA调试转换设备的工作电平。
9.一种FPGA调试转换***,包括:调试主机以及如权利要求1-7任一项所述的FPGA调试转换设备;
所述调试主机通过并行总线与所述FPGA调试转换设备的并行接口连接,并向所述并行接口下发第一调试指令以及与所述第一调试指令对应的调试数据;
所述FPGA调试转换设备的指令处理器接收所述调试主机下发第一调试指令以及与所述第一调试指令对应的调试数据,并将所述调试数据转换成串行信号格式数据通过所述FPGA调试转换设备的串行接口下发给待调试目标FPGA器件。
10.一种FPGA调试转换方法,其特征在于应用于如权利要求1-7任一项所述的FPGA调试转换设备上,包括:
将所述FPGA调试转换设备的并行接口通过并行总线与调试主机连接,并将所述FPGA调试转换设备的串行接口通过串行总线与待调试目标FPGA器件连接;
所述FPGA调试转换设备接收所述调试主机通过所述并行接口发送的第一调试指令,并获取所述第一调试指令对应的调试数据;
所述FPGA调试转换设备将所述调试数据转换成串行信号格式数据并通过所述串行接口下发给所述待调试目标FPGA器件。
CN201611109445.9A 2016-12-02 2016-12-02 一种fpga调试转换设备、***及方法 Pending CN106527402A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611109445.9A CN106527402A (zh) 2016-12-02 2016-12-02 一种fpga调试转换设备、***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611109445.9A CN106527402A (zh) 2016-12-02 2016-12-02 一种fpga调试转换设备、***及方法

Publications (1)

Publication Number Publication Date
CN106527402A true CN106527402A (zh) 2017-03-22

Family

ID=58341371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611109445.9A Pending CN106527402A (zh) 2016-12-02 2016-12-02 一种fpga调试转换设备、***及方法

Country Status (1)

Country Link
CN (1) CN106527402A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989730A (zh) * 2018-08-08 2018-12-11 京东方科技集团股份有限公司 视频格式转换方法及其装置、现场可编程门阵列
CN109669729A (zh) * 2018-12-26 2019-04-23 杭州迪普科技股份有限公司 一种处理器的启动引导方法
CN111858205A (zh) * 2020-06-30 2020-10-30 浪潮(北京)电子信息产业有限公司 一种芯片调试方法和***
CN112685248A (zh) * 2020-12-24 2021-04-20 北京浪潮数据技术有限公司 智能网卡监控日志获取方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0733976A1 (en) * 1995-03-23 1996-09-25 Canon Kabushiki Kaisha Chip select signal generator
US7043568B1 (en) * 1998-11-12 2006-05-09 Klingman Edwin E Configuration selection for USB device controller
CN201075248Y (zh) * 2007-08-27 2008-06-18 中国石油天然气集团公司 一种usb接口实时数据采集控制器
CN102968364A (zh) * 2012-11-16 2013-03-13 中国航天科技集团公司第九研究院第七七一研究所 一种基于通用调试接口的SoC硬件调试器
CN103605629A (zh) * 2013-10-30 2014-02-26 上海交通大学 矿井提升机多目标多cpu高可靠性处理装置
CN105550119A (zh) * 2016-01-29 2016-05-04 中国人民解放军国防科学技术大学 一种基于jtag协议的仿真装置
CN105808396A (zh) * 2016-03-04 2016-07-27 浙江大华技术股份有限公司 一种芯片调试装置、调试方法及soc芯片***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0733976A1 (en) * 1995-03-23 1996-09-25 Canon Kabushiki Kaisha Chip select signal generator
US7043568B1 (en) * 1998-11-12 2006-05-09 Klingman Edwin E Configuration selection for USB device controller
CN201075248Y (zh) * 2007-08-27 2008-06-18 中国石油天然气集团公司 一种usb接口实时数据采集控制器
CN102968364A (zh) * 2012-11-16 2013-03-13 中国航天科技集团公司第九研究院第七七一研究所 一种基于通用调试接口的SoC硬件调试器
CN103605629A (zh) * 2013-10-30 2014-02-26 上海交通大学 矿井提升机多目标多cpu高可靠性处理装置
CN105550119A (zh) * 2016-01-29 2016-05-04 中国人民解放军国防科学技术大学 一种基于jtag协议的仿真装置
CN105808396A (zh) * 2016-03-04 2016-07-27 浙江大华技术股份有限公司 一种芯片调试装置、调试方法及soc芯片***

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989730A (zh) * 2018-08-08 2018-12-11 京东方科技集团股份有限公司 视频格式转换方法及其装置、现场可编程门阵列
CN108989730B (zh) * 2018-08-08 2021-01-22 京东方科技集团股份有限公司 视频格式转换方法及其装置、现场可编程门阵列
CN109669729A (zh) * 2018-12-26 2019-04-23 杭州迪普科技股份有限公司 一种处理器的启动引导方法
CN111858205A (zh) * 2020-06-30 2020-10-30 浪潮(北京)电子信息产业有限公司 一种芯片调试方法和***
CN111858205B (zh) * 2020-06-30 2022-07-08 浪潮(北京)电子信息产业有限公司 一种芯片调试方法和***
CN112685248A (zh) * 2020-12-24 2021-04-20 北京浪潮数据技术有限公司 智能网卡监控日志获取方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN106527402A (zh) 一种fpga调试转换设备、***及方法
CN105550119B (zh) 一种基于jtag协议的仿真装置
CN106502932B (zh) 基于分层结构的片间互联接口及其写操作和读操作的方法
CN106444657B (zh) 一种Modbus主站指令处理方法及主站控制器
CN105991358B (zh) 一种测试接口板流量的方法、装置、测试板及***
CN202261268U (zh) 应答器信息接收***的模拟装置及其测试***
CN105808396A (zh) 一种芯片调试装置、调试方法及soc芯片***
CN110224789B (zh) 一种基于fpga的多模式hdlc控制器
CN107272663A (zh) 一种1553b总线式伺服***测试设备的快速校验装置
CN104469349A (zh) 一种检测视频源产生的mipi视频信号的方法
CN104243083B (zh) 一种数据映射方法、装置及电子设备
WO2016184170A1 (zh) Smi接口器件的调试装置及方法、存储介质
CN206100257U (zh) 一种数字信号和模拟信号兼容处理装置
CN105120235A (zh) 基于usb3.0接口的工业图像采集***及其图像采集处理方法
CN104378574B (zh) 基于SoPC的VGA图像采集与压缩存储装置
CN109407574A (zh) 一种多总线可选择输出控制装置及其方法
Chakraborty et al. Industrial Automation Debug Message Display Over Modbus RTU Using C
CN104793371B (zh) 一种mipi模组点屏过程中错误状态检测装置及方法
CN104865717B (zh) Mipi模组点屏测试中自适应错误处理方法
CN111026691A (zh) 基于apb总线的owi通讯设备
CN207623778U (zh) 一种板卡接口测试装置
CN103402115B (zh) 基于片上***的高速图像压缩码流验证***
CN205121274U (zh) 串口规约报文信号试验端子排
CN107346295A (zh) 一种数据传输线缆和数据传输方法
CN208596371U (zh) 基于pcie与fpga结合的多核jtag调试代理***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170322

RJ01 Rejection of invention patent application after publication