CN114297969B - 基于fpga的在线逻辑分析仪的布局布线方法以及装置 - Google Patents

基于fpga的在线逻辑分析仪的布局布线方法以及装置 Download PDF

Info

Publication number
CN114297969B
CN114297969B CN202111509300.9A CN202111509300A CN114297969B CN 114297969 B CN114297969 B CN 114297969B CN 202111509300 A CN202111509300 A CN 202111509300A CN 114297969 B CN114297969 B CN 114297969B
Authority
CN
China
Prior art keywords
program
code stream
layout
stream file
information
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
Application number
CN202111509300.9A
Other languages
English (en)
Other versions
CN114297969A (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 CN202111509300.9A priority Critical patent/CN114297969B/zh
Publication of CN114297969A publication Critical patent/CN114297969A/zh
Application granted granted Critical
Publication of CN114297969B publication Critical patent/CN114297969B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请提供了一种基于FPGA的在线逻辑分析仪的布局布线方法以及装置,该方法包括:根据第一程序以及第二程序,生成网表文件,其中,第一程序为FPGA设计的硬件描述语言,第二程序为在线逻辑分析仪的硬件描述语言,网表文件中,第一程序对应的资源带有第一标识,第二程序对应的资源带有第二标识;根据网表文件,对FPGA设计以及在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,其中,第一码流文件由第一部分代码和第二部分代码构成,第一部分代码为表征包括第一标识的布局布线信息的代码,第二部分代码为表征包括第二标识的布局布线信息的代码,第二码流文件由第一部分代码构成。

Description

基于FPGA的在线逻辑分析仪的布局布线方法以及装置
技术领域
本申请涉及FPGA领域,具体而言,涉及一种基于FPGA的在线逻辑分析仪的布局布线方法、装置、计算机可读存储介质、处理器以及电子设备。
背景技术
FPGA(Field Programmable Gate Array,现场可编程门阵列)软件工具的开发过程主要包括逻辑综合、布局布线、时序分析和码流的生成等环节。
FPGA的在线逻辑分析仪是协助用户使用FPGA软件在线分析调试用户设计的一种工具,旨在帮助用户简便地分析设计中的多个信号之间的时序关系,快速进行系统分析和故障定位,提高设计效率。FPGA的在线逻辑分析仪的原理是,利用FPGA器件中未使用的存储器及其他逻辑资源,经过逻辑综合、布局布线等环节,生成码流下载到FPGA芯片里,根据用户设定的触发条件将信号实时地保存到存储器中,然后通过上位机进行实时显示。
传统的FPGA的在线逻辑分析仪和用户设计一起进行综合,生成融合的网表,然后对融合的网表布局布线,最终生成一个带有在线逻辑分析仪的码流。当不使用在线逻辑分析仪时,需要重新对用户设计进行单独的综合以及布局布线。这种方法存在如下风险:当使用在线逻辑分析仪的用户设计工作正常,而不使用在线逻辑分析仪的用户设计工作异常时,难以定位问题的原因,不利于问题的分析和排查,降低了用户设计的效率。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成已知的现有技术。
发明内容
本申请的主要目的在于提供一种基于FPGA的在线逻辑分析仪的布局布线方法、装置、计算机可读存储介质、处理器以及电子设备,以解决现有技术中用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,难以排查和定位原因的问题。
根据本发明实施例的一个方面,提供了一种基于FPGA的在线逻辑分析仪的布局布线方法,包括:根据第一程序以及第二程序,生成网表文件,其中,所述第一程序为FPGA设计的硬件描述语言,所述第二程序为在线逻辑分析仪的硬件描述语言,所述网表文件中,所述第一程序对应的资源带有第一标识,所述第二程序对应的资源带有第二标识;根据所述网表文件,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,其中,所述第一码流文件由第一部分代码和第二部分代码构成,所述第一部分代码为表征包括所述第一标识的布局布线信息的代码,所述第二部分代码为表征包括所述第二标识的布局布线信息的代码,所述第二码流文件由所述第一部分代码构成。
可选地,根据所述网表文件,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,包括:根据所述网表文件,确定资源信息以及各所述资源的连接信息,所述资源信息为表征所述FPGA设计以及所述在线逻辑分析仪占用的芯片资源的信息,所述资源信息由包括所述第一标识的第一子资源信息以及包括所述第二标识的第二子资源信息构成;根据所述资源信息以及所述连接信息,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成所述第一码流文件以及所述第二码流文件。
可选地,根据所述资源信息以及所述连接信息,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成所述第一码流文件以及所述第二码流文件,包括:根据所述资源信息,对所述FPGA设计以及所述在线逻辑分析仪进行布局,得到布局信息;根据所述连接信息,对所述布局信息进行布线,得到所述第一码流文件以及所述第二码流文件。
可选地,根据所述连接信息,对所述布局信息进行布线,得到所述第一码流文件以及所述第二码流文件,包括:根据所述连接信息,对所述布局信息进行布线,得到包括所述第一标识的布局布线信息以及包括所述第二标识的布局布线信息;根据包括所述第一标识的布局布线信息以及包括所述第二标识的布局布线信息,生成所述第一码流文件以及所述第二码流文件。
可选地,根据第一程序以及第二程序,生成网表文件,包括:在接收到触发信号的情况下,获取所述第一程序以及所述第二程序;对所述第一程序以及所述第二程序进行逻辑综合,生成所述网表文件。
可选地,对所述第一程序以及所述第二程序进行逻辑综合,生成所述网表文件,包括:将所述第一程序以及所述第二程序转换为初始网表文件;将所述初始网表文件中所述FPGA设计对应的资源使用所述第一标识进行标记,且将所述初始网表文件中所述在线逻辑分析仪对应的资源使用所述第二标识进行标记,生成所述网表文件。
根据本发明实施例的另一方面,还提供了一种基于FPGA的在线逻辑分析仪的布局布线装置,包括生成单元以及布局布线单元,其中,所述生成单元用于根据第一程序以及第二程序,生成网表文件,其中,所述第一程序为FPGA设计的硬件描述语言,所述第二程序为在线逻辑分析仪的硬件描述语言,所述网表文件中所述第一程序对应的资源带有第一标识,所述第二程序对应的资源带有第二标识;所述布局布线单元用于根据所述网表文件,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,其中,所述第一码流文件由第一部分代码和第二部分代码构成,所述第一部分代码为表征包括所述第一标识的布局布线信息的代码,所述第二部分代码为表征包括所述第二标识的布局布线信息的代码,所述第二码流文件由所述第一部分代码构成。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的方法。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
采用本申请的技术方案,所述的基于FPGA的在线逻辑分析仪的布局布线方法中,首先根据FPGA设计(即用户设计)的第一程序以及在线逻辑分析仪的第二程序生成网表文件,且所述网表文件中所述FPGA设计对应的资源带有第一标识,所述在线逻辑分析仪对应的资源带有第二标识;然后根据得到的所述网表文件,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成两个码流文件,其中,第一码流文件由包括所述第一标识的布局布线信息的代码以及包括所述第二标识的布局布线信息的代码构成,所述第二码流文件由包括所述第一标识的布局布线信息的代码构成,即所述第一码流文件是带有在线逻辑分析仪的码流文件,所述第二码流文件是不带有在线逻辑分析仪的码流文件,且所述第一码流文件包含了所述第二码流文件,这样在所述第一码流文件在FPGA芯片中运行正常时,所述第二码流文件在FPGA芯片中运行一定也是正常的,用户可以直接使用所述第二码流文件,而无需对FPGA设计重新进行单独综合以及布局布线,保证了用户设计效率较高,避免了用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,难以排查和定位原因的问题。并且,由于所述第一码流文件中用户设计以及在线逻辑分析仪对应的代码进行了区分标记,这样当所述第一码流文件在FPGA芯片中运行异常时,有利于相关人员根据标记定位是用户设计问题还是在线逻辑分析仪问题,便于问题的排查和解决。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的实施例的基于FPGA的在线逻辑分析仪的布局布线方法的流程示意图;
图2示出了根据本申请的实施例的基于FPGA的在线逻辑分析仪的布局布线装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
正如背景技术中所说的,现有技术中用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,难以排查和定位原因,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种基于FPGA的在线逻辑分析仪的布局布线方法、装置、计算机可读存储介质、处理器以及电子设备。
根据本申请的实施例,提供了一种基于FPGA的在线逻辑分析仪的布局布线方法。
图1是根据本申请实施例的基于FPGA的在线逻辑分析仪的布局布线方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,根据第一程序以及第二程序,生成网表文件,其中,上述第一程序为FPGA设计的硬件描述语言,上述第二程序为在线逻辑分析仪的硬件描述语言,上述网表文件中,上述第一程序对应的资源带有第一标识,上述第二程序对应的资源带有第二标识;
步骤S102,根据上述网表文件,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,其中,上述第一码流文件由第一部分代码和第二部分代码构成,上述第一部分代码为表征包括上述第一标识的布局布线信息的代码,上述第二部分代码为表征包括上述第二标识的布局布线信息的代码,上述第二码流文件由上述第一部分代码构成。
上述的基于FPGA的在线逻辑分析仪的布局布线方法中,首先根据FPGA设计(即用户设计)的第一程序以及在线逻辑分析仪的第二程序生成网表文件,且上述网表文件中上述FPGA设计对应的资源带有第一标识,上述在线逻辑分析仪对应的资源带有第二标识;然后根据得到的上述网表文件,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成两个码流文件,其中,第一码流文件由包括上述第一标识的布局布线信息的代码以及包括上述第二标识的布局布线信息的代码构成,上述第二码流文件由包括上述第一标识的布局布线信息的代码构成,即上述第一码流文件是带有在线逻辑分析仪的码流文件,上述第二码流文件是不带有在线逻辑分析仪的码流文件,且上述第一码流文件包含了上述第二码流文件,这样在上述第一码流文件在FPGA芯片中运行正常时,上述第二码流文件在FPGA芯片中运行一定也是正常的,用户可以直接使用上述第二码流文件,而无需对FPGA设计重新进行单独综合以及布局布线,保证了用户设计效率较高,避免了用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,难以排查和定位原因的问题。并且,由于上述第一码流文件中用户设计以及在线逻辑分析仪对应的代码进行了区分标记,这样当上述第一码流文件在FPGA芯片中运行异常时,有利于相关人员根据标记定位是用户设计问题还是在线逻辑分析仪问题,便于问题的排查和解决。
需要说明的是,上述第一码流文件包含了上述第二码流文件,是指上述第二码流文件的布局布线信息中,所有硬件结构的位置以及连接关系,与上述第一码流文件的布局布线信息中对应的上述硬件结构的位置以及连接关系相同。即,上述第二码流文件的布局布线信息,是从上述第一码流文件的布局布线信息中剔除了带有上述第二标识的硬件电路结构得到的信息。
其中,在本申请实施例中,FPGA设计的硬件描述语言,也即用户设计的硬件描述语言指的是采用VerilogHDL语言、VHDL语言以及SystemVerilog语言等硬件语言编写的一种描述FPGA芯片中的用户设计硬件电路结构的程序,当然,FPGA设计的硬件描述语言并不限于上述的硬件语言,还可以包括PDL等自定义的设计性语言。在线逻辑分析仪的硬件描述语言指的是采用VerilogHDL语言、VHDL语言以及SystemVerilog语言等硬件语言编写的一种描述FPGA芯片中的在线逻辑分析仪硬件电路结构的程序,当然,在线逻辑分析仪的硬件描述语言也并不限于上述的硬件语言,还可以包括PDL等自定义的设计性语言。
一种具体的实施例中,根据第一程序以及第二程序,生成网表文件的具体步骤为:对上述第一程序采用上述第一标识进行标记;对上述第二程序采用上述第二标识进行标记;根据标记后的上述第一程序以及标识后的上述第二程序,生成上述网表文件,上述网表文件包括带有上述第一标识的资源以及带有上述第二标识的资源。
本申请的一种具体的实施例中,根据上述网表文件,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,包括:根据上述网表文件,确定资源信息以及各上述资源的连接信息,上述资源信息为表征上述FPGA设计以及上述在线逻辑分析仪占用的芯片资源的信息,上述资源信息由包括上述第一标识的第一子资源信息以及包括上述第二标识的第二子资源信息构成;根据上述资源信息以及上述连接信息,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成上述第一码流文件以及上述第二码流文件。通过对FPGA设计占用的芯片资源以及上述在线逻辑分析仪占用的芯片资源进行区分标记,这样进一步地方便了后续可以得到带有在线逻辑分析仪的上述第一码流文件,以及得到不带有在线逻辑分析仪的上述第二码流文件,这样进一步地避免了用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,无法快速有效地找出原因的问题。
在实际的应用过程中,上述第一子资源信息包括表征FPGA设计所需的算术逻辑资源、存储器资源、寄存器资源等所占用的芯片资源的信息,上述第二子资源信息包括表征上述在线逻辑分析仪所需的算术逻辑资源、存储器资源、寄存器资源等所占用的芯片资源的信息。
根据本申请的另一种具体的实施例,根据上述资源信息以及上述连接信息,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成上述第一码流文件以及上述第二码流文件,包括:根据上述资源信息,对上述FPGA设计以及上述在线逻辑分析仪进行布局,得到布局信息;根据上述连接信息,对上述布局信息进行布线,得到上述第一码流文件以及上述第二码流文件。在得到FPGA设计以及在线逻辑分析仪的资源信息以及布线信息后,先根据上述资源信息对上述FPGA设计以及上述在线逻辑分析仪进行布局,再根据上述布线信息对布局后的上述FPGA设计以及上述在线逻辑分析仪进行信号线连接,这样保证了较为简单快捷地得到上述第一码流文件以及上述第二码流文件。
为了进一步地保证较为高效地得到带有在线逻辑分析仪的第一码流文件以及不带有在线逻辑分析仪的第二码流文件,本申请的又一种具体的实施例中,根据上述连接信息,对上述布局信息进行布线,得到上述第一码流文件以及上述第二码流文件,包括:根据上述连接信息,对上述布局信息进行布线,得到包括上述第一标识的布局布线信息以及包括上述第二标识的布局布线信息;根据包括上述第一标识的布局布线信息以及包括上述第二标识的布局布线信息,生成上述第一码流文件以及上述第二码流文件。
本申请的再一种具体的实施例中,根据第一程序以及第二程序,生成网表文件,包括:在接收到触发信号的情况下,获取上述第一程序以及上述第二程序;对上述第一程序以及上述第二程序进行逻辑综合,生成上述网表文件。通过对上述第一程序以及上述第二程序进行逻辑综合,以将该FPGA设计硬件描述语言和在线逻辑分析仪硬件描述语言转化为FPGA芯片可识别的网表文件,上述网表文件可有效表征上述FPGA芯片中的FPGA设计以及在线逻辑分析仪的硬件电路的连接情况。该FPGA设计所需的硬件电路即是FPGA芯片所要实现的功能,该部分硬件电路可根据用户的需要进行自主设计,因此当获取到上述网表文件后,该网表文件中包含了两部分内容,一部分为带有第一标识的FPGA设计的硬件线路连接情况,另一部分为带有第二标识的在线逻辑分析仪的硬件线路连接情况。
具体地,上述触发信号为根据用户的点击、触摸等操作生成的触发信号。
在实际的应用过程中,对上述第一程序以及上述第二程序进行逻辑综合,生成上述网表文件,包括:将上述第一程序以及上述第二程序转换为初始网表文件;将上述初始网表文件中上述FPGA设计对应的资源使用上述第一标识进行标记,且将上述初始网表文件中上述在线逻辑分析仪对应的资源使用上述第二标识进行标记,生成上述网表文件。这样进一步地有利于相关人员根据上述第一标识以及上述第二标识定位是用户设计问题还是在线逻辑分析仪问题,便于问题的排查和解决。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种基于FPGA的在线逻辑分析仪的布局布线装置,需要说明的是,本申请实施例的基于FPGA的在线逻辑分析仪的布局布线装置可以用于执行本申请实施例所提供的用于基于FPGA的在线逻辑分析仪的布局布线方法。以下对本申请实施例提供的基于FPGA的在线逻辑分析仪的布局布线装置进行介绍。
图2是根据本申请实施例的基于FPGA的在线逻辑分析仪的布局布线装置的示意图。如图2所示,该装置包括生成单元10以及布局布线单元20,其中,上述生成单元10用于根据第一程序以及第二程序,生成网表文件,其中,上述第一程序为FPGA设计的硬件描述语言,上述第二程序为在线逻辑分析仪的硬件描述语言,上述网表文件中上述第一程序对应的资源带有第一标识,上述第二程序对应的资源带有第二标识;上述布局布线单元20用于根据上述网表文件,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,其中,上述第一码流文件由第一部分代码和第二部分代码构成,上述第一部分代码为表征包括上述第一标识的布局布线信息的代码,上述第二部分代码为表征包括上述第二标识的布局布线信息的代码,上述第二码流文件由上述第一部分代码构成。
上述的基于FPGA的在线逻辑分析仪的布局布线装置中,通过上述生成单元根据FPGA设计(即用户设计)的第一程序以及在线逻辑分析仪的第二程序生成网表文件,且上述网表文件中上述FPGA设计对应的资源带有第一标识,上述在线逻辑分析仪对应的资源带有第二标识;然后根据得到的上述网表文件,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成两个码流文件,其中,第一码流文件由包括上述第一标识的布局布线信息的代码以及包括上述第二标识的布局布线信息的代码构成,上述第二码流文件由包括上述第一标识的布局布线信息的代码构成,即上述第一码流文件是带有在线逻辑分析仪的码流文件,上述第二码流文件是不带有在线逻辑分析仪的码流文件,且上述第一码流文件包含了上述第二码流文件,这样在上述第一码流文件在FPGA芯片中运行正常时,上述第二码流文件在FPGA芯片中运行一定也是正常的,用户可以直接使用上述第二码流文件,而无需对FPGA设计重新进行单独综合以及布局布线,保证了用户设计效率较高,避免了用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,难以排查和定位原因的问题。并且,由于上述第一码流文件中用户设计以及在线逻辑分析仪对应的代码进行了区分标记,这样当上述第一码流文件在FPGA芯片中运行异常时,有利于相关人员根据标记定位是用户设计问题还是在线逻辑分析仪问题,便于问题的排查和解决。
需要说明的是,上述第一码流文件包含了上述第二码流文件,是指上述第二码流文件的布局布线信息中,所有硬件结构的位置以及连接关系,与上述第一码流文件的布局布线信息中对应的上述硬件结构的位置以及连接关系相同。即,上述第二码流文件的布局布线信息,是从上述第一码流文件的布局布线信息中剔除了带有上述第二标识的硬件电路结构得到的信息。
其中,在本申请实施例中,FPGA设计的硬件描述语言,也即用户设计的硬件描述语言指的是采用VerilogHDL语言、VHDL语言以及SystemVerilog语言等硬件语言编写的一种描述FPGA芯片中的用户设计硬件电路结构的程序,当然,FPGA设计的硬件描述语言并不限于上述的硬件语言,还可以包括PDL等自定义的设计性语言。在线逻辑分析仪的硬件描述语言指的是采用VerilogHDL语言、VHDL语言以及SystemVerilog语言等硬件语言编写的一种描述FPGA芯片中的在线逻辑分析仪硬件电路结构的程序,当然,在线逻辑分析仪的硬件描述语言也并不限于上述的硬件语言,还可以包括PDL等自定义的设计性语言。
一种具体的实施例中,根据第一程序以及第二程序,生成网表文件的具体步骤为:对上述第一程序采用上述第一标识进行标记;对上述第二程序采用上述第二标识进行标记;根据标记后的上述第一程序以及标识后的上述第二程序,生成上述网表文件,上述网表文件包括带有上述第一标识的资源以及带有上述第二标识的资源。
本申请的一种具体的实施例中,上述布局布线单元包括确定模块以及布局布线模块,其中,上述确定模块用于根据上述网表文件,确定资源信息以及各上述资源的连接信息,上述资源信息为表征上述FPGA设计以及上述在线逻辑分析仪占用的芯片资源的信息,上述资源信息由包括上述第一标识的第一子资源信息以及包括上述第二标识的第二子资源信息构成;上述布局布线模块用于根据上述资源信息以及上述连接信息,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成上述第一码流文件以及上述第二码流文件。通过对FPGA设计占用的芯片资源以及上述在线逻辑分析仪占用的芯片资源进行区分标记,这样进一步地方便了后续可以得到带有在线逻辑分析仪的上述第一码流文件,以及得到不带有在线逻辑分析仪的上述第二码流文件,这样进一步地避免了用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,无法快速有效地找出原因的问题。
在实际的应用过程中,上述第一子资源信息包括表征FPGA设计所需的算术逻辑资源、存储器资源、寄存器资源等所占用的芯片资源的信息,上述第二子资源信息包括表征上述在线逻辑分析仪所需的算术逻辑资源、存储器资源、寄存器资源等所占用的芯片资源的信息。
根据本申请的另一种具体的实施例,上述布局布线模块包括布局子模块以及布线子模块,其中,上述布局子模块用于根据上述资源信息,对上述FPGA设计以及上述在线逻辑分析仪进行布局,得到布局信息;上述布线子模块用于根据上述连接信息,对上述布局信息进行布线,得到上述第一码流文件以及上述第二码流文件。在得到FPGA设计以及在线逻辑分析仪的资源信息以及布线信息后,先根据上述资源信息对上述FPGA设计以及上述在线逻辑分析仪进行布局,再根据上述布线信息对布局后的上述FPGA设计以及上述在线逻辑分析仪进行信号线连接,这样保证了较为简单快捷地得到上述第一码流文件以及上述第二码流文件。
为了进一步地保证较为高效地得到带有在线逻辑分析仪的第一码流文件以及不带有在线逻辑分析仪的第二码流文件,本申请的又一种具体的实施例中,上述布线子模块还用于根据上述连接信息,对上述布局信息进行布线,得到包括上述第一标识的布局布线信息以及包括上述第二标识的布局布线信息;上述布线子模块还用于根据包括上述第一标识的布局布线信息以及包括上述第二标识的布局布线信息,生成上述第一码流文件以及上述第二码流文件。
本申请的再一种具体的实施例中,上述生成单元包括获取模块以及生成模块,其中,上述获取模块用于在接收到触发信号的情况下,获取上述第一程序以及上述第二程序;上述生成模块用于对上述第一程序以及上述第二程序进行逻辑综合,生成上述网表文件。通过对上述第一程序以及上述第二程序进行逻辑综合,以将该FPGA设计硬件描述语言和在线逻辑分析仪硬件描述语言转化为FPGA芯片可识别的网表文件,上述网表文件可有效表征上述FPGA芯片中的FPGA设计以及在线逻辑分析仪的硬件电路的连接情况。该FPGA设计所需的硬件电路即是FPGA芯片所要实现的功能,该部分硬件电路可根据用户的需要进行自主设计,因此当获取到上述网表文件后,该网表文件中包含了两部分内容,一部分为带有第一标识的FPGA设计的硬件线路连接情况,另一部分为带有第二标识的在线逻辑分析仪的硬件线路连接情况。
具体地,上述触发信号为根据用户的点击、触摸等操作生成的触发信号。
在实际的应用过程中,上述生成模块包括转换子模块以及标记子模块,其中,上述转换子模块用于将上述第一程序以及上述第二程序转换为初始网表文件;上述标记子模块用于将上述初始网表文件中上述FPGA设计对应的资源使用上述第一标识进行标记,且将上述初始网表文件中上述在线逻辑分析仪对应的资源使用上述第二标识进行标记,生成上述网表文件。这样进一步地有利于相关人员根据上述第一标识以及上述第二标识定位是用户设计问题还是在线逻辑分析仪问题,便于问题的排查和解决。
上述基于FPGA的在线逻辑分析仪的布局布线装置包括处理器和存储器,上述生成单元以及上述布局布线单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,难以排查和定位原因的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述基于FPGA的在线逻辑分析仪的布局布线方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述基于FPGA的在线逻辑分析仪的布局布线方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,根据第一程序以及第二程序,生成网表文件,其中,上述第一程序为FPGA设计的硬件描述语言,上述第二程序为在线逻辑分析仪的硬件描述语言,上述网表文件中,上述第一程序对应的资源带有第一标识,上述第二程序对应的资源带有第二标识;
步骤S102,根据上述网表文件,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,其中,上述第一码流文件由第一部分代码和第二部分代码构成,上述第一部分代码为表征包括上述第一标识的布局布线信息的代码,上述第二部分代码为表征包括上述第二标识的布局布线信息的代码,上述第二码流文件由上述第一部分代码构成。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,根据第一程序以及第二程序,生成网表文件,其中,上述第一程序为FPGA设计的硬件描述语言,上述第二程序为在线逻辑分析仪的硬件描述语言,上述网表文件中,上述第一程序对应的资源带有第一标识,上述第二程序对应的资源带有第二标识;
步骤S102,根据上述网表文件,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,其中,上述第一码流文件由第一部分代码和第二部分代码构成,上述第一部分代码为表征包括上述第一标识的布局布线信息的代码,上述第二部分代码为表征包括上述第二标识的布局布线信息的代码,上述第二码流文件由上述第一部分代码构成。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请上述的基于FPGA的在线逻辑分析仪的布局布线方法中,首先根据FPGA设计(即用户设计)的第一程序以及在线逻辑分析仪的第二程序生成网表文件,且上述网表文件中上述FPGA设计对应的资源带有第一标识,上述在线逻辑分析仪对应的资源带有第二标识;然后根据得到的上述网表文件,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成两个码流文件,其中,第一码流文件由包括上述第一标识的布局布线信息的代码以及包括上述第二标识的布局布线信息的代码构成,上述第二码流文件由包括上述第一标识的布局布线信息的代码构成,即上述第一码流文件是带有在线逻辑分析仪的码流文件,上述第二码流文件是不带有在线逻辑分析仪的码流文件,且上述第一码流文件包含了上述第二码流文件,这样在上述第一码流文件在FPGA芯片中运行正常时,上述第二码流文件在FPGA芯片中运行一定也是正常的,用户可以直接使用上述第二码流文件,而无需对FPGA设计重新进行单独综合以及布局布线,从而避免了用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,难以排查和定位原因的问题。并且,由于上述第一码流文件中用户设计以及在线逻辑分析仪对应的代码进行了区分标记,这样当上述第一码流文件在FPGA芯片中运行异常时,有利于相关人员根据标记定位是用户设计问题还是在线逻辑分析仪问题,便于问题的排查和解决。
2)、本申请上述的基于FPGA的在线逻辑分析仪的布局布线装置中,通过上述生成单元根据FPGA设计(即用户设计)的第一程序以及在线逻辑分析仪的第二程序生成网表文件,且上述网表文件中上述FPGA设计对应的资源带有第一标识,上述在线逻辑分析仪对应的资源带有第二标识;然后根据得到的上述网表文件,对上述FPGA设计以及上述在线逻辑分析仪进行布局布线,生成两个码流文件,其中,第一码流文件由包括上述第一标识的布局布线信息的代码以及包括上述第二标识的布局布线信息的代码构成,上述第二码流文件由包括上述第一标识的布局布线信息的代码构成,即上述第一码流文件是带有在线逻辑分析仪的码流文件,上述第二码流文件是不带有在线逻辑分析仪的码流文件,且上述第一码流文件包含了上述第二码流文件,这样在上述第一码流文件在FPGA芯片中运行正常时,上述第二码流文件在FPGA芯片中运行一定也是正常的,用户可以直接使用上述第二码流文件,而无需对FPGA设计重新进行单独综合以及布局布线,从而避免了用户设计在使用在线逻辑分析仪时工作正常,不使用在线逻辑分析仪时工作异常,难以排查和定位原因的问题。并且,由于上述第一码流文件中用户设计以及在线逻辑分析仪对应的代码进行了区分标记,这样当上述第一码流文件在FPGA芯片中运行异常时,有利于相关人员根据标记定位是用户设计问题还是在线逻辑分析仪问题,便于问题的排查和解决。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种基于FPGA的在线逻辑分析仪的布局布线方法,其特征在于,包括:
根据第一程序以及第二程序,生成网表文件,其中,所述第一程序为FPGA设计的硬件描述语言,所述第二程序为在线逻辑分析仪的硬件描述语言,所述网表文件中,所述第一程序对应的资源带有第一标识,所述第二程序对应的资源带有第二标识;
根据所述网表文件,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,其中,所述第一码流文件由第一部分代码和第二部分代码构成,所述第一部分代码为表征包括所述第一标识的布局布线信息的代码,所述第二部分代码为表征包括所述第二标识的布局布线信息的代码,所述第二码流文件由所述第一部分代码构成,
根据所述网表文件,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,包括:
根据所述网表文件,确定资源信息以及各所述资源的连接信息,所述资源信息为表征所述FPGA设计以及所述在线逻辑分析仪占用的芯片资源的信息,所述资源信息由包括所述第一标识的第一子资源信息以及包括所述第二标识的第二子资源信息构成;
根据所述资源信息以及所述连接信息,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成所述第一码流文件以及所述第二码流文件,
根据所述资源信息以及所述连接信息,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成所述第一码流文件以及所述第二码流文件,包括:
根据所述资源信息,对所述FPGA设计以及所述在线逻辑分析仪进行布局,得到布局信息;
根据所述连接信息,对所述布局信息进行布线,得到所述第一码流文件以及所述第二码流文件。
2.根据权利要求1所述的方法,其特征在于,根据所述连接信息,对所述布局信息进行布线,得到所述第一码流文件以及所述第二码流文件,包括:
根据所述连接信息,对所述布局信息进行布线,得到包括所述第一标识的布局布线信息以及包括所述第二标识的布局布线信息;
根据包括所述第一标识的布局布线信息以及包括所述第二标识的布局布线信息,生成所述第一码流文件以及所述第二码流文件。
3.根据权利要求1至2中任一项所述的方法,其特征在于,根据第一程序以及第二程序,生成网表文件,包括:
在接收到触发信号的情况下,获取所述第一程序以及所述第二程序;
对所述第一程序以及所述第二程序进行逻辑综合,生成所述网表文件。
4.根据权利要求3所述的方法,其特征在于,对所述第一程序以及所述第二程序进行逻辑综合,生成所述网表文件,包括:
将所述第一程序以及所述第二程序转换为初始网表文件;
将所述初始网表文件中所述FPGA设计对应的资源使用所述第一标识进行标记,且将所述初始网表文件中所述在线逻辑分析仪对应的资源使用所述第二标识进行标记,生成所述网表文件。
5.一种基于FPGA的在线逻辑分析仪的布局布线装置,其特征在于,包括:
生成单元,用于根据第一程序以及第二程序,生成网表文件,其中,所述第一程序为FPGA设计的硬件描述语言,所述第二程序为在线逻辑分析仪的硬件描述语言,所述网表文件中所述第一程序对应的资源带有第一标识,所述第二程序对应的资源带有第二标识;
布局布线单元,用于根据所述网表文件,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成第一码流文件以及第二码流文件,其中,所述第一码流文件由第一部分代码和第二部分代码构成,所述第一部分代码为表征包括所述第一标识的布局布线信息的代码,所述第二部分代码为表征包括所述第二标识的布局布线信息的代码,所述第二码流文件由所述第一部分代码构成,
所述布局布线单元包括确定模块以及布局布线模块,其中,所述确定模块用于根据所述网表文件,确定资源信息以及各所述资源的连接信息,所述资源信息为表征所述FPGA设计以及所述在线逻辑分析仪占用的芯片资源的信息,所述资源信息由包括所述第一标识的第一子资源信息以及包括所述第二标识的第二子资源信息构成;所述布局布线模块用于根据所述资源信息以及所述连接信息,对所述FPGA设计以及所述在线逻辑分析仪进行布局布线,生成所述第一码流文件以及所述第二码流文件,
所述布局布线模块包括布局子模块以及布线子模块,其中,所述布局子模块用于根据所述资源信息,对所述FPGA设计以及所述在线逻辑分析仪进行布局,得到布局信息;所述布线子模块用于根据所述连接信息,对所述布局信息进行布线,得到所述第一码流文件以及所述第二码流文件。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至4中任意一项所述的方法。
7.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的方法。
8.一种电子设备,其特征在于,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至4中任意一项所述的方法。
CN202111509300.9A 2021-12-10 2021-12-10 基于fpga的在线逻辑分析仪的布局布线方法以及装置 Active CN114297969B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111509300.9A CN114297969B (zh) 2021-12-10 2021-12-10 基于fpga的在线逻辑分析仪的布局布线方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111509300.9A CN114297969B (zh) 2021-12-10 2021-12-10 基于fpga的在线逻辑分析仪的布局布线方法以及装置

Publications (2)

Publication Number Publication Date
CN114297969A CN114297969A (zh) 2022-04-08
CN114297969B true CN114297969B (zh) 2024-05-14

Family

ID=80967475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111509300.9A Active CN114297969B (zh) 2021-12-10 2021-12-10 基于fpga的在线逻辑分析仪的布局布线方法以及装置

Country Status (1)

Country Link
CN (1) CN114297969B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115879400A (zh) * 2022-12-21 2023-03-31 广东高云半导体科技股份有限公司 实现网表文件处理的方法、装置、计算机存储介质及终端
CN116894424B (zh) * 2023-06-25 2024-05-17 广东高云半导体科技股份有限公司 一种fpga的布线方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779194A (zh) * 2011-05-10 2012-11-14 中国科学院微电子研究所 一种基于soi的fpga结构的码流生成方法和装置
CN110069827A (zh) * 2019-03-28 2019-07-30 广东高云半导体科技股份有限公司 Fpga在线逻辑分析仪的布局布线方法与装置
CN112541313A (zh) * 2020-12-24 2021-03-23 山东高云半导体科技有限公司 为逻辑分析态配置触发表达式的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169513B2 (en) * 2016-05-06 2019-01-01 Baidu Usa Llc Method and system for designing FPGA based on hardware requirements defined in source code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779194A (zh) * 2011-05-10 2012-11-14 中国科学院微电子研究所 一种基于soi的fpga结构的码流生成方法和装置
CN110069827A (zh) * 2019-03-28 2019-07-30 广东高云半导体科技股份有限公司 Fpga在线逻辑分析仪的布局布线方法与装置
CN112541313A (zh) * 2020-12-24 2021-03-23 山东高云半导体科技有限公司 为逻辑分析态配置触发表达式的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
现代层次化可编程逻辑器件软件系统FDE2009;谢丁;邵;来金梅;王健;陈利光;王元;俞建德;;电子学报;20100515(第05期);全文 *
谢丁 ; 邵赟 ; 来金梅 ; 王健 ; 陈利光 ; 王元 ; 俞建德 ; .现代层次化可编程逻辑器件软件系统FDE2009.电子学报.2010,(第05期),全文. *

Also Published As

Publication number Publication date
CN114297969A (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
CN114297969B (zh) 基于fpga的在线逻辑分析仪的布局布线方法以及装置
US6760898B1 (en) Method and system for inserting probe points in FPGA-based system-on-chip (SoC)
Apvrille et al. A UML-based environment for system design space exploration
US20170177780A1 (en) Automating system on a chip customized design integration, specification, and verification through a single, integrated service
US7401310B1 (en) Integrated circuit design with cell-based macros
CN110069827B (zh) Fpga在线逻辑分析仪的布局布线方法与装置
US9747409B2 (en) Method of parameter extraction and system thereof
CN112541313B (zh) 为逻辑分析态配置触发表达式的方法和装置
US9588791B2 (en) Flexible physical function and virtual function mapping
US20190236229A1 (en) Just-in-time hardware for field programmable gate arrays
CN113901745A (zh) 芯片测试方法、装置、电子设备及计算机可读存储介质
CN113887161A (zh) 一种片上网络设计实例的验证方法、装置、设备及介质
CN104834759A (zh) 电子设计的实现方法和装置
US8566768B1 (en) Best clock frequency search for FPGA-based design
US10579774B2 (en) Integrated circuit (IC) design systems and methods using single-pin imaginary devices
Ebeid et al. HDL code generation from UML/MARTE sequence diagrams for verification and synthesis
US20230103565A1 (en) Register transfer level navigation microservices and instrumentation for cloud-native electronic design automation (eda) platforms
CN111158684B (zh) 系统创建方法、装置、电子设备及可读存储介质
CN104468836A (zh) 虚拟磁盘创建方法及装置及分布式存储系统
CN112613257A (zh) 验证方法、装置、电子设备和计算机可读存储介质
Viale et al. Scalable and versatile design guidance tool for the ESD robustness of integrated circuits-Part I
US9886538B1 (en) System and method for using heterogeneous hierarchical configurations for electronic design reuse
US9710579B1 (en) Using smart timing models for gate level timing simulation
US11403449B1 (en) Systems and methods for configurable switches for verification IP
de la Fuente et al. Building a dynamically reconfigurable system through a high-level development flow

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