CN110069827A - Fpga在线逻辑分析仪的布局布线方法与装置 - Google Patents

Fpga在线逻辑分析仪的布局布线方法与装置 Download PDF

Info

Publication number
CN110069827A
CN110069827A CN201910242559.8A CN201910242559A CN110069827A CN 110069827 A CN110069827 A CN 110069827A CN 201910242559 A CN201910242559 A CN 201910242559A CN 110069827 A CN110069827 A CN 110069827A
Authority
CN
China
Prior art keywords
user
logic analyser
routing
placement
design
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
CN201910242559.8A
Other languages
English (en)
Other versions
CN110069827B (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.)
Guangdong High Cloud Semiconductor Technologies Ltd Co
Gowin Semiconductor Corp
Original Assignee
Guangdong High Cloud Semiconductor Technologies Ltd Co
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 Guangdong High Cloud Semiconductor Technologies Ltd Co filed Critical Guangdong High Cloud Semiconductor Technologies Ltd Co
Priority to CN201910242559.8A priority Critical patent/CN110069827B/zh
Publication of CN110069827A publication Critical patent/CN110069827A/zh
Application granted granted Critical
Publication of CN110069827B publication Critical patent/CN110069827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本公开提出了一种FPGA在线逻辑分析仪的布局布线方法与装置,该FPGA在线逻辑分析仪的布局布线方法通过在对FPGA芯片进行硬件电路布局布线时,先根据获取的用户设计网表进行用户设计布局布线,并在用户设计布局布线的过程中对已经被使用的资源进行标记,之后在未被标记的资源中根据在线逻辑分析仪网表进行在线逻辑分析仪的布局布线,以此实现先对用户设计进行布局布线,然后利用剩余资源对在线逻辑分析仪进行布局布线,进而可以优先保证用户设计的布局布线,同时又使其免受在线逻辑分析仪布局布线的影响,使得两者之间相互独立、互不影响,从而便于布局布线问题的排查和解决。

Description

FPGA在线逻辑分析仪的布局布线方法与装置
技术领域
本公开涉及FPGA技术领域,尤其涉及一种FPGA在线逻辑分析仪的布局布线方法与装置。
背景技术
近几年来,现场可编程门阵列(Field-Programmable Gate Array,FPGA)作为一种半定制的集成电路芯片,因其集成度高、逻辑资源丰富以及可重新配置等优点,被广泛应用于各种领域,而随着FPGA的广泛应用,其在线逻辑分析仪的布局布线已经成为亟待解决的问题之一。
为了解决上述问题,目前现有技术主要通过在进行用户设计布局布线的同时实施在线逻辑分析仪的布局布线。然而,虽然上述方法可以完成FPGA逻辑分析仪的布局布线,但是由于该方法使得用户设计的布局布线和在线逻辑分析仪的布局布线相互影响,进而使得在布局布线问题发生时,无法确认问题的根源,从而不利于问题的排查和解决,降低了布局布线故障处理效率。
综上所述,现有的FPGA在线逻辑分析仪的布局布线方法存在因无法确认问题的根源导致布局布线故障处理效率低的问题。
发明内容
本公开的目的在于提供一种FPGA在线逻辑分析仪的布局布线方法与装置,以解决现有的FPGA在线逻辑分析仪的布局布线方法存在因无法确认问题的根源导致布局布线故障处理效率低的问题。
本公开是这样实现的,本公开第一方面提供一种FPGA在线逻辑分析仪的布局布线方法,所述布局布线方法包括:
若检测到对FPGA芯片进行硬件电路布局布线的触发操作,则获取用户设计网表和在线逻辑分析仪网表;
根据所述用户设计网表进行用户设计布局布线,并在所述用户设计布局布线的过程中对已经被使用的资源进行标记;
在所述用户设计布局布线完成后,获取未被标记的资源,并在所述未被标记的资源中根据所述在线逻辑分析仪网表进行在线逻辑分析仪的布局布线。
本公开第二方面提供一种FPGA在线逻辑分析仪的布局布线装置,所述布局布线装置包括:
综合模块,用于若检测到对FPGA芯片进行硬件电路布局布线的触发操作,则获取用户设计网表和在线逻辑分析仪网表;
用户设计布局布线模块,用于根据所述用户设计网表进行用户设计布局布线,并在所述用户设计布局布线的过程中对已经被使用的资源进行标记;
在线逻辑分析仪布局布线模块,用于在所述用户设计布局布线完成后,获取未被标记的资源,并在所述未被标记的资源中根据所述在线逻辑分析仪网表进行在线逻辑分析仪的布局布线。
本公开第三发方面提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的FPGA在线逻辑分析仪的布局布线方法的步骤。
本公开第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的FPGA在线逻辑分析仪的布局布线方法的步骤。
本公开提出了一种FPGA在线逻辑分析仪的布局布线方法与装置,该FPGA在线逻辑分析仪的布局布线方法通过在对FPGA芯片进行硬件电路布局布线时,先根据获取的用户设计网表进行用户设计布局布线,并在用户设计布局布线的过程中对已经被使用的资源进行标记,之后在未被标记的资源中根据在线逻辑分析仪网表进行在线逻辑分析仪的布局布线,以此实现先对用户设计进行布局布线,然后利用剩余资源对在线逻辑分析仪进行布局布线,进而可以优先保证用户设计的布局布线,同时又使其免受在线逻辑分析仪布局布线的影响,使得两者之间相互独立、互不影响,从而便于布局布线问题的排查和解决。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开一种实施例提供的FPGA在线逻辑分析仪的布局布线方法的流程示意图;
图2是本公开一种实施例提供的FPGA在线逻辑分析仪的布局布线装置的结构示意图;
图3是本公开另一种实施例提供的FPGA在线逻辑分析仪的布局布线装置的结构示意图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了说明本公开的技术方案,下面通过具体实施例来进行说明。
本公开实施例提供一种FPGA在线逻辑分析仪的布局布线方法,如图1所示,该FPGA在线逻辑分析仪的布局布线方法包括:
步骤S11:若检测到对FPGA芯片进行硬件电路布局布线的触发操作,则获取用户设计网表和在线逻辑分析仪网表。
其中,在本公开实施例中,FPGA在线逻辑分析仪是在线观测FPGA运行期间的内部信号,并根据用户设定的触发条件,将需要观测的内部信号捕获、保存并传送到PC机,从而显示出观测信号的时序波形图的硬件电路,其需要占用逻辑资源以及相应的布局布线。
从上述描述可以看出,FPGA在线逻辑分析仪在工作时必须先要进行FPGA芯片硬件电路的布局布线,而FPGA芯片硬件电路则是根据用户的触发操作启动的,因此需要对FPGA芯片硬件电路布局布线的触发操作进行检测,当检测到对FPGA芯片进行硬件电路布局布线的触发操作,则获取用户网表和在线逻辑分析仪网表;需要说明的是,在本公开实施例中,对FPGA芯片进行硬件电路布局布线的触发操作包括但不限于用户的点击、触摸等启动FPGA芯片硬件电路布局布线的操作。
进一步地,作为本公开一种实施方式,步骤S11中的获取用户设计网表和在线逻辑分析仪网表包括:
获取FPGA芯片的用户设计硬件编程语言和在线逻辑分析仪硬件编程语言,并将所述用户设计硬件编程语言和在线逻辑分析仪硬件编程语言转化为门级网表;
对所述门级网表进行解析,以生成所述用户设计网表和所述在线逻辑分析仪网表。
其中,在本公开实施例中,FPGA芯片的用户设计硬件编程语言指的是采用VerilogHDL语言编写的一种描述FPGA芯片中的用户设计硬件电路结构的程序,而FPGA芯片的在线逻辑分析仪硬件编程语言指的是采用Verilog HDL语言编写的一种描述FPGA芯片中的在线逻辑分析仪硬件电路结构的程序。在对FPGA芯片中的用户设计硬件电路和在线逻辑分析仪硬件电路进行布局布线时,首先要获取该FPGA芯片的用户设计硬件编程语言和在线逻辑分析仪硬件编程语言,进而对该用户设计硬件编程语言和在线逻辑分析仪硬件编程语言进行解析,以将该用户设计硬件编程语言和在线逻辑分析仪硬件编程语言转化为可识别的门级网表,该门级网表可有效表征FPGA芯片中的用户设计和在线逻辑分析仪硬件线路连接情况。
由于FPGA芯片中不止有在线逻辑分析仪电路,而且还有用户设计所需的硬件电路,该用户设计所需的硬件电路即是FPGA芯片所要实现的功能,该部分硬件电路可根据用户的需要进行自主设计,因此当获取到门级列表后,该门级列表中将包含两部分内容,一部分为用户设计硬件线路连接情况,另一部分为在线逻辑分析仪的硬件线路连接情况,故在对FPGA芯片进行布局布线时,需要对该门级列表进行解析,以生成用户设计网表和在线逻辑分析仪网表,其中,用户设计网表可有效表征FPGA芯片中的用户设计部分的硬件线路连接情况,在线逻辑分析仪网表可有效表征FPGA芯片中的在线逻辑分析仪部分的硬件线路连接情况。
步骤S12:根据所述用户设计网表进行用户设计布局布线,并在所述用户设计布局布线的过程中对已经被使用的资源进行标记。
其中,在本公开实施例中,从步骤S11中可知,用户设计网表可有效表征FPGA芯片中的用户设计部分的硬件线路连接情况,因此在获取到用户设计网表后,便可根据用户设计网表进行用户设计布局布线;需要说明的是,在本公开实施例中,为了防止用户设计部分硬件电路的布局布线和在线逻辑分析仪部分硬件电路的布局布线之间相互影响,以使得无法快速、有效地找出发生问题的线路,因此需要在用户设计布局布线的过程中对已经被使用的资源进行标记。
进一步地,作为本公开一种实施方式,步骤S12中的根据所述用户设计网表进行用户设计布局布线包括:
根据所述用户设计网表获取用户设计的资源信息和布线信息;
根据所述用户设计的资源信息和布线信息进行用户设计布局布线。
其中,在本公开实施例中,由于用户设计网表可有效表征FPGA芯片中的用户设计部分的硬件线路连接情况,而该用户设计部分的硬件线路连接情况不但包括用户设计部分所需的算术逻辑资源、存储器资源、寄存器资源等,并且还包括各个资源之间的线路连接情况,因此在获取到用户设计网表后,可对该用户网表进行解析,以获取用户设计的资源信息和布线信息,其中该用户设计的资源信息是用户设计部分所需的算术逻辑资源、存储器资源、寄存器资源等所占用的芯片资源。
当获取到用户设计的资源信息和布线信息后,便可根据两者进行用户设计布局布线。具体的,作为本公开一种实施方式,所述根据所述用户设计的资源信息和布线信息进行用户设计布局布线包括:
根据所述用户设计的资源信息进行用户设计布局,在用户设计布局完成后,根据所述用户设计的布线信息对所述用户设计布局进行信号线连接,以完成所述用户设计布局布线。
其中,在本公开实施例中,由于用户设计的资源信息是用户设计部分所需的算术逻辑资源、存储器资源、寄存器资源等所占用的芯片资源,因此在获取到该用户设计的资源信息后,便可根据该用户设计的资源信息对用户设计部分所占用的芯片资源进行用户设计布局,在用户设计布局完成后,便根据用户设计的布线信息对用户设计布局中涉及到的芯片资源进行信号线连接,以此完成用户设计部分硬件电路的布局布线;需要说明的是,在本公开实施例中,在根据用户设计的资源信息对用户设计部分所占用的芯片资源进行用户设计布局的过程中,需要对被使用的芯片资源进行标记,以防止被后续的在线逻辑分析仪布局布线重复利用,从而防止当布局布线线路出现问题后,无法确定问题根源,即无法确定用户设计部分硬件电路的布局布线出现问题,还是在线逻辑分析仪部分硬件电路的布局布线出现问题,有效提高了线路问题的排查效率。
步骤S13:在所述用户设计布局布线完成后,获取未被标记的资源,并在所述未被标记的资源中根据所述在线逻辑分析仪网表进行在线逻辑分析仪的布局布线。
其中,在本公开实施例中,从步骤S12中可知,在用户设计布局布线的过程中,对用户设计部分硬件电路所需的芯片资源进行了标记,此部分标记的芯片资源主要为用户设计布局布线所用,因此为了防止用户设计布局布线与在线逻辑分析仪布局布线之间相互影响,因此在在线逻辑分析仪布局布线时,可采用剩余资源对在线逻辑分析仪部分的硬件电路进行布局布线,故在对在线逻辑分析仪部分的硬件电路进行布局布线时,首先需要获取未被标记的资源。
在获取到未被标记的资源后,由于从步骤S11中可知,在线逻辑分析仪网表可有效表征FPGA芯片中的在线逻辑分析仪部分的硬件线路连接情况,因此在获取到在线逻辑分析仪网表后,便可在未被标记的资源中根据在线逻辑分析仪网表进行在线逻辑分析仪布局布线。
在本公开实施例中,本公开实施例提供的FPGA在线逻辑分析仪的布局布线方法通过首先对用户设计进行布局布线,然后利用剩余资源对在线逻辑分析仪进行布局布线,此种布局布线方法使得用户设计布局布线与在线逻辑分析仪布局布线分开进行,既可以优先满足用户设计的布局布线,又可以使其不受在线逻辑分析仪布局布线的影响,查找问题也可以分开进行,即两者的布局布线结果相互独立,若出现布局布线问题,则容易锁定问题所在,显著提高排查问题和解决问题效率。
进一步地,作为本公开一种实施方式,步骤S13中的在所述未被标记的资源中根据所述在线逻辑分析仪网表进行在线逻辑分析仪的布局布线包括:
根据所述在线逻辑分析仪网表获取在线逻辑分析仪的资源信息和布线信息;
在所述未被标记的资源中根据所述在线逻辑分析仪的资源信息和布线信息进行在线逻辑分析仪的布局布线。
其中,在本公开实施例中,由于在线逻辑分析仪网表可有效表征FPGA芯片中的在线逻辑分析仪部分的硬件线路连接情况,而该在线逻辑分析仪部分的硬件线路连接情况不但包括在线逻辑分析仪部分所需的捕获、保存信号时的存储器资源、寄存器资源或者逻辑资源等,并且还包括各个资源之间的线路连接情况,因此在获取到在线逻辑分析仪网表后,可对该在线逻辑分析仪进行解析,以获取在线逻辑分析仪的资源信息和布线信息,其中该在线逻辑分析仪的资源信息是在线逻辑分析仪部分所需的算术逻辑资源、存储器资源、寄存器资源等所占用的芯片资源。
当获取到在线逻辑分析仪的资源信息和布线信息后,便可根据两者进行在线逻辑分析仪布局布线。具体的,作为本公开一种实施方式,所述在所述未被标记的资源中根据所述在线逻辑分析仪的资源信息和布线信息进行在线逻辑分析仪的布局布线包括:
在所述未被标记的资源中根据所述在线逻辑分析仪的资源信息进行在线逻辑分析仪设计布局,并在所述在线逻辑分析仪设计布局完成后,根据所述在线逻辑分析仪的布线信息对所述在线逻辑分析仪设计布局进行信号线连接,以完成所述在线逻辑分析仪布局布线。
其中,在本公开实施例中,由于在线逻辑分析仪的资源信息是在线逻辑分析仪所需的算术逻辑资源、存储器资源、寄存器资源等所占用的芯片资源,因此在获取到该在线逻辑分析仪的资源信息后,便可在未被标记的资源中根据该在线逻辑分析仪的资源信息对在线逻辑分析仪部分所占用的芯片资源进行在线逻辑分析仪布局,在在线逻辑分析仪布局完成后,便根据在线逻辑分析仪的布线信息对在线逻辑分析仪布局中涉及到的芯片资源进行信号线连接,以此完成在线逻辑分析仪部分硬件电路的布局布线。
需要说明的是,在本公开实施例中,在根据在线逻辑分析仪的资源信息对在线逻辑分析仪部分所占用的芯片资源进行在线逻辑分析仪布局的过程中,需要采用未被标记的芯片资源进行布局,如此将使得在线逻辑分析仪布局布线与用户设计布局布线相互嘟噜、互不影响,从而便于布局布线故障问题的排查和解决。
此外,图1中示出的FPGA在线逻辑分析仪的布局布线方法主要是针对先进行用户设计布局布线,而后进行在线逻辑分析仪布局布线的实施方式进行描述的,而本领域技术人员可以理解的是,在本公开的其他实施方式中,该FPGA在线逻辑分析仪的布局布线方法也可以先进行在线逻辑分析仪布局布线,而后进行用户设计布局布线,其与图1所示的布局布线方法不同点仅在于当进行在线逻辑分析仪布局布线时,需要对在线逻辑分析仪布局布线过程中用到的资源进行标记,而在进行用户设计布局布线时则采用未被标记的资源,因此具体实施过程可参考图1所述,此处不再赘述。
在本实施方式中,本公开通过在对FPGA芯片进行硬件电路布局布线时,先根据获取的用户设计网表进行用户设计布局布线,并在用户设计布局布线的过程中对已经被使用的资源进行标记,之后在未被标记的资源中根据在线逻辑分析仪网表进行在线逻辑分析仪的布局布线,以此实现先对用户设计进行布局布线,然后利用剩余资源对在线逻辑分析仪进行布局布线,进而可以优先保证用户设计的布局布线,同时又使其免受在线逻辑分析仪布局布线的影响,使得两者之间相互独立、互不影响,从而显著提高布局布线故障问题的排查和解决效率。
图2示出了一种FPGA在线逻辑分析仪的布局布线装置2的结构示意图,该FPGA在线逻辑分析仪的布局布线装置2中各个模块的功能与图1所示的FPGA在线逻辑分析仪的布局布线方法中的各步骤相对应。具体的,该FPGA在线逻辑分析仪的布局布线装置2包括:综合模块21、用户设计布局布线模块22以及在线逻辑分析仪布局布线模块23。
其中,综合模块21,用于若检测到对FPGA芯片进行硬件电路布局布线的触发操作,则获取用户设计网表和在线逻辑分析仪网表。
用户设计布局布线模块22,用于根据用户设计网表进行用户设计布局布线,并在用户设计布局布线的过程中对已经被使用的资源进行标记。
在线逻辑分析仪布局布线模块23,用于在用户设计布局布线完成后,获取未被标记的资源,并在未被标记的资源中根据在线逻辑分析仪网表进行在线逻辑分析仪的布局布线。
进一步地,作为本公开一种实施方式,综合模块21具体用于获取FPGA芯片的用户设计硬件编程语言和在线逻辑分析仪硬件编程语言,并将用户设计硬件编程语言和在线逻辑分析仪硬件编程语言转化为门级网表;对门级网表进行解析,以生成用户设计网表和在线逻辑分析仪网表。
进一步地,作为本公开一种实施方式,用户设计布局布线模块22具体用于根据用户设计网表获取用户设计的资源信息和布线信息;根据用户设计的资源信息和布线信息进行用户设计布局布线。
进一步地,作为本公开一种实施方式,用户设计布局布线模块22还具体用于根据用户设计的资源信息进行用户设计布局,在用户设计布局完成后,根据用户设计的布线信息对用户设计布局进行信号线连接,以完成用户设计布局布线。
进一步地,作为本公开一种实施方式,在线逻辑分析仪布局布线模块23具体用于根据在线逻辑分析仪网表获取在线逻辑分析仪的资源信息和布线信息;在未被标记的资源中根据在线逻辑分析仪的资源信息和布线信息进行在线逻辑分析仪的布局布线。
进一步地,作为本公开一种实施方式,在线逻辑分析仪布局布线模块23还具体用于在未被标记的资源中根据在线逻辑分析仪的资源信息进行在线逻辑分析仪设计布局,并在在线逻辑分析仪设计布局完成后,根据在线逻辑分析仪的布线信息对在线逻辑分析仪设计布局进行信号线连接,以完成在线逻辑分析仪布局布线。
在本实施方式中,FPGA在线逻辑分析仪的布局布线装置2通过在对FPGA芯片进行硬件电路布局布线时,先根据获取的用户设计网表进行用户设计布局布线,并在用户设计布局布线的过程中对已经被使用的资源进行标记,之后在未被标记的资源中根据在线逻辑分析仪网表进行在线逻辑分析仪的布局布线,以此实现先对用户设计进行布局布线,然后利用剩余资源对在线逻辑分析仪进行布局布线,进而可以优先保证用户设计的布局布线,同时又使其免受在线逻辑分析仪布局布线的影响,使得两者之间相互独立、互不影响,从而显著提高布局布线故障问题的排查和解决效率。
图3是本发明实施例六提供的FPGA在线逻辑分析仪的布局布线装置3的示意图。如图3所示,该实施例的FPGA在线逻辑分析仪的布局布线装置3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32,例如FPGA在线逻辑分析仪的布局布线方法程序。所述处理器30执行所述计算机程序32时实现上述各个FPGA在线逻辑分析仪的布局布线方法实施例中的步骤,例如图1所示的步骤11至13,或者所述处理器30执行所述计算机程序32时实现上述各装置实施例中各模块/单元的功能,例如图2所示模块21至23的功能。
示例性的,所述计算机程序32可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序32在所述FPGA在线逻辑分析仪的布局布线装置3中的执行过程。例如,所述计算机程序32可以被分割综合模块、用户设计布局布线模块以及在线逻辑分析仪布局布线模块(装置中的虚拟模块),各模块具体功能如下:
综合模块,用于若检测到对FPGA芯片进行硬件电路布局布线的触发操作,则获取用户设计网表和在线逻辑分析仪网表。
用户设计布局布线模块,用于根据用户设计网表进行用户设计布局布线,并在用户设计布局布线的过程中对已经被使用的资源进行标记。
在线逻辑分析仪布局布线模块,用于在用户设计布局布线完成后,获取未被标记的资源,并在未被标记的资源中根据在线逻辑分析仪网表进行在线逻辑分析仪的布局布线。
进一步地,作为本公开一种实施方式,综合模块具体用于获取FPGA芯片的用户设计硬件编程语言和在线逻辑分析仪硬件编程语言,并将用户设计硬件编程语言和在线逻辑分析仪硬件编程语言转化为门级网表;对门级网表进行解析,以生成用户设计网表和在线逻辑分析仪网表。
进一步地,作为本公开一种实施方式,用户设计布局布线模块具体用于根据用户设计网表获取用户设计的资源信息和布线信息;根据用户设计的资源信息和布线信息进行用户设计布局布线。
进一步地,作为本公开一种实施方式,用户设计布局布线模块还具体用于根据用户设计的资源信息进行用户设计布局,在用户设计布局完成后,根据用户设计的布线信息对用户设计布局进行信号线连接,以完成用户设计布局布线。
进一步地,作为本公开一种实施方式,在线逻辑分析仪布局布线模块具体用于根据在线逻辑分析仪网表获取在线逻辑分析仪的资源信息和布线信息;在未被标记的资源中根据在线逻辑分析仪的资源信息和布线信息进行在线逻辑分析仪的布局布线。
进一步地,作为本公开一种实施方式,在线逻辑分析仪布局布线模块还具体用于在未被标记的资源中根据在线逻辑分析仪的资源信息进行在线逻辑分析仪设计布局,并在在线逻辑分析仪设计布局完成后,根据在线逻辑分析仪的布线信息对在线逻辑分析仪设计布局进行信号线连接,以完成在线逻辑分析仪布局布线。
所述FPGA在线逻辑分析仪的布局布线装置3可以是各种处理器,也可以是处理器内部的一个模块。所述FPGA在线逻辑分析仪的布局布线装置3可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图3仅仅是FPGA在线逻辑分析仪的布局布线装置3的示例,并不构成对FPGA在线逻辑分析仪的布局布线装置3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述FPGA在线逻辑分析仪的布局布线装置3还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是微控制单元(Micro controller Unit,MCU)、中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器31可以是所述FPGA在线逻辑分析仪的布局布线装置3的内部存储单元,例如FPGA在线逻辑分析仪的布局布线装置3的硬盘或内存。所述存储器31也可以是所述FPGA在线逻辑分析仪的布局布线装置3的外部存储设备,例如所述FPGA在线逻辑分析仪的布局布线装置3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,所述存储器31还可以既包括所述FPGA在线逻辑分析仪的布局布线装置3的内部存储单元也包括外部存储设备。所述存储器31用于存储所述计算机程序以及所述FPGA在线逻辑分析仪的布局布线装置3所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,图1为本发明实施方式的方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种FPGA在线逻辑分析仪的布局布线方法,其特征在于,所述布局布线方法包括:
若检测到对FPGA芯片进行硬件电路布局布线的触发操作,则获取用户设计网表和在线逻辑分析仪网表;
根据所述用户设计网表进行用户设计布局布线,并在所述用户设计布局布线的过程中对已经被使用的资源进行标记;
在所述用户设计布局布线完成后,获取未被标记的资源,并在所述未被标记的资源中根据所述在线逻辑分析仪网表进行在线逻辑分析仪的布局布线。
2.如权利要求1所述的布局布线方法,其特征在于,所述获取用户设计网表和在线逻辑分析仪网表包括:
获取FPGA芯片的用户设计硬件编程语言和在线逻辑分析仪硬件编程语言,并将所述用户设计硬件编程语言和在线逻辑分析仪硬件编程语言转化为门级网表;
对所述门级网表进行解析,以生成所述用户设计网表和所述在线逻辑分析仪网表。
3.如权利要求1或2所述的布局布线方法,其特征在于,所述根据所述用户设计网表进行用户设计布局布线包括:
根据所述用户设计网表获取用户设计的资源信息和布线信息;
根据所述用户设计的资源信息和布线信息进行用户设计布局布线。
4.如权利要求3所述的布局布线方法,其特征在于,所述根据所述用户设计的资源信息和布线信息进行用户设计布局布线包括:
根据所述用户设计的资源信息进行用户设计布局,在用户设计布局完成后,根据所述用户设计的布线信息对所述用户设计布局进行信号线连接,以完成所述用户设计布局布线。
5.如权利要求1所述的布局布线方法,其特征在于,所述在所述未被标记的资源中根据所述在线逻辑分析仪网表进行在线逻辑分析仪的布局布线包括:
根据所述在线逻辑分析仪网表获取在线逻辑分析仪的资源信息和布线信息;
在所述未被标记的资源中根据所述在线逻辑分析仪的资源信息和布线信息进行在线逻辑分析仪的布局布线。
6.如权利要求5所述的布局布线方法,其特征在于,所述在所述未被标记的资源中根据所述在线逻辑分析仪的资源信息和布线信息进行在线逻辑分析仪的布局布线包括:
在所述未被标记的资源中根据所述在线逻辑分析仪的资源信息进行在线逻辑分析仪设计布局,并在所述在线逻辑分析仪设计布局完成后,根据所述在线逻辑分析仪的布线信息对所述在线逻辑分析仪设计布局进行信号线连接,以完成所述在线逻辑分析仪布局布线。
7.一种FPGA在线逻辑分析仪的布局布线装置,其特征在于,所述布局布线装置包括:
综合模块,用于若检测到对FPGA芯片进行硬件电路布局布线的触发操作,则获取用户设计网表和在线逻辑分析仪网表;
用户设计布局布线模块,用于根据所述用户设计网表进行用户设计布局布线,并在所述用户设计布局布线的过程中对已经被使用的资源进行标记;
在线逻辑分析仪布局布线模块,用于在所述用户设计布局布线完成后,获取未被标记的资源,并在所述未被标记的资源中根据所述在线逻辑分析仪网表进行在线逻辑分析仪的布局布线。
8.如权利要求7所述的布局布线装置,其特征在于,所述综合模块具体用于:
获取FPGA芯片的用户设计硬件编程语言和在线逻辑分析仪硬件编程语言,并将所述用户设计硬件编程语言和在线逻辑分析仪硬件编程语言转化为门级网表;
对所述门级网表进行解析,以生成所述用户设计网表和所述在线逻辑分析仪网表。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的FPGA在线逻辑分析仪的布局布线方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的FPGA在线逻辑分析仪的布局布线方法的步骤。
CN201910242559.8A 2019-03-28 2019-03-28 Fpga在线逻辑分析仪的布局布线方法与装置 Active CN110069827B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910242559.8A CN110069827B (zh) 2019-03-28 2019-03-28 Fpga在线逻辑分析仪的布局布线方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910242559.8A CN110069827B (zh) 2019-03-28 2019-03-28 Fpga在线逻辑分析仪的布局布线方法与装置

Publications (2)

Publication Number Publication Date
CN110069827A true CN110069827A (zh) 2019-07-30
CN110069827B CN110069827B (zh) 2020-02-21

Family

ID=67366616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910242559.8A Active CN110069827B (zh) 2019-03-28 2019-03-28 Fpga在线逻辑分析仪的布局布线方法与装置

Country Status (1)

Country Link
CN (1) CN110069827B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143274A (zh) * 2019-11-13 2020-05-12 广东高云半导体科技股份有限公司 以逻辑综合结果为导向的层级结构优化方法及装置、系统
CN112630632A (zh) * 2020-12-28 2021-04-09 中国科学院空天信息创新研究院 基于信号自动拉取的在线逻辑分析仪的实施方法
CN113408229A (zh) * 2021-06-21 2021-09-17 无锡中微亿芯有限公司 基于观测硬件电路对比观测fpga内部信号的方法
CN114297969A (zh) * 2021-12-10 2022-04-08 广东高云半导体科技股份有限公司 基于fpga的在线逻辑分析仪的布局布线方法以及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373263B2 (en) * 2006-05-16 2008-05-13 Tektronix, Inx. Analog-type measurements for a logic analyzer
CN102541707A (zh) * 2010-12-15 2012-07-04 中国科学院电子学研究所 复用jtag接口的fpga片内逻辑分析仪系统和方法
CN103049361A (zh) * 2013-01-11 2013-04-17 加弘科技咨询(上海)有限公司 具有嵌入式逻辑分析功能的fpga及逻辑分析系统
CN102768692B (zh) * 2011-05-06 2015-02-04 中国科学院微电子研究所 应用于fpga测试的导航布局布线方法
CN104679628A (zh) * 2013-12-03 2015-06-03 中国科学院微电子研究所 一种现场可编程门阵列的测试方法
CN105868431A (zh) * 2015-01-22 2016-08-17 京微雅格(北京)科技有限公司 基于锚点的布线方法
US20180088174A1 (en) * 2016-09-28 2018-03-29 Amazon Technologies, Inc. Extracting debug information from fpgas in multi-tenant environments

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373263B2 (en) * 2006-05-16 2008-05-13 Tektronix, Inx. Analog-type measurements for a logic analyzer
CN102541707A (zh) * 2010-12-15 2012-07-04 中国科学院电子学研究所 复用jtag接口的fpga片内逻辑分析仪系统和方法
CN102768692B (zh) * 2011-05-06 2015-02-04 中国科学院微电子研究所 应用于fpga测试的导航布局布线方法
CN103049361A (zh) * 2013-01-11 2013-04-17 加弘科技咨询(上海)有限公司 具有嵌入式逻辑分析功能的fpga及逻辑分析系统
CN104679628A (zh) * 2013-12-03 2015-06-03 中国科学院微电子研究所 一种现场可编程门阵列的测试方法
CN105868431A (zh) * 2015-01-22 2016-08-17 京微雅格(北京)科技有限公司 基于锚点的布线方法
US20180088174A1 (en) * 2016-09-28 2018-03-29 Amazon Technologies, Inc. Extracting debug information from fpgas in multi-tenant environments

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
公孙璃: "FPGA设计开发软件ISE使用技巧之:片上逻辑分析仪(ChipScope Pro)使用技巧", 《HTTPS://BLOG.CSDN.NET/WANRUOQINGKONG/ARTICLE/DETAILS/30081829》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143274A (zh) * 2019-11-13 2020-05-12 广东高云半导体科技股份有限公司 以逻辑综合结果为导向的层级结构优化方法及装置、系统
CN112630632A (zh) * 2020-12-28 2021-04-09 中国科学院空天信息创新研究院 基于信号自动拉取的在线逻辑分析仪的实施方法
CN113408229A (zh) * 2021-06-21 2021-09-17 无锡中微亿芯有限公司 基于观测硬件电路对比观测fpga内部信号的方法
CN113408229B (zh) * 2021-06-21 2023-08-18 无锡中微亿芯有限公司 基于观测硬件电路对比观测fpga内部信号的方法
CN114297969A (zh) * 2021-12-10 2022-04-08 广东高云半导体科技股份有限公司 基于fpga的在线逻辑分析仪的布局布线方法以及装置
CN114297969B (zh) * 2021-12-10 2024-05-14 广东高云半导体科技股份有限公司 基于fpga的在线逻辑分析仪的布局布线方法以及装置

Also Published As

Publication number Publication date
CN110069827B (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN110069827A (zh) Fpga在线逻辑分析仪的布局布线方法与装置
CN106531654B (zh) 一种芯片输入引脚测试方法和装置
US6760898B1 (en) Method and system for inserting probe points in FPGA-based system-on-chip (SoC)
CN102521137B (zh) 多核架构中的调试
WO2011060655A1 (zh) 软件业务功能覆盖率的统计方法及系统
CN103294600B (zh) 基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法
CN102880990B (zh) 故障处理系统
CN111064449A (zh) 一种基于uvm平台的数字降采样滤波器的验证平台及方法
CN106383764A (zh) 一种数据采集方法和设备
CN101689216B (zh) 压缩型电路仿真输出
CN103645435B (zh) 多信号模型可编程逻辑器件的软件模块可测性设计方法
CN109298882A (zh) 接口的管理方法、计算机可读存储介质和终端设备
CN103077080B (zh) 基于高性能平台的并行程序性能数据采集方法及装置
Takach et al. An automaton model for scheduling constraints in synchronous machines
CN109067605A (zh) 一种存储子系统故障诊断方法、装置、终端及存储介质
CN109189598A (zh) 一种中断定位的方法、处理器及终端设备
CN108830596A (zh) 一种信息的获取方法、信息的获取装置及终端设备
CN107784185A (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
CN110019501A (zh) 一种数据采集方法、装置及终端设备
CN110222391A (zh) 电气设备绘图方法、系统及终端设备
CN115618783A (zh) 呈现数字电路模块调用关系的方法、装置、设备及存储介质
CN102523374A (zh) 一种实时并行的电子稳像系统设计方法
CN107607853A (zh) 芯片的调试方法、装置、存储介质和处理器
CN109696614A (zh) 电路测试优化方法及装置
JP2000011031A (ja) 半導体集積回路の論理回路検証装置および論理回路検証方法

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