CN113255273A - 分割及验证方法、装置、电子设备、存储介质 - Google Patents
分割及验证方法、装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN113255273A CN113255273A CN202110628338.1A CN202110628338A CN113255273A CN 113255273 A CN113255273 A CN 113255273A CN 202110628338 A CN202110628338 A CN 202110628338A CN 113255273 A CN113255273 A CN 113255273A
- Authority
- CN
- China
- Prior art keywords
- ffd
- node
- nodes
- attribute
- attributes
- 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
- 230000011218 segmentation Effects 0.000 title claims abstract description 119
- 238000012795 verification Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000013461 design Methods 0.000 claims abstract description 76
- 238000000638 solvent extraction Methods 0.000 claims description 36
- 238000005192 partition Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 9
- 230000008054 signal transmission Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007670 refining Methods 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 101150020073 cut-2 gene Proteins 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 101100008044 Caenorhabditis elegans cut-1 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
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
本说明书实施提供一种分割及验证方法、装置、电子设备、存储介质,应用于电子设计自动化技术领域,所述分割方案包括:将芯片设计中的节点进行分类处理,将分类后的节点进行合并处理,对合并处理后的新节点进行分割,以将分割边界设置于带有触发器驱动的连线上。通过将所有分割边界优化调整到带有触发器驱动的连线上,可提高芯片设计的分割及验证的准确性和效率。
Description
技术领域
本说明书涉及电子设计自动化技术领域,尤其涉及一种在针对芯片设计进行分割验证时的分割及验证方法、装置、电子设备、存储介质。
背景技术
目前,一个芯片设计通常分割为多个代码块(即分区),并采用多块验证芯片(比如FPGA,现场可编程门阵列)构成原型验证系统(比如多FPGA原型验证系统),对芯片设计进行验证。
在对芯片设计分割验证中,由于FPGA之间互连线传递信号的时延,通常远大于FPGA内部传递信号的时延,因而在多FPGA原型验证系统进行分区验证时,不仅可能引入了许多原设计中并不存在的新问题,并需要采用新方案来解决这些新问题,而且采用新方案解决新问题中还可能存在其他新问题,比如系统性能降低,验证未能准确地反映原芯片设计的性能及功能等。
因此,亟需一种新的分割方案。
发明内容
有鉴于此,本说明书实施例提供一种分割及验证方法、装置、电子设备及存储介质,可优化分割的边界位置,为芯片设计提供一种高效、可靠的分割验证方案。
本说明书实施例提供以下技术方案:
本说明书实施例提供一种分割方法,包括:将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上。
本说明书实施例还提供一种验证方法,包括:将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
本说明书实施例还提供一种分割装置,包括:
分类模块,将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
合并模块,按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
分割模块,按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上。
本说明书实施例还提供一种验证装置,包括:
分类模块,将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
合并模块,按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
分割模块,按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;
验证模块,采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
本说明书实施例还提供一种用于分割的电子设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上。
本说明书实施例还提供一种用于验证的电子设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;
采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
本说明书实施例还提供一种用于分割的计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令设置为:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上。
本说明书实施例还提供一种用于验证的计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令设置为:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;
采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:
通过对分割的边界进行调整,使得所有被分割的连线,其驱动节点均为带有ffd属性的节点,比如具有ffd属性的节点、继承得到ffd属性的节点,因而在分割后,不仅可避免时钟的输出线被切割而导致时钟信号需要在多个验证芯片(比如FPGA)之间通过互连线进行传递引发新问题,而且可充分利用触发器的接收数据和发送数据之间的时间间隔,降低甚至抵消多个验证芯片(比如FPGA)之间互连线传递信号的时延影响,也避免降低验证系统(比如多FPGA原型验证系统)的性能,可为芯片设计提供一种高效、可靠的分割方案系统。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有方案中针对时钟输出线被切割的多FPGA原型验证系统的组成示意图;
图2为现有方案中组合逻辑电路的输出线被分割的示意图;
图3 为现有方案中组合逻辑电路的输出线被分割前后对应数据的时序示意图;
图4为现有方案中在组合逻辑电路的输出线被切割出插入TDM的示意图;
图5 为现有方案中组合逻辑电路的输出线被分割处插入TDM前后对应数据的时序示意图;
图6为本说明书实施例提供的一种分割方法中分割边界被调整的示意图;
图7 为本说明书实施例提供的一种分割方法中分割边界被调整前后对应数据的时序示意图;
图8 为本说明书实施例提供的一种分割方法中分割边界被调整并插入TDM的示意图;
图9 为本说明书实施例提供的一种分割方法中分割边界被调整并插入TDM前后对应数据的时序示意图;
图10为本说明书实施例提供的一种分割方法的流程图;
图11本说明书实施例提供的一种分割方法的流程图;
图12本说明书实施例提供的一种分割装置的结构示意图;
图13本说明书实施例提供的一种用于分割的电子设备的结构示意图;
图14本说明书实施例提供的一种验证方法的流程图;
图15本说明书实施例提供的一种验证装置的结构示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等描述的特征可以明示或者隐含地包括一个或者更多个该特征。在本说明书的描述中,除非另有说明,“多个”的含义是两个或两个以上。
目前的分割验证中,以下是三种常见的分区(即分割后进行验证)导致新问题的场景,以及为解决新问题而在多FPGA原型验证系统中采用对应解决措施的处理方案。
场景1:时钟信号的输出线被切割。
在时钟信号的输出线被切割时,即原设计中用于处理数据的同一个时钟信号被分割到不同分区,比如时钟信号CLK,分割后需要在多个FPGA之间使用,鉴于FPGA之间互连线的传输时延远大于FPGA内部的传输时延,这时时钟信号CLK将在不同FPGA中存在时钟相位偏差,比如接收端(比如FPGA2)与发送端(比如FPGA1)之间时钟信号CLK未同相。若采用非同相的时钟信号对数据进行处理,将导致处理结果存在失真,比如数据不同步、数据结果失真、错误等问题。
为了避免时钟相位偏移,如图1所示,现有方案中可将该时钟信号CLK分别复制到每块FPGA中(如图中虚线框所示),即利用FPGA内部资源,分别在FPGA1、FPGA2中复制出该时钟信号CLK,从而通过牺牲FPGA的物理资源,保证分割验证结果准确,即以空间换准确率。
场景2:组合逻辑的输出线被切割。
如图2至图3所示,其中图2是对组合逻辑电路的输出线进行切割(如图中示意的cut1)的示意图,图3为切割前后g0的输出数据、g1接收数据的时序图。
在未被切割时,g1接收到的数据如g1_in所示,g1可立即接收到g0传来的数据,若在a时刻,即在时钟init_clk的下降沿选取g1的数据进行处理时,并不会产生处理错误;而当组合逻辑电路g0的输出线被切割时,由于FPGA之间互连影响,比如时延因素的影响,将导致g1接收到的数据如g1_in′所示,将与g0输出的数据之间存在一个时差,此时若仍在原时钟下降沿(比如mark标记的a时刻)获取数据,所获取的数据将仍为旧数据A,因而将产生数据处理错误。
为解决该问题,可通过降低时钟频率,比如采用图中所示的低频时钟fixed_clk,进而在g1稳定接收到g0的新数据后,再采用低频时钟信号fixed_clk的下降沿采集到正确数据,即通过降低时钟频率,来延迟接收数据的时间以获得正确的数据,亦即以牺牲时间换取准确率。
场景3:切割处插入TDM(time-division multiplexing,时分复用)模块。
在多FPGA原型验证系统中,多块FPGA互连往往导致对IO (Input/Output,输入/输出) 的需求激增,这时可采用TDM解决IO瓶颈限制。
如图4至图5所示,其中图4是对组合逻辑电路的输出线进行切割后,在g0和g1之间插入TDM的示意图,图5为切割前后g0输出数据、TDM接收发送数据、g1接收数据的时序图。
当组合逻辑电路g0的输出线未被切割时,g1接收到的数据如g1_in所示,g1可立即接收到g0传来的数据,未产生错误;而当组合逻辑电路g0的输出线被切割,而且在分区之间插入了TDM时,其中TDM在时钟脉冲下降沿采集数据、上升沿发送数据,这时在时钟TDM_clk(这里假设时钟TDM_clk的频率与原设计时钟的频率相同)作用下,若g0输出的数据在TDM_clk下降沿后从A变成B,这时TDM的输入TDM_in为数据A,而输出TDM_out仍旧为旧数据A,将导致g1接收到的数据仍为旧数据A,如g1_in′所示,从而发生处理错误。
因此,多FPGA原型验证系统中,仍需要通过降低TDM的采样时钟频率来规避传递错值的风险,即以牺牲时间换取准确率。
但是,当TDM采样时钟频率降低到一定值时,可能导致其工作不正常,甚至验证系统也将不能正常运行。
综上,虽然可以在现有方案(比如多FPGA原型验证系统)中,通过采取相应手段,比如牺牲FPGA的空间,比如降低时钟频率(即牺牲时间),能一定程度上解决分割验证中出现的新问题,但是这些解决方案均是需要牺牲系统性能的折中方案;而且,这些折中解决方案仅是考虑了多FPGA时单一时延因素的抽象模型,而实际分割验证中可能受到的影响因素远不止时延一个因素,即实际出现的新问题可能并非都是时延因素导致的,这样现有这些折中解决方案并不能为芯片设计的分割验证提供高效、可靠的解决方案。
基于此,发明人通过对大量分割数据进行了深入研究分析后,针对芯片设计的分割提出了一种新的分割方案:优化调整分割的边界,即利用触发器的状态只在时钟脉冲的上升沿或下降沿的瞬间发生改变,且触发器输出时刻可控,从而在分割中可以让切割边界处于附带ffd属性的节点的输出线上,即让所有的切割边沿均处于附带ffd属性节点的输出线上,不仅可避免时钟的输出线被切割的情况发生,而且可利用触发器的接收数据和发送数据之间的时间间隔,使得分区后的接收端接收的数据与发送端发出的数据之间存在稳定的时差,比如接收端的数据经过时序逻辑电路下降沿接收数据、上升沿发送数据的时间间隔,可抵消传播时延带来的影响,使得当时序逻辑电路的输出线被切割时,降低FPGA之间互连线传递信号的时延带来的影响,极大地减少需要降低多FPGA原型验证系统的性能的操作可能,甚至无需降低多FPGA原型验证系统的性能,可为芯片设计提供一种高效、可靠的分割方案。
实施中,附带ffd 属性(即带有ffd属性)的节点可为自身就具有ffd 属性的节点,也可以为通过继承来获得ffd 属性的节点,ffd属性可为触发器驱动的特性。
需要说明的是,继承可为该节点从与其相关的驱动节点处继承得到ffd属性,即该节点可以直接、间接地继承得到ffd属性,比如该节点可以通过直接继承获得ffd属性,如该节点的驱动节点为具有ffd 属性的节点,从而通过驱动关系使得被驱动的该节点直接继承得到ffd属性,比如该节点通过间接继承获得ffd属性,如该节点的驱动节点通过继承获得ffd属性。
为便于理解本说明书提供的分割思路,下面以具有ffd属性的节点为示例作示意说明,其中继承得到ffd属性的节点的示例说明可与以下内容相似,不再展开说明。
示例1,如图6所示,可将边界cut2调整到时序逻辑电路g0的输出线上,相应地,分割前后的边界两侧接收端和发送端的数据情况可如图7所示。
在未切割前,时序逻辑电路可在时钟init_clk作用下,比如时钟上升沿发送数据、下降沿接收数据,可以正确地接收和发送数据,比如时序逻辑电路g0发送的数据(如数据C0、D0、E0等,见图中g0_out图示),g1正常接收到该数据(见图中g1_in图示),相应地,g1经处理后获得对应的输出数据(如数据C1、D1、E1等,见图中g1_out图示),以及时序逻辑电路g2可及时接收到g1输出的数据(如数据C1、D1、E1等,见图中g2_in图示)。
当将切割边界调整到具有ffd属性的节点的输出线上时,比如图中所示的边界cut2,这时边界两侧信号在经FPGA之间互连线传递后,比如可能受到互连线传输延迟的影响,g1切割后的输入数据(如C0、D0、E0等,见图中g1_in′图示)与切割前的输入数据(如C0、D0、E0等,见图中g1_in图示)之间存在固定的时差(比如图中从mark标记a到标记b之间的时差),而时序逻辑电路g2在时钟信号的作用下,即g2在时钟信号init_clk的下降沿才读取数据,可抵消该时延带来的影响,使得切割前后g2的数据仍可以保持相同,即g2接收数据的时序图并未改变(见图中g2_in图示与g2_in′图示),不产生处理错误。
示例2,如图8所示,可将分割边界调整到两个时序逻辑电路之间,比如将边界调整到时序逻辑电路g0的输出线上,并在该处插入TDM以解决验证中IO需求;相应地,分割前后的边界两侧接收端和发送端的数据情况可如图9所示。
假设该TDM采样的时钟频率与原设计的时钟频率clk保持一致,该TDM的接收端接收的数据与发送端发出的数据之间可以存在稳定的时差(如图中mark标记b到标记c之间的时差),当接收端g1的数据经过时序逻辑电路下降沿接收数据、上升沿发送数据的时间间隔后,比如g1在时钟信号clk的下降沿才读取数据,可以抵消该时延带来的影响,使得切割前后g1的输出数据仍可以保持相同,即g1输出数据的时序图并无改变(见图中g1_out与g1_out′的图示),不产生处理错误。
需要说明的是,本说明书实施例提供的分割方法和/或验证方法,均可由终端和/或服务端来执行,以及方法中的任一步骤也可由终端和/或服务端来执行,这里不作限定。
以及,终端可包括计算机、平板电脑、移动智能设备等任一种用户终端,服务端可包括服务器或服务器集群等应用服务端,这里终端、服务端并不构成对本说明书各实施例的限定。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
如图10所示,本说明书实施例提供一种在对芯片设计进行分割验证时的分割方法,可包括以下:
步骤S202、将芯片设计中的节点进行分类处理。
实施中,可将芯片设计中的所有节点分成以下三类节点:具有ffd属性的节点、继承得到ffd属性的节点,无ffd属性的节点。
具有ffd属性的节点,可指该节点在实际芯片设计中所对应的module(模块),该模块满足以下两个条件:该模块包含触发器器件,以及该模块的所有输出端口在模块内部向前回溯,一定能遇到触发器器件或VCC(Volt Current Condenser,供电电压)或GND(Ground,电线接地端)。
继承得到ffd属性的节点,可指该节点在实际设计中所对应的module(模块),该模块通过继承其驱动节点的ffd属性获得ffd属性,比如由具有ffd属性的节点驱动,比如由继承得到ffd属性的节点驱动。
无ffd属性的节点,可指该节点在实际设计中所对应的module(模块),该模块自身不具有ffd属性,也不能从其驱动节点继承获取到ffd属性。
需要说明的是,一个芯片设计通常由若干module构成,而且为便于进行分割,通常将芯片设计中的module转换为节点,即一个节点可对应于一个module,其中module可为芯片设计中的module,也可为将芯片设计中某个module中的部分语句封装后形成的新module。
步骤S204、按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图。
实施中,预设的合并策略可根据实际应用需要进行预设及调整,合并中可先将无法获得ffd属性的节点(即无ffd属性的节点),沿着其输出信号传递的方向,找到最近的具有ffd属性的节点/可以继承得到ffd属性的节点,将沿途所有节点一起合并,可保证合并后的节点为带有ffd属性的节点,即为具有ffd属性的节点或者为可以继承得到ffd属性的节点。
步骤S206、按预设的分割策略对所述目标图进行分割。
在步骤S204后,即在对无ffd属性的节点作合并处理后,所得到的目标图中仅剩下前述两类节点,即具有ffd 属性的节点和继承得到ffd属性的节点,因而在对目标图进行分割时,分割边界可以设置于所述目标图中的具有ffd属性的节点的输出线上,或者设置于所述目标图中的继承得到ffd属性的节点的输出线上。
需要说明的是,预设的分割策略可根据实际应用需要进行预设,比如按权重约束的分割策略,比如按验证系统的资源进行多分区的分割策略等,这里不再一一列举说明。
通过步骤S202至步骤S206,对原芯片设计进行分割验证处理中,分割的边界可位于具有ffd 属性的节点的输出线上,或者位于继承得到ffd 属性的节点的输出线上,即分割边界均被调整到附带ffd 属性的节点的输出线上,因而该分割方案不仅可避免时钟的输出线被切割而导致时钟信号需要在多个验证芯片(比如FPGA)之间通过互连线进行传递引发新问题,而且充分利用触发器的接收数据和发送数据之间的时间间隔,可降低甚至抵消多个验证芯片(比如FPGA)之间互连线传递信号的时延影响,可无需降低验证系统(比如多FPGA原型验证系统)的性能,可为芯片设计提供一种高效、可靠的分割方案。
在一些实施方式中,可将用户设计的芯片设计对应的设计文件进行预处理,以获得该芯片设计对应的所有节点的数据信息,便于进行节点分类处理。
实施中,可将芯片设计的设计文件读入内存中,从而通过语法解析等手段,将该设计文件生成对应的、可用于分割处理的图,其中图的各个节点有对应的分类信息,分类信息可包括有节点属性信息,节点属性信息可包括有用于表征节点是否带有ffd属性的信息,从而可根据节点的分类信息中的节点属性信息,快速、准确地将所有节点进行分类处理,提高处理效率。
需要说明的是,带有ffd属性可为前述的具有ffd属性、继承得到ffd属性,这里不作区分。
在一些实施方式中,可根据实际应用需要,将一些设计信息反映在分类信息,可提高利用分类信息对节点进行分类处理的准确性、效率。
实施中,分类信息还可包括以下至少一种信息:每个节点所对应的原设计模块名信息、节点之间的线网连接信息和预设划分标准信息;
实施中,节点属性信息还可包括用于表征每个节点占用的资源数的资源占用信息。
通过每个节点所对应的原设计模块名信息,可快速地确定对应的节点,可提高处理效率;通过节点之间的线网连接信息,可快速地确定各个节点之间的关系,可提高处理效率;通过预设划分标准信息(即用户事先指定的划分标准信息),可快速地根据预设需求进行处理,可提高处理效率;通过每个节点占用的资源数,可快速、准确地进行分割,保障分割结果可以满足验证系统中各个验证芯片的资源,可提高处理效率。
在一些实施方式中,设计文件可为网表,这时可根据网表快速地生成各个节点的分类信息,提高处理效率。
在一些实施方式中,可尽量将分割边界调整到具有ffd 属性的节点的输出线上,提高分割和后续验证的效率。
实施中,可采用按权重进行分割的分割策略来分割,这时在分割前,可调整具有ffd属性的节点的输出线的权重,和/或调整继承ffd属性的节点与其驱动节点之间的连接线的权重。
例如,按权重大小来优先分割权重小的节点时,可在调整节点之间连线(net)的权重中,赋予目标连线(目标net,为便于进行示意说明,下文可称这种目标net为maybe_net)更高的权重值,其中maybe_net的驱动节点可以为通过继承得到ffd 属性的节点。
需要说明的是,maybe_net的驱动节点可以为通过继承得到ffd 属性的节点,即该驱动节点可以通过直接继承、间接继承等继承后获得ffd属性,其中间接继承可以是该驱动节点的驱动节点为继承获得ffd属性的节点。
在一些实施方式中,在将无ffd属性的节点合并后,可更新合并后的目标图中的所有连线的权重,将受具有ffd属性的节点驱动的连线的权重赋予小值,将受可以继承得到ffd属性的节点驱动的连线的权重赋予更高的值,以便分割时候优先分割更小权重值的连线。
在一些实施方式中,间接继承的深度可根据实际应用需要进行约束,如将间接继承的深度约束为不超过3层,即继承获得ffd属性的节点,其驱动节点的驱动节点需要为具有ffd 属性的节点,可提高分割和后续验证的处理效率。
需要说明的是,还可将间接继承的深度未符合约束条件的节点标记为无ffd属性的节点,方便后续对这些节点进行处理。
在一些实施方式中,在按预设的分割策略对所述目标图进行分割后,可对分割后的结果进行检查,以尽量将分割的边界调整到具有ffd属性的节点的输出线上,提高分割结果的可靠性和提高分割和后续验证的处理效率。
实施中,可对分割结果进行检查,检查分割的边界是否切割了前述得maybe_net(即目标连线),若无maybe_net被切割,表明了分割边界均位于具有ffd属性的节点的输出线上。
在一些实施方式中,在确定分割边界切割了maybe_net时,可进一步确定第一驱动节点是否为真正获取到ffd属性的节点,其中所述第一驱动节点为所述目标连线的驱动节点。
实施中,当maybe_net(即目标连线)的驱动节点(即第一驱动节点)为真正获取到ffd 属性的节点,表明了maybe_net可通过继承其驱动节点的ffd属性得到ffd 属性,否则maybe_net将不能通过继承得到ffd 属性。
在一些实施方式中,可通过深入到第一驱动节点与其他节点之间的连线关系,进行确定目标节点是否真正获得ffd属性。
实施中,可通过以下步骤来确定目标节点是否真正获得ffd属性:
确定第一驱动节点与第二驱动节点之间的某条连线是否被切割,其中所述第二驱动节点为所述某条连线的驱动节点;
若是,则确定所述第一驱动节点不属于真正获取到ffd属性的节点。
需要说明的是,因所述某条连线被切割,导致第一驱动节点和第二驱动节点在验证中可能属于不同验证分区,这时所述某条连线可能受到不同验证分区之间互连线传递的影响,因而可将第一驱动节点确定为不能真正获得ffd属性的节点,避免因所述某条连线被切割而引入未知影响,可提高分割和后续验证的处理准确性、效率。
在一些实施方式中,在确定所述第一驱动节点不属于真正获取到ffd属性的节点后,可将所述第一驱动节点与所述第二驱动节点进行合并,以便将所述第一驱动节点和所述第二驱动节点划分到同一验证分区(比如验证芯片,如FPGA),可提高分割和后续验证的处理准确性、效率。
在一些实施方式中,在将所述第一驱动节点与所述第二驱动节点合并中,可进一步确定将所述第一驱动节点与所述第二驱动节点进行合并是否产生新maybe_net(目标连线),以提高分割和后续验证的处理准确性、效率。
需要说明的是,当产生新maybe_net时,可对该新maybe_net采取相应处理措施。
例如,确定新maybe_net的驱动节点是否真正获得ffd 属性,具体可参照前述说明得实施例。
在一些实施方式中,在确定出产生新maybe_net时,可输出提示信息,通过提示信息提示所述新maybe_net属于非法连线,以便用户获知提示内容,并进行处理决策。
在一些实施方式中,在对所述目标图进行分割前,可对所有节点进行聚类处理,即按预设的聚类策略对所述目标图中的节点进行聚类,有利于减少分割的数量级,提高分割和后续验证的处理准确性、效率。
需要说明的是,预设的聚类策略可根据实际应用需求进行预设及调整,比如按驱动关系进行聚类,比如按验证芯片的资源进行聚类等等,这里不作限定。
在一些实施方式中,在基于前述实施例进行初步分割后,还可对分割结果进一步细化,以获取更优的分割结果,有利于提高后续验证的准确性、效率。
实施中,对分割结果进一步细化的步骤可包括:按预设的调整策略,尝试将某个分区中的若干节点移动另一个分区中,比如将初步分配到第一块FPGA作分区验证的若干节点,尝试调整到另一块FPGA上,并确定该调整是否能减少切割net的条数、是否使得被切割的该net的驱动节点具有ffd属性等调优操作,若符合调优需求则进行调整,即移动该节点到目标FPGA上。
需要说明的是,预设的调整策略可根据实际应用需要进行预设及调整,比如根据驱动关系将被分割到不同分区的相邻节点调整到同一块FPGA中,比如根据FPGA的资源情况将被分割到不同分区、需要使用到该FPGA的资源的不同节点调整到同一块FPGA中等等,这里不再一一列举。
在一些实施方式中,可针对聚类过的节点进行细化处理操作。
实施中,可将聚类后的节点进行还原,并按预设的调整策略,尝试将还原的若干节点调整到另一个分区中,以减少被切割的连线的数量且使得被切割的连线的驱动节点带有ffd属性,获取更优的分割结果,有利于提高后续验证的准确性、效率。
为便于理解本说明书提供的分割方案,下面再以一个示例作示意说明。
如图11所示,所述分割方法可包括:
1、读入用户设计并进行语法解析,读入用户自定义分组信息;
读入后生成四部分信息:节点信息(包含每个节点占用的资源数、该节点是否带有ffd属性的信息)、每个节点所对应的原设计模块名信息、节点之间的线网连接信息、事先指定的划分标准信息;
2、预处理阶段:
(1)分类:将所有节点分成三类:具有ffd属性的节点,可以继承得到ffd属性的节点,无法通过继承得到ffd属性的节点(即无ffd属性的节点);
实施中,在分类完成后,可根据调整需要,删除部分受无ffd属性的节点驱动的连线,以减少后续分割的目标图中受无ffd属性节点驱动的连线数量;
(2)合并:根据合并规则将无法继承得到ffd属性的节点与前两类节点合并,即可将无法获得ffd属性的节点,沿着其输出信号传递的方向,找到最近的具有ffd属性的节点/可以继承得到ffd属性的节点,将沿途所有节点一起合并,可保证合并后的节点带有ffd属性,即合并后仅剩下带有ffd属性的节点,亦即具有ffd属性的节点和可以继承得到ffd属性的节点;
(3)更新权重:更新所有连线(net)的权重,对于驱动节点为可以继承得到ffd属性的net(为便于说明,下面可称这种net为maybe_net),赋予该net较大权重值,和/或将具有ffd属性的节点驱动的连线赋予较小权重值,较大权重值可为相同值(比如设置为最大权重值),也可为不同权重值,同理较小权重值也可为相同权重值(比如设置为最小权重值);
3、聚类:将更新权重后的节点进行部分合并,可减少分割的数量级;
4、初始分割:
(1)分割过程中优先分割小权重值的net;
(2)分割完成后检查是否切割了maybe_net,若未切割则直接进入细化流程,否则进入下一步骤;
(3)判断maybe_net的驱动节点是否真的能获取到ffd属性(若存在该节点与其驱动节点之间的某条net被切割,则无法获取到ffd属性),若能获取则直接进入细化流程,否则进入下一步骤;
(4)尝试将该maybe_net的节点,移动到该节点的驱动节点的FPGA上,使之能获取到ffd属性,若该移动不产生新的maybe_net,则直接进入细化流程;否则报告illegal net后进入细化流程;
5、细化:
将聚类过程中合并的节点还原。还原过程中,尝试将还原后的节点移动到另一块FPGA上,若能减少切割net的条数且该net的驱动节点具有ffd属性,则移动该节点。
基于相同发明构思,本说明书实施例还提供与前述分割方法对应的装置、电子设备以及计算机存储介质。
如图12所示,本说明书实施例提供一种分割装置400,可包括:分类模块401,将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;合并模块403,按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;分割模块405,按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上。
可选地,该分割装置400还可包括:
节点模块(为图示简洁和理解,未在图中示出),在将芯片设计中的节点进行分类处理前,读入所述芯片设计对应的设计文件,并根据所述设计文件生成各个节点对应的分类信息,所述分类信息包括节点属性信息,所述节点属性信息包括表征节点是否带有ffd属性的属性信息,以及将芯片设计中的节点进行分类处理,包括:根据分类信息将芯片设计中的节点进行分类处理。
可选地,所述分类信息还包括以下至少一种信息:每个节点所对应的原设计模块名信息、节点之间的线网连接信息和预设划分标准信息;
和/或,所述节点属性信息还包括表征每个节点占用的资源数的资源占用信息。
可选地,所述预设的分割策略包括:按权重进行分割的分割策略;
所述分割装置400还可包括:
更新模块(为图示简洁和理解,未在图中示出),按预设的权重调整策略,调整目标连线的权重,其中所述目标连线的驱动节点属于具有ffd 属性的节点或为继承得到ffd属性的节点。
可选地,所述分割装置400还可包括:
检查模块(为图示简洁和理解,未在图中示出),在按预设的分割策略对所述目标图进行分割后,对分割结果进行检查,以确定分割边界是否切割所述目标连线。
可选地,所述分割装置400还可包括:
确定模块(为图示简洁和理解,未在图中示出),在确定分割边界切割所述目标连线时,确定第一驱动节点是否为真正获取到ffd属性的节点,其中所述第一驱动节点为所述目标连线的驱动节点。
可选地,确定第一驱动节点是否为真正获取到ffd属性的节点,包括:确定第一驱动节点与第二驱动节点之间的某条连线是否被切割,其中所述第二驱动节点为所述第一驱动节点的驱动节点;若是,则确定所述第一驱动节点不属于真正获取到ffd属性的节点。
可选地,所述分割装置400还可包括:
划分模块(为图示简洁和理解,未在图中示出),在确定所述第一驱动节点不属于真正获取到ffd属性的节点后,将所述第一驱动节点与所述第二驱动节点合并,以将所述第一驱动节点和所述第二驱动节点划分到同一验证芯片中。
可选地,可选地,所述分割装置400还可包括:
判断模块(为图示简洁和理解,未在图中示出),在将所述第一驱动节点与所述第二驱动节点合并中,确定将所述第一驱动节点与所述第二驱动节点进行合并是否产生新目标连线。
可选地,可选地,所述分割装置400还可包括:
提示模块(为图示简洁和理解,未在图中示出),在确定产生新目标连线时,输出提示信息,所述提示信息用于表征所述新目标连线属于非法连线。
可选地,可选地,所述分割装置400还可包括:
聚类模块(为图示简洁和理解,未在图中示出),在对所述目标图进行分割前,按预设的聚类策略对所述目标图中的节点进行聚类。
可选地,可选地,所述分割装置400还可包括:
还原模块(为图示简洁和理解,未在图中示出),将聚类后的节点进行还原,并将还原的若干节点调整到另一个分区中,以减少被切割的连线的数量且使得被切割的连线的驱动节点带有ffd属性。
基于相同发明构思,如图13所示,本说明书实施例提供一种用于分割的电子设备,图中示出了该电子设备500的结构,以用于实现前述任一实施例对应的方案,这里电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来限定。
如图13所示,在电子设备500中,可包括:至少一个处理器510;以及,与所述至少一个处理器通信连接的存储器520;其中,所述存储器存储520有可被所述至少一个处理器510执行的指令,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够执行:本说明书提供的任意一项实施例所述的分割方法,或者所述分割方法中的若干步骤流程。
需要说明的是,电子设备500可以以通用计算设备的形式表现,例如其可以为服务器设备。
实施中,电子设备500的组件可以包括但不限于:上述至少一个处理器510、上述至少一个存储器520、连接不同系统组件(包括存储器520和处理器510)的总线530,其中总线530可包括数据总线、地址总线和控制总线。
实施中,存储器520可以包括易失性存储器,例如随机存取存储器(RAM)5201和/或高速缓存存储器5202,还可以进一步包括只读存储器(ROM)5203。
存储器520还可以包括具有一组(至少一个)程序模块5204的程序工具5205,这样的程序模块5204包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器510通过运行存储在存储器520中的计算机程序,从而执行各种功能应用以及数据处理。
电子设备500也可以与一个或多个外部设备540(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信,网络适配器560通过总线530与电子设备500中的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
基于相同发明构思,本说明书实施例提供的一种用于分割的计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令设置为:本说明书提供的任意一项实施例所述的分割方法,或者所述分割方法中的若干步骤流程。
需要说明的是,所述计算机存储介质可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以提供将数据处理实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行前述任意一个实施例所述方法中的若干步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明中的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
基于相同发明构思,本说明书实施例提供一种验证方法,以采用多芯片原型验证系统对芯片设计对应的分割结果进行验证。
如图14所示,本说明书实施例提供一种验证方法,可包括:
步骤S602、将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
步骤S604、按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
步骤S606、按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;
步骤S608、采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
通过上述步骤S602-S608,可以实现所有被分割的连线的驱动节点均为带有ffd属性的节点,即所有被分割的连线均由触发器驱动,有效降低了因分割后多验证芯片之间互连的影响,验证系统的运行速度得到了明显的提升,保证了对芯片设计的分割验证的正确性、效率。
需要说明的是,前述验证方法中的步骤S602-S606可参照前述分割方法中的相关步骤S202-S206,以及这些步骤流程的相关优选实施例方式也可参照前述对应的相关说明内容,这里不再赘述。
在一些实施方式中,可采用FPGA作为验证芯片,构成多FPGA原型验证系统,非常便于对芯片设计进行分割验证,可提高验证的正确性、效率。
实施中,验证芯片可包括FPGA芯片;相应地,验证系统可包括多FPGA原型验证系统。
基于相同发明构思,本说明书实施例还提供与前述验证方法对应的装置、电子设备以及计算机存储介质。
如图15所示,本说明书实施例提供一种验证装置700,可包括:分类模块701,将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;合并模块703,按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;分割模块705,按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;验证模块707,采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
基于相同发明构思,本说明书实施例还提供一种用于验证的电子设备,以用于实现前述任一实施例对应的验证方案。
需要说明的是,该电子设备,可包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一实施例所述的验证方法,具体可参照前述用于分割的电子设备的实施例的说明内容,这里不再展开说明。
基于相同发明构思,本说明书实施例还提供一种用于验证的计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令设置为:用于实现前述任一实施例对应的验证方法的指令。
需要说明的是,该计算机存储介质的说明,具体可参照前述实施例的说明方式,这里不再展开说明。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例侧重说明的都是与其他实施例的不同之处。尤其,对于后面说明的产品实施例而言,由于其与方法是对应的,描述比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中,各个实施例均可为完全硬件实施例、完全软件实施例或结合软件和硬件实施的实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (20)
1.一种分割方法,其特征在于,包括:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上。
2.根据权利要求1所述的分割方法,其特征在于,在将芯片设计中的节点进行分类处理前,所述分割方法还包括:
读入所述芯片设计对应的设计文件;
根据所述设计文件生成各个节点对应的分类信息,所述分类信息包括节点属性信息,所述节点属性信息包括表征节点是否带有ffd属性的属性信息;
将芯片设计中的节点进行分类处理,包括:根据分类信息将芯片设计中的节点进行分类处理。
3.根据权利要求2所述的分割方法,其特征在于,所述分类信息还包括以下至少一种信息:每个节点所对应的原设计模块名信息、节点之间的线网连接信息和预设划分标准信息;
和/或,所述节点属性信息还包括表征每个节点占用的资源数的资源占用信息。
4.根据权利要求1所述的分割方法,其特征在于,所述预设的分割策略包括:按权重进行分割的分割策略;
所述分割方法还包括:
按预设的权重调整策略,调整目标连线的权重,其中所述目标连线的驱动节点属于具有ffd 属性的节点或为继承得到ffd属性的节点。
5.根据权利要求4所述的分割方法,其特征在于,在按预设的分割策略对所述目标图进行分割后,所述分割方法还包括:
对分割结果进行检查,以确定分割边界是否切割所述目标连线。
6.根据权利要求5所述的分割方法,其特征在于,在确定分割边界切割所述目标连线时,所述分割方法还包括:
确定第一驱动节点是否为真正获取到ffd属性的节点,其中所述第一驱动节点为所述目标连线的驱动节点。
7.根据权利要求6所述的分割方法,其特征在于,确定第一驱动节点是否为真正获取到ffd属性的节点,包括:
确定第一驱动节点与第二驱动节点之间的某条连线是否被切割,其中所述第二驱动节点为所述第一驱动节点的驱动节点;
若是,则确定所述第一驱动节点不属于真正获取到ffd属性的节点。
8.根据权利要求7所述的分割方法,其特征在于,在确定所述第一驱动节点不属于真正获取到ffd属性的节点后,所述分割方法还包括:
将所述第一驱动节点与所述第二驱动节点合并,以将所述第一驱动节点和所述第二驱动节点划分到同一验证芯片中。
9.根据权利要求8所述的分割方法,其特征在于,在将所述第一驱动节点与所述第二驱动节点合并中,所述分割方法还包括:
确定将所述第一驱动节点与所述第二驱动节点进行合并是否产生新目标连线。
10.根据权利要求9所述的分割方法,其特征在于,在确定产生新目标连线时,所述分割方法还包括:输出提示信息,所述提示信息用于表征所述新目标连线属于非法连线。
11.根据权利要求1所述的分割方法,其特征在于,在对所述目标图进行分割前,所述分割方法还包括:按预设的聚类策略对所述目标图中的节点进行聚类。
12.根据权利要求11所述的分割方法,其特征在于,所述分割方法还包括:
将聚类后的节点进行还原;
将还原的若干节点调整到另一个分区中,以减少被切割的连线的数量且使得被切割的连线的驱动节点带有ffd属性。
13.一种验证方法,其特征在于,包括:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;
采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
14.根据权利要求13所述的验证方法,其特征在于,所述验证芯片包括FPGA芯片,所述验证系统包括多FPGA原型验证系统。
15.一种分割装置,其特征在于,包括:
分类模块,将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
合并模块,按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
分割模块,按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上。
16.一种验证装置,其特征在于,包括:
分类模块,将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
合并模块,按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
分割模块,按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;
验证模块,采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
17.一种用于分割的电子设备,其特征在于,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上。
18.一种用于验证的电子设备,其特征在于,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;
采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
19.一种用于分割的计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令设置为:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上。
20.一种用于验证的计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令设置为:
将芯片设计中的节点进行分类处理,以将每个节点对应划分为:具有ffd属性的节点、继承得到ffd属性的节点或无ffd属性的节点;
按预设的合并策略将无ffd属性的节点与具有ffd属性的节点或继承得到ffd属性的节点进行合并,以形成目标图;
按预设的分割策略对所述目标图进行分割,以将分割边界设置于所述目标图中的具有ffd属性的节点的输出线上,或者将分割边界设置于所述目标图中的继承得到ffd属性的节点的输出线上;
采用验证系统对分割结果进行验证,其中验证系统至少包括两片验证芯片。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110628338.1A CN113255273B (zh) | 2021-06-07 | 2021-06-07 | 分割及验证方法、装置、电子设备、存储介质 |
PCT/CN2021/126699 WO2022257331A1 (zh) | 2021-06-07 | 2021-10-27 | 分割及验证方法、装置、电子设备、存储介质 |
US18/567,297 US20240273277A1 (en) | 2021-06-01 | 2021-10-27 | Methods and apparatus for segmentation and verification, electronic device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110628338.1A CN113255273B (zh) | 2021-06-07 | 2021-06-07 | 分割及验证方法、装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113255273A true CN113255273A (zh) | 2021-08-13 |
CN113255273B CN113255273B (zh) | 2021-10-01 |
Family
ID=77186552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110628338.1A Active CN113255273B (zh) | 2021-06-01 | 2021-06-07 | 分割及验证方法、装置、电子设备、存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240273277A1 (zh) |
CN (1) | CN113255273B (zh) |
WO (1) | WO2022257331A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338540A (zh) * | 2022-03-17 | 2022-04-12 | 上海国微思尔芯技术股份有限公司 | 信号分流方法、装置、电子设备及存储介质 |
WO2022257331A1 (zh) * | 2021-06-07 | 2022-12-15 | 上海国微思尔芯技术股份有限公司 | 分割及验证方法、装置、电子设备、存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116796670B (zh) * | 2023-08-29 | 2023-11-21 | 北京汤谷软件技术有限公司 | 一种基于大数据的开发板数据分析管理系统及方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58207650A (ja) * | 1982-04-20 | 1983-12-03 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | Icパツケージ |
US20050125756A1 (en) * | 2003-12-03 | 2005-06-09 | International Business Machines Corporation | Autonomic graphical partitioning |
CN1700444A (zh) * | 2004-05-18 | 2005-11-23 | 株式会社迪斯科 | 晶片分割方法 |
US20100180244A1 (en) * | 2009-01-15 | 2010-07-15 | International Business Machines Corporation | Method For Efficiently Checkpointing And Restarting Static Timing Analysis Of An Integrated Circuit Chip |
CN101834160A (zh) * | 2010-04-23 | 2010-09-15 | 浙江大学 | 一种提高芯片成品率的多项目晶圆切割方法 |
CN104781939A (zh) * | 2012-11-23 | 2015-07-15 | 奥斯兰姆奥普托半导体有限责任公司 | 用于将复合体分割成半导体芯片的方法和半导体芯片 |
CN106326255A (zh) * | 2015-06-25 | 2017-01-11 | 高德软件有限公司 | 一种图元分层切割方法及装置 |
CN106415817A (zh) * | 2014-05-28 | 2017-02-15 | ams有限公司 | 用于晶片级封装的切割方法和具有适于晶片级封装的切割结构的半导体芯片 |
CN111027266A (zh) * | 2019-12-06 | 2020-04-17 | 思尔芯(上海)信息科技有限公司 | 一种多个fpga的设计分割的方法、系统、存储介质及终端 |
CN112232017A (zh) * | 2020-12-17 | 2021-01-15 | 上海国微思尔芯技术股份有限公司 | 分割边界优化方法、装置、计算机设备和存储介质 |
US20210066195A1 (en) * | 2019-08-30 | 2021-03-04 | Fujitsu Limited | Electrical chip and optical module |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257369B (zh) * | 2020-12-21 | 2021-03-16 | 上海国微思尔芯技术股份有限公司 | 一种逻辑设计分割方法及系统 |
CN113255273B (zh) * | 2021-06-07 | 2021-10-01 | 上海国微思尔芯技术股份有限公司 | 分割及验证方法、装置、电子设备、存储介质 |
-
2021
- 2021-06-07 CN CN202110628338.1A patent/CN113255273B/zh active Active
- 2021-10-27 US US18/567,297 patent/US20240273277A1/en active Pending
- 2021-10-27 WO PCT/CN2021/126699 patent/WO2022257331A1/zh active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58207650A (ja) * | 1982-04-20 | 1983-12-03 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | Icパツケージ |
US20050125756A1 (en) * | 2003-12-03 | 2005-06-09 | International Business Machines Corporation | Autonomic graphical partitioning |
CN1700444A (zh) * | 2004-05-18 | 2005-11-23 | 株式会社迪斯科 | 晶片分割方法 |
US20100180244A1 (en) * | 2009-01-15 | 2010-07-15 | International Business Machines Corporation | Method For Efficiently Checkpointing And Restarting Static Timing Analysis Of An Integrated Circuit Chip |
CN101834160A (zh) * | 2010-04-23 | 2010-09-15 | 浙江大学 | 一种提高芯片成品率的多项目晶圆切割方法 |
CN104781939A (zh) * | 2012-11-23 | 2015-07-15 | 奥斯兰姆奥普托半导体有限责任公司 | 用于将复合体分割成半导体芯片的方法和半导体芯片 |
CN106415817A (zh) * | 2014-05-28 | 2017-02-15 | ams有限公司 | 用于晶片级封装的切割方法和具有适于晶片级封装的切割结构的半导体芯片 |
CN106326255A (zh) * | 2015-06-25 | 2017-01-11 | 高德软件有限公司 | 一种图元分层切割方法及装置 |
US20210066195A1 (en) * | 2019-08-30 | 2021-03-04 | Fujitsu Limited | Electrical chip and optical module |
CN111027266A (zh) * | 2019-12-06 | 2020-04-17 | 思尔芯(上海)信息科技有限公司 | 一种多个fpga的设计分割的方法、系统、存储介质及终端 |
CN112232017A (zh) * | 2020-12-17 | 2021-01-15 | 上海国微思尔芯技术股份有限公司 | 分割边界优化方法、装置、计算机设备和存储介质 |
Non-Patent Citations (4)
Title |
---|
EHAB SALAHAT 等: "A robust histogram-based image segmentation ASIC design for System-on-Chip using 65nm technology", 《2015 INTERNATIONAL CONFERENCE ON COMMUNICATIONS, SIGNAL PROCESSING, AND THEIR APPLICATIONS (ICCSPA"15)》 * |
WEIPING SH等: "Optimal Interconnect Diagnosis of Wiring Networks", 《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEM》 * |
周琪琪 等: "基于图像分割的芯片定位在检测系统中的应用", 《组合机床与自动化加工技术》 * |
肖春华 等: "一种面向高性能计算的多FPGA互连结构及划分方法", 《计算机应用研究》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022257331A1 (zh) * | 2021-06-07 | 2022-12-15 | 上海国微思尔芯技术股份有限公司 | 分割及验证方法、装置、电子设备、存储介质 |
CN114338540A (zh) * | 2022-03-17 | 2022-04-12 | 上海国微思尔芯技术股份有限公司 | 信号分流方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20240273277A1 (en) | 2024-08-15 |
CN113255273B (zh) | 2021-10-01 |
WO2022257331A1 (zh) | 2022-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113255273B (zh) | 分割及验证方法、装置、电子设备、存储介质 | |
US7117143B2 (en) | Clock distribution in a circuit emulator | |
US9495492B1 (en) | Implementing synchronous triggers for waveform capture in an FPGA prototyping system | |
US11726545B2 (en) | Methods and apparatus for selectively extracting and loading register states | |
CN112100954A (zh) | 验证芯片的方法、装置和计算机存储介质 | |
US8595683B1 (en) | Generating user clocks for a prototyping environment | |
US20040078179A1 (en) | Logic verification system | |
US9767239B1 (en) | Timing optimization driven by statistical sensitivites | |
US8707229B1 (en) | Static analysis of VLSI reliability | |
US9294094B1 (en) | Method and apparatus for fast low skew phase generation for multiplexing signals on a multi-FPGA prototyping system | |
US9405877B1 (en) | System and method of fast phase aligned local generation of clocks on multiple FPGA system | |
CN113076710B (zh) | 时钟信号全局同步及分割验证方法、装置、电子设备、存储介质 | |
CN112732636A (zh) | 基于多fpga的芯片原型验证系统的配置方法、装置和设备 | |
CN107749807A (zh) | 一种面向nfv的网络功能验证方法及验证系统 | |
CN110941934A (zh) | 一种fpga原型验证开发板分割仿真系统、方法、介质及终端 | |
US12068911B2 (en) | Testing framework for adaptive virtual services | |
CN115913795B (zh) | 一种基于多fpga原型验证混合云平台的加密方法和系统 | |
US20180203968A1 (en) | Placement-driven generation of error detecting structures in integrated circuits | |
CN104123253A (zh) | 一种实现待验证芯片互联的方法和装置 | |
CN114757139A (zh) | 层次化设计中穿透模块层次的模块引脚对齐方法 | |
CN111370051B (zh) | 一种非易失存储器验证系统及方法 | |
US10963620B1 (en) | Buffer insertion technique to consider edge spacing and stack via design rules | |
US10565340B2 (en) | Field-effect transistor placement optimization for improved leaf cell routability | |
US10007489B1 (en) | Automated method identifying physical memories within a core or macro integrated circuit design | |
US20210048986A1 (en) | Dedicated hardware system for solving partial differential equations |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 27, 6th floor, No. 29 and 30, Lane 1775, Qiushan Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306 Patentee after: Shanghai Sierxin Technology Co.,Ltd. Address before: Room 27, 6th floor, No. 29 and 30, Lane 1775, Qiushan Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306 Patentee before: Shanghai Guowei silcore Technology Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |