CN108733552B - 一种fpga远程调试系统及远程调试方法 - Google Patents

一种fpga远程调试系统及远程调试方法 Download PDF

Info

Publication number
CN108733552B
CN108733552B CN201710252578.XA CN201710252578A CN108733552B CN 108733552 B CN108733552 B CN 108733552B CN 201710252578 A CN201710252578 A CN 201710252578A CN 108733552 B CN108733552 B CN 108733552B
Authority
CN
China
Prior art keywords
debugging
target
command
fpga
module
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.)
Active
Application number
CN201710252578.XA
Other languages
English (en)
Other versions
CN108733552A (zh
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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN201710252578.XA priority Critical patent/CN108733552B/zh
Publication of CN108733552A publication Critical patent/CN108733552A/zh
Application granted granted Critical
Publication of CN108733552B publication Critical patent/CN108733552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3698Environments for analysis, debugging or testing of software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公布了一种FPGA远程调试系统及远程调试方法,系统包括在调试主机上运行的调试客户端、在目标机上运行的调试服务器、用于存储目标系统信息的数据库服务器;客户端与服务器通过远程调试通信协议共同完成对FPGA的远程调试;数据库服务器存储目标系统信息表;调试客户端用于用户交互操作、显示信息、发送调试请求包、接收调试回应包;调试服务器用于获取目标系统信息、接收来自调试客户端的调试请求包、对调试请求包进行命令解析、形成调试回应包并发送回调试客户端。采用本发明技术方案,通过互联网对连接在计算机主机上的FPGA板级系统进行硬件代码的烧写和调试,简单易用,可提高开发调试效率。

Description

一种FPGA远程调试系统及远程调试方法
技术领域
本发明涉及FPGA(Field Programmable Gate Array,现场可编程门阵列)开发过程中的调试技术,具体涉及一种简单、易用的针对FPGA板级系统的远程调试系统及调试方法。
背景技术
在现代数字设计中,FPGA因其资源丰富、使用灵活等优点,被广泛地使用。随着半导体技术发展,FPGA朝着可编程片上系统(system on programmable chip,SOPC)方向发展,系统高度集成,一些关键的信号只存在于芯片内部。芯片更多的引脚采用球栅阵列(ball grid arry,BGA)封装,引脚连接特性无法以传统的方法测试。对FPGA进行实时地分析和调试,是验证硬件逻辑正确性的重要手段,是系统硬件设计实现的最后环节。通常的调试方式需在现场将计算机主机用一根JTAG(Joint Test Action Group,联合测试工作组)接口的下载电缆线与要调试的FPGA器件连接,并在计算机主机上使用在线逻辑分析仪完成。
但是,在FPGA硬件系统开发中,通常由多人共同协作开发,而这些人可能分布在不同的地方。考虑到FPGA开发设备价格昂贵,为节约科研成本,不能保证人手一套FPGA开发设备。这时,对FPGA系统的调试变得非常不方便。因此,通过网络远程地对FPGA系统进行调试成为了一种需求。此外,在FPGA教学实验中,若能实现实验仪器设备网络化,使学生可以通过互联网远程地对实验室内的FPGA开发板进行操作,可以有效的提升调试验证的效率,节约时间成本,提高学生学习开发的积极性。
目前,已有的用于FPGA远程调试的装置方法如实用型专利(申请号20151103058.7)记载了一种FPGA/CPLD远程调试系统及方法,该技术存在的主要问题是只能观察管脚信号,不能观察芯片内部信号完成在线逻辑分析;另外,上述远程调试系统的结构复杂,需要额外的专用硬件电路装置,且目标机的网络参数需要用户手动配置。
发明内容
为了方便说明,本文约定:“TCL”表示工具命令语言,即Tool Command Language;“ILA”表示综合逻辑分析仪,即Integrated Logic Analyzer;Bit文件指FPGA设计的最终文件,用于配置FPGA的配置比特流,目标系统是指被调试的目标FPGA板及与其连接的目标机。
针对现有技术存在的不足,本发明提供了一种简单、易用的FPGA远程调试系统及远程调试方法,采用本发明技术方案,可以通过互联网对连接在计算机主机上的FPGA板级系统进行硬件代码的烧写和调试。
本发明的原理是:目标机在数据库服务器上注册自己的系统参数和与之连接的FPGA板级系统参数,并定时检测IP地址是否发生变化;如果检测到IP地址发生变化则更新数据库中的相应记录。调试主机上运行的调试器从数据库中获取注册的目标机名字,根据用户选择的目标机名字获取目标机IP地址,然后与目标机建立TCP连接,将用户输入的控制指令和参数集组成调试请求包,发送给目标机;目标机收到调试请求包后解析并执行,然后将结果组成调试回应包,再通过TCP连接发送给调试主机;调试主机收到调试回应包,解析并展示在用户图形界面。
本发明提供的技术方案如下:
一种FPGA远程调试系统,针对FPGA平台进行远程调试,系统包括运行于调试主机的调试客户端、运行于目标机的调试服务器、远程调试通信协议、存储目标系统信息的数据库服务器;其中:
(1)所述调试客户端包括调试界面模块、目标系统参数获取模块、初始化模块和远程通信接口模块一;其中:
(1.1)所述调试界面模块用于:以图形界面的方式引导调试者输入参数、点击指令集按钮,接收用户的各种调试命令并形成远程调试请求包,解析调试回应包并将结果显示在用户图形界面;调试者输入参数包括目标机名字、目标FPAG板级系统参数及调试参数;所述目标FPGA板级系统参数包括FPGA板型号、FPGA板是否连接目标机;所述调试参数包括刷新频率、触发信号;
指令集按钮对应的调试命令包括PROGRAM指令、TRIGGER指令集、TRIGGER SETUP指令和REFRESH RATE SETTING指令;PROGRAM指令用于将用户选择的Bit文件烧写进与目标机连接的FPGA板;所述TRIGGER指令集包括TRIGGER IMMEDIATELY指令、TRIGGERCONDITIONALLY指令和TRIGGER CIRCULARLY指令;TRIGGER IMMEDIATELY指令即立即触发,用于立即开始采样观察信号数值并以波形显示;TRIGGER CONDITIONALLY指令即条件触发,用于当满足触发信号条件时开始采样观察信号数值并以波形显示;TRIGGER CIRCULARLY指令即循环触发,用于循环不断的执行TRIGGER IMMEDIATELY指令和TRIGGER CONDITIONALLY指令,已一定的频率刷新显示波形;TRIGGER SETUP指令用于设置调试参数中的触发信号,包括触发信号的名字和满足触发条件的值;REFRESH RATE SETTING指令用于设置调试参数中的刷新频率,刷新频率是指循环触发是采样信号波形刷新的频率。
(1.2)所述目标系统参数获取模块用于获取目标机参数和目标FPGA板级系统参数,首先从数据库服务器中获取注册的目标系统名字,以多选框的形式展示在用户图形界面,然后根据用户选择的目标系统名字获取目标机IP地址、FPGA板级系统参数,并将获取的参数传给初始化模块。
(1.3)所述初始化模块接收目标系统参数获取模块传来的参数,根据目标机IP地址向目标机发起TCP连接请求,并将目标FPGA板级系统参数显示在调试界面。用户可以根据参数FPGA板型号,判断该板是否适合烧写所选的Bit文件,根据参数FPGA板是否连接目标机,判断FPGA板是否连接到目标机并上电。
(1.4)所述远程通信接口模块一用于:将所述指令集中的PROGRAM指令、TRIGGER指令集、TRIGGER SETUP指令和REFRESH RATE SETTING指令及其所需参数集,通过互联网发送至目标机;接收目标机返回的调试回应包,并传递给调试界面模块。
(2)所述调试服务器包括目标系统信息更新模块、远程通信接口模块二、调试命令解析模块、Bit文件烧写模块、信号采集模块和设置模块。其中:
(2.1)所述目标系统信息更新模块用于:获取目标机登录用户名,将其作为目标系统名字;定时获取目标机IP地址和与目标机连接的目标FPGA板级系统参数;如果目标系统名字首次出现,则在目标系统信息表中插入一条记录;如果目标系统名字已注册过,检查IP地址和FPGA板级系统参数是否有变化,有变化则更新该条记录。
(2.2)所述通信接口模块二用于:接收来自调试客户端的调试请求包,并将调试请求包发送至命令解析模块;将调试回应包发送给调试主机。
(2.3)所述调试命令解析模块用于:解析出接收到的调试请求包中调试命令,并根据命令类型通知下行模块响应所述指令集中的PROGRAM指令、TRIGGER指令集、TRIGGERSETUP指令和REFRESH RATE SETTING指令;其中PROGRAM指令由Bit文件烧写模块响应,TRIGGER指令集中的TRIGGER IMMED,TELY指令、TRIGGER CONDITIONALLY指令和TRIGGERCIRCULARLY指令由信号采集模块响应,TRIGGER SETUP指令和REFRESH RATE SETTING指令由设置模块响应;收到下行模块反馈结果后组成调试回应包并发送至所述通信模块二。
(2.4)所述Bit文件烧写模块用于:执行PROGRAM指令,控制目标机将用户所选择的Bit文件烧写至目标FPGA板,并将烧写的结果反馈给命令解析模块。
(2.5)所述信号采集模块用于:执行TRIGGER指令集,控制目标机对观察信号进行采样并生成实时信号数据的ILA格式文件,并将该文件的全路径名反馈给命令解析模块。
(2.6)所述设置模块用于:执行TRIGGER SETUP指令和REFRESH RATE SETTING指令,其中TRIGGER SETUP指令完成触发信号的名字和满足触发条件的值的设置,REFRESHRATE SETTING命令完成循环触发波形刷新频率的设置。
(3)所述远程通信协议定义了调试主机上的调试客户端与目标机上的调试服务器共同完成远程调试的协作方式、通信方式及内容。调试客户端发送调试请求包并接收调试回应包,调试服务器接收调试请求包并发送包含调试结果的回应包。调试请求包内容包括调试命令类型和调试命令参数集,调试回应包内容包括调试命令类型和调试命令结果集。
(4)所述存储目标系统信息的数据库服务器用于存储目标系统信息表;通过所述调试服务器中的目标系统信息更新模块更新该表记录,通过所述调试客户端的目标系统参数获取模块从该表读取目标系统参数。该表的结构为(目标机id、目标系统名字、目标机IP地址、目标FPGA板型号、目标FPGA板是否连接目标机)。
本发明的有益效果为:
本发明提供一种FPGA远程调试系统,针对FPGA平台进行远程调试,系统包括运行于调试主机的调试客户端、运行于目标主机的调试服务器、远程调试通信协议、存储目标系统信息的数据库服务器。与现有技术相比,本发明具有以下技术优势:
(一)本发明将传统的目标FPGA板级系统现场调试方法网络化,使得调试人员可通过互联网远程地对目标FPGA板级系统进行调试,方便了远程对FPGA板进行调试,提高了开发调试的效率;
(二)本发明只需要像本地调试一样将目标FPGA板级系统通过JTAG连接到PC上,不需要其他额外的硬件电路装置,结构简明;
(三)本发明可以观察芯片内部信号,能够实现跟本地调试一样的在线逻辑分析,更加准确地验证硬件逻辑正确性。
附图说明
图1为本发明提供的FPGA远程调试系统的组成结构框图。
图2为本发明提供的FPGA远程调试系统的结构框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种FPGA远程调试系统,针对FPGA平台进行远程调试,系统包括运行于调试主机的调试客户端、运行于目标主机的调试服务器、远程调试通信协议、存储目标系统信息的数据库服务器。图2为本发明提供的FPGA远程调试系统的结构框图。图1具体表示了系统的组成结构。调试客户端包括调试界面模块、目标系统参数获取模块、初始化模块和远程通信接口模块一;调试服务器包括目标系统信息更新模块、远程通信接口模块二、调试命令解析模块、Bit文件烧写模块、信号采集模块和设置模块;远程通信协议包括调试主机上的调试客户端与目标机上的调试服务器共同完成远程调试的协作方式、通信方式及内容;数据库服务器存储目标系统信息表。
利用上述FPGA远程调试系统,可通过以下具体步骤实现针对FPGA的远程调试:
(1)通过目标系统信息更新模块获取目标机的登录用户名和IP地址、目标板级系统的型号以及连接状态,将这些信息存储到数据库服务器的目标系统信息表里;此后,会定时获取目标机IP地址和目标板级系统连接状态,如果这两个参数发生变化则更新目标系统信息表中的相应记录。目标系统信息表的结构为(目标系统id、目标系统名字、目标机IP地址、目标FPGA板型号、目标FPGA板是否连接目标机)。
(2)通过目标系统参数获取模块,首先从数据库服务器中获取所有目标系统的名字,在调试界面上以多选框的形式展示;然后根据用户选择的目标系统名字获取对应的目标机IP地址、目标FPGA开发板型号以及与目标机的连接状态,并将些参数传给调试客户端的初始化模块。
(3)初始化模块接收到目标系统参数获取模块传来的参数,根据参数目标机IP地址与目标机建立TCP连接,将参数目标FPGA开发板型号及与目标机的连接状态显示到调试界面上。参数FPGA板型号用于判断该板是否适合烧写所选的Bit文件,参数FPGA板是否连接目标机用于判断FPGA板是否连接到目标机并上电。
(4)通过调试界面引导用户通过按钮输入调试指令,如果该指令需要参数,引导用户输入该指令需要的参数,形成调试请求包,发送至远程通信接口模块一。
(5)远程通信接口模块一通过TCP连接将调试请求包发送至目标机。
(6)远程通信接口模块二接收调试主机发送来的调试请求包;
(7)通过调试命令解析模块解析调试请求包,解析出调试命令类型和参数集,根据命令类型将命令类型和参数集传到相应的模块;其中PROGRAM命令对应Bit文件烧写模块,TRIGGER指令集对应采集信号模块,TRIGGER SETUP和REFRESH RATE SETTING指令对应调制服务器的设置模块。
(8)通过Bit文件烧写模块执行烧写Bit文件的TCL脚本,将指定Bit文件烧写到目标FPGA开发板上,获取TCL脚本执行的结果,如果烧写完成,结果是烧写成功;如果烧写发生错误,结果是错误信息;通过信号采集模块执行实时采样观察信号数值并生成相应ILA格式文件的TCL脚本。通过设置模块配置触发信号和触发模式,配置触发信号包括配置触发信号的名字和触发信号的值,刷新频率的取值通常为整百,比如500。
(9)通过调试命令解析模块接收调试命令执行结果,形成调试回应包。
(10)远程通信模块二通过TCP连接将调试回应包发送至调试主机。
(11)远程通信模块一接收调试回应包。
(12)通过调试界面模块解析调试回应包并将结果展示到用户图形界面上,对于PROGRAM指令直接显示结果即可,对于TRIGGER指令集需要将采集信号数值的文件解析后以波形的形式显示。
下面通过实施例对本发明做进一步说明,但不限于此。
为了简化说明,以下实施例统一假定用户已经选好要调试的目标系统,调试主机与目标机之间建立起TCP连接。
实施例一:烧写Bit文件到目标FPGA开发板,步骤如下:
(1)调试者在调试界面上点击“选择文件”按钮,在弹出的文件对话框里选择将要烧写的Bit文件。
(2)调试者在调试界面点击“烧写”按钮,调试界面模块将指令类型PROGAMM和包括文件名、文件大小,文件内容的参数集组成调试请求包发送至所述远程通信模块一。
(3)远程通信模块一收到调试请求包,通过TCP连接将调试请求包发送至目标机并等待回应包。
(4)远程通信模块二接收调试请求包,并将调试请求包发送至所述命令解析模块。
(5)命令解析模块解析调试请求包,解析出指令类型为PROGRAM指令,然后将参数集发送至Bit文件烧写模块。
(6)Bit文件烧写模块首先接收Bit文件,存放在本地默认路径下,然后将包含全路径的Bit文件名作为参数传入烧写Bit文件的TCL脚本,并执行该脚本。当脚本执行结束后,将脚本执行的结果发送至所诉命令解析模块,如果脚本正确执行,则结果为“烧写成功”,否则结果为错误信息。
(7)命令解析模块收到烧写Bit文件的结果,将其与指令类型PROGRAM组成调试回应包发送至所述远程通信模块二。
(8)远程通信模块二收到调试回应包,通过TCP连接将调试回应包发送至调试主机。
(9)远程通信模块一接收调试回应包,并将调试回应包发送至所述调试界面模块。
(10)调试界面模块收到调试回应包,解析出PROGRAM指令和烧写Bit文件结果,并将结果显示到“烧写结果”文本框中。
实施例二:立即采集目标FPGA开发板上观察的信号,步骤如下:
(1)调试者在调试界面上点击“立即触发”按钮,调试界面模块将指令类型TRIGGERIMMEDIATELY和空的参数集组成调试请求包发送至所述远程通信模块一。
(2)远程通信模块一收到调试请求包,通过TCP连接将调试请求包发送至目标机并等待回应包。
(3)远程通信模块二接收调试请求包,并将调试请求包发送至所述命令解析模块。
(4)命令解析模块解析调试请求包,解析出指令类型为TRIGGER IMMEDIATELY指令,并将指令发送至信号采集模块。
(5)信号采集模块接收到TRIGGER IMMEDIATELY指令,控制目标机执行立即采集观察信号数值并生成ILA文件的TCL脚本,并将生成的ILA文件全路径名发送至命令解析模块。
(6)命令解析模块收到TRIGGER IMMEDIATELY指令执行结果,获取ILA文件大小、内容,同ILA文件名组成结果集,再将指令类型TRIGGER IMMEDIATELY和结果集组成调试回应包发送至远程通信模块二。
(7)远程通信模块二收到调试回应包,通过TCP连接将调试回应包发送至调试主机。
(8)远程通信模块一接收调试回应包,并将调试回应包发送至所述调试界面模块。
(9)调试界面收到调试回应包,解析出指令类型TRIGGER IMMEDIATELY和结果集,首先接收ILA文件,然后解析ILA文件将观察信号数值以波形的形式展示与调试界面。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (9)

1.一种FPGA远程调试系统,针对FPGA平台进行远程调试,远程调试系统包括:在调试主机上运行的调试客户端、在目标机上运行的调试服务器、用于存储目标系统信息的数据库服务器;
所述调试客户端与所述调试服务器通过远程调试通信协议共同完成对FPGA的远程调试;所述数据库服务器存储目标系统信息表;所述目标系统信息表存储的信息包括注册的目标机名字、目标机IP地址、目标FPGA板型号、目标FPGA板是否连接目标机;所述调试客户端用于显示信息和用户交互操作、发送调试请求包、接收调试回应包,显示信息包括所述数据库服务器中注册的目标机名字、选定目标机相应的目标机IP地址、控制指令和参数集、调试回应包;所述调试服务器用于定时获取目标系统信息并更新到数据库服务器中、接收来自调试客户端的调试请求包、对调试请求包进行命令解析、形成调试回应包并发送回调试客户端;
所述调试服务器包括目标系统信息更新模块、远程通信接口模块二、调试命令解析模块、指令响应模块;所述目标系统信息更新模块用于获取目标机登录用户名,作为目标系统名字,定时获取目标机IP地址和与目标机连接的目标FPGA板级系统参数,并更新数据库服务器中的目标系统信息表;所述通信接口模块二用于接收来自调试客户端通信接口模块一的调试请求包,将所述调试请求包发送至调试命令解析模块,并将调试回应包发送给调试主机;所述调试命令解析模块用于解析出接收到的调试请求包中指令集的调试命令,并根据命令类型通知相应的指令响应模块响应指令;所述指令响应模块执行相应的指令,将结果反馈给命令解析模块;
调试服务器中所述指令响应模块包括Bit文件烧写模块、信号采集模块和设置模块,分别用于执行PROGRAM指令、TRIGGER指令集、TRIGGER SETUP指令和REFRESH RATE SETTING指令;具体地,
所述Bit文件烧写模块用于执行PROGRAM指令,控制目标机将用户所选择的Bit文件烧写至目标FPGA开发板,并将烧写的结果反馈给命令解析模块;
所述信号采集模块用于执行TRIGGER指令集,控制目标机对观察信号进行采样并生成实时信号数据的ILA格式文件,并将该文件的全路径名反馈给命令解析模块;
所述设置模块用于执行TRIGGER SETUP指令和REFRESH RATE SETTING指令,其中TRIGGER SETUP指令完成触发信号的名字和满足触发条件的值的设置,REFRESH RATESETTING命令完成循环触发波形刷新频率的设置。
2.如权利要求1所述FPGA远程调试系统,其特征是,所述远程调试通信协议包括调试客户端与调试服务器共同完成远程调试的协作方式、通信方式及内容。
3.如权利要求1所述FPGA远程调试系统,其特征是,所述远程调试通信协议为TCP/IP通信协议。
4.如权利要求1所述FPGA远程调试系统,其特征是,所述调试请求包内容包括调试命令类型和调试命令参数集;所述调试回应包内容包括调试命令类型和调试命令结果集。
5.如权利要求1所述FPGA远程调试系统,其特征是,所述调试客户端包括调试界面模块、目标系统参数获取模块、初始化模块和远程通信接口模块一;所述调试界面模块用于以图形界面的方式引导调试者输入参数、接收用户通过点击图形界面中的指令集按钮输入的调试命令并形成远程调试请求包,输入参数包括目标机名字、目标FPGA板级系统参数及调试参数;所述远程通信接口模块一发送所述调试请求包并等待远程回应包;所述调试界面模块再解析远程回应包并将结果显示在用户图形界面;所述目标系统参数获取模块用于获取调试者通过调试界面模块输入的目标机参数和目标FPGA板级系统参数,并将获取的参数传给初始化模块;所述初始化模块根据接收到的目标机参数向目标机发起TCP连接请求,并将目标FPGA板级系统参数显示在调试界面;
所述数据库服务器存储目标系统信息表;表的结构为:目标机id、目标系统名字、目标机IP地址、目标FPGA板型号、目标FPGA板是否连接目标机。
6.如权利要求5所述FPGA远程调试系统,其特征是,所述目标FPGA板级系统参数包括FPGA板型号、FPGA板是否连接目标机;所述调试参数包括刷新频率、触发信号。
7.利用权利要求1所述FPGA远程调试系统实现FPGA远程调试的方法,包括如下步骤:
1)调试客户端从所述数据库服务器中获取注册的目标机名字;用户选定目标机名字;
2)根据用户选定目标机名字获取目标机IP地址;
3)将调试主机与目标机建立通信连接;
4)用户通过调试客户端设定控制指令和参数集,所述控制指令和参数集组成调试请求包,通过通信连接发送给目标机;
5)目标机收到调试请求包后进行解析并执行,将结果组成调试回应包,再通过通信连接发送给调试主机;
6)调试主机接收到调试回应包后进行解析,并通过调试客户端进行展示。
8.如权利要求7所述FPGA远程调试方法,其特征是,步骤4)所述参数包括目标机名字、目标FPGA板级系统参数及调试参数;所述目标FPGA板级系统参数包括FPGA板型号、FPGA板是否连接目标机;所述调试参数包括刷新频率、触发信号。
9.如权利要求7所述FPGA远程调试方法,其特征是,步骤4)所述控制指令包括:PROGRAM指令、TRIGGER指令集、TRIGGER SETUP指令和REFRESH RATE SETTING指令。
CN201710252578.XA 2017-04-18 2017-04-18 一种fpga远程调试系统及远程调试方法 Active CN108733552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710252578.XA CN108733552B (zh) 2017-04-18 2017-04-18 一种fpga远程调试系统及远程调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710252578.XA CN108733552B (zh) 2017-04-18 2017-04-18 一种fpga远程调试系统及远程调试方法

Publications (2)

Publication Number Publication Date
CN108733552A CN108733552A (zh) 2018-11-02
CN108733552B true CN108733552B (zh) 2020-12-22

Family

ID=63925120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710252578.XA Active CN108733552B (zh) 2017-04-18 2017-04-18 一种fpga远程调试系统及远程调试方法

Country Status (1)

Country Link
CN (1) CN108733552B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109861981A (zh) * 2018-12-28 2019-06-07 中科院计算技术研究所南京移动通信与计算创新研究院 一种信号变频采样测试控制方法、系统、装置及存储介质
CN109710479B (zh) * 2018-12-30 2021-05-18 联想(北京)有限公司 一种处理方法及第一设备、第二设备
CN109815135A (zh) * 2018-12-31 2019-05-28 深圳市越疆科技有限公司 一种机器人程序运行状态的监控方法、装置及智能终端
CN112015434A (zh) * 2019-05-29 2020-12-01 惠州拓邦电气技术有限公司 远程升级调试控制方法、系统、装置及存储介质
CN110750402A (zh) * 2019-10-16 2020-02-04 深圳安时达电子服务有限公司 调试装置和远程调试系统
CN110806976B (zh) * 2019-10-24 2022-03-22 青岛英泰软件技术有限公司 远程推送shell和CMD命令的方法
CN110853325A (zh) * 2019-11-27 2020-02-28 瀚颐(上海)汽车电子科技有限公司 一种汽车无线调试器、汽车无线调试系统及方法
CN111123084B (zh) * 2019-12-11 2022-03-01 中国电子科技集团公司第二十研究所 一种基于tcl语言的数字电路快速测试方法
CN111487519B (zh) * 2020-04-07 2024-05-07 长江存储科技有限责任公司 测试系统及方法
CN113656236B (zh) * 2020-05-12 2024-05-28 大唐移动通信设备有限公司 一种数据处理方法和装置
CN111813702B (zh) * 2020-09-09 2020-12-22 鹏城实验室 调试系统、调试方法、设备及计算机可读存储介质
CN112148617A (zh) * 2020-10-09 2020-12-29 中国科学技术大学 一种用于远程实验平台的波形采样调试方法
CN112231160A (zh) * 2020-10-16 2021-01-15 上海国微思尔芯技术股份有限公司 Fpga板动态调试方法及fpga板动态调试装置
CN113176953B (zh) * 2021-04-21 2024-08-06 北京锐达仪表有限公司 现场调试终端、仪表远程调试系统、仪表调试方法及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101413990A (zh) * 2008-12-03 2009-04-22 北京大学 一种现场可编程门阵列的测试方法及系统
CN102332307A (zh) * 2011-07-28 2012-01-25 中国空间技术研究院 Sram型fpga单粒子效应试验系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334766B (zh) * 2008-06-30 2011-05-11 东软飞利浦医疗设备系统有限责任公司 一种并行微处理器及其实现方法
ITTO20130974A1 (it) * 2013-11-29 2015-05-30 Magneti Marelli Spa Sistema per sottoporre a test l'interazione wireless fra un sistema di riproduzione di segnali audio e un telefono mobile, relativo procedimento e prodotto informatico
CN105718339B (zh) * 2015-12-31 2019-02-05 山东大学 一种fpga/cpld 远程调试系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101413990A (zh) * 2008-12-03 2009-04-22 北京大学 一种现场可编程门阵列的测试方法及系统
CN102332307A (zh) * 2011-07-28 2012-01-25 中国空间技术研究院 Sram型fpga单粒子效应试验系统及方法

Also Published As

Publication number Publication date
CN108733552A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108733552B (zh) 一种fpga远程调试系统及远程调试方法
CN103812726B (zh) 一种数据通信设备的自动化测试方法及装置
CN101478449B (zh) 一种协议自动测试方法及其系统
CN106209515B (zh) 接入网设备自动化测试系统
CN101241466A (zh) 一种嵌入式软件的测试方法和系统
JP2018010638A5 (zh)
CN101316196B (zh) 一种对分布式平台上的业务进行仿真测试的实现方法与装置
CN105718339A (zh) 一种fpga/cpld 远程调试系统及方法
JP7665293B2 (ja) 試験測定システム及び被試験デバイスの試験方法
CN102163173A (zh) 一种分布式信息系统接口自动化测试方法
CN106021101B (zh) 对移动终端进行测试的方法及装置
CN106897207A (zh) 用户界面测试方法与装置
CN112882876A (zh) 一种pld器件远程调试和配置系统
CN110568339A (zh) 一种基于物联网的仪表自动化测试系统及方法
CN107844486A (zh) 一种用于客户端的分析网页问题的方法和系统
CN106776329B (zh) 储能变流器的调试方法和调试设备
CN114816980B (zh) 一种嵌入式通信系统用自动测试装置及方法
CN106325262B (zh) 一种成员系统与机载维护系统的接口数据生成系统和方法
CN112685285A (zh) 用户界面测试用例生成方法和装置
CN113010358A (zh) 应用于航空电子系统的ltpb总线检测装置及其测试流程描述语言的方法
CN107872366A (zh) 用于模拟飞行中航天器数据信息的分析系统及分析方法
CN112838938A (zh) 一种物联网平台的测试系统
CN106354643B (zh) 一种交互式软件的偶然性错误测试方法及系统
CN110399723A (zh) 漏洞检测方法和装置、存储介质及电子装置
US20230035673A1 (en) Information processing system, information processing apparatus, use method of information processing apparatus, user terminal, and program therefor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant