CN115658415A - 一种芯片调试装置和方法 - Google Patents
一种芯片调试装置和方法 Download PDFInfo
- Publication number
- CN115658415A CN115658415A CN202211342198.2A CN202211342198A CN115658415A CN 115658415 A CN115658415 A CN 115658415A CN 202211342198 A CN202211342198 A CN 202211342198A CN 115658415 A CN115658415 A CN 115658415A
- Authority
- CN
- China
- Prior art keywords
- unit
- signal
- logic
- channel
- controller
- 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
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供一种芯片调试装置和方法,通过将接口转换单元与外部上位机之间建立信息交互,配置单元向通过通用接口依次连接的信号选择控制器、逻辑触发单元和缓存单元控制器发送对应的配置信息,促使待调信号进行逻辑触发并存储至缓存单元中,根据配置单元的控制信号将缓存后的数据发送给配置单元,进而提供给同接口转换单元连接的外部上位机;根据上述调试装置,通过配置选择信号源以及触发条件,可以采集目标时刻点的信号波形,波形数据通过外部总线接口传给上位机,并通过上位机软件显示,实现了在没有示波器和外部调试仪器参与的情况下对芯片内部逻辑的调试,从而降低调试条件,提升调试的便利性。
Description
技术领域
本发明涉及信号调试技术领域,特别是涉及一种芯片调试装置和方法。
背景技术
现有的芯片内部信号的常用调试方式是依赖串口和一些常用的硬件仪器,比如JTAG(Joint Test Action Group,联合测试行为组织)或者其他分析工具。这种调试方式需要芯片在管脚上给这些接口专门预留特定的IO接口,增加芯片封装难度;其次因为大型芯片的内部逻辑十分复杂,而IO接口数量十分有限,因此同时观测信号的数量十分受限,往往不能满足突发问题的调试;再次如果需要采集某些特定时刻的信号波形还必须外接逻辑分析仪或者示波器,利用它们的触发条件来完成信号的观测。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
本发明要解决的技术问题是如何在不使用外接逻辑分析仪或者示波器的情况下,完成对芯片内部逻辑信号的调试。
本发明采用如下技术方案:
第一方面,提供一种芯片调试装置,其包括接口转换单元、配置单元、信号选择控制器、逻辑触发单元、缓存单元和缓存单元控制器,其中:
所述接口转换单元通过外部总线与外部上位机连接,所述接口转换单元用于通过所述外部总线接收来自所述外部上位机的信号并转换为内部总线信号,还用于将所述内部总线信号转换为外部常用接口信号并通过所述外部总线发送给所述外部上位机;
所述配置单元通过内部总线与所述接口转换单元连接,所述配置单元用于通过所述内部总线接收来自所述接口转换单元的所述内部总线信号,并生成配置信息发送给所述信号选择控制器、所述逻辑触发单元和所述缓存单元控制器,并根据所述缓存单元控制器的控制信号寄存各缓存单元的状态信息和调试信号数据;
所述信号选择控制器用于根据所述配置信息选择不同待调信号,并将选择的所述待调信号拼接组合映射到对应采集通道传输给所述逻辑触发单元;
所述逻辑触发单元用于根据所述配置信息对所述信号选择控制器输出的所述待调信号进行逻辑触发,并将产生的触发信号发送给所述缓存单元控制器;
所述缓存单元控制器用于根据所述配置信息和所述触发信号将所述待调信号写入所述缓存单元,还用于根据所述配置单元的控制信号将所述缓存单元的数据传给所述配置单元;
所述缓存单元用于在所述缓存单元控制器的控制下存储待调信号。
优选的,所述逻辑触发单元通过第二接口与所述缓存单元控制器连接,所述逻辑触发单元具有多通道触发判断逻辑,所述多通道触发判断逻辑用于根据所述配置信息对所述信号选择控制器传输的通道信号进行多层级判断,并将判断结果以及各通道的数据通过所述第二接口传输给所述缓存单元控制器。
优选的,所述多通道触发判断逻辑每个通道被配置为根据所述配置信息完成单位信号的逻辑判断,包括上升沿、下降沿、高电平、低电平、多位信号逻辑判断中的一个或者多个,并且每个通道之间根据所述配置信息完成组合逻辑判断。
优选的,所述缓存单元控制器用于当所述组合逻辑中第一条件先到时,将对应获取到的数据存储在所述缓存单元中,当获取到所述组合逻辑中剩余条件时,同步完成所述缓存单元中之前存储的第一条件满足下的数据;还用于触发所述接口转换单元透传在剩余条件触发时获取到的数据内容。
优选的,所述外部上位机在获取到来自所述缓存单元的对应组合逻辑的数据内容,以及来自所述缓存单元控制器透传的完整组合逻辑下的数据内容后,通过相应的所述接口转换单元和所述配置单元,向所述信号选择控制器、所述逻辑触发单元和所述缓存单元控制器中的一个或者多个下发调整控制指令,或者,向芯片自身发送调试信号上报时间调整指令。
优选的,所述组合逻辑包括通道1&通道2、通道1|通道2、通道1^(!通道2)以及(通道1|通道2)&通道3中的一种或者多种组合;其中,“&”、“|”、“^”和“!”均为逻辑运算符,“&”表示逻辑与,“|”表示逻辑或,“^”表示逻辑异或,“!”表示逻辑非。
优选的,所述缓存单元控制器通过第三接口与所述缓存单元连接;所述缓存单元控制器具有多通道触发处理逻辑、缓存单元读写控制逻辑以及通道状态信息处理逻辑;所述缓存单元控制器用于根据所述配置信息完成各通道采集参数的设置,并在收到来自所述逻辑触发单元传递的触发信号后,根据所述采集参数完成各通道的信号采集,将采集到的波形数据通过所述第三接口写入所述缓存单元,并将所述各通道的通道状态信息通过所述控制信号传输到所述配置单元中;所述缓存单元控制器还用于接收来自所述配置单元的采集指令,根据所述采集指令通过所述第三接口读取所述缓存单元的数据内容,并传输给所述配置单元。
优选的,所述缓存单元还用于将测试完成的结果进行临时存储,等待所述外部上位机通过所述接口转换单元调取存储在所述缓存单元中的结果。
第二方面,提供一种芯片调试方法,其应用在如上所述的芯片调试装置,其中:
接口转换单元接收来自外部上位机的信号并转换为内部总线信号,或者将所述内部总线信号转换为外部常用接口信号并通过外部总线发送给所述外部上位机;
配置单元根据所述内部总线信号生成配置信息发送给信号选择控制器、逻辑触发单元和缓存单元控制器,并将所述配置信息于缓存单元中进行缓存;
所述信号选择控制器根据所述配置信息选择不同待调信号,并将选择的所述待调信号拼接组合映射到对应采集通道传输给所述逻辑触发单元;
所述逻辑触发单元根据所述配置信息对所述信号选择控制器输出各通道的待调信号进行逻辑触发,根据所述缓存单元控制器的控制信号寄存各缓存单元的状态信息和调试信号数据;
所述缓存单元控制器根据所述配置信息和所述触发信号将所述待调信号写入缓存单元,并根据所述配置单元的控制信号将各通道缓存单元的数据传给所述配置单元,并通过内部总线传输给所述接口转换单元将测试完成的结果临时存储在所述缓存单元中,等待外部上位机通过接口转换单元调取存储在所述缓存单元中的结果;
所述缓存单元在所述缓存单元控制器的控制下存储待调信号。
优选的,还包括:将测试完成的结果临时存储在所述缓存单元中,等待所述外部上位机通过所述接口转换单元调取存储在所述缓存单元中的结果。
根据本发明的又一方面,提供了一种电子设备,包括:处理器;与处理器通信连接的存储器;存储器存储有可被处理器执行的指令,指令被处理器执行,以使处理器能够执行上述芯片调试方法。
根据本发明的又一方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现上述芯片调试方法。
本发明提供的芯片调试装置和方法,通过将接口转换单元与外部上位机之间建立信息交互,配置单元向通过通用接口连接的信号选择控制器、逻辑触发单元和缓存单元控制器发送对应的配置信息,促使待调信号进行逻辑触发并存储至缓存单元中,根据配置单元的控制信号将缓存后的数据发送给配置单元,进而提供给同接口转换单元连接的外部上位机;根据上述调试装置,通过配置选择信号源以及它们之间的触发条件,可以采集目标时刻点的信号波形,波形数据通过外部总线接口传给上位机,并通过上位机软件显示,实现了没有示波器和外部调试仪器参与的情况下对芯片内部逻辑的调试,从而降低调试条件,提升调试的便利性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种芯片调试装置的内部单元示意图;
图2是本发明实施例提供的一种芯片调试装置的外部单元示意图;
图3是本发明实施例提供的一种芯片调试方法的方法流程图;
图4是本发明实施例提供的一种芯片调试方法的上位机软件的方法流程图;
图5是本发明实施例提供的另一种芯片调试方法的方法流程图;
图6是本发明实施例提供的芯片调试装置的电子设备的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。正如本领域技术人员可以认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
本发明实施例提供了一种芯片调试装置,如图1所示,包括接口转换单元、配置单元、信号选择控制器、逻辑触发单元、缓存单元和缓存单元控制器,其中:
所述接口转换单元通过外部总线与外部上位机连接,所述接口转换单元用于通过外部总线接收来自所述外部上位机的信号并转换为内部总线信号,或者将内部总线信号转换为外部常用接口信号并通过所述外部总线发送给所述外部上位机,从而实现同外部上位机的信息交互。
在一些实施方式中,所述外部总线可以是UART(Universal AsynchronousReceiver/Transmitter,通用异步收发传输器)、IIC(Inter-Integrated Circuit,集成电路总线)、SPI(Serial Peripheral Interface,串行外围设备接口)等,在外部总线为IIC的情况下,IIC总线基于其协议将地址和数据信息传输给接口转换单元,从而实现对调试装置的调试操作。
配置单元,所述配置单元通过内部总线同所述接口转换单元相连,所述配置单元用于通过所述内部总线接收来自接口转换单元的内部总线信号,并生成配置信息发送给信号选择控制器、逻辑触发单元和缓存单元控制器,并根据缓存单元控制器的控制信号寄存各缓存单元的状态信息和调试信号数据。
在一些实施方式中,所述内部总线可以是APB(Advanced Perpheral Bus,高级外围总线)、AXI(Advanced Extensible Interface,高级可扩展接口)、AHB(Advanced High-performance Bus,高级高性能总线)等总线;在内部总线为APB总线的情况下,所述APB总线基于AMBA协议将调试命令传输给配置单元的从端口,从而实现对配置单元的从端口进行读写操作。
其中,所述配置信息针对信号选择控制器、逻辑触发单元和缓存单元控制器分别发送时,所发送的配置信息内容一一对应均不相同。所述配置信息具体包括信号选择控制器的信号映射配置信息、逻辑触发单元的信号触发条件配置信息以及缓存单元控制器内部通道相关的配置信息。
配置单元内部包含信号选择控制器、逻辑触发单元和缓存单元控制器相关的配置信息,缓存单元控制器的工作状态信息,指令和数据译码逻辑以及缓存单元控制器相关控制逻辑;当收到内部总线传输的指令和数据后,配置单元内部的指令和数据译码逻辑识别指令和数据内容,根据识别结果,一方面会转换成对应模块的配置信息,通过配置信息发送给信号选择控制器,通过配置信息发送给逻辑触发单元,通过配置信息发送给缓存单元控制器;另一方面利用控制器信号查询缓存单元控制器的状态信息,并将状态信息缓存到内部寄存器中,利用内部总线配置单元可以将缓存单元控制器的状态信息和缓存单元内的波形数据发送给接口转换单元。
其中,所述信号选择控制器通过第一接口同所述逻辑触发单元相连,所述逻辑触发单元通过第二接口同所述缓存单元控制器相连,所述缓存单元控制器通过第三接口同所述缓存单元相连。
其中,所述第一接口、第二接口和第三接口为通用接口,可以理解的是,其也可以为其他定制化的IO接口,本发明对此不做限制。
所述信号选择控制器用于根据所述配置信息选择不同待调信号源并将它们拼接组合映射到对应采集通道传输给逻辑触发单元。
信号选择控制器内部包含多通道信号映射逻辑,根据配置信息传输的数据,将调试信号按照要求拼接并映射到各数据通道中,接着将各通道的数据通过第一接口传输给逻辑触发单元。
所述逻辑触发单元用于根据所述配置信息对所述信号选择控制器输出各通道的待调信号进行逻辑触发,将产生的触发信号发送给缓存单元控制器。
所述缓存单元控制器用于根据所述配置信息和所述触发信号将所述待调信号写入缓存单元,并根据配置单元的控制信号将各通道缓存单元的数据传给配置单元,并通过内部总线传输给接口转换单元,从而提供给同接口转换单元连接的外部上位机,或者,将测试完成的结果临时存储在所述缓存单元中,等待外部上位机通过接口转换单元调取存储在所述缓存单元中的结果。
所述缓存单元用于在缓存单元控制器的控制下存储待调信号;和/或,将测试完成的结果临时存储在所述缓存单元中,等待外部上位机通过接口转换单元调取存储在所述缓存单元中的结果。
如图2所示,所述调试装置设置于芯片中,并且所述调试装置中的接口转换单元通过外部总线与外部上位机连接,并与外部上位机中的上位机软件建立数据传输关系。
在一些实施方式中,根据上述调试装置,通过配置选择信号源以及它们之间的触发条件,可以采集目标时刻点的信号波形,波形数据通过外部总线接口传给上位机,并通过上位机软件显示,从而实现功能调试;实现了在没有处理器和外部调试仪器参与的情况下对芯片内部逻辑的调试,从而降低调试条件,提升调试的便利性。
逻辑触发单元内部包含多通道触发判断逻辑,所述多通道触发判断逻辑用于根据配置信息传输的数据,对信号选择控制器传输的通道信号进行多层级的判断,接着将判断结果以及各通道的数据通过第二接口传输给缓存单元控制器。
在一些实施方式中,所述多层级判断具体包括:
每个通道根据配置信息完成单位信号的逻辑判断,包括上升沿、下降沿、高电平、低电平或多位信号逻辑判断,并且每个通道之间会根据配置信息完成组合逻辑判断。
逻辑触发单元内部包含多通道触发判断逻辑,根据配置信息传输的数据,对信号选择控制器传输的通道信号进行多层级的判断,接着将判断结果以及各通道的数据通过第二接口传输给缓存单元控制器。多层级判断具体实施过程如下,每个通道首先会根据配置信息完成单位信号逻辑判断,例如上升沿、下降沿、高电平和低电平,或多位信号逻辑判断例如等于A(表示一个数)、不等于A、大于A、小于A、大于A且小于B(表示一个数)等条件的判断,接着每个通道之间会根据配置信息完成但不限于通道1&通道2、通道1|通道2、通道1^(!通道2)、(通道1|通道2)&通道3等组合逻辑判断,其中“&”、“|”、“^”和“!”均为逻辑运算符,“&”表示逻辑与,“|”表示逻辑或,“^”表示逻辑异或,“!”表示逻辑非。
其中,以“&”、“|”、“^”和“!”等逻辑运算符将各通道拼接在一起,形成组合逻辑。可以理解的是,前述的通道1、通道2和通道3为示例性的通道号,不具体限定只有3个通道。
缓存单元控制器内部包含多通道触发处理逻辑、缓存单元读写控制逻辑以及通道状态信息处理逻辑;所述缓存单元控制器用于根据所述配置信息传输的数据,完成各通道采集参数的设置,并在收到来自所述逻辑触发单元传递的触发信号后,根据所述各通道设置的采集参数,完成各通道的信号采集,将其波形数据通过第三接口写入缓存单元,并将通道状态信息通过控制信号传输到配置单元中。
同时所述缓存单元控制器还用于接收来自配置单元的采集指令,根据所述采集指令内容通过所述第三接口读取缓存单元的数据内容,并传输给所述配置单元,所述配置单元通过接口转换单元将数据内容输出给外部上位机。
缓存单元控制器内部包含多通道触发处理逻辑、缓存单元读写控制逻辑以及通道状态信息处理逻辑。根据配置信息传输的数据,完成各通道采集参数的设置。一方面,当收到第二接口传递的触发信号后,根据各通道设置的采集参数,完成各通道的信号采集,将其波形数据通过第三接口写入缓存单元,并将通道采集状态信息通过控制信号传输到配置单元中;另一方面,配置单元通过控制信号传递采集指令给缓存单元控制器,缓存单元控制器根据指令内容,通过第三接口读取缓存单元的数据内容,并通过控制信号传输给配置单元。
在一些实施方式中,根据上述调试装置,通过配置选择信号源以及它们之间的触发条件,可以采集目标时刻点的信号波形,波形数据通过外部总线接口传给上位机,并通过上位机软件显示,从而实现功能调试,实现了在没有示波器和外部调试仪器参与的情况下对芯片内部逻辑的调试,从而降低调试条件,提升调试的便利性。
在一些实施方式中,组合逻辑中包括多个条件,例如,假设组合逻辑为(通道1|通道2)&通道3,则组合逻辑包含3个条件,组合逻辑所对应的数据来源为通道1所对应的数据、通道2所对应的数据和通道3所对应的数据,通道1所对应的数据、通道2所对应的数据和通道3所对应的数据有可能不会同时到来,这种情况下,需要将先到来的数据缓存到缓存单元,等满足剩余条件的数据到来后,则进行整体逻辑触发,此种情况下,会占用缓存单元的空间,同时,也会影响调试数据触发的及时性。
为了解决前述问题,在本实施例中,逻辑触发单元中对于组合逻辑触发判断时,具体包括:
若组合逻辑中第一条件先到,则触发所述缓存单元控制器将对应获取到的数据存储在所述缓存单元中;进一步的,在获取到组合逻辑中剩余条件时,则触发所述缓存单元控制器同步完成缓存单元中之前存储的第一条件满足下的数据,以及触发接口转换单元透传在剩余条件触发时获取到的数据内容;
其中,所述外部上位机在获取到来自缓存单元的对应组合逻辑的数据内容,以及来自缓存单元控制器透传的完整组合逻辑下的数据内容后,通过相应的接口转换单元和配置单元,向所述信号选择控制器、逻辑触发单元和缓存单元控制器中的一个或者多个下发调整控制指令,或者,向芯片自身发送调试信号上报时间调整指令,使得调整后按照组合逻辑判断下触发的数据上报一致性更加到位。
在一些实施方式中,首先,可以根据满足条件的数据到来的顺序分时获取不同的数据,在获取到所有的数据后,根据组合逻辑对在先获取的数据进行处理,以获取符合组合逻辑的数据,将对应获取到的数据存储在所述缓存单元中,在获取到组合逻辑中剩余条件所对应的数据后,将缓存单元中之前存储的第一条件满足下的数据(为了后续描述方便,记作数据A)传输给上位机,同时触发接口转换单元透传在剩余条件触发时获取到的数据内容(为了后续描述方便,记作数据B)。
上位机在接收到相应的数据内容后,根据组合逻辑判断数据A和数据B是否需要分时触发,如果不需要分时触发,则可以调整组合逻辑的触发顺序或者待调试信号的发送顺序,使得调整后按照组合逻辑判断下触发的数据上报一致性更加到位。
方式一,调整组合逻辑的触发顺序:向所述信号选择控制器、逻辑触发单元和缓存单元控制器中的一个或者多个下发调整控制指令,调整组合逻辑的触发顺序,例如,调整策略可以为:将关联度比较高的多个组合逻辑排列在一起,
或者,将条件越少的组合逻辑越先触发,使得调整后按照组合逻辑判断下触发的数据上报一致性更加到位,具体的调整策略可以依据实际情况而定。
方式二,调整待调试信号的发送顺序:向芯片自身发送调试信号上报时间调整指令,将落入同一个组合逻辑的待测信号一起发送或者按照顺序发送,使得能够一次完成组合逻辑的判断。
按照前述顺序,可以尽量保证能够一次完成组合逻辑的判断,尽量避免等待其他关联的调试信号,避免占用缓存单元的存储空间,同时,使得调整后按照组合逻辑判断下触发的数据上报一致性更加到位。
采用本发明实施例提供的芯片调试装置和方法,通过将接口转换单元与外部上位机之间建立信息交互,配置单元向通过通用接口连接的信号选择控制器、逻辑触发单元和缓存单元控制器发送对应的配置信息,促使待调信号进行逻辑触发并存储至缓存单元中,根据配置单元的控制信号将缓存后的数据发送给配置单元,进而提供给同接口转换单元连接的外部上位机;根据上述调试装置,通过配置选择信号源以及它们之间的触发条件,可以采集目标时刻点的信号波形,波形数据通过外部总线接口传给上位机,并通过上位机软件显示,实现了没有示波器和外部调试仪器参与的情况下对芯片内部逻辑的调试,从而降低调试条件,提升调试的便利性。
本发明实施例还提供一种芯片调试方法。如图3所示,流程如下:
步骤101中,所述接口转换单元通过外部总线接收来自所述外部上位机的信号并转换为内部总线信号,或者将内部总线信号转换为外部常用接口信号并通过所述外部总线发送给所述外部上位机,从而实现同外部上位机的信息交互。
步骤102中,所述配置单元通过所述内部总线接收来自接口转换单元的内部总线信号,并生成配置信息发送给信号选择控制器、逻辑触发单元和缓存单元控制器,并将将配置信息于缓存单元中进行缓存。
配置单元内部包含信号选择控制器、逻辑触发单元和缓存单元控制器相关的配置信息,缓存单元控制器的工作状态信息,指令和数据译码逻辑以及缓存单元控制器相关控制逻辑;当收到内部总线传输的指令和数据后,配置单元内部的指令和数据译码逻辑识别指令和数据内容,根据识别结果,一方面会转换成对应模块的配置信息,通过配置信息发送给信号选择控制器,通过配置信息发送给逻辑触发单元,通过配置信息发送给缓存单元控制器;另一方面利用控制器信号查询缓存单元控制器的状态信息,并将状态信息缓存到内部寄存器中,利用内部总线配置单元可以将缓存单元控制器的状态信息和缓存单元内的波形数据发送给接口转换单元。
步骤103中,所述信号选择控制器根据所述配置信息选择不同待调信号源并将它们拼接组合映射到对应采集通道传输给逻辑触发单元。
信号选择控制器内部包含多通道信号映射逻辑,根据配置信息传输的数据,将调试信号按照要求拼接并映射到各数据通道中,接着将各通道的数据通过第一接口传输给逻辑触发单元。
步骤104中,所述逻辑触发单元根据所述配置信息对所述信号选择控制器输出各通道的待调信号进行逻辑触发,将产生的触发信号发送给缓存单元控制器。
步骤105所述缓存单元控制器根据所述配置信息和所述触发信号将所述待调信号写入缓存单元,并根据配置单元的控制信号将各通道缓存单元的数据传给配置单元,并通过内部总线传输给接口转换单元,从而提供给同接口转换单元连接的外部上位机。
步骤106中,所述缓存单元在缓存单元控制器的控制下存储待调信号。
根据上述调试装置,通过配置选择信号源以及它们之间的触发条件,可以采集目标时刻点的信号波形,波形数据通过外部总线接口传给上位机,并通过上位机软件显示,从而实现功能调试;实现了在没有处理器和外部调试仪器参与的情况下对芯片内部逻辑的调试,从而降低调试条件,提升调试的便利性。
如图3,其中外部上位机的调试流程如下:
步骤S1,上位机软件通过外部总线在调试装置写入固定序列,开启调试功能。
步骤S2,上位机软件通过外部总线下发调试装置所需的配置信息,完成所有功能模块的配置。
步骤S3,调制装置完成配置后,在各通道采集满足目标条件的待调信号,并将数据缓存到缓存单元。
步骤S4,上位机软件通过外部总线接口读取缓存单元控制器的状态信息,确认所有通道的数据是否采集完成。
步骤S5,上位机软件通过外部总线接口将调制装置内部缓存的各通道的波形数据读取出来并通过图形界面显示。
逻辑触发单元内部包含多通道触发判断逻辑,所述多通道触发判断逻辑用于根据配置信息传输的数据,对信号选择控制器传输的通道信号进行多层级的判断,接着将判断结果以及各通道的数据通过第二接口传输给缓存单元控制器;
在一些实施方式中,所述多层级判断具体包括:
每个通道根据配置信息完成单位信号的逻辑判断,包括上升沿、下降沿、高电平、低电平或多位信号逻辑判断,并且每个通道之间会根据配置信息完成通道1&通道2、通道1|通道2、通道1^(!通道2)、(通道1|通道2)&通道3中的一种或者多种组合逻辑判断;
其中“&”、“|”、“^”和“!”均为逻辑运算符,“&”表示逻辑与,“|”表示逻辑或,“^”表示逻辑异或,“!”表示逻辑非。
逻辑触发单元内部包含多通道触发判断逻辑,根据配置信息传输的数据,对信号选择控制器传输的通道信号进行多层级的判断,接着将判断结果以及各通道的数据通过第二接口传输给缓存单元控制器。多层级判断具体实施过程如下,每个通道首先会根据配置信息完成单位信号逻辑判断,例如上升沿、下降沿、高电平和低电平,或多位信号逻辑判断例如等于A(表示一个数)、不等于A、大于A、小于A、大于A且小于B(表示一个数)等条件的判断,接着每个通道之间会根据配置信息完成但不限于通道1&通道2、通道1|通道2、通道1^(!通道2)、(通道1|通道2)&通道3等组合逻辑判断,其中“&”、“|”、“^”和“!”均为逻辑运算符,“&”表示逻辑与,“|”表示逻辑或,“^”表示逻辑异或,“!”表示逻辑非。
缓存单元控制器内部包含多通道触发处理逻辑、缓存单元读写控制逻辑以及通道状态信息处理逻辑;所述缓存单元控制器用于根据所述配置信息传输的数据,完成各通道采集参数的设置,并在收到来自所述逻辑触发单元传递的触发信号后,根据所述各通道设置的采集参数,完成各通道的信号采集,将其波形数据通过第三接口写入缓存单元,并将通道状态信息通过控制信号传输到配置单元中。
同时所述缓存单元控制器还用于接收来自配置单元的采集指令,根据所述采集指令内容通过所述第三接口读取缓存单元的数据内容,并传输给所述配置单元,所述配置单元通过接口转换单元将数据内容输出给外部上位机。
缓存单元控制器内部包含多通道触发处理逻辑、缓存单元读写控制逻辑以及通道状态信息处理逻辑。根据配置信息传输的数据,完成各通道采集参数的设置。一方面,当收到第二接口传递的触发信号后,根据各通道设置的采集参数,完成各通道的信号采集,将其波形数据通过第三接口写入缓存单元,并将通道采集状态信息通过控制信号传输到配置单元中;另一方面,配置单元通过控制信号传递采集指令给缓存单元控制器,缓存单元控制器根据指令内容,通过第三接口读取缓存单元的数据内容,并通过控制信号传输给配置单元。
在一些实施方式中,逻辑触发单元中对于组合逻辑触发判断时,具体包括:
若组合逻辑中第一条件先到,则触发所述缓存单元控制器将对应获取到的数据存储在所述缓存单元中;进一步的,在获取到组合逻辑中剩余条件时,则触发所述缓存单元控制器同步完成缓存单元中之前存储的第一条件满足下的数据,以及触发接口转换单元透传在剩余条件触发时获取到的数据内容。
其中,所述外部上位机在获取到来自缓存单元的对应组合逻辑的数据内容,以及来自缓存单元控制器透传的完整组合逻辑下的数据内容后,通过相应的接口转换单元和配置单元,向所述信号选择控制器、逻辑触发单元和缓存单元控制器中的一个或者多个下发调整控制指令,或者,向芯片自身发送调试信号上报时间调整指令,使得调整后按照组合逻辑判断下触发的数据上报一致性更加到位。
本发明实施例还提供另一种芯片调试方法。本实施例中不会将测试完成的结果直接提供给外部上位机。
如图5所示,方法流程如下:
步骤201中,所述接口转换单元通过外部总线接收来自所述外部上位机的信号并转换为内部总线信号,或者将内部总线信号转换为外部常用接口信号并通过所述外部总线发送给所述外部上位机,从而实现同外部上位机的信息交互。
步骤202中,所述配置单元通过所述内部总线接收来自接口转换单元的内部总线信号,并生成配置信息发送给信号选择控制器、逻辑触发单元和缓存单元控制器,并将将配置信息于缓存单元中进行缓存。
配置单元内部包含信号选择控制器、逻辑触发单元和缓存单元控制器相关的配置信息,缓存单元控制器的工作状态信息,指令和数据译码逻辑以及缓存单元控制器相关控制逻辑;当收到内部总线传输的指令和数据后,配置单元内部的指令和数据译码逻辑识别指令和数据内容,根据识别结果,一方面会转换成对应模块的配置信息,通过配置信息发送给信号选择控制器,通过配置信息发送给逻辑触发单元,通过配置信息发送给缓存单元控制器;另一方面利用控制器信号查询缓存单元控制器的状态信息,并将状态信息缓存到内部寄存器中,利用内部总线配置单元可以将缓存单元控制器的状态信息和缓存单元内的波形数据发送给接口转换单元。
步骤203中,所述信号选择控制器根据所述配置信息选择不同待调信号源并将它们拼接组合映射到对应采集通道传输给逻辑触发单元。
信号选择控制器内部包含多通道信号映射逻辑,根据配置信息传输的数据,将调试信号按照要求拼接并映射到各数据通道中,接着将各通道的数据通过第一接口传输给逻辑触发单元。
步骤204中,所述逻辑触发单元根据所述配置信息对所述信号选择控制器输出各通道的待调信号进行逻辑触发,将产生的触发信号发送给缓存单元控制器。
步骤205中,所述缓存单元控制器根据所述配置信息和所述触发信号将所述待调信号写入缓存单元,并将测试完成的结果临时存储在所述缓存单元中,等待外部上位机通过接口转换单元调取存储在所述缓存单元中的结果。
在一些实施方式中,根据上述调试装置,通过配置选择信号源以及它们之间的触发条件,可以采集目标时刻点的信号波形,波形数据通过外部总线接口传给上位机,并通过上位机软件显示,从而实现功能调试,实现了在没有示波器和外部调试仪器参与的情况下对芯片内部逻辑的调试,从而降低调试条件,提升调试的便利性。
步骤206中,缓存单元将待调信号提供给外部上位机。
采用本发明实施例的芯片调试方法,通过与外部上位机之间建立信息交互,通过配置单元向信号选择控制器、逻辑触发单元和缓存单元控制器发送对应的配置信息,对待调信号进行逻辑触发并存储至缓存单元中,根据配置单元的控制信号将缓存后的数据发送给配置单元,进而提供给同接口转换单元连接的外部上位机。通过配置选择信号以及它们之间的触发条件,可以采集目标时刻点的信号波形,波形数据通过外部总线接口传给上位机,并通过上位机软件显示,实现了没有示波器和外部调试仪器参与的情况下对芯片内部逻辑的调试,从而降低调试条件,提升调试的便利性。
图6为根据本申请一实施例的电子设备的结构框图。本申请实施例还提供了一种电子设备,如图6所示,该电子设备包括:至少一个处理器701,以及与至少一个处理器701通信连接的存储器703。存储器703内存储有可被至少一个处理器701执行的指令。指令被至少一个处理器701执行。处理器701执行该指令时实现上述实施例中的芯片调试方法。存储器703和处理器701的数量可以为一个或多个。该电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
该电子设备还可以包括通信接口705,用于与外界设备进行通信,进行数据交互传输。各个设备利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器701可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器703、处理器701及通信接口705集成在一块芯片上,则存储器703、处理器701及通信接口705可以通过内部接口完成相互间的通信。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
本申请实施例提供了一种计算机可读存储介质(如上述的存储器703),其存储有计算机指令,该程序被处理器执行时实现本申请实施例中提供的方法。
可选的,存储器703可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据驾驶场景重构方法的电子设备的使用所创建的数据等。此外,存储器703可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器703可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至驾驶场景重构方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个(两个或两个以上)用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种芯片调试装置,其特征在于,包括接口转换单元、配置单元、信号选择控制器、逻辑触发单元、缓存单元和缓存单元控制器,其中:
所述接口转换单元通过外部总线与外部上位机连接,所述接口转换单元用于通过所述外部总线接收来自所述外部上位机的信号并转换为内部总线信号,还用于将所述内部总线信号转换为外部常用接口信号并通过所述外部总线发送给所述外部上位机;
所述配置单元通过内部总线与所述接口转换单元连接,所述配置单元用于通过所述内部总线接收来自所述接口转换单元的所述内部总线信号,并生成配置信息发送给所述信号选择控制器、所述逻辑触发单元和所述缓存单元控制器,并根据所述缓存单元控制器的控制信号寄存各缓存单元的状态信息和调试信号数据;
所述信号选择控制器用于根据所述配置信息选择不同待调信号,并将选择的所述待调信号拼接组合映射到对应采集通道传输给所述逻辑触发单元;
所述逻辑触发单元用于根据所述配置信息对所述信号选择控制器输出的所述待调信号进行逻辑触发,并将产生的触发信号发送给所述缓存单元控制器;
所述缓存单元控制器用于根据所述配置信息和所述触发信号将所述待调信号写入所述缓存单元,还用于根据所述配置单元的控制信号将所述缓存单元的数据传给所述配置单元;
所述缓存单元用于在所述缓存单元控制器的控制下存储待调信号。
2.根据权利要求1所述的芯片调试装置,其特征在于,所述逻辑触发单元通过第二接口与所述缓存单元控制器连接,所述逻辑触发单元具有多通道触发判断逻辑,所述多通道触发判断逻辑用于根据所述配置信息对所述信号选择控制器传输的通道信号进行多层级判断,并将判断结果以及各通道的数据通过所述第二接口传输给所述缓存单元控制器。
3.根据权利要求2所述的芯片调试装置,其特征在于,所述多通道触发判断逻辑每个通道被配置为根据所述配置信息完成单位信号的逻辑判断,包括上升沿、下降沿、高电平、低电平、多位信号逻辑判断中的一个或者多个,并且每个通道之间根据所述配置信息完成组合逻辑判断。
4.根据权利要求3所述的芯片调试装置,其特征在于,所述缓存单元控制器用于当所述组合逻辑中第一条件先到时,将对应获取到的数据存储在所述缓存单元中,当获取到所述组合逻辑中剩余条件时,同步完成所述缓存单元中之前存储的第一条件满足下的数据;还用于触发所述接口转换单元透传在剩余条件触发时获取到的数据内容。
5.根据权利要求4所述的芯片调试装置,其特征在于,其中,所述外部上位机在获取到来自所述缓存单元的对应组合逻辑的数据内容,以及来自所述缓存单元控制器透传的完整组合逻辑下的数据内容后,通过相应的所述接口转换单元和所述配置单元,向所述信号选择控制器、所述逻辑触发单元和所述缓存单元控制器中的一个或者多个下发调整控制指令,或者,向芯片自身发送调试信号上报时间调整指令。
6.根据权利要求3所述的芯片调试装置,其特征在于,所述组合逻辑包括通道1&通道2、通道1|通道2、通道1^(!通道2)以及(通道1|通道2)&通道3中的一种或者多种组合;其中,“&”、“|”、“^”和“!”均为逻辑运算符,“&”表示逻辑与,“|”表示逻辑或,“^”表示逻辑异或,“!”表示逻辑非。
7.根据权利要求1-6中任一项所述的芯片调试装置,其特征在于,所述缓存单元控制器通过第三接口与所述缓存单元连接;所述缓存单元控制器具有多通道触发处理逻辑、缓存单元读写控制逻辑以及通道状态信息处理逻辑;所述缓存单元控制器用于根据所述配置信息完成各通道采集参数的设置,并在收到来自所述逻辑触发单元传递的触发信号后,根据所述采集参数完成各通道的信号采集,将采集到的波形数据通过所述第三接口写入所述缓存单元,并将所述各通道的通道状态信息通过所述控制信号传输到所述配置单元中;所述缓存单元控制器还用于接收来自所述配置单元的采集指令,根据所述采集指令通过所述第三接口读取所述缓存单元的数据内容,并传输给所述配置单元。
8.根据权利要求1-6中任一项所述的芯片调试装置,其特征在于,所述缓存单元还用于将测试完成的结果进行临时存储,等待所述外部上位机通过所述接口转换单元调取存储在所述缓存单元中的结果。
9.一种芯片调试方法,其特征在于,所述方法应用在如权利要求1至8中任一所述的芯片调试装置,其中:
接口转换单元接收来自外部上位机的信号并转换为内部总线信号,或者将所述内部总线信号转换为外部常用接口信号并通过外部总线发送给所述外部上位机;
配置单元根据所述内部总线信号生成配置信息发送给信号选择控制器、逻辑触发单元和缓存单元控制器,并将所述配置信息于缓存单元中进行缓存;
所述信号选择控制器根据所述配置信息选择不同待调信号,并将选择的所述待调信号拼接组合映射到对应采集通道传输给所述逻辑触发单元;
所述逻辑触发单元根据所述配置信息对所述信号选择控制器输出各通道的待调信号进行逻辑触发,根据所述缓存单元控制器的控制信号寄存各缓存单元的状态信息和调试信号数据;
所述缓存单元控制器根据所述配置信息和所述触发信号将所述待调信号写入缓存单元,并根据所述配置单元的控制信号将各通道缓存单元的数据传给所述配置单元,并通过内部总线传输给所述接口转换单元将测试完成的结果临时存储在所述缓存单元中,等待外部上位机通过接口转换单元调取存储在所述缓存单元中的结果;
所述缓存单元在所述缓存单元控制器的控制下存储待调信号。
10.根据权利要求9所述的芯片调试方法,其特征在于,还包括:
将测试完成的结果临时存储在所述缓存单元中,等待所述外部上位机通过所述接口转换单元调取存储在所述缓存单元中的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211342198.2A CN115658415A (zh) | 2022-10-31 | 2022-10-31 | 一种芯片调试装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211342198.2A CN115658415A (zh) | 2022-10-31 | 2022-10-31 | 一种芯片调试装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658415A true CN115658415A (zh) | 2023-01-31 |
Family
ID=84993097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211342198.2A Pending CN115658415A (zh) | 2022-10-31 | 2022-10-31 | 一种芯片调试装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658415A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591380A (zh) * | 2024-01-18 | 2024-02-23 | 芯动微电子科技(武汉)有限公司 | 一种总线性能监测的方法和装置 |
-
2022
- 2022-10-31 CN CN202211342198.2A patent/CN115658415A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591380A (zh) * | 2024-01-18 | 2024-02-23 | 芯动微电子科技(武汉)有限公司 | 一种总线性能监测的方法和装置 |
CN117591380B (zh) * | 2024-01-18 | 2024-05-03 | 芯动微电子科技(武汉)有限公司 | 一种总线性能监测的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3684831B2 (ja) | マイクロコンピュータ、電子機器及びデバッグシステム | |
US9639447B2 (en) | Trace data export to remote memory using remotely generated reads | |
US9684583B2 (en) | Trace data export to remote memory using memory mapped write transactions | |
US8914566B2 (en) | Managing interrupts | |
CN102662835A (zh) | 一种针对嵌入式系统的程序调试方法及嵌入式系统 | |
JPH10253719A (ja) | Tapコントローラを有する集積回路 | |
CN106569416B (zh) | 一种微控制器的串行接口与仿真调试接口复用方法及装置 | |
CN112286746A (zh) | 针对axi从设备接口的通用验证平台及方法 | |
TWI278636B (en) | Integrated circuit, diagnostic device for receiving diagnostic data in integrated circuit and method for generating diagnostic data | |
CN115658415A (zh) | 一种芯片调试装置和方法 | |
CN111290986A (zh) | 一种基于神经网络的总线互联系统 | |
US6484273B1 (en) | Integrated EJTAG external bus interface | |
CN110809153B (zh) | 一种使用下载器进行多帧图像传输实现在线测试系统及方法 | |
CN111522770B (zh) | 基于fpga的参数化配置的spi控制器及使用方法 | |
JP2013016117A (ja) | バスモニタ装置、バスモニタ方法、およびプログラム | |
CN101998135A (zh) | 移动电视信号采集及播放系统、控制方法 | |
US12105655B2 (en) | System and method for optimizing AHB bus data transmission performance and server | |
CN113533941B (zh) | 芯片接口的测试方法、装置、计算机设备和存储介质 | |
CN115081366A (zh) | 寄存器突发访问的建模方法 | |
CN112416837A (zh) | 将数据从spi模块转发至uart模块的方法、电路和电子装置 | |
US20070038432A1 (en) | Data acquisition and simulation architecture | |
US8352239B2 (en) | Emulator interface device and method thereof | |
JP7048776B1 (ja) | プログラマブルデバイス、システム、検証支援方法、およびプログラム | |
KR100927130B1 (ko) | Pc와 임베디드 시스템 간의 고속 시리얼 통신 변환 장치 및 방법 | |
CN117194135A (zh) | 通用异步收发传输器的验证方法、系统及计算机设备 |
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 |