CN116341438A - 提高fpga原型验证时序收敛的方法、系统、设备和存储介质 - Google Patents
提高fpga原型验证时序收敛的方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN116341438A CN116341438A CN202310310520.1A CN202310310520A CN116341438A CN 116341438 A CN116341438 A CN 116341438A CN 202310310520 A CN202310310520 A CN 202310310520A CN 116341438 A CN116341438 A CN 116341438A
- Authority
- CN
- China
- Prior art keywords
- clock
- time sequence
- timing
- report
- file
- 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.)
- Pending
Links
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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/323—Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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原型验证时序收敛的方法、系统、设备和存储介质,方法包括:读取设计文件,由顶至底分析设计结构中的时钟关系,并导出时钟的拓扑信息;读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件;以及统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略的配置文件。本发明对设计文件的时钟关系的分析和提取,对综合和实现阶段产生的时序报告进行自动化的分析及生成正确的时序约束,对存在严重为例路径分析并生成有实现阶段的模块级的有效策略。
Description
技术领域
本发明涉及数字芯片设计领域,更具体地,特别是指一种提高FPGA原型验证时序收敛的方法、系统、设备和存储介质。
背景技术
FPGA原型在数字芯片设计中,基本是必不可少的,相比用仿真器,或者加速器等来跑仿真,FPGA的运行速度更接近真实芯片,可以配合软件开发者来进行底层软件的开发。当然FPGA原型作为芯片的替身,也是有诸多限制的,比如规模限制、速度限制、功耗限制、结构限制等,在使用FPGA原型作为芯片的替代时,需要进行相应的修改,才能完成相应功能。
FPGA原型验证是一种通过将RTL移植到现场可编程门阵列(FPGA)来验证专门应用的集成电路(ASIC)和片上系统(SoC)的功能和性能的技术。原型验证是芯片流片前检验芯片与预期效果是否一致的必要的验证流程,由于直接流片的成本很高,通常采用的方式是将设计进行移植,综合,布局布线,在FPGA原型验证平台进行验证,FPGA具有可编程的特点,可以反复的修改和实现,直到达到预期结果,避免了多次流片的高成本和高风险。
在FPGA原型验证阶段,使用的RTL文件与ASIC的设计文件一致,但是需要将时钟、存储模块、特定的IP核和PAD进行功能替换,转换为FPGA可识别和综合的模块,在做好相应的替换的工作后,便可进行RTL在FPGA上的综合及实现的流程。
在FPGA的综合和实现后,都可以查看工具生成的网表,通过一些指令,查看时序分析报告、功耗分析报告和资源利用分析报告等。通常在原型验证中,需要着重解决的是综合和实现后的时序问题,需要解决时序报告中违例的情况,通常为建立时间违例和保持时间的违例。在原型验证中秉着尽量不动设计文件的原则,因为采取对应的解决方法主要以下两方面,完善时序约束和调整综合及实现策略。
对于大型的ASIC设计和SOC设计文件来说,在原型验证的流程中,对于复杂的时钟结构分析及对其约束成为了一项繁琐的工作。在传统的原型验证流程中,这项工作通常由人工分析设计的时钟结构和手动添加设计的时序约束来完成,并且通过多次迭代编译工程分析时序报告人为的完善设计的约束文件。
发明内容
有鉴于此,本发明实施例的目的在于提出一种提高FPGA原型验证时序收敛的方法、系统、计算机设备及计算机可读存储介质,本发明对时序报告进行自动化的分析,对缺失的时序约束,违例的时序路径及不合理的时钟关系产生有效的约束文件,并对存在严重时序违例路径相关的模块输出优化实现配置策略,在后续的综合及实现流程进行调用,对超大型的且具有复杂时钟关系的设计,可以快速实现原型验证流程的时序收敛,提高了验证的效率。
基于上述目的,本发明实施例的一方面提供了一种提高FPGA原型验证时序收敛的方法,包括如下步骤:读取设计文件,由顶至底分析设计结构中的时钟关系,并导出时钟的拓扑信息;读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件;以及统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略的配置文件。
在一些实施方式中,所述由顶至底分析设计结构中的时钟关系包括:在各个设计文件中查找与时钟相关的信号以及输入输出端口中的时钟信号,记录并标记各个模块内部时钟与端口时钟的关系。
在一些实施方式中,所述由顶至底分析设计结构中的时钟关系包括:遍历所有的设计文件,匹配并串联各个模块内部时钟与端口时钟的关系,并分析出整个设计的所有的模块结构的时钟拓扑。
在一些实施方式中,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:读取设计文件的设计顶层接口的IO延迟信息文件,根据时序报告中未被约束的端口的输入延迟和输出延迟生成对应的约束文件。
在一些实施方式中,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:检测所有违例的时序路径,识别源时钟和目的时钟,对于具有时钟使能信号的违例路径所包含的时钟生成多周期时钟路径约束文件。
在一些实施方式中,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:通过插入全局时钟缓冲使用FPGA内部时钟专有布线资源,降低时钟延迟,对未满足设计要求的数据路径和时钟路径设置最大延迟和最小延迟进行定量化的约束。
在一些实施方式中,所述生成相关的模块级实现策略的配置文件包括:对于扇出数量大于阈值的路径通过设置最大扇出约束限制寄存器的扇出数量。
本发明实施例的另一方面,提供了一种提高FPGA原型验证时序收敛的系统,包括:读取模块,配置用于读取设计文件,由顶至底分析设计结构中的时钟关系,并导出时钟的拓扑信息;生成模块,配置用于读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件;以及执行模块,配置用于统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略的配置文件。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:对时序报告进行自动化的分析,对缺失的时序约束,违例的时序路径及不合理的时钟关系产生有效的约束文件,并对存在严重时序违例路径相关的模块输出优化实现配置策略,在后续的综合及实现流程进行调用,对超大型的且具有复杂时钟关系的设计,可以快速实现原型验证流程的时序收敛,提高了验证的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的提高FPGA原型验证时序收敛的方法的实施例的示意图;
图2为本发明提供的提高FPGA原型验证时序收敛的方法的流程图;
图3为本发明提供的提高FPGA原型验证时序收敛的系统的实施例的示意图;
图4为本发明提供的提高FPGA原型验证时序收敛的计算机设备的实施例的硬件结构示意图;
图5为本发明提供的提高FPGA原型验证时序收敛的计算机存储介质的实施例的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明实施例的第一个方面,提出了一种提高FPGA原型验证时序收敛的方法的实施例。图1示出的是本发明提供的提高FPGA原型验证时序收敛的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S1、读取设计文件,由顶至底分析设计结构中的时钟关系,并导出时钟的拓扑信息;
S2、读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件;以及
S3、统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略的配置文件。
FPGA原型验证(FPGA Prototyping Verification)是指将ASIC(ApplicationSpecific Integrated Circuit,即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路)的设计代码在FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列,一种半定制电路芯片,常用于定制化的硬件电路设计芯片和IC行业的验证工作)验证平台和工具下进行编译,并且综合和实现产生为比特流下载至相应FPGA平台,通过真实的硬件电路进行对ASIC计的功能验证。
FPGA原型验证的工作,也是一个由ASIC设计向FPGA原型移植的过程,综合及实现完成后的时序报告中通常会存在大量的时序违例路径,验证工程师需要分析设计的时钟结构,对时钟进行正确的约束,对大量时钟违例的路径进行分析和完善约束。为提高验证的工作效率,快速完成原型验证在FPGA中的时序收敛。本发明实施例提出了一种可在FPGA原型验证工作中实现时序快速收敛的方法。
读取设计文件,由顶至底分析设计结构中的时钟关系,并导出时钟的拓扑信息。读取vivado中的设计文件(RTL设计文件),由顶至底的自动分析设计结构中的时钟关系,并导出时钟的拓扑信息clock_struct.log。Vivado是EDA(Electronic Design Automatic,电子设计自动化)软件,用于FPGA的开发工作。在本步骤中,读取vivado中设计的RTL文件,自动化的解析设计文件模块中端口的时钟信号,并查找其上下层级的时钟依赖关系,抽离出设计中的时钟结构,将各层级的时钟传播链及依赖关系输出到指定文件中clock_struct.log。
在一些实施方式中,所述由顶至底分析设计结构中的时钟关系包括:在各个设计文件中查找与时钟相关的信号以及输入输出端口中的时钟信号,记录并标记各个模块内部时钟与端口时钟的关系。读取所有的设计文件,在vivado中即为verilog、system Verilog、VHDL的RTL文件。在各个文件中查找与时钟clk相关的信号以及输入输出端口中的时钟信号,记录并标记,罗列各个模块内部时钟与端口时钟的关系。
在一些实施方式中,所述由顶至底分析设计结构中的时钟关系包括:遍历所有的设计文件,匹配并串联各个模块内部时钟与端口时钟的关系,并分析出整个设计的所有的模块结构的时钟拓扑。遍历所有的设计文件,匹配并串联各个模块内部时钟与端口时钟的关系,分析出整个设计的所有的模块结构的时钟拓扑,并导将结果输出到clock_struct.log文件。
读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件。读取综合或实现后的所有的时序报告,分析报告中时钟和时序关系情况,并且参考上述步骤中的时钟关系,自动化的生成时钟约束文件timing.xdc。在本步骤中,读取vivado工具输出的时钟报告,对于设计输出的report_clocks、report_clock_networks、report_timing、report_timing_summary等报告,并读取上述步骤中输出的clock_struct.log,自动化生成相应的时序约束timing.xdc,实现后续流程的时序收敛。
读取时钟和时序报告,检测报告中标注vivado识别但没有被约束的时钟信号,自动生成约束文件保存到timing.xdc。自动检测报告中inter_clock中显示的异步时钟对,设置通过set_false_path、set_clock_groups–asynchronous的为路径约束,去除工具对异步时钟的同步时序分析,保存相关约束到timing.xdc。
在一些实施方式中,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:读取设计文件的设计顶层接口的IO延迟信息文件,根据时序报告中未被约束的端口的输入延迟和输出延迟生成对应的约束文件。读取设计文件的设计顶层接口的IO delay信息文件,对于时序报告中未被约束的port的input_delay、output_delay自动生成相对应的约束保存至timing.xdc。
在一些实施方式中,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:检测所有违例的时序路径,识别源时钟和目的时钟,对于具有时钟使能信号的违例路径所包含的时钟生成多周期时钟路径约束文件。自动检测intra_clock中所有违例的时序路径,识别source clock(源时钟)和destination clock(目的时钟),读取上一步输出的clock_struct.log,对于具有时钟使能信号的违例路径所包含的时钟,自动生成多周期时钟路径约束set_multicycle_path来消除错误的时钟分析,保存结果至timing.xdc。
在一些实施方式中,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:通过插入全局时钟缓冲使用FPGA内部时钟专有布线资源,降低时钟延迟,对未满足设计要求的数据路径和时钟路径设置最大延迟和最小延迟进行定量化的约束。自动检测intra_clock中违例的时序路径中,建立时间和保持时间违例的failing_endpoints大于一定阈值的且FPGA的BUFG(全局时钟缓冲)余量满足,若为设计的内部时钟,则自动使用set_property CLOCK_BUFFER进行约束,通过插入BUFG使用FPGA内部时钟专有布线资源,降低时钟延迟,对数据路径和时钟路径未满足设计要求的进行set_max_delay/set_min_delay定量化的约束,保存约束至timing.xdc。
统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略的配置文件。自动统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略约束set_property.tcl。在本步骤中,读取并分析实现后的时序报告,对违例路径的相关数据,例如逻辑级数、扇出情况、时钟频率、时序路径关联模块,分析推断时序不满足的主要原因,输出模块级实现策略的配置文件,在后续流程中调用实现时序收敛。
在一些实施方式中,所述生成相关的模块级实现策略的配置文件包括:对于扇出数量大于阈值的路径通过设置最大扇出约束限制寄存器的扇出数量。
在实现阶段完成后,解析时序报告中所有违例路径的一些参数,如相逻辑级数,时钟扇出情况,时钟频率等,针对路径存在的主要问题,输出模块级实现的策略配置文件set_property.tcl,以下为举例说明。
(1)违例路径的逻辑级数过高,通过加入set_property BLOCK_SYNTH.RETIMING到违例路径相关模块。
(2)对于高扇出的路径通过MAXFANOUT(最大扇出)约束限制寄存器的扇出数量。
(3)检测设计中存在的严重时序违例路径的关联模块通过设置set_pr opertySTEPS.SYNTH_DESIGN、set_property STEPS.PHYS_OPT_DESIG N、set_propertySTEPS.POST_ROUTE_PHYS_OPT_DESIGN配置优化策略,保存策略到set_property.tcl。
图2为本发明提供的提高FPGA原型验证时序收敛的方法的流程图,如图2所示,读取设计文件,输出时钟结构信息clock_struct.log;vivado工程编译综合,输出时钟和时序报告;读取报告,读取设计时钟结构文件clock_struct.log,自动化的输出缺失的时钟约束,分析并对违例时序路径生成约束,约束文件输出至timing.xdc;vivado工程添加timing.xdc(实现后加入set_property.tcl)继续编译实现,输出时钟和时序报告;如果没有时序错误,所有时序路径均收敛则结束整个流程;如果有时序错误,读取报告,读取设计时钟结构文件clock_struct.log,自动化的输出缺失的时钟约束,分析并对违例时序路径生成约束,约束文件输出至timing.xdc,对违例路径的模块自动配置优化实现策略set_property.tcl,并再次返回vivado工程添加timing.xdc的步骤。
本发明在传统的FPGA原型验证的过程中,对设计文件中的时钟结构自动进行分析,同时对综合和者实现后的时序报告进行自动化的分析,对缺失的时序约束,违例的时序路径及不合理的时钟关系产生有效的约束文件,并对存在严重时序违例路径相关的模块输出优化实现配置策略,在后续的综合及实现流程进行调用。对超大型的且具有复杂时钟关系的设计,可以快速实现原型验证流程的时序收敛,提高了验证的效率。
需要特别指出的是,上述提高FPGA原型验证时序收敛的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于提高FPGA原型验证时序收敛的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种提高FPGA原型验证时序收敛的系统。如图3所示,系统200包括如下模块:读取模块,配置用于读取设计文件,由顶至底分析设计结构中的时钟关系,并导出时钟的拓扑信息;生成模块,配置用于读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件;以及执行模块,配置用于统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略的配置文件。
在一些实施方式中,所述读取模块配置用于:在各个设计文件中查找与时钟相关的信号以及输入输出端口中的时钟信号,记录并标记各个模块内部时钟与端口时钟的关系。
在一些实施方式中,所述读取模块配置用于:遍历所有的设计文件,匹配并串联各个模块内部时钟与端口时钟的关系,并分析出整个设计的所有的模块结构的时钟拓扑。
在一些实施方式中,所述生成模块配置用于:读取设计文件的设计顶层接口的IO延迟信息文件,根据时序报告中未被约束的端口的输入延迟和输出延迟生成对应的约束文件。
在一些实施方式中,所述生成模块配置用于:检测所有违例的时序路径,识别源时钟和目的时钟,对于具有时钟使能信号的违例路径所包含的时钟生成多周期时钟路径约束文件。
在一些实施方式中,所述生成模块配置用于:通过插入全局时钟缓冲使用FPGA内部时钟专有布线资源,降低时钟延迟,对未满足设计要求的数据路径和时钟路径设置最大延迟和最小延迟进行定量化的约束。
在一些实施方式中,所述执行模块配置用于:对于扇出数量大于阈值的路径通过设置最大扇出约束限制寄存器的扇出数量。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、读取设计文件,由顶至底分析设计结构中的时钟关系,并导出时钟的拓扑信息;S2、读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件;以及S3、统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略的配置文件。
在一些实施方式中,所述由顶至底分析设计结构中的时钟关系包括:在各个设计文件中查找与时钟相关的信号以及输入输出端口中的时钟信号,记录并标记各个模块内部时钟与端口时钟的关系。
在一些实施方式中,所述由顶至底分析设计结构中的时钟关系包括:遍历所有的设计文件,匹配并串联各个模块内部时钟与端口时钟的关系,并分析出整个设计的所有的模块结构的时钟拓扑。
在一些实施方式中,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:读取设计文件的设计顶层接口的IO延迟信息文件,根据时序报告中未被约束的端口的输入延迟和输出延迟生成对应的约束文件。
在一些实施方式中,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:检测所有违例的时序路径,识别源时钟和目的时钟,对于具有时钟使能信号的违例路径所包含的时钟生成多周期时钟路径约束文件。
在一些实施方式中,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:通过插入全局时钟缓冲使用FPGA内部时钟专有布线资源,降低时钟延迟,对未满足设计要求的数据路径和时钟路径设置最大延迟和最小延迟进行定量化的约束。
在一些实施方式中,所述生成相关的模块级实现策略的配置文件包括:对于扇出数量大于阈值的路径通过设置最大扇出约束限制寄存器的扇出数量。
如图4所示,为本发明提供的上述提高FPGA原型验证时序收敛的计算机设备的一个实施例的硬件结构示意图。
以如图4所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。
处理器301和存储器302可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的提高FPGA原型验证时序收敛的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现提高FPGA原型验证时序收敛的方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据提高FPGA原型验证时序收敛的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个提高FPGA原型验证时序收敛的方法对应的计算机指令303存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的提高FPGA原型验证时序收敛的方法。
执行上述提高FPGA原型验证时序收敛的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行提高FPGA原型验证时序收敛的方法的计算机程序。
如图5所示,为本发明提供的上述提高FPGA原型验证时序收敛的计算机存储介质的一个实施例的示意图。以如图5所示的计算机存储介质为例,计算机可读存储介质401存储有被处理器执行时执行如上方法的计算机程序402。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,提高FPGA原型验证时序收敛的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种提高FPGA原型验证时序收敛的方法,其特征在于,包括如下步骤:
读取设计文件,由顶至底分析设计结构中的时钟关系,并导出时钟的拓扑信息;
读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件;以及
统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略的配置文件。
2.根据权利要求1所述的方法,其特征在于,所述由顶至底分析设计结构中的时钟关系包括:
在各个设计文件中查找与时钟相关的信号以及输入输出端口中的时钟信号,记录并标记各个模块内部时钟与端口时钟的关系。
3.根据权利要求2所述的方法,其特征在于,所述由顶至底分析设计结构中的时钟关系包括:
遍历所有的设计文件,匹配并串联各个模块内部时钟与端口时钟的关系,并分析出整个设计的所有的模块结构的时钟拓扑。
4.根据权利要求1所述的方法,其特征在于,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:
读取设计文件的设计顶层接口的IO延迟信息文件,根据时序报告中未被约束的端口的输入延迟和输出延迟生成对应的约束文件。
5.根据权利要求4所述的方法,其特征在于,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:
检测所有违例的时序路径,识别源时钟和目的时钟,对于具有时钟使能信号的违例路径所包含的时钟生成多周期时钟路径约束文件。
6.根据权利要求5所述的方法,其特征在于,所述读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件包括:
通过插入全局时钟缓冲使用FPGA内部时钟专有布线资源,降低时钟延迟,对未满足设计要求的数据路径和时钟路径设置最大延迟和最小延迟进行定量化的约束。
7.根据权利要求1所述的方法,其特征在于,所述生成相关的模块级实现策略的配置文件包括:
对于扇出数量大于阈值的路径通过设置最大扇出约束限制寄存器的扇出数量。
8.一种提高FPGA原型验证时序收敛的系统,其特征在于,包括:
读取模块,配置用于读取设计文件,由顶至底分析设计结构中的时钟关系,并导出时钟的拓扑信息;
生成模块,配置用于读取时序报告并分析所述时序报告中时钟和时序关系情况,并结合所述时钟的拓扑信息生成时钟约束文件;以及
执行模块,配置用于统计时序报告中违例的时序路径所在源模块及目的模块的时序情况,并生成相关的模块级实现策略的配置文件。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310310520.1A CN116341438A (zh) | 2023-03-24 | 2023-03-24 | 提高fpga原型验证时序收敛的方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310310520.1A CN116341438A (zh) | 2023-03-24 | 2023-03-24 | 提高fpga原型验证时序收敛的方法、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116341438A true CN116341438A (zh) | 2023-06-27 |
Family
ID=86885368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310310520.1A Pending CN116341438A (zh) | 2023-03-24 | 2023-03-24 | 提高fpga原型验证时序收敛的方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116341438A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116805143A (zh) * | 2023-08-24 | 2023-09-26 | 湖南师范大学 | 一种数字电路时序统计方法、装置、设备及存储介质 |
-
2023
- 2023-03-24 CN CN202310310520.1A patent/CN116341438A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116805143A (zh) * | 2023-08-24 | 2023-09-26 | 湖南师范大学 | 一种数字电路时序统计方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7962886B1 (en) | Method and system for generating design constraints | |
US7987440B2 (en) | Method and system for efficient validation of clock skews during hierarchical static timing analysis | |
US10776547B1 (en) | Infinite-depth path-based analysis of operational timing for circuit design | |
CN101539958B (zh) | 一种标准单元库和集成电路的设计方法和装置 | |
US7958470B1 (en) | Method and system for false path analysis | |
US8196076B2 (en) | Optimal flow in designing a circuit operable in multiple timing modes | |
US20070094629A1 (en) | Methods and Apparatus for Making Placement Sensitive Logic Modifications | |
US20130091483A1 (en) | Automatic flow of megacell generation | |
US8719752B1 (en) | Hierarchical crosstalk noise analysis model generation | |
Hu et al. | TAU 2015 contest on incremental timing analysis | |
CN113569524A (zh) | 芯片设计中基于综合网表提取时钟树的方法及应用 | |
CN116341438A (zh) | 提高fpga原型验证时序收敛的方法、系统、设备和存储介质 | |
Chan et al. | OCV-aware top-level clock tree optimization | |
US6964027B2 (en) | System and method for optimizing exceptions | |
Ramesh et al. | Artificial neural network model for arrival time computation in gate level circuits | |
CN116776793B (zh) | 静态时序分析和前仿真相结合的多周期路径约束验证方法 | |
CN116108783B (zh) | 分块逻辑时序分析建模及处理方法、系统、设备及介质 | |
Geralla et al. | Optimization of physically-aware synthesis for digital implementation flow | |
JP5447547B2 (ja) | マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム | |
US8959467B2 (en) | Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools | |
Huang et al. | Timing-driven cell placement optimization for early slack histogram compression | |
US11531803B1 (en) | IPBA-driven full-depth EPBA of operational timing for circuit design | |
Kanase et al. | Physical implementation of shift register with respect to timing and dynamic drop | |
Vij | Algorithms and methodology to design asynchronous circuits using synchronous CAD tools and flows | |
Plassan et al. | Improving the efficiency of formal verification: the case of clock-domain crossings |
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 |