CN117370257A - 串口转总线的装置、现场可编程门阵列及其调试方法 - Google Patents

串口转总线的装置、现场可编程门阵列及其调试方法 Download PDF

Info

Publication number
CN117370257A
CN117370257A CN202311346464.3A CN202311346464A CN117370257A CN 117370257 A CN117370257 A CN 117370257A CN 202311346464 A CN202311346464 A CN 202311346464A CN 117370257 A CN117370257 A CN 117370257A
Authority
CN
China
Prior art keywords
read
bus
serial port
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.)
Granted
Application number
CN202311346464.3A
Other languages
English (en)
Other versions
CN117370257B (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.)
Gowin Semiconductor Corp
Original Assignee
Gowin Semiconductor Corp
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 Gowin Semiconductor Corp filed Critical Gowin Semiconductor Corp
Priority to CN202311346464.3A priority Critical patent/CN117370257B/zh
Publication of CN117370257A publication Critical patent/CN117370257A/zh
Application granted granted Critical
Publication of CN117370257B publication Critical patent/CN117370257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/2215Detection 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 error correction or detection circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开一种串口转总线的装置、现场可编程门阵列及其调试方法,本公开实施例上位机发送包含总线读写的调试指令到构建在现场可编程门阵列(FPGA)上的串口转总线的装置;串口转总线的装置将通过串口接收的第一比特转换处理为总线读写信息,根据总线读写信息生成操作FPGA内部寄存器的总线时序;根据生成的总线时序对FPGA内部寄存器执行读写操作后,将读操作获得的总线回读数据通过串口反馈给上位机,在无需额外占用硬件资源和仅占用部分FPGA逻辑资源的情况下,通过串口增加了可支持的读写信号数量,实现了通用的FPGA的板级调试,节省了FPGA的开发和调试周期。

Description

串口转总线的装置、现场可编程门阵列及其调试方法
技术领域
本申请涉及但不限于电路测试技术,其中涉及一种串口转总线的装置、现场可编程门阵列及其调试方法。
背景技术
串口接口是使用个人计算机(PC)调试最常用的接口之一,其特点是通信线路简单,只要一对传输线就可以实现双向通信,且PC机上支持串口通信的调试软件众多,如安全终端模拟软件(Xshell)和secureCRT(是一款支持串口的远程仿真终端控制程序)等,使用串口进行调试是进行嵌入式系统调试的主流方法之一。现场可编程门阵列(FPGA)内部总线也是很多FPGA逻辑工程为了实现灵活配置以及监测的一种片内总线,很多FPGA内部逻辑模块寄存器需要通过内部总线进行读写操作,例如Vivado(是FPGA厂商赛灵思公司发布的集成设计环境)的很多知识产权核(IP核)都是通过AXI总线的方式进行连接的。同时,内部总线也是FPGA逻辑和处理器交互的最常用接口,很多情况下,FPGA逻辑的寄存器是通过处理器进行读写操作的。当使用如Xshell等工具进行串口指令调试时,往往都是将串口指令先送入处理器进行解析,然后根据处理器解析串口指令后生成对应的总线时序,控制FPGA内部总线来对寄存器进行交互。
FPGA厂商一般提供通过联合测试工作组(JTAG)接口,利用如Vivado集成逻辑分析器(ILA)或虚拟输入输出(VIO)软件工具实现信号观测和输入调试,或者通过处理器总线与FPGA逻辑连接来进行调试;在FPGA设计流程中,进行板级调试是一个不可或缺的步骤,经常需要输入一些测试激励以及抓取信号波形等调试操作,好的调试方法可以尽快发现问题,缩短设计周期,因此,调试方法显得尤为重要。FPGA的板级调试中,比较常见的调试方法包括:1、将信号连接到外部管脚用示波器观察,以及通过板上按键实现信号激励输入;这种方法实时性强,能够抓取速率较高的信号,但是可以观测的信号量个数极其有限、需要示波器等昂贵仪器。2、通过JTAG接口利用如Vivado ILA或VIO软件工具实现信号抓取,信号激励的输入;这种方法实时性强、通用灵活、支持观测信号量更多,但是占用FPGA内部块存储器(BLOCKRAM)资源,而且所观测的信号越多,则占用资源越大;此外,这种方法需要连接外部仿真器,可能需要对某些设备外壳等需要拆卸才能调试,调试不方便;一些低成本的FPGA芯片还可能存在不支持抓取或者输入激励信号的问题。3、利用处理器例如ARM与FPGA内部总线进行交互;这种方法需要处理器等额外器件,增加成本,同时需要在处理器中搭建嵌入式系统支持指令解析,增加了工程复杂度和人力成本。
综上,针对不支持通过JTAG抓取或者输入信号的FPGA芯片,以及存在大量信号需要配置和监测的FPGA,如何在低成本及低资源耗费的情况下实现FPGA的调试,以对FPGA逻辑内部寄存器进行配置和监测,成为一个有待解决的问题。
发明内容
以下是对本申请详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本公开实施例提供一种串口转总线的装置、现场可编程门阵列及其调试方法,能够在低成本及低资源耗费的情况下实现FPGA的调试,节省FPGA的开发和调试周期。
本公开实施例提供了一种串口转总线的装置,构建在现场可编程门阵列FPGA上,包括:串口模块、接收指令解析模块、总线处理模块和回读指令组包模块;其中,
串口模块通过串口与上位机连接,设置为:将通过串口接收的来自上位机的第一比特组合为字节;将回读指令组包模块组合的字节组合为第二比特,并将获得的第二比特通过串口发送给上位机,以进行调试结果分析;
接收指令解析模块设置为:对串口接收模块组合的字节进行解析,获得总线读写信息;
总线处理模块设置为:根据接收指令解析模块获得的总线读写信息生成操作FPGA内部寄存器的总线时序;根据生成的总线时序对FPGA内部寄存器执行读写操作,其中,总线读写信息中的读写类型为读操作时,通过读操作获得总线回读数据;
回读指令组包模块设置为:将总线处理模块读操时获得的总线回读数据组合为字节;
其中,所述第一比特包括:所述上位机按照预设格式编辑的对所述FPGA内部寄存器进行总线读写的调试指令经过所述串口传输时输出的比特;所述总线读写信息包括对FPGA内部寄存器执行读写操作的相关信息。
另一方面,本公开实施例还提供一种现场可编程门阵列的调试方法,包括:
上位机通过串口发送按照预设格式编辑的调试指令时,构建在现场可编程门阵列FPGA上的串口转总线的装置将通过串口输入的比特组合为字节;
对串口接收模块组合的字节进行解析,获得总线读写信息;
根据获得的总线读写信息生成操作FPGA内部寄存器的总线时序;
根据生成的总线时序对FPGA内部寄存器执行读写操作;
将FPGA内部寄存器在读写操作过程中,执行读操作时获得的总线回读数据发送给上位机,以进行调试结果分析;
其中,串口转总线的装置构建在FPGA上。
本公开实施例上位机发送包含总线读写的调试指令到构建在现场可编程门阵列(FPGA)上的串口转总线的装置;串口转总线的装置将通过串口接收的第一比特转换处理为总线读写信息,根据总线读写信息生成操作FPGA内部寄存器的总线时序;根据生成的总线时序对FPGA内部寄存器执行读写操作后,将读操作获得的总线回读数据通过串口反馈给上位机,在无需额外占用硬件资源和仅占用部分FPGA逻辑资源的情况下,通过串口增加了可支持的读写信号数量,实现了通用的FPGA的板级调试,节省了FPGA的开发和调试周期。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本公开实施例串口转总线的装置的结构框图;
图2为本公开实施例实现现场可编程门阵列调试的方法的流程图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
图1为本公开实施例串口转总线的装置的结构框图,如图1所示,装置构建在现场可编程门阵列(FPGA)上,包括:串口模块、接收指令解析模块、总线处理模块和回读指令组包模块;其中,
串口模块通过串口与上位机连接,设置为:将通过串口接收的来自上位机的第一比特组合为字节;将回读指令组包模块组合的字节组合为第二比特,并将获得的第二比特通过串口发送给上位机,以进行调试结果分析;这里,第一比特和第二比特中的第一和第二仅用于区分两种比特为不同的比特;第一比特为通过串口接收的来自上位机的比特;第二比特为将回读指令组包模块组合的字节组合获得的比特;
接收指令解析模块设置为:对串口接收模块组合的字节进行解析,获得总线读写信息;
总线处理模块设置为:根据接收指令解析模块获得的总线读写信息生成操作FPGA内部寄存器的总线时序;根据生成的总线时序对FPGA内部寄存器执行读写操作,其中,总线读写信息中的读写类型为读操作时,通过读操作获得总线回读数据;
回读指令组包模块设置为:将总线处理模块读操时获得的总线回读数据组合为字节;
其中,第一比特包括:上位机按照预设格式编辑的对FPGA内部寄存器进行总线读写的调试指令经过串口传输时输出的比特;总线读写信息包括对FPGA内部寄存器执行读写操作的相关信息。
本公开实施例上位机发送包含总线读写的调试指令到构建在现场可编程门阵列(FPGA)上的串口转总线的装置;串口转总线的装置将通过串口接收的第一比特转换处理为总线读写信息,根据总线读写信息对FPGA内部寄存器执行读写操作后,将读操作获得的总线回读数据通过串口反馈给上位机,在无需额外占用硬件资源和仅占用部分FPGA逻辑资源的情况下,通过串口增加了可支持的读写信号数量,实现了通用的FPGA的板级调试,节省了FPGA的开发和调试周期。
在一种示例性实例中,本公开实施例上位机编辑调试指令的预设格式包括:满足预先确定的串口总线协议的格式。本公开实施例可以参照串口总线协议设置调试指令的格式,例如定义:写操作的总线指令为:W AAAA BBBBBBBB;读操作的总线指令为:R AAAA;返回读操作的回读数据的指令:G AAAA BBBBBBBB;上述指令中,字符W表示写操作,字符R表示读操作,字符G表示返回读操作的结果;AAAA表示地址,为16位;BBBBBBBB表示回读数据,为32位。本公开实施例中调试指令中的字符、地址和数据之间可以由空格分开,结尾通过输入回车换行。
在一种示例性实例中,本公开实施例可以在FPGA上通过硬件描述语言实例化上述装置;本公开实施例中的硬件描述语言包括:Verilog或VHDL;其中,Verilog是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模;VHDL语言是一种用于电路设计的高级语言,是用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言,主要用于描述数字系统的结构、行为、功能和接口;除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。本公开实施例中的串口转总线电路转换装置可以通过占据FPGA芯片的门阵列中的一个以上阵列块构建的装置。
在一种示例性实例中,本公开实施例串口模块包括:串口接收单元和串口发送单元;其中,
串口接收单元设置为:将通过串口接收的第一比特组合为字节;这里,第一比特可以根据串口协议组合为字节;
串口发送单元设置为:回读指令组包模块组合的字节根据串口协议串化后组合为第二比特,并将获得的第二比特通过串口发送给上位机。
在一种示例性实例中,本公开实施例串口发送单元是设置为:按照组合字节的先后顺序,将回读指令组包模块组合的字节根据串口协议进行串化获得第二比特;将获得的第二比特通过串口发送给上位机。
本公开实施例上位机发送的调试指令按照预设格式编辑,调试指令通过串口传输到构建在FPGA上的上述装置时,装置根据相关技术中的串口通信协议接收到第一比特;本公开实施例根据串口通信协议,参照相关技术将通过串口接收的第一比特重新组合获得包含总线读写信息的字节,例如:参照上位机编辑调制指令的格式,确定总线读写信息的长度;根据总线读写信息的长度,对一定数量的第一比特进行组合,获得若干字节;上述获得的字节中包含总线读写信息,可以通过进一步的解析获得;本公开实施例通过串口,在无需额外占用硬件资源的情况下,实现了上位机和FPGA之间调试指令的传输。
在一种示例性实例中,本公开实施例总线时序可以参照预先设定的指令与时序电平的高低的对应关系生成;例如,总线读写信息中包含读操作和写操作时,可以预先设定读操作对应的时序电平为第一电平,写操作对应的时序电平为第二电平;如果总线读写信息中包含读操作的地址信息,可以参照每一位地址与时序电平的对应关系生成相应的读操作地址的时序,通过读操作地址的时序可以读取对应于读操作的地址信息的、FPGA内部寄存器的某一具体寄存器及该寄存器的指定位置的数据;总线读写信息中包含写操作的地址信息,可以参照每一位地址与时序电平的对应关系生成相应的写操作地址的时序,将解析获得的总线读写信息中待写入的数据写入、对应于写操作地址信息的FPGA内部寄存器的某一具体寄存器及该寄存器的指定位置。
在一种示例性实例中,本公开实施例接收指令解析模块和总线处理模块之间还包括接收先入先出(FIFO)模块;
接收FIFO模块设置为:缓存接收指令解析模块解析获得的总线读写信息;
总线处理模块是设置为:判断接收FIFO模块中缓存有总线读写信息时,提取出总线读写信息;根据提取的总线读写信息生成总线时序;根据总线时序对FPGA内部寄存器执行读写操作。
本公开实施例,接收FIFO模块按照先入先出的规则,处理缓存的总线读写信息;按照解析的总线读写信息的先后顺序执行FPGA内部寄存器的读写操作,保证了FPGA调试过程的有序和准确。
在一种示例性实例中,本公开实施例总线处理模块和回读指令组包模块之间包含发送FIFO模块,发送FIFO模块设置为:
对总线处理模块发送到回读指令组包模块的总线回读数据进行缓存。
本公开实施例,发送FIFO模块按照先入先出的规则,处理缓存的总线回读数据;按照获得总线回读数据的先后顺序向上位机反馈从FPGA内部寄存器回读的数据,确保了回读数据的有序和准确。
在一种示例性实例中,本公开实施例中的总线读写信息包含以下一项或任意组合:读写类型、读写地址信息、以及读写类型为写操作时待写入的数据。
本公开实施例中的读写类型中可以包括:读操作和/或写操作;读写地址信息可以包括:读操作的地址和/或写操作的地址。
在一种示例性实例中,本公开实施例中的总线回读数据包括:总线的读地址和根据生成的读操作的总线时序从FPGA内部存储器读取的数据。
图2为本公开实施例现场可编程门阵列的调试方法的流程图,如图2所示,包括:
步骤201、上位机通过串口发送按照预设格式编辑的调试指令时,构建在现场可编程门阵列(FPGA)上的串口转总线的装置将通过串口输入的第一比特组合为字节;
步骤202、对串口接收模块组合的字节进行解析,获得总线读写信息;
步骤203、根据获得的总线读写信息生成操作FPGA内部寄存器的总线时序;
步骤204、根据生成的总线时序对FPGA内部寄存器执行读写操作;
步骤205、将FPGA内部寄存器在读写操作过程中,执行读操作时获得的总线回读数据发送给上位机,以进行调试结果分析;
其中,串口转总线的装置构建在FPGA上。
本公开实施例上位机发送包含总线读写的调试指令到构建在现场可编程门阵列(FPGA)上的串口转总线的装置;串口转总线的装置将通过串口接收的第一比特转换处理为总线读写信息生成操作FPGA内部寄存器的总线时序;根据生成的总线时序根据总线读写信息对FPGA内部寄存器执行读写操作后,将读操作获得的总线回读数据通过串口反馈给上位机,在无需额外占用硬件资源和仅占用部分FPGA逻辑资源的情况下,增加了可支持的读写信号数量,实现了通用的FPGA的板级调试,节省了FPGA的开发和调试周期。
在一种示例性实例中,本公开实施例根据获得的总线读写信息,对FPGA内部寄存器执行读写操作,包括:
根据总线读写信息生成操作FPGA内部寄存器的总线时序;
根据生成的总线时序对FPGA内部寄存器执行读写操作。
在一种示例性实例中,本公开实施例将FPGA内部寄存器执行读写操作过程中读操作时获得的总线回读数据发送给上位机,包括:
将总线回读数据组合为字节;将组合的字节按照组合字节的时间先后串化为第二比特;将获得的第二比特通过串口发送给上位机。
在一种示例性实例中,本公开实施例可以由技术人员根据编辑的调试指令和上位机接收到的总线回读数据,参照相关原理进行调试结果分析。
在一种示例性实例中,获得总线读写信息之后,根据获得的总线读写信息生成操作FPGA内部寄存器的总线时序之前,本公开实施例调试方法还包括:
通过先入先出FIFO原则缓存总线读写信息。
在一种示例性实例中,根据生成的总线时序对FPGA内部寄存器执行读写操作之后,将FPGA内部寄存器执行读写操作过程中读操作时获得的总线回读数据发送给上位机之前,本公开实施例调试方法还包括:
通过先入先出FIFO原则缓存总线回读数据。
本公开实施例总线读写信息包含以下一项或任意组合:读写类型、读写地址信息、以及读写类型为写操作时待写入的数据。
本公开实施例中的读写类型中可以包括:读操作和/或写操作;读写地址信息可以包括:读操作的地址和/或写操作的地址。
在一种示例性实例中,本公开实施例中的总线回读数据包括:总线的读地址和根据生成的读操作的总线时序从FPGA内部存储器读取的数据。
本公开实施例还提供一种现场可编程门阵列,包括如图1所示的串口转总线的装置。
以下通过应用示例对本公开实施例进行简要说明,应用示例仅用于陈述本公开实施例,并不用于限定本公开实施例的保护范围。
应用示例
以下以上位机为个人计算机(PC)为例,对本公开实施例方案进行示例说明,本公开实施例采用串口转总线的装置,可以在没有处理器的情况下,只需要通过串口总线与PC连接,通过PC上发送调试指令,实现对FPGA上的目标寄存器进行寻址访问,从而方便的访问FPGA设计逻辑中的内部信号量,对FPGA内部逻辑进行调试;在一种示例性实例中,PC与串口转总线的装置通过串口连接后,PC可以借助包括串口通信助手在内的工具或应用,发送上述调试指令。
本公开实施例实现FPGA调试方法,包括:
上位机按照预设格式编辑一个以上进行总线读写的调试指令;
上位机发送编辑的调试指令到串口转总线电路转换装置,串口转总线电路转换装置预先构建在FPGA上,调试指令中包含总线读写信息;上位机可以包括个人计算机(PC),PC可以通过借助串口助手在内的工具发送上述调试指令;
串口转总线的装置对接收的调试指令进行解析,获得总线读写信息;
串口转总线的装置根据获得的总线读写信息,生成操作FPGA内部寄存器的总线时序;
串口转总线的装置根据生成的总线时序,对FPGA内部寄存器执行读写操作;
串口转总线的装置对FPGA内部寄存器执行读写操作包括读操作时,将读操作的总线回读数据发送给上位机,以进行调试结果分析。
在一种示例性实例中,本公开实施例串口转总线的装置可以包括串口接收单元、串口发送单元、接收指令解析模块、回读指令组包模块、接收FIFO模块、发送FIFO模块和总线处理模块,串口接收模块和串口发送模块通过串口连接上位机;其中,
串口接收单元设置为:将上位机输入的调试指令通过串口(接收端口)接收的第一比特组合成字节,将组合的字节发送至接收指令解析模块;在一种示例性实例中,本公开实施例可以参照预设格式,例如参照串口总线协议设置调试指令的格式,将第一比特按照串口总线协议组合成字节;
接收指令解析模块设置为:解析来自串口接收单元的字节,获得字节中总线读写信息,总线读写信息包含以下一项或任意组合:读写类型、读写地址信息、以及读写类型为写操作时待写入的数据信息,将总线读写信息发送到接收先入先出FIFO模块中;
接收FIFO模块设置为:缓存接收到的来自接收指令解析模块的总线读写信息;
总线处理模块设置为:判断出接收FIFO模块缓存有总线读写信息时,提取出总线读写信息中包含的读写类型、读写地址信息以及读写类型为写操作时待写入的数据信息;根据提取的总线读写信息,按照预先确定的每一个总线读写信息对应的时序,生成FPGA内部总线的读写时序;当接收FIFO模块接收到总线读写信息的读写类型为读数据时,将总线回读数据送入发送FIFO模块,总线回读数据包括:总线读地址和根据生成的读写时序从FPGA内部存储器读取的数据;
发送FIFO模块设置为:缓存总线时序产生模块发送的总线回读数据;
回读指令组包模块设置为:将发送FIFO模块中缓存的总线回读数据组合为字节,并按字节组合顺序依次发送至串口发送单元;
串口发送单元设置为:将接收的直接按照接收顺序串化为第二比特,通过串口发送到上位机。
本公开实施例设计实现了一种低成本的FPGA的调试方法,无需额外占用硬件资源和仅占用部分FPGA逻辑资源;针对不支持通过JTAG抓取或者输入信号的FPGA芯片,只需通过串口将上位机与FPGA连接,借助串口助手发送调试指令,不需要额外的仪器或硬件支持,即可实现FPGA的调试,进而进行FPGA内部逻辑寄存器配置以及监测;通过上位机发送调试指令及在上位机上显示总线回读数据,本公开实施例可以观测并输入的大量的信号量,可以在FPGA运行的时候通过总线回读数据观测FPGA调试过程中涉及的关键信号的状态。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (10)

1.一种串口转总线的装置,其特征在于,构建在现场可编程门阵列FPGA上,包括:串口模块、接收指令解析模块、总线处理模块和回读指令组包模块;其中,
串口模块通过串口与上位机连接,设置为:将通过串口接收的来自上位机的第一比特组合为字节;将回读指令组包模块组合的字节组合为第二比特,并将获得的第二比特通过串口发送给上位机,以进行调试结果分析;
接收指令解析模块设置为:对串口接收模块组合的字节进行解析,获得总线读写信息;
总线处理模块设置为:根据接收指令解析模块获得的总线读写信息生成操作FPGA内部寄存器的总线时序;根据生成的总线时序对FPGA内部寄存器执行读写操作,其中,总线读写信息中的读写类型为读操作时,通过读操作获得总线回读数据;
回读指令组包模块设置为:将总线处理模块读操时获得的总线回读数据组合为字节;
其中,所述第一比特包括:所述上位机按照预设格式编辑的对所述FPGA内部寄存器进行总线读写的调试指令经过所述串口传输时输出的比特;所述总线读写信息包括对FPGA内部寄存器执行读写操作的相关信息。
2.根据权利要求1所述的装置,其特征在于,所述串口模块包括:串口接收单元和串口发送单元;其中,
所述串口接收单元设置为:将通过串口接收的所述第一比特组合为字节;
所述串口发送单元设置为:将所述回读指令组包模块组合的字节根据串口协议组合为第二比特,并将获得的第二比特通过串口发送给上位机。
3.根据权利要求2所述的装置,其特征在于,所述串口发送单元是设置为:按照组合所述字节的先后顺序,将所述回读指令组包模块组合的字节根据串口协议进行串化获得所述第二比特,将获得的所述第二比特通过串口发送给上位机。
4.根据权利要求1至3任一项所述的装置,其特征在于,所述接收指令解析模块和所述总线处理模块之间还包括接收先入先出FIFO模块;
接收FIFO模块设置为:缓存所述接收指令解析模块解析获得的所述总线读写信息;
所述总线处理模块是设置为:判断所述接收FIFO模块中缓存有所述总线读写信息时,提取出所述总线读写信息;根据提取的所述总线读写信息生成所述总线时序;根据所述总线时序对FPGA内部寄存器执行所述读写操作。
5.根据权利要求1至3任一项所述的装置,其特征在于,所述总线处理模块和所述回读指令组包模块之间包含发送FIFO模块,发送FIFO模块设置为:
对所述总线处理模块发送到回读指令组包模块的总线回读数据进行缓存。
6.根据权利要求1至3任一项所述的装置,其特征在于,所述总线读写信息包含以下一项或任意组合:读写类型、读写地址信息、以及读写类型为写操作时待写入的数据。
7.根据权利要求1至3任一项所述的装置,其特征在于,所述总线回读数据包括:总线的读地址和根据生成的读操作的总线时序从FPGA内部存储器读取的数据。
8.一种现场可编程门阵列的调试方法,其特征在于,包括:
上位机通过串口发送按照预设格式编辑的调试指令时,构建在现场可编程门阵列FPGA上的串口转总线的装置将通过串口输入的第一比特组合为字节;
对串口接收模块组合的字节进行解析,获得总线读写信息;
根据获得的总线读写信息生成操作FPGA内部寄存器的总线时序;
根据生成的总线时序对FPGA内部寄存器执行读写操作;
将FPGA内部寄存器在读写操作过程中,执行读操作时获得的总线回读数据发送给上位机,以进行调试结果分析;
其中,串口转总线的装置构建在FPGA上。
9.根据权利要求8所述的调试方法,其特征在于,所述总线读写信息包含以下一项或任意组合:读写类型、读写地址信息、以及读写类型为写操作时待写入的数据。
10.一种现场可编程门阵列,其特征在于,包括如权利要求1至7任一项所述的串口转总线的装置。
CN202311346464.3A 2023-10-17 2023-10-17 串口转总线的装置、现场可编程门阵列及其调试方法 Active CN117370257B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311346464.3A CN117370257B (zh) 2023-10-17 2023-10-17 串口转总线的装置、现场可编程门阵列及其调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311346464.3A CN117370257B (zh) 2023-10-17 2023-10-17 串口转总线的装置、现场可编程门阵列及其调试方法

Publications (2)

Publication Number Publication Date
CN117370257A true CN117370257A (zh) 2024-01-09
CN117370257B CN117370257B (zh) 2024-05-14

Family

ID=89396013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311346464.3A Active CN117370257B (zh) 2023-10-17 2023-10-17 串口转总线的装置、现场可编程门阵列及其调试方法

Country Status (1)

Country Link
CN (1) CN117370257B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455419A (zh) * 2013-08-09 2013-12-18 北京创毅讯联科技股份有限公司 现场可编程门阵列平台及其调试方法
CN105808396A (zh) * 2016-03-04 2016-07-27 浙江大华技术股份有限公司 一种芯片调试装置、调试方法及soc芯片系统
CN107505932A (zh) * 2017-08-17 2017-12-22 中国科学院光电技术研究所 一种基于串行通信的dsp远程调试装置及方法
CN110058147A (zh) * 2019-05-27 2019-07-26 眸芯科技(上海)有限公司 基于fpga的芯片测试系统及方法
CN110795382A (zh) * 2019-10-09 2020-02-14 广东高云半导体科技股份有限公司 一种基于fpga的通用异步收发传输器以及片上系统
CN114064458A (zh) * 2021-10-25 2022-02-18 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 接口可扩展的通用性的jtag调试方法及系统
CN115576752A (zh) * 2022-10-12 2023-01-06 苏州浪潮智能科技有限公司 共享串口识别方法、装置、计算机设备及存储介质
CN116361111A (zh) * 2023-03-15 2023-06-30 联想(北京)信息技术有限公司 一种数据获取方法、装置及电子设备
CN116610590A (zh) * 2023-07-17 2023-08-18 杭州芯正微电子有限公司 基于zynq平台实现多片fpga远程调试方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455419A (zh) * 2013-08-09 2013-12-18 北京创毅讯联科技股份有限公司 现场可编程门阵列平台及其调试方法
CN105808396A (zh) * 2016-03-04 2016-07-27 浙江大华技术股份有限公司 一种芯片调试装置、调试方法及soc芯片系统
CN107505932A (zh) * 2017-08-17 2017-12-22 中国科学院光电技术研究所 一种基于串行通信的dsp远程调试装置及方法
CN110058147A (zh) * 2019-05-27 2019-07-26 眸芯科技(上海)有限公司 基于fpga的芯片测试系统及方法
CN110795382A (zh) * 2019-10-09 2020-02-14 广东高云半导体科技股份有限公司 一种基于fpga的通用异步收发传输器以及片上系统
CN114064458A (zh) * 2021-10-25 2022-02-18 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 接口可扩展的通用性的jtag调试方法及系统
CN115576752A (zh) * 2022-10-12 2023-01-06 苏州浪潮智能科技有限公司 共享串口识别方法、装置、计算机设备及存储介质
CN116361111A (zh) * 2023-03-15 2023-06-30 联想(北京)信息技术有限公司 一种数据获取方法、装置及电子设备
CN116610590A (zh) * 2023-07-17 2023-08-18 杭州芯正微电子有限公司 基于zynq平台实现多片fpga远程调试方法及系统

Also Published As

Publication number Publication date
CN117370257B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
US8607174B2 (en) Verification module apparatus to serve as a prototype for functionally debugging an electronic design that exceeds the capacity of a single FPGA
US7353162B2 (en) Scalable reconfigurable prototyping system and method
CN110050441B (zh) 在故障情况下实时捕获流量以进行协议调试
US9032344B2 (en) Verification module apparatus for debugging software and timing of an embedded processor design that exceeds the capacity of a single FPGA
US7210059B2 (en) System and method for on-board diagnostics of memory modules
US6735747B2 (en) Pre-silicon verification path coverage
KR20190131445A (ko) 자동 테스팅 동안 디바이스 결함의 근본 원인을 식별하기 위한 트래픽 캡쳐 및 디버깅 툴
CN115202947A (zh) 基于调试接口的芯片测试向量生成方法
Gruwell et al. High-speed FPGA configuration and testing through JTAG
US20030233601A1 (en) Non-intrusive signal observation techniques usable for real-time internal signal capture for an electronic module or integrated circuit
US8769357B1 (en) System and method for evaluation of a field programmable gate array (FPGA)
CN111722968A (zh) 一种硬件调试方法、装置、系统及可读存储介质
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
CN116521468B (zh) 一种fpga在线调试方法及支持在线调试的fpga
US6311303B1 (en) Monitor port with selectable trace support
CN117370257B (zh) 串口转总线的装置、现场可编程门阵列及其调试方法
CN105183954B (zh) 一种基于pxi的串行总线健康监测平台
JP4094582B2 (ja) 可観測性についてhdlイベントを分析するシステムおよび方法
JP2004280426A (ja) 論理集積回路の内部信号トレース装置
US7185248B2 (en) Failure analysis system and failure analysis method of logic LSI
JP4736135B2 (ja) カード間通信を行う内部バス解析システム、その方法及びそのプログラム
CN115048327B (zh) 一种pcie转sata的桥接芯片
CN117452192A (zh) 信号抓取电路、波形校准方法、问题定位方法及装置
JP2016075493A (ja) 集積回路、集積回路のテスト装置及びテスト方法
CN114325357A (zh) 一种debug系统、方法、装置以及介质

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