CN107481595A - Fpga实验板调试系统 - Google Patents
Fpga实验板调试系统 Download PDFInfo
- Publication number
- CN107481595A CN107481595A CN201610404718.6A CN201610404718A CN107481595A CN 107481595 A CN107481595 A CN 107481595A CN 201610404718 A CN201610404718 A CN 201610404718A CN 107481595 A CN107481595 A CN 107481595A
- Authority
- CN
- China
- Prior art keywords
- fpga
- debugging
- unit
- input
- debugged
- 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
Links
- 238000000034 method Methods 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 17
- 238000002474 experimental method Methods 0.000 description 25
- 238000012795 verification Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 238000004088 simulation Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B23/00—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
- G09B23/06—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics
- G09B23/18—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism
- G09B23/183—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits
- G09B23/186—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits for digital electronics; for computers, e.g. microprocessors
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Theoretical Computer Science (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种FPGA实验板调试系统。包括安装在同一块印制电路板PCB板上的FPGA芯片、输入单元和屏幕输出单元;FPGA芯片在PCB板内分别与屏幕输出单元和输入单元电连接;上述的系统还包括:调试调用单元;调试调用单元在PCB板内分别与FPGA待调试电路和屏幕输出单元电连接;具体的,上述的FPGA芯片用于加载FPGA待调试电路;上述的调试调用单元用于向FPGA待调试电路发送控制信号,以及采集FPGA待调试电路运行控制信号后产生的内部数据,并将采集的内部数据发送至屏幕输出单元;FPGA待调试电路,用于根据控制信号运行。通过上述系统无需通过外部设备而实现调试,可直接使用FPGA实验板进行调试。
Description
技术领域
本发明涉及数字集成电路技术,尤其涉及一种FPGA实验板调试系统。
背景技术
随着集成电路工艺的不断提高,现场可编程门阵列(Field–ProgrammableGate Array,简称为:FPGA)作为专用集成电路(Application-Specific IntegratedCircuit,简称为:ASIC)领域中的一种半定制电路而出现,FPGA的逻辑块和连接可以按照使用者的需要而改变,所以FPGA可以完成所需要的逻辑功能。
在FPGA教学系统中,会先使用硬件编程语言(verilog或VHDL)设计电路代码,并经过简单的综合与布局,然后烧录到FPGA实验板上验证和调试。在实际教学中,完成电路代码编写后,往往只能停留在软件仿真阶段。上板验证和调试手段比较薄弱,最多是将电路代码加载到FPGA实验板后,将FPGA实验板通过JTAG线缆连接至装有JTAG调试软件的电脑,再通过在电脑上仿真的方式利用软件对烧录到FPGA实验板上的设计电路进行验证和调试。
通过上述方式对FPGA实验板上的设计电路进行验证和调试时,需要借助电脑,并安装专业的调试软件等来完成验证和调试的过程,由此导致验证和调试的过程比较繁琐,实现代价大,并且只能通过电脑仿真方式模拟出FPGA实验板上的情况,无法进行独立有效上板调试验证等技术问题。
发明内容
本发明实施例提供一种FPGA实验板调试系统,以克服现有技术中需要借助电脑和调试软件等来完成验证和调试的过程,导致调试过程繁琐、实现代价大,仍旧停留在仿真阶段,无法独立有效完成调试验证的问题。
本发明提供一种FPGA实验板调试系统,包括:安装在同一块印制电路板PCB板上的现场可编程门阵列FPGA芯片、输入单元和屏幕输出单元;所述FPGA芯片在所述PCB板内分别与所述屏幕输出单元和所述输入单元电连接;
所述系统还包括:调试调用单元;所述调试调用单元在所述PCB板内分别与FPGA待调试电路和所述屏幕输出单元电连接;
所述FPGA芯片,用于加载所述FPGA待调试电路;
所述调试调用单元,用于向所述FPGA待调试电路发送控制信号,以及采集所述FPGA待调试电路运行所述控制信号后产生的内部数据,并将采集的所述内部数据发送至所述屏幕输出单元;
所述FPGA待调试电路,用于根据所述控制信号运行;
所述屏幕输出单元,用于显示所述内部数据。
可选的,所述输入单元为矩阵键盘,所述屏幕输出单元为显示屏幕;或者,
所述输入单元和所述屏幕输出单元为兼具输入和输出功能的触摸显示屏。
可选的,所述调试调用单元还与所述输入单元连接,用于接收所述输入单元发送的输入信号;
所述调试调用单元用于向所述FPGA待调试电路发送控制信号,具体为:所述调试调用单元用于接收所述矩阵键盘输入的输入信号,并根据键盘识别代码将所述矩阵键盘输入的输入信号转换为对应的控制信号发送至所述FPGA待调试电路,其中,所述调试调用单元中加载有识别所述矩阵键盘输入的键盘识别代码;
或,
所述调试调用单元用于接收所述触摸显示屏输入的输入信号,并根据屏幕识别代码将所述触摸显示屏输入的输入信号转换为对应的控制信号发送至所述FPGA待调试电路,其中,所述调试调用单元中加载有识别所述触摸显示屏输入的屏幕识别代码。
可选的,所述输入信号为32位的二进制数据。
可选的,所述输入信号为断点调试指令,所述断点调试指令中包括断点参数值;
所述断点调试指令,用于指示所述FPGA待调试电路在所述控制信号运行过程中运行至所述断点参数值所指向的指令时,停止运行。
可选的,所述屏幕输出单元还用于显示所述输入信号。
可选的,所述调试调用单元用于采集所述FPGA待调试电路运行所述控制信号后产生的内部数据,并将采集的所述内部数据发送给屏幕输出单元,包括:
所述调试调用单元确定与所述内部数据对应的输出信号,并将所述输出信号发送至所述屏幕输出单元;
所述屏幕输出单元显示所述内部数据,包括:
所述屏幕输出单元根据所述输出信号显示与所述输出信号对应的数据。
可选的,所述调试调用单元为采用硬件编程语言编写的硬件电路模块。
可选的,所述调试调用单元被加载至所述FPGA芯片中;
其中,所述调试调用单元是与所述FPGA待调试电路结合后被加载至所述FPGA芯片中的。
可选的,所述系统还包括控制器,所述控制器分别与所述FPGA芯片、所述输入单元和所述屏幕输出单元电连接;所述调试调用单元被加载至所述控制器中。
本实施例提供的FPGA实验板调试系统,包括安装在同一块印制电路板PCB板上的现场可编程门阵列FPGA芯片、输入单元和屏幕输出单元;FPGA芯片在PCB板内分别与屏幕输出单元和输入单元电连接;进一步的,上述的系统还包括:调试调用单元;调试调用单元在PCB板内分别与FPGA待调试电路和屏幕输出单元电连接;具体的,上述的FPGA芯片,用于加载FPGA待调试电路;上述的调试调用单元,用于向FPGA待调试电路发送控制信号,以及采集FPGA待调试电路运行控制信号后产生的内部数据,并将采集的内部数据发送至屏幕输出单元;FPGA待调试电路,用于根据控制信号运行。其中,调试调用单元可以采集FPGA待调试电路运行过程中产生的内部数据,并将采集到的内部数据发送给屏幕显示单元,以使屏幕显示单元显示FPGA采集的内部数据,从而可以让使用者直接在PCB板上直观的看到自己设计的FPGA电路的调试结果,而无需通过外部设备便可实现对自己设计的FPGA电路进行调试,简化了调试的过程所需的资源配置和操作过程,同时,由于脱离了调试用的仿真软件,进而取得了可以对FPGA电路的有效调试和验证,提高教学效果的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例提供的FPGA实验板调试系统的结构示意图一;
图2所示为本发明实施例提供的FPGA实验板调试系统的结构示意图二;
图3所示为屏幕显示单元显示示意图;
图4所示为本发明实施例提供的FPGA实验板调试系统的结构示意图三;
图5所示为本发明实施例提供的FPGA实验板调试系统的结构示意图四。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1所示为本发明实施例提供的FPGA实验板调试系统的结构示意图一,如图1所示,本实施例提供的系统包括:安装在同一块印制电路板PCB板上的现场可编程门阵列FPGA芯片2、输入单元1和屏幕输出单元3;FPGA芯片2在PCB板内分别与屏幕输出单元3和输入单元1电连接;
进一步的,图2所示为本发明实施例提供的FPGA实验板调试系统的结构示意图二,如图2所示,在图1的基础上,上述的系统还包括:调试调用单元4;调试调用单元4在PCB板内分别与FPGA待调试电路5和屏幕输出单元3电连接;
具体的,上述的FPGA芯片2,用于加载FPGA待调试电路5;
上述的调试调用单元4,用于向FPGA待调试电路5发送控制信号,以及采集FPGA待调试电路5运行控制信号后产生的内部数据,并将采集的内部数据发送至屏幕输出单元3;
FPGA待调试电路5,用于根据控制信号运行;
屏幕输出单元3,用于显示内部数据。
本实施例提供的FPGA实验板调试系统,包括安装在同一块印制电路板PCB板上的现场可编程门阵列FPGA芯片、输入单元和屏幕输出单元;FPGA芯片在PCB板内分别与屏幕输出单元和输入单元电连接;进一步的,上述的系统还包括:调试调用单元;调试调用单元在PCB板内分别与FPGA待调试电路和屏幕输出单元电连接;具体的,上述的FPGA芯片,用于加载FPGA待调试电路;上述的调试调用单元,用于向FPGA待调试电路发送控制信号,以及采集FPGA待调试电路运行控制信号后产生的内部数据,并将采集的内部数据发送至屏幕输出单元;FPGA待调试电路,用于根据控制信号运行。
其中,调试调用单元可以采集FPGA待调试电路运行过程中产生的内部数据,并将采集到的内部数据发送给屏幕显示单元,以使屏幕显示单元显示FPGA采集的内部数据,从而可以让使用者直接在PCB板上直观的看到自己设计的FPGA电路的调试结果,而无需通过外部设备便可实现对自己设计的FPGA电路进行调试,简化了调试的过程所需的资源配置和操作过程,同时,由于脱离了调试用的仿真软件,进而取得了可以对FPGA电路的有效调试和验证,提高教学效果的技术效果。
本发明中的FPGA实验板调试系统在使用时必须要有相应的调试调用单元配合,调试调用单元可能为硬件编程语言(如verilog)编写的硬件电路模块,也有可能为实验板上固化的硬件实现的小控制器(如一个CPU核加上软件代码组成)。调试调用单元从输入单元获取输入信号传输到FPGA实验板上加载的FPGA待调试电路,并获取FPGA待调试电路的内部状态和数据输出到屏幕输出单元上进行显示。如此达到使用单一的FPGA实验板便可达到调试验证的作用,且该系统不需要通过线缆连接电脑,达到脱离电脑的独立调试效果。且可以提供易用、友好的调试验证界面。
其中,所谓FPGA实验板上的调试验证是指,在利用FPGA做实验时,会先使用硬件编程语言(往往是verilog)写出设计电路的代码,随后对该代码使用软件进行仿真(软件模拟),最后再烧录到FPGA板上验证(确认功能正确)和调试(有错误,确认错误在哪)。
当使用者通过硬件编程语言设计好FPGA电路后,以该FPGA电路为FPGA待调试电路5,并将该FPGA待调试电路5加载至FPGA芯片2中,以完成该FPGA待调试电路5的验证和调试,在FPGA待调试电路5运行的过程中,会产生一些内部数据,此时,因为是在对该FPGA待调试电路5执行验证和调试的过程,所以本发明中的调试调用单元4会去采集FPGA待调试电路5运行过程中产生的内部数据,并将采集的内部数据发送至同一PCB板上的屏幕输出单元3,当屏幕输出单元3接收到调试调用单元4发送的内部数据后,便在屏幕上显示该内部数据,以让使用者看到自己设计的FPGA电路的功能是否实现。
值得注意的是,上述的内部数据为使用者所感兴趣的需要观察的FPGA待调试电路5里的信号,这些信号为FPGA待调试电路5里的状态机的当前状态,内部寄存器里锁存的值,或内部寄存器里锁存的值经过一级或多级逻辑门运算后的值。
也即,上述的屏幕输出单元3可以具体显示出采集的内部数据,提供很友好的观察界面,且对采集的内部数据的大小无限制。
优选的,上述采集的内部数据为多位二进制的数,上述的屏幕输出单元3显示的为与采集到的多位二进制的数对应的M进制的数,其中M同样为大于等于1的正整数。
而现有技术通常是将FPGA实验板通过JTAG线缆连接至装有JTAG调试软件的电脑,再通过在电脑上仿真的方式对烧录到FPGA实验板上的设计电路进行验证和调试,再通过在电脑上的软件对烧录到FPGA实验板上的设计电路进行验证和调试。通过上述方式对FPGA实验板上的设计电路进行验证和调试时,需要在电脑上安装专业的调试软件,且最终的调试结果以波形的形式体现。
由于最终显示的波形只有具有较强专业知识的人才能看懂,一般使用者利用FPGA实验板做实验并进行调试时,由于缺少专业知识,无法很清楚的通过波形明白调试的结果,也即,调试软件无法直观的展现以硬件编程语言设计的电路是否达到了所需的功能。而本发明中会将采集到的内部数据显示为使用者可以明白看清楚的M进制的数据,从而可以让使用者更加清楚直白的看到自己设计的FPGA电路的功能是否正确,有效提高了用户体验。
例如,调试调用单元4采集的内部数据为2位二进制的数11,而屏幕输出单元3设置的为要显示的为十进制的数,则在屏幕输出单元3上显示的就为3,从而可以是观察者可以更直观的看到运行的内部数据是否正确。
通过上述的调试调用单元的设置,可以实时的获取内部数据,并实时进行显示,也即对获取到的内部数据的数据量是没有限制的,因为是实时获取实时显示。
且由于输出单元可实时的显示调试调用单元采集到的内部数据,因此可以做到单步调试。
之所以上述的屏幕输出单元3可以显示十进制的3,是由于本发明中的调试调用单元4。
本发明中的调试调用单元可以将与所述输入信号对应的控制信号发送至FPGA待调试电路且可以采集所述FPGA待调试电路运行所述控制信号后产生的内部数据,并将采集的所述内部数据发送至所述屏幕输出单元,因此,在本发明提供的系统中,无需使用者设计的FPGA电路中包括比较完备的CPU核,也无需在设计的FPGA电路中的CPU运行的软件代码中写入I/O接口的软件驱动,该I/O接口用于连接显示器等输出设备,或连接键盘、鼠标等输入设备,从而执行调试并显示的目的。
具体的,调试调用单元4用于采集FPGA待调试电路5运行控制信号后产生的内部数据,并将采集的内部数据发送给屏幕输出单元3,包括:调试调用单元4确定与内部数据对应的输出信号,并将输出信号发送至屏幕输出单元3;屏幕输出单元3显示内部数据,包括:屏幕输出单元3根据输出信号显示与输出信号对应的数据。
当调试调用单元4采集到FPGA待调试电路5运行控制信号后产生的内部数据后,会首先将该内部数据转换为屏幕显示单元所要求显示的某一个进制的数,然后确定该数对应的点阵,并将该点阵作为输出信号发送给屏幕显示单元,以使屏幕输出单元3根据该输出信号显示采集到的内部数据。
继续按照上述的例子,假设屏幕输出单元3设置的为显示十进制的数,当调试调用单元4采集的内部数据为2位二进制的数11后,调试调用单元4会将二进制的11转换为十进制的3,然后如图3所示,由于屏幕显示单元是由7行4列28个点阵组成,通过点亮不同的点,屏幕输出单元3会显示不同的数,此时,屏幕输出单元3要显示的为3,调试调用单元4便确定屏幕输出单元3要显示3,那就需要点亮第2行第二个点和第三个点,第三行第三个点,第四行第二个点和第三个点,第五行第三个点,第六行第三个点和第三个点,然后调试调用单元4将该些数据作为输出信号,发送给屏幕输出单元3,当屏幕输出单元3接收到该输出信号后,根据数据信号中所指示的要点亮的点,点亮相应的点,从而在屏幕输出单元3上显示如图3所示的3。
在本发明的一种可实现的方式中,当设计的FPGA待调试电路5本身不需要使用者输入一输入信号就可以实现正常运行实现功能时,也即,无需使用输入单元1向FPGA待调试电路5进行输入,只需调试调用单元4向FPGA待调试电路5发送一内部控制信号,比如复位信号,FPGA待调试电路5便可以正确运行,以产生运行过程中的内部数据。
例如:当FPGA待调试电路5为一个不停的计时器时,就无需使用者通过输入单元1输入一输入信号,只需将FPGA待调试电路5加载至FPGA芯片2上后,调试调用单元4向FPGA待调试电路5发送一个复位信号(相当于上述的控制信号),FPGA待调试电路5就每过1秒加1,不停的累加,累加的结果即为使用者想观察的内部数据,调试调用单元4会采集该内部数据显示在屏幕输出单元3上。
在本发明的另一种实现方式中,设计的FPGA待调试电路5需要通过输入单元1给予一输入信号,该FPGA待调试电路5才可以运行,以产生运行过程中的内部数据。
具体的,在一种可实现的方式中,输入单元1可以为拨码开关、按钮开关等。
以输入单元1为拨码开关为例,使用者可通过拨动开关来实现输入,此时,使用者通过输入单元1的输入的输入信号即为控制信号,也即,输入单元1可直接将输入的控制信号给FPGA待调试电路5。
例如,输入单元1为3个拨码开关,拨码开关拨到第一位置时代表输入的为1,拨码开关拨到第二位置时代表输入的为0,如果第一个拨码开关和第二个拨码开关均拨到第一位置,而第三个拨码开关拨到第二位置,那么此时输入单元1的输入信号为110,也即此时直接将110输入至FPGA待调试电路5,以对FPGA待调试电路5进行调试。
在另一种可实现的方式中,调试调用单元4还与输入单元1电连接,用于接收输入单元1发送的输入信号;调试调用单元4用于向FPGA待调试电路5发送控制信号,具体为:调试调用单元4用于将与输入信号对应的控制信号发送至FPGA待调试电路5;
具体的,调试调用单元4用于将与输入信号对应的控制信号发送至FPGA待调试电路5的一种可实现的方式为:输入单元1输入多次输入信号,此时调试调用单元4将输入单元1输入的多次输入信号组合为一个多位的输入信号,并将组合而成的多位的输入信号转换为控制信号发送至FPGA待调试电路5,其中,控制信号即为FPGA待调试电路5可识别的输入。
例如:调试调用单元4提供N进制数的输入,N大于1,则当使用者连续3次按下输入单元1中数字1对应的按键时,并按下OK键,表示输入完成,此时向调试调用单元4输入的输入信号分别为1、1和1,则由于调试调用单元4可以提供N进制数的输入,那么调试调用单元4会将该三个输入信号进行组合得到一个3位的N进制数111的输入,调试调用单元4在得到N进制数111后,还会转化为对应的二进制数发送给FPGA待调试电路5,以使FPGA待调试电路5运行该二进制数。
在本实施例中,上述的输入单元1可以包括以下几种实现方式:
在第一种实现方式中,输入单元1可以为矩阵键盘,屏幕输出单元3为显示屏幕;此时,调试调用单元4还与输入单元1电连接包括:调试调用单元4还与矩阵键盘电连接,此时,调试调用单元4用于向FPGA待调试电路5发送控制信号,具体为:调试调用单元4用于接收矩阵键盘输入的输入信号,并根据键盘识别代码将矩阵键盘输入的输入信号转换为对应的控制信号发送至FPGA待调试电路5,其中,调试调用单元4中加载有识别矩阵键盘输入的键盘识别代码。
该种矩阵键盘和显示屏幕,类似于之前的有按键的手机。
在第二种实现方式中,输入单元1和屏幕输出单元3为兼具输入和输出功能的触摸显示屏;此时,调试调用单元4还与输入单元1电连接包括:调试调用单元4还与触摸显示屏电连接,此时,调试调用单元4用于向FPGA待调试电路5发送控制信号,具体为:调试调用单元4用于接收触摸显示屏输入的输入信号,并根据屏幕识别代码将触摸显示屏输入的输入信号转换为对应的控制信号发送至FPGA待调试电路5,其中,调试调用单元4中加载有识别触摸显示屏输入的屏幕识别代码。
具体的,在上述两种实现方式中,由于矩阵键盘需要通过扫描来识别按键,以确认使用者输入的数据,而触摸显示屏需要初始化后采集使用者触摸点的坐标来识别触摸区域以确认使用者输入的数据,所以使用者通过矩阵键盘或触摸显示屏输入的输入信号无法直接用于FPGA待调试电路5所能接收的输入,可选的,使用者可以在用硬件编程语言写FPGA电路的过程中,可以写与矩阵键盘或触摸显示屏输入转换为FPGA待调试电路5可接收的输入相关的代码,然后将该些代码同时作为FPGA待调试电路5加载至FPGA芯片2中,优选的,本发明中的调试调用单元4中可以预设与矩阵键盘或触摸显示屏输入转换为FPGA待调试电路5可接收的输入相关的代码,此时,使用者在使用的过程,无需自己去设计将矩阵键盘或触摸显示屏输入转换为FPGA待调试电路5可接收的输入相关的代码,有效降低了使用者的工作量,且提高了用户体验。
为了进一步的提高用户体验,在上述两种实现方式中,当使用者通过拨码开关、按钮开关、按键开关、矩阵键盘或触摸显示屏向FPGA待调试电路5输入时,可以在显示屏幕上显示使用者输入的内容,此时,使用者可以直观的看到自己输入的数据,且当输入错误时,使用者可以去修改已输入的内容,从而避免了现有技术中,使用者无法直观看到自己的输入,从而当输入错误而导致的调试结果与预期不符的情况发生时,使用者便会直接确定是自己设计的FPGA电路有误,从而误导了使用者,增加了使用者的工作量。
现有技术中的输入方式基本只能输入简单的几位二进制的信号,比如,使用者拨上一个拨码开关,FPGA待调试电路5开始运行,拨下该拨码开关,FPGA待调试电路5停止运行。
现有技术中也可以通过复杂设计几十个拨码开关,通过该些拨码开关同时作用输入几位到几十位的二进制数据,但目前产品中还没有将输入单元1封装起来,使得使用者可以很方便地使用。
而本发明提供的FPGA实验板调试体统中将输入单元1都封装在了PCB内,且可以通过屏幕显示单元实时将使用者输入的输入信号显示出来,并能在输入出错时进行删除,就很类似现有智能手机上的输入方法。所以输入方式很人性化。
也即,本发明提供了很友好的输入单元1面(类似智能手机的输入),该输入单元1可以使得使用者输入任何位数的数据,例如:32位的二进制数据。
且在本发明中,使用者能看到自己输入的数据。该输入单元1是由调试调用单元4里封装好的一个模块,在获取使用者输入的数据后直接传递给FPGA待调试电路5即可。
进一步的,本发明也可以很容易的实现断点的调试。
具体的,输入信号为断点调试指令,断点调试指令中包括断点参数值;断点调试指令,用于指示FPGA待调试电路5在控制信号运行过程中运行至断点参数值所指向的指令时,停止运行。
例如:FPGA待调试电路5为一个CPU电路,里面运行了一段程序,程序中写入有指令计数器。比如需要在程序运行到第100条指令时停止,现有技术中就只能在将CPU电路加载至FPGA芯片2内之前就在CPU电路的代码内部设置了当指令计数器计数到100时,CPU电路停止工作的代码,而当CPU电路需要在运行至第200条指令时停止,则又需要重新修改CPU电路,并重新加载至FPGA芯片2中。
而本发明中很好的支持了输入32位数据,那么此时就可以在设计的CPU电路里内置一个比较模块,该比较模块获取使用者通过输入单元1输入的32位的数据,当指令计数器等于该32位的数据对应的指令时,就停止运行CPU电路,而当CPU电路需要在运行至第200条指令时停止,此时,使用者只需在输入单元1输入与200条指令的地址对应的32位的数据即可,而无需重新修改CPU电路,并重新加载至FPGA芯片2中。实现了想在哪条指令停止就在哪停止的功能。
也即,现有技术中为FPGA待调试电路5设置断点很麻烦,往往需要提前设置好并加载至FPGA芯片2上,而本发明可以很方便地在FPGA待调试电路5已加载至FPGA芯片2后,实时的设置断点。
本发明提供的FPGA实验板调试系统可完成的调试并不局限于上述的断点调试,同样可以完成其他功能的调试,比如:FPGA实验板调试系统可以实时输入多组任意数值的输入信号,使得可以为FPGA待调试电路5送入任意数值的输入信号,以此充分验证功能的正确性。
例如,FPGA待调试电路5为一个实现32位二进制数加减法功能的电路,在现有技术中由于很难输入32位二进制数,因此往往只能在FPGA待调试电路5里内置几组32位二进制数,在加载至FPGA实验板上时只有验证内置的几组32位二进制数相加减运算是否正确,而无法验证其他数据相加减。
通过本发明提供的调试系统则可以输入任意数值的两个源操作数,以此验证任意32位二进制数相加减运算是否正确,充分验证FPGA待调试电路5加减法功能的正确性。
在本发明的一种可实现的方式中,图4所示为本发明实施例提供的FPGA实验板调试系统的结构示意图三,如图4所示,调试调用单元4为采用硬件编程语言编写的硬件电路模块。此时,调试调用单元4可被加载在FPGA芯片2中,且调试调用单元4是与FPGA待调试电路5结合后被加载至FPGA芯片2中的。
具体的,本实施例中的调试调用单元4可被封装为网表文件,在将FPGA待调试电路5加载至FPGA芯片2的过程中,首先会将FPGA待调试电路5转换为网表文件,然后将FPGA待调试电路5对应网表文件转换为二进制数据输入至FPGA芯片2中,在将FPGA待调试电路5对应网表文件转换为二进制数据过程中,会将调试调用单元4对应的网表文件和FPGA待调试电路5对应网表文件同时转换为二进制数据,并将该二进制数据输入至FPGA芯片2,从而实现了对FPGA待调试电路5和调试调用单元4的加载。
在本发明的另一种可实现的方式中,图5所示为本发明实施例提供的FPGA实验板调试系统的结构示意图四,如图5所示,上述的系统还包括控制器6,此时,控制器6分别与FPGA芯片2、输入单元1和屏幕输出单元3电连接,且调试调用单元4被加载至控制器6中。
在实际应用中,上述的控制器6可以为中央处理器(Central ProcessingUnit简称为:CPU)。
当调试调用单元4为硬件编程语言(如verilog)写出的电路模块时,就需要和设计的电路代码一起烧写到FPGA芯片2上,在FPGA实验板的实物图上是看不到该单元的;当调试调用单元4为FPGA实验板上固化的硬件实现的小控制器6(如一个CPU核加上软件代码组成),是可以在FPGA实验板上看到该固化的硬件单元的(如一个CPU核)的,但软件代码同样看不到,这种方法是有可能的,因为很多FPGA开发板本身就集成了CPU核,只要修改软件代码基本就可以形成一个本发明中类似的调试调用单元4。
更进一步的,在实际应用中,调试可分为仿真调试和上板调试。
仿真调试是不需要将设计的FPGA电路代码加载到FPGA芯片2上的。它是将设计的FPGA电路代码加载到FPGA芯片2上之前的步骤。通常步骤是,verilog代码写好了,综合成网表,直接在电脑上用软件仿真看功能是否正确,不正确就需要修改verilog代码,该种方式的调试称为仿真调试。仿真通过后,再将FPGA电路代码加载到FPGA芯片2上进行验证和调试,该种方式称为上板调试。
现有技术中,上板调试的方式主要是上板后通过电脑上软件的调试提供的调试方法和调试界面,该种上板调试方式很类似仿真阶段的调试,使得使用者感受不到是实际上板运行的结果,体验较低,且调试界面不够简洁直观,需要有一定的专业要求才能使用顺利,使用者较难上手。
而通过本发明提供的调试系统,无需使用电脑,而是直接在FPGA实验板上运行设计的FPGA电路的代码,从而使得使用者可以感受到设计的FPGA电路的代码实际上板运行的结果,用户体验较高,且本发明提供的调试系统最终的调试结果显示的为任何使用者都可以看懂的N进制的数据,从而使得使用者较容易上手。
综上所述,本发明具有以下优点:
(1).调试验证时不需要连接电脑端,不需要专用软件的支持;
(2).不需要设计的电路里包含CPU核,对于大中小型设计电路都很适用;
(3).“输出单元”包含显示屏,可以具体显示出采集的数据的数值,提供很友好的观察界面,且没有采集数据的大小的限制;
(4).“输入单元”可以支持触控屏的输入,此时则可以很方便地输入任意位数任意数值的数据用于控制调试。
(5).“输入单元”在良好的组织后,可以实现单步执行,插入断点等功能,实现易用、友好的调试界面。
(6).本发明中“调试调用单元”主体部分都是提前设计好的,使用者只需要简单连接该单元与“FPGA待调试电路”,然后交互控制信号,并采集数据即可,大大减低了使用者调试的复杂性。
值得注意的是,本发明中所述的电连接,是指将两个部件(部件可以是元器件、单元、模块、芯片或组件)之间连接起来的所有方式,其中,所有方式包括直接连接、间接连接、感应耦合连接、无线连接和有线连接等。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种FPGA实验板调试系统,其特征在于,包括:安装在同一块印制电路板PCB板上的现场可编程门阵列FPGA芯片、输入单元和屏幕输出单元;所述FPGA芯片在所述PCB板内分别与所述屏幕输出单元和所述输入单元电连接;
所述系统还包括:调试调用单元;所述调试调用单元在所述PCB板内分别与FPGA待调试电路和所述屏幕输出单元电连接;
所述FPGA芯片,用于加载所述FPGA待调试电路;
所述调试调用单元,用于向所述FPGA待调试电路发送控制信号,以及采集所述FPGA待调试电路运行所述控制信号后产生的内部数据,并将采集的所述内部数据发送至所述屏幕输出单元;
所述FPGA待调试电路,用于根据所述控制信号运行;
所述屏幕输出单元,用于显示所述内部数据。
2.根据权利要求1所述的系统,其特征在于,
所述输入单元为矩阵键盘,所述屏幕输出单元为显示屏幕;或者,
所述输入单元和所述屏幕输出单元为兼具输入和输出功能的触摸显示屏。
3.根据权利要求2所述的系统,其特征在于,所述调试调用单元还与所述输入单元电连接,用于接收所述输入单元发送的输入信号;
所述调试调用单元用于向所述FPGA待调试电路发送控制信号,具体为:
所述调试调用单元用于接收所述矩阵键盘输入的输入信号,并根据键盘识别代码将所述矩阵键盘输入的输入信号转换为对应的控制信号发送至所述FPGA待调试电路,其中,所述调试调用单元中加载有识别所述矩阵键盘输入的键盘识别代码;
或,
所述调试调用单元用于接收所述触摸显示屏输入的输入信号,并根据屏幕识别代码将所述触摸显示屏输入的输入信号转换为对应的控制信号发送至所述FPGA待调试电路,其中,所述调试调用单元中加载有识别所述触摸显示屏输入的屏幕识别代码。
4.根据权利要求3所述的系统,其特征在于,所述输入信号为32位的二进制数据。
5.根据权利要求4所述的系统,其特征在于,所述输入信号为断点调试指令,所述断点调试指令中包括断点参数值;
所述断点调试指令,用于指示所述FPGA待调试电路在所述控制信号运行过程中运行至所述断点参数值所指向的指令时,停止运行。
6.根据权利要求5所述的系统,其特征在于,所述屏幕输出单元还用于显示所述输入信号。
7.根据权利要求6所述的系统,其特征在于,
所述调试调用单元用于采集所述FPGA待调试电路运行所述控制信号后产生的内部数据,并将采集的所述内部数据发送给屏幕输出单元,包括:
所述调试调用单元确定与所述内部数据对应的输出信号,并将所述输出信号发送至所述屏幕输出单元;
所述屏幕输出单元显示所述内部数据,包括:
所述屏幕输出单元根据所述输出信号显示与所述输出信号对应的数据。
8.根据权利要求7所述的系统,其特征在于,所述调试调用单元为采用硬件编程语言编写的硬件电路模块。
9.根据权利要求1-8任一项所述的系统,其特征在于,所述调试调用单元被加载至所述FPGA芯片中;
其中,所述调试调用单元是与所述FPGA待调试电路结合后被加载至所述FPGA芯片中的。
10.根据权利要求1-8任一项所述的系统,其特征在于,所述系统还包括控制器,
所述控制器分别与所述FPGA芯片、所述输入单元和所述屏幕输出单元电连接;
所述调试调用单元被加载至所述控制器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610404718.6A CN107481595B (zh) | 2016-06-08 | 2016-06-08 | Fpga实验板调试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610404718.6A CN107481595B (zh) | 2016-06-08 | 2016-06-08 | Fpga实验板调试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107481595A true CN107481595A (zh) | 2017-12-15 |
CN107481595B CN107481595B (zh) | 2023-10-03 |
Family
ID=60594640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610404718.6A Active CN107481595B (zh) | 2016-06-08 | 2016-06-08 | Fpga实验板调试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107481595B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941934A (zh) * | 2019-12-06 | 2020-03-31 | 思尔芯(上海)信息科技有限公司 | 一种fpga原型验证开发板分割仿真系统、方法、介质及终端 |
CN111142891A (zh) * | 2019-12-30 | 2020-05-12 | 昆山丘钛微电子科技有限公司 | 一种数据烧录的验证方法、装置、电子设备及介质 |
CN114167840A (zh) * | 2021-12-06 | 2022-03-11 | 广东利扬芯片测试股份有限公司 | 一种结合外围mcu的无线充电芯片测试系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009074A (zh) * | 2006-12-13 | 2007-08-01 | 康佳集团股份有限公司 | 一种自带测试功能的led扫描板及测试方法 |
US20080116919A1 (en) * | 2006-11-21 | 2008-05-22 | Yu Li | Fpga and method and system for configuring and debugging a fpga |
CN201402549Y (zh) * | 2009-04-10 | 2010-02-10 | 首都师范大学 | 计算机系统设计教学实验板 |
CN102495359A (zh) * | 2011-12-13 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种fpga调试系统和方法 |
CN102841305A (zh) * | 2011-07-11 | 2012-12-26 | 北京飘石科技有限公司 | 一种对fpga实时调试的系统和方法 |
CN202917070U (zh) * | 2012-10-26 | 2013-05-01 | 中国电子科技集团公司第四十七研究所 | 一种接口可扩展的fpga验证开发板 |
-
2016
- 2016-06-08 CN CN201610404718.6A patent/CN107481595B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080116919A1 (en) * | 2006-11-21 | 2008-05-22 | Yu Li | Fpga and method and system for configuring and debugging a fpga |
CN101009074A (zh) * | 2006-12-13 | 2007-08-01 | 康佳集团股份有限公司 | 一种自带测试功能的led扫描板及测试方法 |
CN201402549Y (zh) * | 2009-04-10 | 2010-02-10 | 首都师范大学 | 计算机系统设计教学实验板 |
CN102841305A (zh) * | 2011-07-11 | 2012-12-26 | 北京飘石科技有限公司 | 一种对fpga实时调试的系统和方法 |
CN102495359A (zh) * | 2011-12-13 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种fpga调试系统和方法 |
CN202917070U (zh) * | 2012-10-26 | 2013-05-01 | 中国电子科技集团公司第四十七研究所 | 一种接口可扩展的fpga验证开发板 |
Non-Patent Citations (1)
Title |
---|
唐凯;周剑扬;: "基于串行通讯的FPGA片上RAM数据下载与系统调试" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941934A (zh) * | 2019-12-06 | 2020-03-31 | 思尔芯(上海)信息科技有限公司 | 一种fpga原型验证开发板分割仿真系统、方法、介质及终端 |
CN111142891A (zh) * | 2019-12-30 | 2020-05-12 | 昆山丘钛微电子科技有限公司 | 一种数据烧录的验证方法、装置、电子设备及介质 |
CN111142891B (zh) * | 2019-12-30 | 2023-10-20 | 昆山丘钛微电子科技有限公司 | 一种数据烧录的验证方法、装置、电子设备及介质 |
CN114167840A (zh) * | 2021-12-06 | 2022-03-11 | 广东利扬芯片测试股份有限公司 | 一种结合外围mcu的无线充电芯片测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107481595B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798380B2 (en) | Modular apparatus and system for reconfigurable user inputs | |
CN107481595B (zh) | Fpga实验板调试系统 | |
CN206058696U (zh) | 实现独立调试验证的fpga实验板 | |
CN101876930A (zh) | 键盘自动测试系统 | |
CN107562590B (zh) | 安全显示单元响应时间测试系统和方法 | |
CN205487031U (zh) | 一种基于双核心控制模块的电子技术实验装置 | |
CN211044204U (zh) | 一种鼠标键盘模拟设备 | |
CN106406154B (zh) | 侦错系统及其控制方法 | |
CN112584065B (zh) | 一种课件的显示方法、系统、设备和存储介质 | |
CN104423616A (zh) | 输入装置及控制单元 | |
CN102819472B (zh) | 一种笔记本键盘的快速检测方法 | |
CN202711232U (zh) | 一种基于触控操作的人机交互系统 | |
CN206003409U (zh) | 一种单片机实验系统 | |
CN101957734A (zh) | 配置显示设备的设备信息的方法及装置 | |
CN209859353U (zh) | 一种微电子工艺教学套件 | |
CN114115058A (zh) | 一种多协议传感器模拟装置 | |
CN113806279B (zh) | 一种基于SystemC实现iMX6Q的SoC片上串口的建模方法 | |
CN105182732B (zh) | 一种在智能手表上实现信息输入的方法和智能手表 | |
CN115729218B (zh) | 一种多种换挡方式的模型测试方法、装置、设备和介质 | |
CN216695506U (zh) | 一种基于stm32+fpga的平面显示器测试设备 | |
CN213518786U (zh) | 一种用于飞行模拟的mcp面板电路结构 | |
CN103810013A (zh) | 基于拨码开关阵列的编程辅助处理装置及方法 | |
TWM462860U (zh) | 提供圖形化接腳介面之調試系統與裝置 | |
CN204090056U (zh) | 一种智能遥控器 | |
CN203287489U (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 | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |