CN110597678B - 一种调试方法及调试单元 - Google Patents

一种调试方法及调试单元 Download PDF

Info

Publication number
CN110597678B
CN110597678B CN201910848984.1A CN201910848984A CN110597678B CN 110597678 B CN110597678 B CN 110597678B CN 201910848984 A CN201910848984 A CN 201910848984A CN 110597678 B CN110597678 B CN 110597678B
Authority
CN
China
Prior art keywords
debugging
sub
unit
target
target unit
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
CN201910848984.1A
Other languages
English (en)
Other versions
CN110597678A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910848984.1A priority Critical patent/CN110597678B/zh
Publication of CN110597678A publication Critical patent/CN110597678A/zh
Application granted granted Critical
Publication of CN110597678B publication Critical patent/CN110597678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors

Abstract

本申请提供一种调试方法及调试单元,涉及电子领域,调试方法应用于芯片中,调试单元与目标单元通过片上总线相连,方法包括:调试单元获取各个子目标单元的调试输出数据,调试输出数据是各个子目标单元针对调试输入信号进行处理得到的处理结果;调试单元将各个子目标单元的调试输出数据转换为各个像素数据,并根据各个像素数据确定调试图像数据;调试单元根据调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因,进一步的,调试单元还可以根据机器学习的方法确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因。本申请实施例的调试方法不受屏幕输出分辨率的限制,通用性好,灵活度高。

Description

一种调试方法及调试单元
技术领域
本发明实施例涉及电子领域,尤其涉及一种调试方法及调试单元。
背景技术
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,作为专用集成电路(Application Specific Integrated Circuit,ASIC)领域中的一种半定制电路,FPGA的逻辑块和连接可以按照用户的需要而改变,通过可编辑的连接把FPGA内部的逻辑块连接起来,所以FPGA可以完成所需要的逻辑功能。FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,所以FPGA技术得到广泛的应用。
针对FPGA的调试,现有技术通过将FPGA芯片中的待调试电路的信号转换为显示信号,并通过显示设备进行显示,通过显示设备显示的显示信号来调试FPGA。
但是现有技术中,由于在对FPGA调试时,需要额外的显示设备才能进行FPGA,不能广泛应用于各种FPGA调试场景,并且由于受到显示设备的显示像素限制,当显示信号超过显示设备的分辨率时候,部分显示信号会丢失。
综上所述,现有技术中不能提供一种应用范围广且调试准确性高的调试方法。
发明内容
本申请实施例提供一种调试方法及调试单元,为芯片调试提供范围广且调试准确性高的调试方法。
一方面,本申请实施例提供一种调试方法,所述调试方法应用于芯片中,所述芯片至少包括目标单元以及调试单元,所述调试单元与所述目标单元通过片上总线相连,所述目标单元由多个子目标单元构成,各个子目标单元是根据所述目标单元的功能确定的,所述方法包括:
所述调试单元获取各个子目标单元的调试输出数据,所述调试输出数据是各个子目标单元针对调试输入信号进行处理得到的处理结果;
所述调试单元将各个子目标单元的调试输出数据转换为各个像素数据,并根据各个像素数据确定调试图像数据;
所述调试单元根据所述调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因。
一方面,本申请实施例提供一种调试单元,所述调试单元与目标单元位于同一芯片中,所述调试单元与所述目标单元通过片上总线相连,所述目标单元由多个子目标单元构成,各个子目标单元是根据所述目标单元的功能确定的,所述调试单元包括:
获取模块,用于获取各个子目标单元的调试输出数据,所述调试输出数据是各个子目标单元针对调试输入信号进行处理得到的处理结果;
数据处理模块,用于将各个子目标单元的调试输出数据转换为各个像素数据,并根据各个像素数据确定调试图像数据;
异常检测模块,用于根据所述调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因。
可选的,述调试输出数据为二进制数据,所述数据处理模块具体用于:
将各个子目标单元的调试输出数据转换为十进制数据;
将转换后的调试输出数据作为各个像素的像素值。
可选的,所述调试图像数据由三个维度的子调试图像数据构成,每一维度的子调试图像数据包括的像素个数是根据子目标单元的数量确定的。
可选的,每一维度的子调试图像数据包括的像素个数相同。
可选的,所述数据处理模块具体用于:
根据各个子目标单元的连接顺序确定各个像素数据的顺序;
按照各个像素数据的顺序依次确定第一维度的子调试图像数据、第二维度的子调试图像数据以及第三维度的子调试图像数据。
可选的,所述异常检测模块具体用于:
根据所述调试图像数据以及已训练的神经网络模型确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因,所述神经网络模型是根据历史调试图像数据进行训练的,所述历史调试图像数据至少是根据运行异常的各历史子目标单元的历史调试输出数据以及运行正常的各历史子目标单元的历史调试输出数据确定的。
可选的,所述获取模块还用于:
确定所述目标单元中的模式寄存器的数值为预设数值,所述目标单元中的模式寄存器的数值是所述目标单元在确定存在异常子目标单元后,将所述模式寄存器的原数值进行更新得到的。
可选的,所述调试单元还包括:
保存模块,用于使用一组寄存器来保存每个运行异常的子目标单元的异常事件,每个寄存器保存所述异常事件中的一个异常信息,所述异常事件至少包括异常原因信息以及异常事件发生时间信息。
可选的,所述调试单元还包括:
中断模块,用于在所述保存模块使用一组寄存器来保存每个运行异常的子目标单元的异常事件触发中断,所述中断表征所述调试单元调试完成。
可选的,所述运行异常的各子目标单元对应至少一个异常原因。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述调试方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行所述调试方法的步骤。
本申请实施例中,通过在芯片中设置调试单元,调试目标单元,目标单元包括多个子目标单元,通过将多个子目标单元的调试输出数据作为像素数据,通过各个像素数据构成了调试图像数据,通过调试图像数据来确定存在异常的子目标单元以及异常原因。在本申请实施例中,不需要将调试输出数据输出,而是将调试输出数据构成了调试图像数据,不需要额外设置外界屏幕进行输出显示,降低了调试成本。并且由于不受屏幕输出分辨率的限制,可以灵活的支持对不同子目标单元的不同信号种类的采集,通用性好,灵活度高。当子目标单元中存在故障时,可以及时发现并解决,提高芯片的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用场景架构图;
图2为本发明实施例提供的一种调试方法的流程示意图;
图3为本发明实施例提供的一种将子目标单元的调试输出数据转换为灰度图像数据的示意图;
图4为本发明实施例提供的一种将子目标单元的调试输出数据转换为RGB图像数据的示意图;
图5为本发明实施例提供的一种利用卷积神经网络确定目标单元调试结果的示意图;
图6为本发明实施例提供的一种应用场景架构图;
图7为本发明实施例提供的一种调试方法的流程示意图;
图8为本发明实施例提供的一种调试的结构示意图;
图9为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为便于对本发明实施例的理解,下面先对几个概念进行简单介绍:
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,作为专用集成电路(Application Specific Integrated Circuit,ASIC)领域中的一种半定制电路,FPGA采用了逻辑单元阵列LCA(Logic Cell Array),内部包括可配置逻辑模块CLB(ConfigurableLogic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA是可编程器件,FPGA利用小型查找表来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
ASIC:(Application Specific Integrated Circuit),即专用集成电路,它是供专门应用的集成电路芯片技术,被认为是一种为专门目的而设计的集成电路。
总线,是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,总线是一种内部结构,它是中央处理器、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。
PCI(Peripheral Component Interconnect)总线,是一种高性能局部总线,是为了满足外设间以及外设与主机间高速数据传输而提出来的。在数字图形、图像和语音处理,以及高速实时数据采集与处理等对数据传输率要求较高的应用中,采用PCI总线来进行数据传输,可以解决原有的标准总线数据传输率低带来的瓶颈问题。
PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,是PCI总线的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统。
片上总线:芯片内部各个部件之间的连接总线,例如芯片内部的控制器、寄存器与运算器之间的总线。
在具体实践过程中,本申请的申请人发现,现有技术针对FPGA芯片进行调试时,通常会采用一种调试系统进行调试。现有技术中的调试系统通常包括安装在同一块印制电路板PCB板上的FPGA芯片、调试单元、输入单元和屏幕输出单元;FPGA芯片在PCB板内分别与调试单元、屏幕输出单元和输入单元电连接,调试单元在PCB板内分别与FPGA的待调试电路和屏幕输出单元电连接;具体的,FPGA芯片用于加载FPGA待调试电路;调试单元用于向FPGA的待调试电路发送控制信号,以及采集FPGA的待调试电路运行控制信号后产生的内部数据,并将采集的内部数据发送至屏幕输出单元;FPGA的待调试电路,用于根据控制信号运行。
但是现有技术中需要一个专门的外接屏幕输出单元,当外接屏幕输出单元与FPGA芯片进行信号连接时,信号的时钟频率越高,PCB上走线越困难,增加屏幕输出单元代表增加的PCB布线难度和调试的成本。并且由于外接屏幕输出单元由于屏幕显示像素有限,当需要调试信号超过屏幕的分辨率时候,部分调试信号会出现丢失。
基于上述现有技术的缺点,本申请的申请人构思了一种调试方法,应用于包括目标单元以及调试单元的芯片中,通过调试单元获取目标单元的调试输出数据,并将调试输出数据转换为像素数据,构成调试图像数据,通过调试图像数据来确定运行异常的目标单元中的子目标单元以及运行异常的各子目标单元的异常原因。在本申请实施例中,不需要额外的屏幕输出单元,降低了调试成本。并且由于不受屏幕输出分辨率的限制,可以灵活的支持对不同子目标单元的不同信号种类的采集,通用性好,灵活度高。当子目标单元中存在故障时,可以及时发现并解决,提高芯片的稳定性。
本申请实施例中的调试方法可以应用于如图1所示的应用场景,在该应用场景中包括调试单元101以及目标单元102,调试单元101以及目标单元102位于同一芯片100中,目标单元102包括多个子目标单元10201,调试单元101采集多个子目标单元10201的调试输出数据,调试单元101将各个子目标单元的调试输出数据转换为像素数据,并根据像素数据构成调试图像数据。调试单元101根据调试图像数据来确定存在异常的子目标单元10201以及存在异常的子目标单元10201的异常原因。
在本申请实施例中,芯片100可以为FPGA芯片,也可以是其它集成电路,例如DSP(Digital Signal Processor,数字信号处理器)或者ASIC(Application SpecificIntegrated Circuit,专用集成电路)等。以芯片100为FPGA芯片为例,调试单元101可以为硬件编程语言编写的硬件电路模块,也可以是FPGA芯片的硬件实现的小控制器,例如调试单元101可以是一个中央处理器CPU核加上软件代码组成的一个小控制器。
值得说明的是,本申请实施例中的架构图是为了更加清楚地说明本发明实施例中的技术方案,并不构成对本申请实施例提供的技术方案的限制,对于其它的应用场景架构和业务应用,本申请实施例提供的技术方案对于类似的问题,同样适用。
基于图1所示的应用场景图,本申请实施例提供了一种调试方法,该方法的流程可以由调试单元执行,如图2所示,调试方法应用于芯片中,芯片至少包括目标单元以及调试单元,调试单元与目标单元通过片上总线相连,目标单元由多个子目标单元构成,各个子目标单元是根据目标单元的功能确定的,调试方法包括以下步骤:
步骤S201,调试单元获取各个子目标单元的调试输出数据,调试输出数据是各个子目标单元针对调试输入信号进行处理得到的处理结果。
具体的,在本申请实施例中,调试单元获取的各个子目标单元的调试输出数据是各个子目标单元在获取到调试输入信号后得到的处理结果。在本申请实施例中,在开始进行调试后,将调试输入信号输入,可选的,在本申请实施例中,调试输入信号可以通过调试单元进行控制,即在调试单元开始进行调试时,调试单元触发调试输入信号,调试单元获取各个子目标单元的调试输出数据;另一种可选的实施例中,调试输入信号可以外部控制单元输入进芯片的,外部控制单元位于芯片以外,外部控制单元至少通过总线与芯片相连。
在本申请实施例中,由于芯片可以为硬件编程语言编写的硬件电路模块,也可以集成电路硬件中的一个硬件,所以子目标单元也可以为硬件编程语言编写的硬件电路模块,或者集成电路硬件中的一个硬件,例如寄存器、输入输出I/O设备等。
在本申请实施例中,各个子目标单元是根据目标单元的功能确定的,通过不同的控制器、寄存器或者运算器的组合,实现目标单元的功能。一种可选的实施例中,目标单元的功能为计算功能,则确定的子目标单元为子目标单元1、子目标单元2以及子目标单元3,子目标单元2为运算器,子目标单元1为输入输出I/O设备,子目标单元3为寄存器,通过三个子目标单元来实现计算功能;当目标单元的功能为图像处理功能,则确定的子目标单元为子目标单元1、子目标单元2以及子目标单元3,子目标单元2为处理器,子目标单元1为输入输出I/O设备,子目标单元3为寄存器,通过三个子目标单元来实现图像处理功能。
可选的,在本申请实施例中,各个子目标单元具有唯一的标识信息,标识信息可以为设备地址,也可以为设备标识信息。各个子目标单元通过设定顺序进行连接,例如,上述实施例中,子目标单元1、子目标单元2以及子目标单元3按照设定顺序连接,通过各个子目标单元的设定顺序以及各个子目标单元的唯一标识信息,各个子目标单元的输出数据也可以按照设定顺序进行保存或者记录。
在本申请实施例中,各个子目标单元中若出现异常,调试输出数据会与预设调试输出数据不匹配,若各个子目标单元都正常运行,调试输出数据与预设调试输出数据匹配。在本申请实施例中,调试输出数据与预设调试输出数据匹配指的是调输出数据与预设调试输出数据之间的差在允许范围内。
在本申请实施例中,在调试单元开始进行调试时,一种可选的情况是,调试单元并不知道目标单元中是否存在运行异常的子目标单元,在这种情况下,调试单元可以是周期性触发调试,也可以是接收了外部调试指令后进行调试的。另一种可选的情况是,调试单元已经确定目标单元中存在运行异常的子目标单元,但不能确定哪些子目标单元运行异常以及异常原因,在这种情况下,调试单元可以通过读取目标单元中的模式寄存器的数值来确定是否进行调试,在本申请实施例中,目标单元中的模式寄存器的数值是目标单元在确定存在异常子目标单元后,将模式寄存器的原数值进行更新得到的。也就是说,在模式寄存器中至少包括两种值,一种值代表目标单元运行正常,另一种值代表目标单元中存在子目标单元运行异常。
在本申请实施例中,目标单元确定存在异常子目标单元的方式有多种,一种可选的确定方法,当目标单元在设定时间内采集到的各子目标单元的对于同一输入信号的输出结果之间的差值大于预设值时,则认为目标单元确定存在异常子目标单元,具体的,目标单元在第一时刻采集到的各子目标单元的输出结果为结果1,目标单元在第二时刻采集到的各子目标单元的输出结果为结果2,且结果1与结果2之差大于预设值,则目标单元将模式寄存器的原数值进行更新,更新为预设数值,该预设数值用于表征目标单元存在异常子目标单元。
步骤S202,调试单元将各个子目标单元的调试输出数据转换为各个像素数据,并根据各个像素数据确定调试图像数据。
具体的,在本申请实施例中,由于本申请实施例的构思是将调试输出数据最终转换为图像数据,所以在本申请实施例中,首先需要各个子目标单元的调试输出数据转换为各个像素数据,并根据各个像素数据确定调试图像数据。
在本申请实施例中,各子目标单元的调试输出数据可以为二进制数据,也可以为其它进制的数据。一种可选的实施例中,调试输出数据为二进制的电平信号,即调试输出数据为高低电平数据,为了便于转换为像素数据,可以首先将高低电平数据进行转换,用1代表高电平数据,用0代表低电平数据。
在本申请实施例中,由于图像中的像素值有几种表达方式,例如图像为灰度图像,则灰度图像的像素值为0~1,则将二进制的高低电平数据转换为0~1的像素值,一种可选的转换方法为,将高电平数据作为灰度图像中的像素值1,将低电平数据作为灰度图像中的像素值0;另一种可选的实施例中,图像为RGB图像,在本申请实施例中,由于图像中的像素值的范围为0~255,所以在本申请实施例中,将高电平数据作为灰度图像中的像素值1,将低电平数据作为灰度图像中的像素值0,并且由于二进制的11111111可以对应十进制中的255,所以采集的子目标单元的调试输出数据最多可以是8位的高低电平数据。也就是说,在本申请实施例中,通过采集最多8位的二进制数据,可以通过二进制数据来确定调试图像的像素数据,也可以通过二进制数据与其他进制数据的转换来确定调试图像的像素数据。当然,在本申请实施例中,图像还可以是YUV颜色编码的图像或者HSV颜色编码的图像,可以通过RGB图像的像素进行转换,得到YUV颜色编码的像素以及HSV颜色编码的像素。
上述实施例中只是示意性的给出了部分调试图像的图像格式,其他图像格式的调试图像也适用于本申请中的调试方法。
在本申请实施例中,由于RGB图像的通用性,以RGB图像的像素为示例进行说明,在采集的子目标单元的调试输出数据后,将调试输出数据的高电平部分用1表示,将调试输出数据的低电平部分用0表示,然后再将二进制的调试输出数据作为调试图像的像素数据。通过上述过程,就实现了将各个子目标单元的调试输出数据转换为各个像素数据。
在本申请实施例中,由于基本构思是使用调试图像数据来确定是否存在异常,所以还需要将各个像素数据构成调试图像数据。
在本申请实施例中,调试图像数据可以是灰度图像数据,可以根据设定位数的高低电平数据来构建灰度图像数据。一种可选的实施例中,设定位数可以根据子目标调试单元的数量来确定,例如,子目标调试单元为4个,为了构成灰度图像数据,将设定位数定位4位,并将每一个子目标调试单元的4位电平数据变换为二进制的4位数据,并将二进制的4位数据中的每位数据作为一个像素值,将每个子目标调试单元的二进制的4位数据构成灰度图像数据中的一行数据或者一列数据,并根据所有的子目标调试单元的4位数据构成灰度图像数据。
可选的,在本申请实施例中,按照各个子目标单元的设定顺序依次构成灰度图像数据,例如,各子目标单元的唯一标识信息分别为子目标单元1、子目标单元2、子目标单元3以及子目标单元4。
具体的,在图3中,显示的是各子目标调试单元的4位数据,第一子目标调试单元的4位数据为1001,第二子目标调试单元的4位数据为1010,第三子目标调试单元的4位数据为0111以及第四子目标调试单元的4位数据为0001,然后根据各子目标调试单元的设定顺序,即第一子调试单元的4位数据、第二子调试单元的4位数据、第三子调试单元的4位数据以及第四子调试单元的4位数据依次构成灰度图像数据的每一行数据,得到4行4列的灰度图像数据。
在本申请的另一种实施例中,当调试图像数据为RGB图像数据时,一种可选的实施例中,RGB图像数据包括三个维度的子调试图像数据,分别为第一维度的子调试图像数据、第二维度的子调试图像数据以及第三维度的子调试图像数据,在本申请实施例中,第一维度的子调试图像数据可以为R颜色分量的子调试图像数据,也可以是G颜色分量的子调试图像数据或者B颜色分量的子调试图像数据。
一种可选的实施例中,在本申请实施例中,RGB图像数据中每个维度的子调试图像数据中像素值的个数是根据各子目标单元的数量确定的,每个维度的子调试图像数据中像素值的个数相同,所以各子目标单元的数量除以3就是每个维度的子调试图像数据中像素值的个数。
当然,在本申请实施例中,每个维度的子调试图像数据中像素值的个数可以不相同,各个维度的子调试图像数据中像素值的总数与各子目标单元的数量相同。
在本申请实施例中,在采集的子目标单元的调试输出数据后,将调试输出数据的高电平部分用1表示,将调试输出数据的低电平部分用0表示,然后再根据二进制的调试输出数据确定调试图像的像素数据。在本发明实施例中,可以首先对二进制的调试数据进行转换,转换为十进制的调制输出数据,示例性的,子目标单元有12个,则每个维度的子调试图像数据中像素值的个数为4,则维度的子调试图像数据是由2行图像数据以及2列图像数据构成。
在本申请实施例中,根据各个子目标单元的设定顺序,将各个子目标单元的十进制的调试输出数据依次作为第一维度的子调试图像数据中先行后列的像素值,例如在本申请实施例中,各个子目标单元的设定顺序为子目标单元1、子目标单元2、子目标单元3、子目标单元4、…、子目标单元11以及子目标单元12。则如图4所示,首先将子目标单元1、子目标单元2、子目标单元3、子目标单元4的各个子目标单元的十进制的调试输出数据作为第一维度的子调试图像数据中的像素值,且在第一维度的子调试图像数据中的第一行、第一列为子目标单元1的十进制的调试输出数据,第一维度的子调试图像数据中的第一行、第二列为子目标单元2的十进制的调试输出数据,第一维度的子调试图像数据中的第二行、第一列为子目标单元3的十进制的调试输出数据,第一维度的子调试图像数据中的第二行、第二列为子目标单元4的十进制的调试输出数据;将子目标单元5到子目标单元8的各个子目标单元的十进制的调试输出数据作为第二维度的子调试图像数据中的像素值,将子目标单元9到子目标单元12的各个子目标单元的十进制的调试输出数据作为第三维度的子调试图像数据中的像素值。
上述实施例中按照先行后列的顺序只是一种可选的实施例,本申请实施例在确定调试图像数据的过程中,还可以按照先列后行的顺序,在此不做赘述。
步骤S203,调试单元根据调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因。
具体的,在本申请实施例中,调试单元能够根据调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因。
一种可选的实施例中,调试单元根据调试图像数据以及预存的标准图像数据之间的相似性来确定调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因,预存的标准图像数据是根据运行正常的各子目标单元的调试输出数据形成的,且预存的标准图像数据与调试图像数据形成的原理相同。
若通过比对调试图像数据以及预存的标准图像数据之间的相似性后,确定调试图像数据中的像素与预存的标准图像数据之间的像素相似性小于预设值,则可以认为该像素对应的子目标单元存在异常。
另一种可选的实施例中,可以预存多个标准图像数据,每个标准图像数据是根据某个运行异常的子目标单元以及其它运行正常的各子目标单元确定的,通过比对调试图像数据以及预存的标准图像数据之间的相似性来确定运行异常的各子目标单元,若比对调试图像数据以及某个预存的标准图像数据之间的相似性大于预设值,则可以认为该标准图像对应的运行异常的子目标单元为需要调试的运行异常的子目标单元。
进一步地,在本申请实施例中,可以预存多个标准图像数据,每个标准图像数据是根据某个运行异常的子目标单元、且该运行异常的子目标单元当前为异常故障1,连同其它运行正常的各子目标单元确定的,通过比对调试图像数据以及预存的标准图像数据之间的相似性来确定运行异常的各子目标单元,若比对调试图像数据以及某个预存的标准图像数据之间的相似性大于预设值,则可以认为该标准图像对应的运行异常的子目标单元为需要调试的运行异常的子目标单元,且该运行异常的子目标单元的故障原因为异常故障1。
另一种可选的实施例中,为了快速确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因,可以使用人工智能的方法来识别调试图像数据,并进一步确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因,也就是说,在本申请中使用人工智能来进行图像识别。图像识别是人工智能的一个重要领域,可以通过人工智能的中的神经网络模型的方法进行图像识别、或者通过主成分分析法来进行图像识别。
一种可选的实施例中,以人工智能中使用神经网络模型的方法进行图像识别为例进行说明,在本申请中,使用神经网络模型来识别调试图像数据,并将运行异常的各子目标单元以及运行异常的各子目标单元的异常原因作为神经网路模型的输出结果。
具体的,如图5所示,在本申请实施例中,使用卷积神经网络模型来识别调试图像数据,并将运行异常的各子目标单元以及运行异常的各子目标单元的异常原因作为神经网路模型的输出结果的过程可以表示为将调试图像数据经过多个卷积层以及池化层后,通过全连接层来得到运行异常的各子目标单元以及运行异常的各子目标单元的异常原因作为卷积神经网路模型的输出结果。
具体的,卷积层用于提取特征的层,分为卷积操作和激活操作两部分。其中,进行卷积操作时,使用预先经过训练学习得到的卷积核进行特征提取,进行激活操作时,使用激活函数对卷积得到的特征图进行激活处理,常用的激活函数包括线性整流(RectifiedLinear Unit,ReLU)函数、S型(Sigmoid)函数和双曲正切(Tanh)函数等。
池化(pooling)层,位于卷积层之后,用于降低卷积层输出的特征向量,即缩小特征图的尺寸,同时改善过拟合问题。常用的池化方式包括平均池化(mean-pooling)、最大池化(max-pooling)和随机池化(stochastic-pooling)等。
全连接层(fully connected layers,FC),在整个卷积神经网络中起到“分类器”的作用。也就是说,通过全连接层得到分类的结果。
在图5中,将调试图像数据输入至卷积神经网络中,调试图像数据作为卷积神经网络的输入层数据。卷积层主要对输入层的数据进行卷积操作,确定卷积核每两次卷积操作直接滑动的距离。卷积核类似一个图像滤波器,每一个卷积核用一个矩阵表示,将其在故障图片上按照间隔大小滑动处理一遍得到的结果,即为卷积层的特征图谱feature map。对于卷积操作,每一个滤波器代表一个故障特征,比如功耗曲线边缘特征代表等。依次使用不同的滤波器进行卷积操作后,得到对应的特征检测结果。
在每一个卷积层之后,一般会紧接着使用一个非线性层,即上文的激活函数。该非线性层的主要目的是在系统中引入非线性特征。如图5使用的是ReLU,实际应用中可以根据需求选择合适的函数。在卷积层后面是池化层,主要实现数据降采样。卷积层+激活函数+池化层的组合可以多次使用,如图5中所示,使用了两次组合。实际应用中这个出现的次数是根据模型的需要而来的。
在若干卷积层+激活函数+池化层的组合后面是全连接层,全连接层的最终输出是一个N维向量,每个数字代表故障各种类别发生的概率。图5中,全连接层的输出是[0.90.02 0.02 0.06],那么子目标单元1的故障1发生的概率就是90%,子目标单元1的故障2发生的概率就是2%,子目标单元1的故障3发生的概率就是2%,子目标单元1的故障4发生的概率就是6%。
在上述实施例中,仅以卷积神经网络模型作为示例进行说明,在本申请实施例中,还可以使用其它神经网络模型,且上述实施例中的卷积神经网络模型的结构只是一种可选的示例,也可以采用卷积神经网络模型的其它结构。
在本申请实施例中,在训练卷积神经网络时,训练数据至少包括运行正常的子目标单元产生的训练输出数据,并根据训练输出数据确定训练图像数据;另外,训练数据中也包括运行异常的子目标单元以某一种异常原因运行产生的数据,根据这部分训练数据同样能够确定训练图像数据。
具体的,在卷积神经网络训练过程中,首先需要定义卷积神经网络的结构和前向传播的输出结果,也就是说,定义卷积神经网络中卷积层的数量、池化层的数量、全连接层的数量等,前向传播的输出结果为训练数据的已知结果,例如训练数据的已知结果为没有运行异常的子目标单元或者训练数据的已知结果为包括运行异常的子目标单元,且运行异常的子目标单元以某一种异常原因运行。
然后定义损失函数以及选择反向传播优化的算法,在卷积神经网络训练的时候往往要确定目标函数,也就是损失函数。在训练的时候,损失函数的选择有很多种,最常用的则是均方误差(mean-square error,MSE)。在训练过程中,通过反向传播优化的算法,能够及时调整卷积神经网络中的结构层的参数,能够尽快得到理想的结构层的参数。反向传播优化的算法通常是使用梯度下降的方法来实现的,梯度下降的方法通常包括批量梯度下降、随机梯度下降、以及小批量梯度下降三种方法。
最后通过训练数据反复运行反向传播优化算法,直到得到理想的结构层的参数,完成神经网路模型的训练过程。
在本申请实施例中,卷积神经网络训练模型可以是芯片外部的训练器训练完成的,也可以是芯片内部进行训练得到的。若卷积神经网络训练模型是芯片外部的训练器训练完成的,可以有两种可选的方法,一种可选的方法,芯片外部的训练器将卷积神经网络训练模型的初始模型写入调试芯片,训练器在经过多次训练后,将训练后的卷积神经网路的模型参数再写入调试芯片,得到训练后的卷积神经网络训练模型。
另一种可选的方法,芯片外部的训练器在经过多次训练后,将训练后的卷积神经网路的模型以及模型参数写入调试芯片,得到训练后的卷积神经网络训练模型。
在本申请实施例中,神经网络模型除了为卷积神经网络模型以外,还可以使用循环神经网络RNN、深度神经网络DNN等神经网络模型。
在本申请实施例中,在确定了运行异常的各子目标单元以及运行异常的各子目标单元的异常原因后,为了便于统计和计算,需要使用一组寄存器来保存每个运行异常的子目标单元的异常事件,每个寄存器保存异常事件中的一个异常信息,异常事件至少包括异常原因信息以及异常事件发生时间信息。异常事件发生时间可以指的是调试结果输出的时间,也可以是调试开始进行的时间。在本申请实施例中,针对运行异常的子目标单元,将某个异常原因信息保存在一个寄存器中,将异常原因对应的异常事件发生时间也保存在一个寄存器中。
示例性的,调试结果是运行异常的子目标单元为子目标单元2以及子目标单元4,子目标单元2的异常原因是异常原因1,子目标单元4的异常原因是异常原因2,调试结果输出的时刻为时刻1,则使用一组寄存器来存储子目标单元2的结果,包括一个寄存器中包括异常原因1,另一个寄存器保存时刻1。同时使用另一组寄存器来存储子目标单元4的结果,包括一个寄存器中包括异常原因2,另一个寄存器保存时刻1。
在保存了上述调试结果后,还可以通过保存异常原因的寄存器的个数进行统计,以及通过保存了异常事件时间的寄存器来进行异常分析,便于提高芯片的稳定性。
为了更好的解释本申请实施例,下面结合一种具体的实施场景描述本申请实施例提供的一种调试方法,如图6所示,本申请实施例提供的调试方法适用于调试系统中,该调试系统包括网络处理器、数据处理设备以及FPGA芯片,网络处理器通过总线与FPGA芯片连接,数据处理设备与FPGA芯片连接。数据处理设备还可以与其它处理设备通过其它连接方式连接,例如通过有线方式与其它处理设备连接,或者通过无线方式与其它处理设备连接。同样的,在本申请实施例中,网络处理器还通过无线方式与云端处理器进行连接。
在FPGA芯片内部包括PCIE硬核、调试单元以及目标单元,调试单元与目标单元通过片上总线1连接,PCIE硬核通过片上总线2与调试单元连接。
在本申请实施例中,调试系统的功能分为训练过程以及调试过程,在训练过程中,数据处理设备主要完成的是对神经网络模型的训练。在调试过程,则把调试单元返回的调试结果返回给其它应用设备进行分析与处理。
PCIE硬核模块主要实现数据处理设备底层驱动进行通讯,包括训练数据的下发、调试结果的上传。该模块主要实现PCIE协议栈、数据块在数据处理设备之间的批量快速搬运、神经网络模型的模型参数的配置以及中断处理等功能。
调试单元通过片上总线1完成对目标单元内部调试输出数据的采集、成像、调试以及确定调试结果的过程。具体包括对目标单元内部的调试输出数据进行批量采集,将目标单元内部的调试输出数据转换为调试图像数据,将调试图像数据作为神经网络模型的输入,通过神经网络模型得到调试结果,并保存调试结果。将调试结果发送给数据处理设备进行统计处理分析等。
在本申请实施例中,通过网络处理器,能够将调试结果通过互联网发送给云端处理器,调试方法不再受地域限制,可以在互联网的任何地方获取调试结果,扩展了调试方法的适用范围。
为了更好的解释本申请实施例,下面结合一种具体的实施场景描述本申请实施例提供的一种调试方法,如图7所示,图7示意性的说明了本申请实施例中的调试方法的流程步骤,具体的,调试方法适用于FPGA芯片中,调试系统包括调试单元以及目标单元,调试单元为FPGA芯片中的一部分,目标单元为FPGA芯片中的一部分。在本申请实施例中,目标单元由多个子单元构成,在本申请实施例中,子单元是根据目标单元的功能确定的,本申请实施例中目标单元具有图像处理功能,则目标单元的子单元是包括图像处理功能的各子单元,且各子单元之间按照设定顺序连接,在本申请实施例中,各子单元之间的顺序为子单元1,子单元2,子单元3…子单元12。
在本申请实施例中,调试单元已经获取了训练后的神经网络模型的参数,调试单元周期性读取目标单元中的模式寄存器的数值,在确定目标单元中的模式寄存器的数值为预设数值后,开始进行调试。在本申请实施例中目标单元在连续输出的输出数据之差大于预设阈值后,将模式寄存器的数值更新为预设数值。
调试单元在开始进行调试时,首先向目标单元中的各子目标单元输入信号,然后获取各子目标单元的调试输出数据。在本申请实施例中,调试图像数据为RGB图像数据,则由于目标单元中包括12个子单元,根据子单元的个数,确定调试图像的每一维图像数据的结构为2行2列,即每一维图像数据包括4个像素。
在本申请实施例中,调试单元将获取的各个子单元的二进制调试信号转换为十进制调试信号,在本申请实施例中,子单元1的转换后的调试信号为像素1,子单元2的转换后的调试信号为像素2,…,子单元12的转换后的调试信号为像素12,分别按照先行后列的顺序依次作为R维度的图像数据的像素值、G维度的图像数据的像素值以及B维度的图像数据的像素值。
调试单元根据调试图像数据以及神经网络模型,确定各个子单元中存在异常的子单元,以及存在异常的子单元的故障原因,在本申请实施例中,神经网络模型是根据历史调试图像数据训练得到的,神经网络模型是作为程序固化在调试单元中,并在确定训练后的模型参数后,再次将模型参数写入调试单元中的。
在调试单元确定了各个子单元中存在异常的子单元,以及存在异常的子单元的故障原因后,进行保存。在本申请实施例中,一次调试过程中,可能存在多个子单元异常,所以针对每个异常的子单元,保存该异常子单元的异常事件。在本申请实施例中,可以通过一组寄存器来保存一个异常子单元的一个异常事件,一组寄存器中至少包括了异常时刻寄存器,异常故障寄存器等。
在本申请实施例中,在调试单元保存了各个子单元中存在异常的子单元,以及存在异常的子单元的故障原因后,通过中断来表征已经确定调试结果,则可以根据各个寄存器进行统计,例如统计一个故障发生的次数,以及各个故障发生的时刻等等。
基于上述实施例,参阅图8所示,本发明实施例提供一种调试单元800,包括:
所述调试单元800与目标单元位于同一芯片中,所述调试单元800与所述目标单元通过片上总线相连,所述目标单元由多个子目标单元构成,各个子目标单元是根据所述目标单元的功能确定的,所述调试单元800包括:
获取模块801,用于获取各个子目标单元的调试输出数据,所述调试输出数据是各个子目标单元针对调试输入信号进行处理得到的处理结果;
数据处理模块802,用于将各个子目标单元的调试输出数据转换为各个像素数据,并根据各个像素数据确定调试图像数据;
异常检测模块803,用于根据所述调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因。
可选的,所述调试输出数据为二进制数据,所述数据处理模块802具体用于:
将各个子目标单元的调试输出数据转换为十进制数据;
将转换后的调试输出数据作为各个像素的像素值。
可选的,所述调试图像数据由三个维度的子调试图像数据构成,每一维度的子调试图像数据包括的像素个数是根据子目标单元的数量确定的。
可选的,所述数据处理模块802具体用于:
根据各个子目标单元的连接顺序确定各个像素数据的顺序;
按照各个像素数据的顺序依次确定第一维度的子调试图像数据、第二维度的子调试图像数据以及第三维度的子调试图像数据。
可选的,每一维度的子调试图像数据包括的像素个数相同。
可选的,所述异常检测模块803具体用于:
根据所述调试图像数据以及已训练的神经网络模型确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因,所述神经网络模型是根据历史调试图像数据进行训练的,所述历史调试图像数据至少是根据运行异常的各历史子目标单元的历史调试输出数据以及运行正常的各历史子目标单元的历史调试输出数据确定的。
可选的,所述获取模块801还用于:
确定所述目标单元中的模式寄存器的数值为预设数值,所述目标单元中的模式寄存器的数值是所述目标单元在确定存在异常子目标单元后,将所述模式寄存器的原数值进行更新得到的。
可选的,所述调试单元800还包括:
保存模块804,用于使用一组寄存器来保存每个运行异常的子目标单元的异常事件,每个寄存器保存所述异常事件中的一个异常信息,所述异常事件至少包括异常原因信息以及异常事件发生时间信息。
可选的,所述调试单元800还包括:
中断模块805,用于在所述保存模块使用一组寄存器来保存每个运行异常的子目标单元的异常事件触发中断,所述中断表征所述调试单元800调试完成。
可选的,所述运行异常的各子目标单元对应至少一个异常原因。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图9所示,包括至少一个处理器901,以及与至少一个处理器连接的存储器902,本申请实施例中不限定处理器901与存储器902之间的具体连接介质,图9中处理器901和存储器902之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器902存储有可被至少一个处理器901执行的指令,至少一个处理器901通过执行存储器902存储的指令,可以执行前述的调试方法中所包括的步骤。
其中,处理器901是计算机设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器902内的指令以及调用存储在存储器902内的数据,从而获得客户端地址。可选的,处理器901可包括一个或多个处理单元,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。在一些实施例中,处理器901和存储器902可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器901可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器902可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行调试方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种调试方法,其特征在于,所述调试方法应用于芯片中,所述芯片至少包括目标单元以及调试单元,所述调试单元与所述目标单元通过片上总线相连,所述目标单元由多个子目标单元构成,各个子目标单元是根据所述目标单元的功能确定的,所述方法包括:
所述调试单元获取各个子目标单元的调试输出数据,所述调试输出数据是各个子目标单元针对调试输入信号进行处理得到的处理结果;
所述调试单元将各个子目标单元的调试输出数据转换为各个像素数据,并根据各个像素数据以及所述各个子目标单元的设定顺序,确定调试图像数据,所述各个像素数据的数量是根据所述各个子目标单元的数量确定的;
所述调试单元根据所述调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因。
2.根据权利要求1所述的方法,其特征在于,所述调试输出数据为二进制数据,所述调试单元将各个子目标单元的调试输出数据转换为各个像素数据,包括:
所述调试单元将各个子目标单元的调试输出数据转换为十进制数据;
所述调试单元将转换后的调试输出数据作为各个像素的像素值。
3.根据权利要求1所述的方法,其特征在于,所述调试图像数据由三个维度的子调试图像数据构成,每一维度的子调试图像数据包括的像素个数是根据子目标单元的数量确定的。
4.根据权利要求3所述的方法,其特征在于,每一维度的子调试图像数据包括的像素个数相同。
5.根据权利要求3所述的方法,其特征在于,所述调试单元根据各个像素数据确定调试图像数据,包括:
所述调试单元根据各个子目标单元的连接顺序确定各个像素数据的顺序;
所述调试单元按照各个像素数据的顺序依次确定第一维度的子调试图像数据、第二维度的子调试图像数据以及第三维度的子调试图像数据。
6.根据权利要求1所述的方法,其特征在于,所述调试单元根据所述调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因,包括:
所述调试单元根据所述调试图像数据以及已训练的神经网络模型确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因,所述神经网络模型是根据历史调试图像数据进行训练的,所述历史调试图像数据至少是根据运行异常的各历史子目标单元的历史调试输出数据以及运行正常的各历史子目标单元的历史调试输出数据确定的。
7.根据权利要求1所述的方法,其特征在于,所述调试单元获取目标单元中各个子目标单元的调试输出数据前,还包括:
所述调试单元确定所述目标单元中的模式寄存器的数值为预设数值,所述目标单元中的模式寄存器的数值是所述目标单元在确定存在异常子目标单元后,将所述模式寄存器的原数值进行更新得到的。
8.根据权利要求1所述的方法,其特征在于,所述调试单元根据所述调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因后,还包括:
所述调试单元使用一组寄存器来保存每个运行异常的子目标单元的异常事件,每个寄存器保存所述异常事件中的一个异常信息,所述异常事件至少包括异常原因信息以及异常事件发生时间信息。
9.根据权利要求8所述的方法,其特征在于,所述调试单元使用一组寄存器来保存每个运行异常的子目标单元的异常事件后,还包括:
所述调试单元触发中断,所述中断表征所述调试单元调试完成。
10.根据权利要求1~9任一所述的方法,其特征在于,所述运行异常的各子目标单元对应至少一个异常原因。
11.一种调试单元,其特征在于,所述调试单元与目标单元位于同一芯片中,所述调试单元与所述目标单元通过片上总线相连,所述目标单元由多个子目标单元构成,各个子目标单元是根据所述目标单元的功能确定的,所述调试单元包括
获取模块,用于获取各个子目标单元的调试输出数据,所述调试输出数据是各个子目标单元针对调试输入信号进行处理得到的处理结果;
数据处理模块,用于将各个子目标单元的调试输出数据转换为各个像素数据,并根据各个像素数据以及所述各个子目标单元的设定顺序,确定调试图像数据,所述各个像素数据的数量是根据所述各个子目标单元的数量确定的;
异常检测模块,用于根据所述调试图像数据确定运行异常的各子目标单元以及运行异常的各子目标单元的异常原因。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~10任一权利要求所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~10任一所述方法的步骤。
CN201910848984.1A 2019-09-09 2019-09-09 一种调试方法及调试单元 Active CN110597678B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910848984.1A CN110597678B (zh) 2019-09-09 2019-09-09 一种调试方法及调试单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910848984.1A CN110597678B (zh) 2019-09-09 2019-09-09 一种调试方法及调试单元

Publications (2)

Publication Number Publication Date
CN110597678A CN110597678A (zh) 2019-12-20
CN110597678B true CN110597678B (zh) 2022-05-31

Family

ID=68858259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910848984.1A Active CN110597678B (zh) 2019-09-09 2019-09-09 一种调试方法及调试单元

Country Status (1)

Country Link
CN (1) CN110597678B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209193B (zh) * 2019-12-30 2023-09-22 北京水滴科技集团有限公司 程序的调试方法及装置
CN113592767B (zh) * 2021-06-02 2024-01-26 江汉大学 一种双工器的调试方法以及装置
CN115357309B (zh) * 2022-10-24 2023-07-14 深信服科技股份有限公司 一种数据处理方法、装置、系统和计算机可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131413A (zh) * 2006-08-25 2008-02-27 王悦 逻辑分析仪的波形显示方法及其逻辑分析仪
CN101369001A (zh) * 2008-10-17 2009-02-18 北京星网锐捷网络技术有限公司 用于调试可编程芯片的装置及现场可编程门阵列芯片
CN105787164A (zh) * 2016-02-19 2016-07-20 深圳市同创国芯电子有限公司 一种用于可编程逻辑器件的调试方法及系统
CN106294056A (zh) * 2016-08-10 2017-01-04 北京网迅科技有限公司杭州分公司 芯片调试方法和装置
CN106405386A (zh) * 2016-08-24 2017-02-15 硅谷数模半导体(北京)有限公司 芯片的测试方法和装置
CN107024623A (zh) * 2016-02-02 2017-08-08 深圳市汇顶科技股份有限公司 数据采集芯片的测试系统、装置及其控制方法
CN107291911A (zh) * 2017-06-26 2017-10-24 北京奇艺世纪科技有限公司 一种异常检测方法和装置
CN108241114A (zh) * 2016-12-26 2018-07-03 北京邮电大学 混合电路芯片的在线故障检测方法、装置及故障检测电路
CN109240965A (zh) * 2018-08-01 2019-01-18 清华大学 Fpga逻辑捕获处理显示套件及其使用方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4343547B2 (ja) * 2003-02-21 2009-10-14 株式会社リコー 画像形成装置、デバッグ情報記録方法
US9176839B2 (en) * 2011-05-20 2015-11-03 Whizchip Design Technologies Pvt. Ltd. Bus transaction monitoring and debugging system using FPGA
CN103049380B (zh) * 2012-12-22 2016-02-17 中国船舶重工集团公司第七0九研究所 一种专用显示控制器的vbios调试方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131413A (zh) * 2006-08-25 2008-02-27 王悦 逻辑分析仪的波形显示方法及其逻辑分析仪
CN101369001A (zh) * 2008-10-17 2009-02-18 北京星网锐捷网络技术有限公司 用于调试可编程芯片的装置及现场可编程门阵列芯片
CN107024623A (zh) * 2016-02-02 2017-08-08 深圳市汇顶科技股份有限公司 数据采集芯片的测试系统、装置及其控制方法
CN105787164A (zh) * 2016-02-19 2016-07-20 深圳市同创国芯电子有限公司 一种用于可编程逻辑器件的调试方法及系统
CN106294056A (zh) * 2016-08-10 2017-01-04 北京网迅科技有限公司杭州分公司 芯片调试方法和装置
CN106405386A (zh) * 2016-08-24 2017-02-15 硅谷数模半导体(北京)有限公司 芯片的测试方法和装置
CN108241114A (zh) * 2016-12-26 2018-07-03 北京邮电大学 混合电路芯片的在线故障检测方法、装置及故障检测电路
CN107291911A (zh) * 2017-06-26 2017-10-24 北京奇艺世纪科技有限公司 一种异常检测方法和装置
CN109240965A (zh) * 2018-08-01 2019-01-18 清华大学 Fpga逻辑捕获处理显示套件及其使用方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于FPGA的逻辑分析仪的设计与实现;史有义;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170131 *

Also Published As

Publication number Publication date
CN110597678A (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
CN110597678B (zh) 一种调试方法及调试单元
CN110060237B (zh) 一种故障检测方法、装置、设备及系统
CN107944450B (zh) 一种车牌识别方法及装置
CN110826596A (zh) 一种基于多尺度可变形卷积的语义分割方法
CN110738235B (zh) 肺结核判定方法、装置、计算机设备及存储介质
CN113159147A (zh) 基于神经网络的图像识别方法、装置、电子设备
CN112036292A (zh) 基于神经网络的文字识别方法、装置及可读存储介质
US11636712B2 (en) Dynamic gesture recognition method, device and computer-readable storage medium
CN111275660A (zh) 一种平板显示器缺陷检测方法及装置
CN112668716A (zh) 一种神经网络模型的训练方法及设备
CN109685805B (zh) 一种图像分割方法及装置
CN112137591A (zh) 基于视频流的目标物位置检测方法、装置、设备及介质
CN110738317A (zh) 基于fpga的可变形卷积网络运算方法、装置和系统
CN112101481A (zh) 目标物的影响因子筛选方法、装置、设备及存储介质
US6606614B1 (en) Neural network integrated circuit with fewer pins
CN111222558A (zh) 图像处理方法及存储介质
US20230401809A1 (en) Image data augmentation device and method
CN112950652B (zh) 机器人及其手部图像分割方法和装置
CN115456988A (zh) 一种缺陷检测方法、终端设备及存储介质
CN114332564A (zh) 车辆分类方法、设备及存储介质
CN114693919A (zh) 一种目标检测方法、终端设备及存储介质
CN114219091A (zh) 网络模型推理加速的方法、装置、设备及存储介质
CN112580505A (zh) 网点开关门状态识别方法、装置、电子设备及存储介质
CN112561893A (zh) 图片匹配方法、装置、电子设备及存储介质
CN114332522A (zh) 图像识别方法及装置、残差网络模型的构建方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018924

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant