可编程逻辑器件的调试方法、系统及电子设计自动化终端与流程

文档序号:11155754阅读:553来源:国知局
可编程逻辑器件的调试方法、系统及电子设计自动化终端与制造工艺

本发明涉及通信领域,尤其涉及可编程逻辑器件的调试方法、系统及电子设计自动化终端。



背景技术:

可编程逻辑器件(Programmable Logic Device,PLD)因其具有可编程特性,因此在设计阶段,设计人员可根据需要修改电路,直到对设计工作感到满意为止,这有效降低了成本,缩短了系统设计的周期,提高了设计开发的灵活性。同时可编程逻辑器件还具有较高的集成度,所以可编程逻辑器件在通信、图像处理等领域得到了大规模的应用。

可编程逻辑器件的调试工作可以基于计算机等终端运行的EDA(Electronic Design Automation)调试程序来进行。如果可编程逻辑器件中设计包含的协议简单时,可以直接采集可编程逻辑器件内部的信号,并将对应的波形显示出来,通过人眼观察的形式从显示波形中获取到一个完整数据包的波形,进而对该数据包波形进行分析,实现对可编程逻辑器件的调试。但如果是对包含复杂协议设计的可编程逻辑器件进行调试时,通过人眼观察获取数据包波形则会比较困难,过程也会比较复杂,在这种情况下,通常会采用协议分析仪(protocol analyzer)来对从可编程逻辑器件内部采集得到的数据进行分析。协议分析仪,是一种监视数据通信系统中的数据流,检验数据交换是否正确地按照协议的规定进行的专用测试工具。将协议分析仪连接在数据通信系统上,在不影响系统运行的情况下,协议分析仪可以从线路上采集系统所发送的数据和接收的数据,进行数据的存储、显示和分析,实现其监视功能。同时,协议分析仪还具有模拟功能,当将协议分析仪直接与被测设备(例如可编程逻辑器件)连接,按照预先设置的程序,同被测设备通信,进行数据的发送、接收数据的判断和应答数据的判断,检验被测设备协议实现的正确性。

虽然协议分析仪能够对协议设计复杂的可编程逻辑器件进行协议分析,但如果使用协议分析仪辅助调试,则必须购置专门的协议分析仪,这增加了调试的硬件成本。综上,现在继续提出一种对可编程逻辑器件进行调试的方案,来解决现有技术中存在的调试硬件成本高的问题。



技术实现要素:

本发明实施例提供的可编程逻辑器件的调试方法、系统及电子设计自动化终端,主要解决的技术问题是:解决现有调试过程中在对可编程逻辑器件进行协议分析的时候,必须购置专业的协议分析仪,使得可编程逻辑器件调试的硬件成本高的问题。

为解决上述技术问题,本发明实施例提供一种可编程逻辑器件的调试方法,包括:

电子设计自动化终端扑捉被调试可编程逻辑器件输入/输出端口的待分析数据,所述电子设计自动化终端用于对所述被调试可编程逻辑器件进行对应电子设计自动化调试的终端;

所述电子设计自动化终端对所述待分析数据进行协议分析,以实现对所述被调试可编程逻辑器件的调试。

进一步的,所述电子设计自动化终端通过所述被调试可编程逻辑器件上协议定义的标准接口或自定义接口扑捉输入/输出端口的所述待分析数据。

进一步的,所述电子设计自动化终端扑捉被调试可编程逻辑器件输入/输出端口的待分析数据之前包括:所述电子设计自动化终端确定扑捉所述待分析数据的扑捉时长。

进一步的,所述电子设计自动化终端扑捉被调试可编程逻辑器件输入/输出端口的待分析数据包括:

所述电子设计自动化终端扑捉被调试可编程逻辑器件输入/输出端口的待分析数据并存储到所述被调试可编程逻辑器件的内部存储器上;

所述电子设计自动化终端接收从所述内部存储器传输的所述待分析数据。

进一步的,所述电子设计自动化终端扑捉被调试可编程逻辑器件输入/输出端口的待分析数据包括:

所述电子设计自动化终端扑捉被调试可编程逻辑器件输入/输出端口的待分析数据并存储到所述被调试可编程逻辑器件的内部存储器上;

所述电子设计自动化终端控制所述被调试可编程逻辑器件将其内部存储器上的所述待分析数据传输到片外存储器;

所述电子设计自动化终端接收所述片外存储器发送的所述待分析数据。

本发明实施例还提供一种电子设计自动化终端,包括:

数据扑捉模块,用于扑捉被调试可编程逻辑器件输入/输出端口的待分析数据,所述电子设计自动化终端用于对所述被调试可编程逻辑器件进行对应电子设计自动化调试的终端;

分析调试模块,用于对所述待分析数据进行协议分析,以实现对所述被调试可编程逻辑器件的调试。

进一步的,所述数据传输模块用于扑捉被调试可编程逻辑器件输入/输出端口的待分析数据并存储到所述被调试可编程逻辑器件的内部存储器上,并接收从所述内部存储器传输的所述待分析数据。

进一步的,所述数据传输模块用于扑捉被调试可编程逻辑器件输入/输出端口的待分析数据并存储到所述被调试可编程逻辑器件的内部存储器,并控制所述被调试可编程逻辑器件将其内部存储器上的所述待分析数据传输到片外存储器,以及接收从所述内部存储器传输的所述待分析数据。

本发明实施例还提供一种可编程逻辑器件的调试系统,包括被调试可编程逻辑器件以及如上所述的电子设计自动化终端。

进一步的,所述部存储器为所述被调试可编程逻辑器件内部的静态随机存储器;所述片外存储器为所述被调试可编程逻辑器件外的动态随机存取存储器。

本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的任一项的可编程逻辑器件的调试方法。

本发明的有益效果是:

根据本发明实施例提供的可编程逻辑器件的调试方法、系统及电子设计自动化终端,以及计算机存储介质,由对被调试可编程逻辑器件进行对应电子设计自动化调试的终端从该被调试可编程逻辑器件的输入/输出端口扑捉待分析数据,并对待分析数据进行协议分析,实现对被调试可编程逻辑器件的调试。在本发明实施例提供的方案当中,电子设计自动化终端不仅对被调试可编程逻辑器件进行对应电子设计自动化调试,而且还能兼顾协议分析仪的协议分析作用,使得针对被调试可编程逻辑器件的调试工作不需要购置专业协议分析仪,降低了调试的硬件成本,同时,在对被调试可编程逻辑器件进行调试的过程中,调试人员只需要关注电子设计自动化终端即可,不需要像现有技术一样同时监控计算机与协议分析仪,简化了调试过程。

附图说明

图1为本发明实施例一提供的可编程逻辑器件的调试方法的一种流程图;

图2为本发明各实施例中EDA终端对被调试PLD进行调试的一种示意图;

图3为本发明各实施例中EDA终端对被调试PLD进行调试的另一种示意图;

图4为本发明实施例二提供的EDA终端的一种结构示意图;

图5为本发明实施例二提供的EDA终端的另一种结构示意图;

图6为本发明实施例三提供的可编程逻辑器件的调试系统的一种结构示意图;

图7为本发明实施例三提供的可编程逻辑器件的调试系统的一种示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。

实施例一:

PLD与一般数字芯片不同的是,其内部的数字电路可以在出厂后才规划决定,其中一些PLD再规划决定之后无法再次改变,而有一些PLD器件内部的电路支持多次规划与擦除。PLD分为PROM(Programmable Read-Only Memory,可编程只读存储器)、EPROM(Erasable Programmable Read Only Memory,可擦除可编程存储器)、PLA(Programmable logic arrays,可编程逻辑阵列)、PAL(Programmable Array Logic,可编阵列逻辑)和GAL(generic array logic,通用阵列逻辑)等类型。其中,在PAL和GAL的基础上又发展出了应用更为广泛的CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)以及FPGA(Field-Programmable Gate Array,现场可编程门阵列)。

现有技术中,在对PLD器件进行调试的时候,基本都是使用计算机运行与该被调试PLD器件配套对应的EDA程序来进行电子设计自动化调试。需要进行协议分析的时候,可能会将专业的协议分析仪与被调试PLD连接,扑捉被调试PLD输入/输出端口的数据,并从扑捉数据中获得一个完整的数据包,对该数据包进行分析,确定数据包的协议包头和包尾等,从而了解该被调试PLD与外界所用的数据包产生和传输过程中的行为,辅助调试工作的进行。但是在这种调试方案当中,因为要用到专业的协议分析仪,因此,不仅增加了PLD调试的硬件成本,同时,也使得调试PLD的工作变得更加复杂,增加了调试工作人员的负担。为了解决上述问题,本实施例提供一种可编程逻辑器件的调试方法,请参见图1:

S102、EDA终端扑捉被调试PLD输入/输出端口的待分析数据。

在本实施例中,EDA终端(即电子设计自动化终端)是指能够运行与被调试PLD对应配套的EDA程序,能够对被调试PLD进行电子设计自动化调试的终端,在实际调试过程中,EDA终端是能够运行有EDA程序的计算机,包括笔记本电脑、台式电脑等。

EDA终端扑捉被调试PLD输入/输出端口的待分析数据时,可以通过自定义接口来扑捉被调试PLD输入输出端口的待分析数据并存储到被调试PLD的内部存储器上。当然,本领域技术人员可以明白的是,EDA终端也可以通过协议定义的标准接口来扑捉。如图2所示,被调试PLD为需要被调试的现场可编程门阵列(FPGA)21,其被设置在PCB板22上。EDA终端20作为对被调试现场可编程门阵列21进行调试的外部终端,可以与现场可编程门阵列21连接,通过现场可编程门阵列21标准的PIPE(PHY Interface for the PCI Express,外部设备互连总线物理层接口)接口211扑捉待分析数据并存储到现场可编程门阵列21的内部存储器212上。当扑捉工作完成后,EDA终端可以接收从内部存储器212传输的待分析数据。当然,本领域技术人员可以理解的是,EAD终端也可以以便扑捉待分析数据,一边接收被调试PLD传输的待分析数据。

应当理解的是,本实施例中的“扑捉”是采集待分析数据的过程,因此,“扑捉”并不限定本实施例的范围,凡表征数据采集过程的词汇,均可以用于替代本实施例中的“扑捉”。例如,除“扑捉”以外,还可以使用“捕获”、“抓取”、“采集”等词代替。EDA终端在扑捉待分析数据之前,还可以先设置扑捉待分析数据的扑捉时长,以及开始扑捉的条件,由于EDA终端用于扑捉待分析数据的自定义接口或标准接口的传输速率基本是已经确定的,因此,EDA终端扑捉待分析数据量的大小就可以由扑捉持续的时间来确定。在本实施例的一种示例当中,EDA终端在扑捉待分析数据之前还会先设置扑捉时长,扑捉时长通常应该保证EDA终端扑捉的待分析数据中包括至少一个完整数据包。扑捉时长可以由调试人员在EDA程序当中进行自定义设置,当然,如果EDA终端采用标准接口扑捉被调试PLD的待分析数据,则可以采用EDA程序中默认的扑捉时长。

在本实施例中,被调试PLD的内部存储器可以包括但不限于SRAM(Static RAM,静态随机存储器),如图2所示出的被调试现场可编程门阵列21,其内部存储器212即为SRAM。除了SRAM以外,如果被调试PLD中有DRAM(Dynamic RAM,动态随机存取存储器),则DRAM也可以作为被调试PLD的内部存储器。

虽然EDA终端扑捉待分析数据的量直接受限于扑捉时长的大小,但是,从根本来说,待分析数据量的多少还会受到被调试PLD内部存储器存储容量的限制。因为EDA终端扑捉的数据需要先存储到其内部存储器上,但是内部存储器除了要为调试工作服务以外,还需要存储被调试PLD的其他资源。因此,通常来说,被调试PLD内部存储器用于存储调试过程中待分析数据的空间并不是很大。受限于存储空间,现有协议分析仪在调试计算机的控制下进行数据扑捉的时候,一次不能扑捉太多的数据,这也是现有技术中限制PLD调试自由、灵活性的一个重要因素。

因此,在本实施例的一个示例当中,图3示意的FPGA调试方案在图2所示出方案的基础上,为被调试现场可编程门阵列21扩展了一个片外存储器23。EDA终端20在扑捉数据的时候,可以先将待分析数据存储到内部存储器212上,当内部存储器212上存储空间不足的时候,再控制将内部存储器212上的待分析数据转存到片外存储器23上。由于被调试现场可编程门阵列21片外存储器23设置在PCB板22上,因此其设置空间明显大于内部存储器212的设置空间,进而,片外存储器23的存储容量也可以远大于内部存储器212。在本实施例中,EDA终端接收片外存储器23发送的待分析数据。

S104、EDA终端对待分析数据进行协议分析,以实现对被调试PLD的调试。

当扑捉到的待分析数据被传输到EDA终端后,EDA终端就可以对待分析数据进行协议分析,例如在本实施例中,EDA终端可以从待分析数据中获得一个完整的数据包,然后对数据包进行解析,获取数据包头以及包尾,确定数据包产生以及传输的过程,得到协议分析结果,从而确定待调试PLD的输入输出是否按照协议的设计正常进行。

本发明实施例提供的可编程逻辑器件的调试方法,由对被调试PLD进行对应电子设计自动化调试的EDA终端从该被调试PLD的输入/输出端口扑捉待分析数据,然后对捕获的待分析数据进行协议分析,不仅通过EDA终端完成被调试PLD的电子设计自动化调试,而且还利用EDA终端实现了对待分析数据的协议分析,使得针对被调试可编程逻辑器件的调试工作不需要购置专业协议分析仪,降低了调试的硬件成本,简化了调试人员的调试过程。

另一方面,本发明实施例中EDA终端还能控制将扑捉的待分析数据从被调试PLD的内部存储器转存到片外存储器上,然后从片外存储器上获取待分析数据进行协议分析,利用片外存储器的存储空间较大的优势,使得扑捉待分析数据的数量以及扑捉时长不用受到被调试PLD内部存储资源的限制,可以按照实际的调试需求自由地进行待分析数据扑捉,在很大程度上提升了调试过程的灵活性。

实施例二:

现有技术中,在对PLD器件进行调试的时候,基本都是使用计算机运行与该被调试PLD器件配套对应的EDA程序来进行电子设计自动化调试。需要进行协议分析的时候,可能会将专业的协议分析仪与被调试PLD连接,扑捉被调试PLD输入/输出端口的数据,并从扑捉数据中获得一个完整的数据包,对该数据包进行分析,确定数据包的协议包头和包尾等,从而了解该被调试PLD与外界所用的数据包产生和传输过程中的行为,辅助调试工作的进行。但是在这种调试方案当中,因为要用到专业的协议分析仪,因此,不仅增加了PLD调试的硬件成本,同时,也使得调试PLD的工作变得更加复杂,增加了调试工作人员的负担。为了解决上述问题,本实施例提供一种EDA终端,该EDA终端可以执行实施例一提供的可编程逻辑器件的调试方法,具体的,请参见图4:

EDA终端20包括数据扑捉模块202和分析调试模块204。数据扑捉模块202用于扑捉被调试PLD输入/输出端口的待分析数据,而分析调试模块204用于对待分析数据进行协议分析,以实现对被调试PLD的调试。被调试PLD可以是PROM、EPROM、PLA、PAL和GAL、CPLD以及FPGA等几种类型中的任意一种。

在本实施例中,EDA终端20(即电子设计自动化终端)是指能够运行与被调试PLD对应配套的EDA程序,能够对被调试PLD进行电子设计自动化调试的终端,在实际调试过程中,EDA终端20是能够运行有EDA程序的计算机,包括笔记本电脑、台式电脑等。

数据扑捉模块202扑捉被调试PLD输入/输出端口的待分析数据时,可以通过自定义接口来扑捉被调试PLD输入输出端口的待分析数据并存储到被调试PLD的内部存储器上。当然,本领域技术人员可以明白的是,数据扑捉模块202也可以通过协议定义的标准接口来扑捉。如图2所示,被调试PLD为需要被调试的现场可编程门阵列(FPGA)21,其被设置在PCB板22上。EDA终端20作为对被调试现场可编程门阵列21进行调试的外部终端,可以与现场可编程门阵列21连接,通过现场可编程门阵列21标准的PIPE(PHY Interface for the PCI Express,外部设备互连总线物理层接口)接口211扑捉待分析数据并存储到现场可编程门阵列21的内部存储器212上。当待分析数据被扑捉到内部存储器212之后后,数据扑捉模块202可以接收从内部存储器212传输的待分析数据。当然,本领域技术人员可以理解的是,数据扑捉模块202也可以以便扑捉待分析数据,一边接收被调试PLD内部存储器传输的待分析数据。

应当理解的是,本实施例中的“扑捉”是采集待分析数据的过程,因此,“扑捉”并不限定本实施例的范围,凡表征数据采集过程的词汇,均可以用于替代本实施例中的“扑捉”。例如,除“扑捉”以外,还可以使用“捕获”、“抓取”、“采集”等词代替。在本实施例的一种示例中,如图5所示,EDA终端20还包括时长确定模块206,时长确定模块206用于在数据扑捉模块202扑捉待分析数据之前,先设置扑捉待分析数据的扑捉时长,由于数据扑捉模块202用于扑捉待分析数据的自定义接口或标准接口的传输速率基本是已经确定的,因此,数据扑捉模块202扑捉待分析数据量的大小就可以由扑捉持续的时间来确定。在本实施例的一种示例当中,时长确定模块206在数据扑捉模块202扑捉待分析数据之前还会先设置扑捉时长,扑捉时长通常应该保证EDA终端扑捉的待分析数据中包括至少一个完整数据包。时长确定模块206设置的扑捉时长可以根据调试人员在EDA程序中的自定义设置进行,当然,如果数据扑捉模块202采用标准接口扑捉被调试PLD的待分析数据,则时长确定模块206可以采用EDA程序中默认的时长作为扑捉时长。

在本实施例中,被调试PLD的内部存储器可以包括但不限于SRAM(Static RAM,静态随机存储器),如图2所示出的被调试现场可编程门阵列21,其内部存储器212即为SRAM。除了SRAM以外,如果被调试PLD中有DRAM(Dynamic RAM,动态随机存取存储器),则DRAM也可以作为被调试PLD的内部存储器。

虽然数据扑捉模块202扑捉待分析数据的量直接受限于扑捉时长的大小,但是,从根本来说,待分析数据量的多少还会受到被调试PLD内部存储器存储容量的限制。因为数据扑捉模块202扑捉的数据需要先存储到其内部存储器上,但是内部存储器除了要为调试工作服务以外,还需要存储被调试PLD的其他资源。因此,通常来说,被调试PLD内部存储器用于存储调试过程中待分析数据的空间并不是很大。受限于存储空间,现有协议分析仪在一次数据扑捉的过程中,并不能扑捉太多的数据,这也是现有技术中限制PLD调试自由、灵活性的一个重要因素。

因此,在本实施例的一个示例当中,图3示意的FPGA调试方案在图2所示出方案的基础上,为被调试现场可编程门阵列21扩展了一个片外存储器23。数据扑捉模块202在扑捉数据的时候,可以先将待分析数据存储到内部存储器212上,当内部存储器212上存储空间不足的时候,数据扑捉模块202再控制将内部存储器212上的待分析数据转存到片外存储器23上。由于被调试现场可编程门阵列21片外存储器23设置在PCB板22上,因此其设置空间明显大于内部存储器212的设置空间,进而,片外存储器23的存储容量也可以远大于内部存储器212。等待分析数据被存储到片外存储器23上以后,数据扑捉模块202可以接收片外存储器23发送的待分析数据进行协议分析,以实现对被调试PLD的调试。

当数据扑捉模块202扑捉到的待分析数据后,EDA终端20的分析调试模块204就可以对待分析数据进行协议分析,例如在本实施例中,分析调试模块204可以从待分析数据中获得一个完整的数据包,然后对数据包进行解析,获取数据包头以及包尾,确定数据包产生以及传输的过程,得到协议分析结果,从而确定待调试PLD的输入输出是否按照协议的设计正常进行。

本实施例EDA终端中的时长确定模块和分析调试模块的功能可以通过控制器来完成,而数据扑捉模块的功能可以通过终端控制器、通信装置共同实现:由控制器先根据调试人员的指令设置扑捉待分析数据的扑捉时长,然后通过通信装置向被调试PLD发送指令扑捉待分析数据,在获得待分析数据之后,可以对待分析数据进行协议分析,从而实现对被调试PLD的调试。

本发明实施例提供的EDA终端,由对被调试PLD进行对应电子设计自动化调试的EDA终端从该被调试PLD的输入/输出端口扑捉待分析数据,然后对捕获的待分析数据进行协议分析,不仅通过EDA终端完成被调试PLD的电子设计自动化调试,而且还利用EDA终端实现了对待分析数据的协议分析,使得针对被调试可编程逻辑器件的调试工作不需要购置专业协议分析仪,降低了调试的硬件成本,简化了调试人员的调试过程。

另一方面,本发明实施例中EDA终端还能控制将扑捉的待分析数据从被调试PLD的内部存储器转存到片外存储器上,然后从片外存储器上获取待分析数据进行协议分析,利用片外存储器的存储空间较大的优势,使得扑捉待分析数据的数量以及扑捉时长不用受到被调试PLD内部存储资源的限制,可以按照实际的调试需求自由地进行待分析数据扑捉,在很大程度上提升了调试过程的灵活性。

实施例三:

本实施例提供一种可编程逻辑器件的调试系统,如图6所示,可编程逻辑器件的调试系统6包括被调试可编程逻辑器件(PLD)60以及第二实施例提供的EDA终端20。

如图7所示,被调试可编程逻辑器件的调试系统6中,EDA终端为计算机62,计算机62通过被调试可编程逻辑器件60的标准数据接口601扑捉I/O接口的待分析数据并存储到内部存储器602上。

另外,被调试可编程逻辑器件的调试系统6还包括片外存储器61,片外存储器61以及被调试可编程逻辑器件60被部署在PCB板63上,被调试可编程逻辑器件60的内部存储器601、片外存储器61以及计算机62三者两两通信连接。当计算机62扑捉的待分析数据数量较多,也即扑捉时长较长时,计算机62可以控制将存储到内部存储器602上的待分析数据转存到片外存储器61上,然后从片外存储器61上获得待分析数据。当计算机62扑捉的待分析数据数量较少,也即扑捉时长较短时,被扑捉的待分析数据可直接从内部存储器602传输到计算机62上。

当然,本领域技术人员可以明白的是,在上述示例当中,可以不用随时保证内部存储器601、片外存储器61以及计算机62三者处于两两通信连接的状态,具体连接状况可以根据计算机62设置的扑捉时长来确定,当扑捉时长较短的时候,仅连接内部存储器601与计算机62,当扑捉时长较长的时候,连接内部存储器601与片外存储器61,以及片外存储器61与计算机62。

最后,由于对被调试PLD进行的电子设计自动化调试是通过运行对应的EDA程序来实现的,因此,无论是现有调试方案还是本实施例中的调试方案,都需要能够运行计算机程序的EDA终端。而本实施例中,对被调试PLD待分析数据的协议分析可以通过运行对应的协议分析程序来实现,因此,可以直接使用EDA终端运行与被调试PLD对应的协议分析程序就可以实现对被调试的PLD的调试。从实际调试过程来说,并不需要购置专业的协议分析仪,降低了对PLD进行调试的成本。

显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1