CN117407234B - 一种基于vio的fpga实时调试系统和方法 - Google Patents
一种基于vio的fpga实时调试系统和方法 Download PDFInfo
- Publication number
- CN117407234B CN117407234B CN202311718556.XA CN202311718556A CN117407234B CN 117407234 B CN117407234 B CN 117407234B CN 202311718556 A CN202311718556 A CN 202311718556A CN 117407234 B CN117407234 B CN 117407234B
- Authority
- CN
- China
- Prior art keywords
- vio
- signal
- debugged
- module
- fpga chip
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012544 monitoring process Methods 0.000 claims abstract description 19
- 238000013461 design Methods 0.000 claims description 41
- 238000010586 diagram Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101100328519 Caenorhabditis elegans cnt-2 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种基于VIO的FPGA实时调试系统和方法,该系统包括参数配置模块、VIO IP模块和VIO调试器,其中,参数配置模块用于设置VIO IP模块的输入输出参数;VIO IP模块用于根据输入输出参数产生IP核,并在VIO调试器与待调试FPGA芯片之间进行数据的发送和接收;VIO调试器用于在驱动待调试FPGA芯片上的信号时,输入待驱动信号的值;在监控待调试FPGA芯片上的信号时,获得用户设计电路的信号值。本发明利用VIO IP模块模拟FPGA芯片端口,调试功能完全可以采用VIO IP模块完成,不占用FPGA芯片端口,节省了宝贵的FPGA芯片端口资源。
Description
技术领域
本发明属于FPGA实时调试技术领域,具体涉及一种基于VIO的FPGA实时调试系统和方法。
背景技术
FPGA(Field Programmable Gate Array,现场可编程门阵列)是在PAL(Programmable Array Logic,可编程阵列逻辑)、GAL(Generic Array Logic,通用阵列逻辑)、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)等可编程器件的基础上进一步发展的产物。它是作为ASIC( Application Specific Integrated Circuit,专用集成电路)领域中的一种半定制电路而出现的,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
随着FPGA技术的应用越来越广泛,也对电子系统可靠性提出了更高的要求,因此FPGA的易测试性显得尤为重要。一般要获得FPGA内部信号的实时运行状况是非常困难的,特别是FPGA封装和PCB(Printed Circuit Board,印刷电路板)电气噪声的存在,使得调试、检验成为整个电子系统设计中最困难的一个流程。
目前的FPGA调试方法包括:(1)示波器,目前存在两通道或四通道的示波器,也就是每次调试仅能够观察两个信号或四个信号,且示波器价格昂贵;(2)在线逻辑分析仪,如Altera的SignalTap II和Xilinx的ChipScopeTM ILA,这些模块插入FPGA设计中,这是最常用的调试手段,在线逻辑分析仪可以一次观察多个信号,但如果观察的信号需要按下开发板上的按键才能触发抓取信号,这时若开发板上没有设计按键,或者用户需要自己控制设计中的某些信号,这时在线逻辑分析仪就不能满足需求了。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于VIO的FPGA实时调试系统和方法。本发明要解决的技术问题通过以下技术方案实现:
本发明的一个方面提供了一种基于VIO的FPGA实时调试系统,包括参数配置模块、VIO IP模块和VIO调试器,其中,
所述参数配置模块用于设置所述VIO IP模块的输入输出参数;
所述VIO IP模块用于根据所述输入输出参数产生IP核,将用户设计电路下载至待调试FPGA芯片上,并在所述VIO调试器与所述待调试FPGA芯片之间进行数据的发送和接收;
所述VIO调试器用于在驱动所述待调试FPGA芯片上的信号时,输入待驱动信号的值;在监控所述待调试FPGA芯片上的信号时,获得所述VIO IP模块接收的用户设计电路的信号值;
所述VIO IP模块还用于在驱动所述待调试FPGA芯片上的信号时,将所述待驱动信号的值发送并赋值至所述待调试FPGA芯片中的待驱动信号。
在本发明的一个实施例中,所述参数配置模块包括输入界面,用于设置所述VIOIP模块的输入输出参数,所述输入输出参数包括所述VIO IP模块的输入端口个数、输入端口位宽、输出端口个数和输出端口位宽。
在本发明的一个实施例中,所述VIO IP模块包括输入寄存器、输出寄存器和JTAG单元,其中,
所述输入寄存器用于利用所述VIO IP模块的输入端口连接所述待调试FPGA芯片中待监控信号的输出引脚,并对所述待监控信号进行缓存;
所述输出寄存器用于利用所述VIO IP模块的输出端口连接所述待调试FPGA芯片中待驱动信号的输出引脚,并对所述待驱动信号进行缓存;
所述JTAG单元连接所述输入寄存器和所述输出寄存器,用于在监控所述待调试FPGA芯片上的信号时,将所述输入寄存器中缓存的所述待监控信号的用户设计信号值传递至所述VIO调试器进行显示;在驱动所述待调试FPGA芯片上的信号时,将所述VIO调试器中输入的信号驱动值暂存至所述输出寄存器中,随后赋值至用户设计电路中的待驱动信号。
在本发明的一个实施例中,所述VIO IP模块还包括IP核生成单元,用于根据所述输入输出参数产生IP核。
在本发明的一个实施例中,所述VIO IP模块还包括编译单元,所述编译单元用于将用户设计电路和所述IP核编译成二进制文件并下载至所述待调试FPGA芯片上。
在本发明的一个实施例中,所述VIO调试器包括显示界面,用于在驱动所述待调试FPGA芯片上的信号时,输入待驱动信号的值;在监控所述待调试FPGA芯片上的信号时,获得所述VIO IP模块接收的用户设计电路中待监控信号的值并进行显示。
本发明的另一方面提供了一种基于VIO的FPGA实时调试方法,利用上述实施例中任一项所述的FPGA实时调试系统执行,所述方法包括:
设置VIO IP模块的输入输出参数;
根据所述输入输出参数产生IP核,将用户设计电路下载至待调试FPGA芯片上;
在驱动所述待调试FPGA芯片上的信号时,利用所述VIO IP模块的输入端口连接待调试FPGA芯片的待监控信号的输出引脚,并对所述待监控信号进行缓存;在监控所述待调试FPGA芯片上的信号时,利用所述VIO IP模块的输出端口连接待调试FPGA芯片的待驱动信号的输出引脚,并对所述待驱动信号进行缓存;
利用VIO调试器对所述待调试FPGA芯片中的待驱动信号进行赋值,以及显示所述待调试FPGA芯片中待监控信号的用户设计信号值。
在本发明的一个实施例中,设置VIO IP模块的输入输出参数,包括:
通过输入界面设置所述VIO IP模块的输入输出参数,所述输入输出参数包括所述VIO IP模块的输入端口个数、输入端口位宽、输出端口个数和输出端口位宽。
在本发明的一个实施例中,利用VIO调试器对所述待调试FPGA芯片中的待驱动信号进行赋值,以及显示所述待调试FPGA芯片中待监控信号的用户设计信号值,包括:
在驱动所述待调试FPGA芯片上的信号时,利用VIO调试器输入待驱动信号的信号驱动值,并利用VIO IP模块将所述信号驱动值发送并赋值至所述待调试FPGA芯片中的待驱动信号;在监控所述待调试FPGA芯片上的信号时,将所述VIO IP模块中缓存的所述待监控信号的用户设计信号值传递至所述VIO调试器进行显示。
与现有技术相比,本发明的有益效果有:
1、本发明提供了一种基于VIO的FPGA实时调试系统和方法,利用VIO IP模块模拟FPGA芯片端口,也就是说,FPGA芯片端口的调试功能完全可以用VIO IP模块来完成,不占用FPGA芯片端口。由于FPGA专用于调试的端口非常少,这样节省了宝贵的FPGA芯片的端口资源。
2、本发明基于VIO的FPGA实时调试系统可以一次性调试多个用户设计信号。本发明的VIO IP模块支持最大输入端口数为64,每个端口最大位宽为256;支持最大输出端口数为64,每个输出端口最大位宽为256,因此VIO IP模块每次调试的输入信号和输出信号最大数为:64256=16384。
3、本发明基于VIO的FPGA实时调试系统简单易用,采用界面形式,直观操作,且无需考虑FPGA开发板上是否有按键、LED灯之类的外设。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种基于VIO的FPGA实时调试系统的模块图;
图2是本发明实施例提供的参数配置模块的一种输入界面示意图;
图3是本发明实施例提供的参数配置模块的另一种输入界面示意图;
图4是本发明实施例提供的参数配置模块的又一种输入界面示意图;
图5是本发明实施例提供的一种VIO IP模块的结构示意图;
图6是本发明实施例提供的一种VIO调试器的界面显示示意图;
图7是本发明实施例提供的一种基于VIO的FPGA实时调试方法的流程图。
具体实施方式
为了进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及具体实施方式,对依据本发明提出的一种基于VIO的FPGA实时调试方法进行详细说明。
有关本发明的前述及其他技术内容、特点及功效,在以下配合附图的具体实施方式详细说明中即可清楚地呈现。通过具体实施方式的说明,可对本发明为达成预定目的所采取的技术手段及功效进行更加深入且具体地了解,然而所附附图仅是提供参考与说明之用,并非用来对本发明的技术方案加以限制。
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
实施例一
请参见图1,图1是本发明实施例提供的一种基于VIO(Virtual Input/Output,虚拟输入输出)的FPGA实时调试系统的模块图。该基于VIO的FPGA实时调试系统包括参数配置模块、VIO IP(Intellectual Property,知识产权)模块和VIO调试器。参数配置模块用于设置VIO IP模块的输入输出参数,本实施例的参数配置模块包括一个输入界面,用于用户手动设置VIO IP模块的输入输出参数的值,随后将这些输入输出参数的值保存至一个参数配置文件中。该输入输出参数包括VIO IP模块的输入端口个数、输入端口位宽、输出端口个数和输出端口位宽。换句话说,该参数配置模块采用界面形式,灵活配置VIO IP的输入输出端口的个数及位宽,这些参数的数值均是在参数配置模块的输入界面中由用户配置的,用户可以根据实际需求,考虑这些参数的具体数值。在该输入界面中,用户输入端口个数、位宽等参数,点击输入界面上的确定按钮,配置的这些参数值将会保存至一个参数配置文件中。请参见图2至图4,图2体现了输入端口个数和输出端口个数的输入界面,可以看出,此时设置的输入端口个数为3,输出端口个数为1;图3体现了输入端口位宽的输入界面,可以看出,此时设置的3个输入端口位宽分别为27、3、3;图4体现了输出端口位宽的输入界面,可以看出,此时设置的输出端口位宽为4。
进一步地,VIO IP模块用于根据输入输出参数产生IP核,将用户设计电路下载至待调试FPGA芯片上,并在VIO调试器与待调试FPGA芯片之间进行数据的发送和接收。
请参见图5,图5是本发明实施例提供的一种VIO IP模块的结构示意图。本实施例的VIO IP模块包括输入寄存器、输出寄存器和JTAG(Joint Test Action Group,联合测试工作组)单元,其中,输入寄存器用于利用连接VIO IP模块的输入端口连接待调试FPGA芯片中待监控信号的输出引脚,并对待监控信号进行缓存;输出寄存器用于利用连接VIO IP模块的输出端口连接待调试FPGA芯片中待驱动信号的输出引脚,并对待驱动信号进行缓存;JTAG单元连接输入寄存器和输出寄存器,用于在监控待调试FPGA芯片上的信号时,将输入寄存器中缓存的待监控信号的用户设计信号值传递至VIO调试器进行显示;在驱动待调试FPGA芯片上的信号时,用于将VIO调试器中输入的信号驱动值暂存至输出寄存器中,随后赋值至用户设计电路中的待驱动信号。
进一步地,该VIO IP模块还包括IP核生成单元,用于根据输入输出参数产生IP核。该VIO IP模块还包括编译单元,编译单元用于将用户设计电路和IP核编译成二进制文件并下载至待调试FPGA芯片上。该VIO IP模块还包括时钟端口,输入时钟信号,用于控制输入寄存器、输出寄存器和JTAG单元的执行时序。
如图5所示,port_in(0,1…63)为VIO IP模块的输入端口,连接待调试FPGA芯片中待监控信号的输出引脚,用于在监控待调试FPGA芯片上的信号时接收待监控信号的用户设计信号值;port_out(0,1…63)为VIO IP模块的输出端口,连接待调试FPGA芯片中待驱动信号的输出引脚,用于在驱动待调试FPGA芯片上的信号时,接收VIO调试器中输入的信号驱动值。
需要说明的是,本发明的VIO支持最大输入端口数为64,每个端口最大位宽为256;支持最大输出端口数为64,每个输出端口最大位宽为256,因此VIO每次调试的输入信号和输出信号最大数均为:64256=16384。
输入端口和输出端口的使用个数由用户在参数定制界面中自行定义,例如,用户设置的输入端口个数为2,则会在VIO IP模块中使用port_in0、 port_in1两个端口,这两个端口用来输入待监控信号的用户设计信号值;同理,port_out也是由用户在参数定制界面中自行定义,例如,用户设置的端口个数为1,则在VIO IP模块中使用port_out0,用来接收VIO调试器中输入的信号驱动值。输入寄存器和输出寄存器用于缓存信号;JTAG单元用于完成信号通信,当监控待调试FPGA芯片上的信号时,将输入寄存器中缓存的用户设计信号值传递至VIO调试器的界面中进行显示;当驱动待调试FPGA芯片上的信号时,JTAG单元将VIO调试器中输入的信号驱动值暂存至输出寄存器中,然后赋值至用户设计电路中的待驱动信号。
进一步地,VIO调试器包括显示界面,用于在驱动待调试FPGA芯片上的信号时,输入待驱动信号的值;在监控待调试FPGA芯片上的信号时,获得VIO IP模块接收的用户设计电路中待监控信号的值并进行显示。
具体的,请参见图6,图6是本发明实施例提供的一种VIO调试器的界面显示示意图。本实施例的VIO调试器采用界面形式,显示待监控信号的用户设计信号值和待驱动信号的重定义的值。在该界面中会列出用户操作的所有信号,包括待驱动信号和待监控信号。
在实际中,在监控待调试FPGA芯片上的信号时,利用VIO IP模块的输入端口连接待调试FPGA芯片的待监控信号的输出引脚,获得待监控信号的用户设计信号值并传递至VIO调试器进行显示,随后用户观察该用户设计信号值,判断这个值是否符合预期,若和预期不同,则检查用户设计代码是否存在错误;在驱动待调试FPGA芯片上的信号时,利用VIO调试器输入待驱动信号的信号驱动值,并利用VIO IP模块将该信号驱动值发送并赋值至待调试FPGA芯片中的待驱动信号,并且该待驱动信号执行正确的操作,例如,假设当信号a计数到1000时,点亮开发板上的led灯。编译该功能,然后下载到待调试FPGA芯片后,在VIO调试器界面上,为信号a赋值1000,然后观察开发板上的led灯是否点亮。
示例性地,如图6所示,在驱动待调试FPGA芯片上的信号时,通过VIO调试器的界面给待调试FPGA芯片上的输出信号赋值,比如给信号名为key_in的信号赋值为7,界面上的值7被程序获得,然后传递至VIO IP模块,VIO IP模块接收到该值后,将该值发送至输出寄存器中进行暂存,随后将暂存的值(数据)通过输出端口(port_out0)传给用户设计(待调试FPGA芯片)中key_in信号。这样使得用户设计中的key_in信号的值为7。
在监控待调试FPGA芯片上的信号时,用户设计中的信号cnt、led_out、cnt2的引脚连接VIO IP模块的输入端口,因此这三个信号的值传输至VIO IP模块的输入寄存器中进行暂存,然后JTAG单元收到暂存的值后进行输出,VIO调试器接收到值后,把该值在界面上显示出来。
本发明实施例提供了一种基于VIO的FPGA实时调试系统,利用VIO IP模块模拟FPGA芯片端口,也就是说,FPGA芯片端口的调试功能完全可以用VIO IP模块来完成,不占用FPGA芯片端口。由于FPGA专用于调试的端口非常少,这样节省了FPGA芯片端口的宝贵资源。该FPGA实时调试系统简单易用,采用界面形式,直观操作,且无需考虑FPGA开发板上是否有按键、LED灯之类的外设。
实施例二
在实施例一的基础上,本实施例提供了一种基于VIO的FPGA实时调试方法,如图7所示,该方法包括:
S1:设置VIO IP模块的输入输出参数。
具体地,通过输入界面设置VIO IP模块的输入输出参数的值,将这些输入输出参数的值保存到一个参数配置文件中,输入输出参数包括VIO IP模块的输入端口个数、输入端口位宽、输出端口个数和输出端口位宽。
S2:根据输入输出参数产生IP核,将用户设计电路下载至待调试FPGA芯片上。
S3:在驱动待调试FPGA芯片上的信号时,利用VIO IP模块的输入端口连接待调试FPGA芯片的待监控信号的输出引脚,并对待监控信号进行缓存;在监控待调试FPGA芯片上的信号时,利用VIO IP模块的输出端口连接待调试FPGA芯片的待驱动信号的输出引脚,并对待驱动信号进行缓存。
S4:利用VIO调试器对待调试FPGA芯片中的待驱动信号进行赋值,以及显示待调试FPGA芯片中待监控信号的用户设计信号值。
具体地,在驱动所述待调试FPGA芯片上的信号时,利用VIO调试器输入待驱动信号的信号驱动值,并利用VIO IP模块将所述信号驱动值发送并赋值至所述待调试FPGA芯片中的待驱动信号;在监控所述待调试FPGA芯片上的信号时,将所述VIO IP模块中缓存的所述待监控信号的用户设计信号值传递至所述VIO调试器进行显示。
本实施例基于VIO的FPGA实时调试方法可以一次性调试多个用户设计信号。
在本发明所提供的几个实施例中,应该理解到,本发明所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1. 一种基于VIO的FPGA实时调试系统,其特征在于,包括参数配置模块、VIO IP模块和VIO调试器,其中,
所述参数配置模块用于设置所述VIO IP模块的输入输出参数;
所述VIO IP模块用于根据所述输入输出参数产生IP核,将用户设计电路下载至待调试FPGA芯片上,并在所述VIO调试器与所述待调试FPGA芯片之间进行数据的发送和接收;
所述VIO调试器用于在驱动所述待调试FPGA芯片上的信号时,输入待驱动信号的值;在监控所述待调试FPGA芯片上的信号时,获得所述VIO IP模块接收的用户设计电路的信号值;
所述VIO IP模块还用于在驱动所述待调试FPGA芯片上的信号时,将所述待驱动信号的值发送并赋值至所述待调试FPGA芯片中的待驱动信号。
2. 根据权利要求1所述的基于VIO的FPGA实时调试系统,其特征在于,所述参数配置模块包括输入界面,用于设置所述VIO IP模块的输入输出参数,所述输入输出参数包括所述VIO IP模块的输入端口个数、输入端口位宽、输出端口个数和输出端口位宽。
3. 根据权利要求2所述的基于VIO的FPGA实时调试系统,其特征在于,所述VIO IP模块包括输入寄存器、输出寄存器和JTAG单元,其中,
所述输入寄存器用于利用所述VIO IP模块的输入端口连接所述待调试FPGA芯片中待监控信号的输出引脚,并对所述待监控信号进行缓存;
所述输出寄存器用于利用所述VIO IP模块的输出端口连接所述待调试FPGA芯片中待驱动信号的输出引脚,并对所述待驱动信号进行缓存;
所述JTAG单元连接所述输入寄存器和所述输出寄存器,用于在监控所述待调试FPGA芯片上的信号时,将所述输入寄存器中缓存的所述待监控信号的用户设计信号值传递至所述VIO调试器进行显示;在驱动所述待调试FPGA芯片上的信号时,将所述VIO调试器中输入的信号驱动值暂存至所述输出寄存器中,随后赋值至用户设计电路中的待驱动信号。
4. 根据权利要求1所述的基于VIO的FPGA实时调试系统,其特征在于,所述VIO IP模块还包括IP核生成单元,用于根据所述输入输出参数产生IP核。
5. 根据权利要求4所述的基于VIO的FPGA实时调试系统,其特征在于,所述VIO IP模块还包括编译单元,所述编译单元用于将用户设计电路和所述IP核编译成二进制文件并下载至所述待调试FPGA芯片上。
6. 根据权利要求1所述的基于VIO的FPGA实时调试系统,其特征在于,所述VIO调试器包括显示界面,用于在驱动所述待调试FPGA芯片上的信号时,输入待驱动信号的值;在监控所述待调试FPGA芯片上的信号时,获得所述VIO IP模块接收的用户设计电路中待监控信号的值并进行显示。
7.一种基于VIO的FPGA实时调试方法,其特征在于,利用权利要求1至6中任一项所述的FPGA实时调试系统执行,所述方法包括:
设置VIO IP模块的输入输出参数;
根据所述输入输出参数产生IP核,将用户设计电路下载至待调试FPGA芯片上;
在驱动所述待调试FPGA芯片上的信号时,利用所述VIO IP模块的输入端口连接待调试FPGA芯片的待监控信号的输出引脚,并对所述待监控信号进行缓存;在监控所述待调试FPGA芯片上的信号时,利用所述VIO IP模块的输出端口连接待调试FPGA芯片的待驱动信号的输出引脚,并对所述待驱动信号进行缓存;
利用VIO调试器对所述待调试FPGA芯片中的待驱动信号进行赋值,以及显示所述待调试FPGA芯片中待监控信号的用户设计信号值。
8. 根据权利要求7所述的基于VIO的FPGA实时调试方法,其特征在于,设置VIO IP模块的输入输出参数,包括:
通过输入界面设置所述VIO IP模块的输入输出参数,所述输入输出参数包括所述VIOIP模块的输入端口个数、输入端口位宽、输出端口个数和输出端口位宽。
9.根据权利要求7或8所述的基于VIO的FPGA实时调试方法,其特征在于,利用VIO调试器对所述待调试FPGA芯片中的待驱动信号进行赋值,以及显示所述待调试FPGA芯片中待监控信号的用户设计信号值,包括:
在驱动所述待调试FPGA芯片上的信号时,利用VIO调试器输入待驱动信号的信号驱动值,并利用VIO IP模块将所述信号驱动值发送并赋值至所述待调试FPGA芯片中的待驱动信号;在监控所述待调试FPGA芯片上的信号时,将所述VIO IP模块中缓存的所述待监控信号的用户设计信号值传递至所述VIO调试器进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311718556.XA CN117407234B (zh) | 2023-12-14 | 2023-12-14 | 一种基于vio的fpga实时调试系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311718556.XA CN117407234B (zh) | 2023-12-14 | 2023-12-14 | 一种基于vio的fpga实时调试系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407234A CN117407234A (zh) | 2024-01-16 |
CN117407234B true CN117407234B (zh) | 2024-03-19 |
Family
ID=89494819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311718556.XA Active CN117407234B (zh) | 2023-12-14 | 2023-12-14 | 一种基于vio的fpga实时调试系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407234B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010038205A (ko) * | 1999-10-22 | 2001-05-15 | 정선종 | 내장형 실시간 소프트웨어의 원격 디버깅을 위한 디버그 에이전트 장치 및 그 운용 방법 |
US7085706B1 (en) * | 2003-01-14 | 2006-08-01 | Xilinx, Inc. | Systems and methods of utilizing virtual input and output modules in a programmable logic device |
CN104050068A (zh) * | 2014-05-23 | 2014-09-17 | 北京兆易创新科技股份有限公司 | 在mcu芯片中调试fpga的方法和装置 |
CN109739705A (zh) * | 2018-12-29 | 2019-05-10 | 西安智多晶微电子有限公司 | 一种fpga片上实时调试系统及方法 |
CN114064458A (zh) * | 2021-10-25 | 2022-02-18 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 接口可扩展的通用性的jtag调试方法及系统 |
CN114625592A (zh) * | 2022-03-28 | 2022-06-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种fpga原型验证快速调试的方法、系统、设备和存储介质 |
CN116629171A (zh) * | 2023-05-15 | 2023-08-22 | 京微齐力(北京)科技股份有限公司 | 一种基于综合网表的fpga芯片调试方法及装置 |
-
2023
- 2023-12-14 CN CN202311718556.XA patent/CN117407234B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010038205A (ko) * | 1999-10-22 | 2001-05-15 | 정선종 | 내장형 실시간 소프트웨어의 원격 디버깅을 위한 디버그 에이전트 장치 및 그 운용 방법 |
US7085706B1 (en) * | 2003-01-14 | 2006-08-01 | Xilinx, Inc. | Systems and methods of utilizing virtual input and output modules in a programmable logic device |
CN104050068A (zh) * | 2014-05-23 | 2014-09-17 | 北京兆易创新科技股份有限公司 | 在mcu芯片中调试fpga的方法和装置 |
CN109739705A (zh) * | 2018-12-29 | 2019-05-10 | 西安智多晶微电子有限公司 | 一种fpga片上实时调试系统及方法 |
CN114064458A (zh) * | 2021-10-25 | 2022-02-18 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 接口可扩展的通用性的jtag调试方法及系统 |
CN114625592A (zh) * | 2022-03-28 | 2022-06-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种fpga原型验证快速调试的方法、系统、设备和存储介质 |
CN116629171A (zh) * | 2023-05-15 | 2023-08-22 | 京微齐力(北京)科技股份有限公司 | 一种基于综合网表的fpga芯片调试方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于EP3C40的FPGA最小系统设计和实现;鲁睿其;;船电技术;20180115(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117407234A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guccione et al. | JBits: A Java-based interface for reconfigurable computing | |
CA2354248C (en) | Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits | |
Ko et al. | Resource-efficient programmable trigger units for post-silicon validation | |
US6571370B2 (en) | Method and system for design verification of electronic circuits | |
US6802026B1 (en) | Parameterizable and reconfigurable debugger core generators | |
US8607174B2 (en) | Verification module apparatus to serve as a prototype for functionally debugging an electronic design that exceeds the capacity of a single FPGA | |
CN1818912A (zh) | 可扩展可重配置的原型系统及方法 | |
US7185293B1 (en) | Universal hardware device and method and tools for use therewith | |
WO2010016857A1 (en) | Trigger circuits and event counters for an ic | |
US7577876B2 (en) | Debug system for data tracking | |
JPH1091472A (ja) | 集積回路内部の信号にアクセスするための方法及び装置 | |
US8214701B1 (en) | Hardware and software debugging | |
JPH0618635A (ja) | モデルのパターンマッチングに基づくプリント回路基板のための機能テストの生成方法 | |
CN111970166B (zh) | 一种测试方法、装置、设备、系统及计算机可读存储介质 | |
CN103645435A (zh) | 多信号模型可编程逻辑器件的软件模块可测性设计方法 | |
CN117407234B (zh) | 一种基于vio的fpga实时调试系统和方法 | |
US7036046B2 (en) | PLD debugging hub | |
CN110988662B (zh) | 一种基于fpga原型验证开发板的信号调试系统及方法 | |
CN114995792B (zh) | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 | |
CN111722968A (zh) | 一种硬件调试方法、装置、系统及可读存储介质 | |
CN116306474A (zh) | 一种片上网络的通路验证方法、装置、设备、存储介质 | |
US6973607B2 (en) | Method and apparatus for testing electronic components | |
CN108802600A (zh) | 一种基于fpga的集成电路验证系统及方法 | |
JP2004280426A (ja) | 論理集積回路の内部信号トレース装置 | |
CN106650006B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |