CN117574817B - 自适应时序变化的设计自动化验证方法、系统及验证平台 - Google Patents

自适应时序变化的设计自动化验证方法、系统及验证平台 Download PDF

Info

Publication number
CN117574817B
CN117574817B CN202410052650.4A CN202410052650A CN117574817B CN 117574817 B CN117574817 B CN 117574817B CN 202410052650 A CN202410052650 A CN 202410052650A CN 117574817 B CN117574817 B CN 117574817B
Authority
CN
China
Prior art keywords
time sequence
constraint
verification
design
constraint 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.)
Active
Application number
CN202410052650.4A
Other languages
English (en)
Other versions
CN117574817A (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.)
Hexin Technology Co ltd
Hexin Technology Suzhou Co ltd
Original Assignee
Hexin Technology Co ltd
Hexin Technology Suzhou Co ltd
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 Hexin Technology Co ltd, Hexin Technology Suzhou Co ltd filed Critical Hexin Technology Co ltd
Priority to CN202410052650.4A priority Critical patent/CN117574817B/zh
Publication of CN117574817A publication Critical patent/CN117574817A/zh
Application granted granted Critical
Publication of CN117574817B publication Critical patent/CN117574817B/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/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Abstract

本发明提供了一种自适应时序变化的设计自动化验证方法、系统及验证平台,所述包括响应于设计验证启动,定时扫描测试用例的预设约束配置路径,获取目标激励约束文件;所述目标激励约束文件包括至少一个新增激励约束文件和\或至少一个更新激励约束文件;读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台;根据所述时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果。本发明能有效满足同一被验设计在不同时序场景下的全自动化验证需求,减少人力资源成本,提高验证效率和验证可靠性,为芯片设计开发提供可靠保障。

Description

自适应时序变化的设计自动化验证方法、系统及验证平台
技术领域
本发明涉及芯片设计验证技术领域,特别是涉及一种自适应时序变化的设计自动化验证方法、系统及验证平台。
背景技术
随着集成电路的发展,芯片功能越来越复杂,设计规模越来越大,同时由于流片费用昂贵,芯片设计的验证要求也越来越高。因此,全面高效的功能验证对芯片的成功开发具有重要意义。
现有芯片设计验证大都采用基于通用验证标准搭建的验证平台,利用其可重构组件构建具有标准层次结构和接口的功能验证环境。比如,在UVM(Universal VerificationMethodology)验证平台结构中,通常被验设计(Design Under Test,DUT)的每一组输入输出接口需要一个测试(Test)项目,每个测试项目包括环境(Environment)组件、事务(Transaction)组件和序列组(Sequence)组件;使用验证平台时,通常采用基于测试用例(Case)管理的方式,根据被验设计的功能提取出关键的特性,每个测试用例针对其中的一种或几种特性进行验证。如果想验证不同的特性,需要在验证平台的各个测试项目中添加不同的测试用例,才能完成验证工作,且若DUT功能改动,就需要建立新的测试用例,还需要对Environment组件、Transaction组件、Sequence组件进行新建或修改,并不能实现transaction组件的复用,且不能根据验证需求变化自适应更新验证平台执行新功能验证,大大增加设计人员工作量,浪费大量人力资源成本的同时,还会严重影响验证效率,进而导致芯片设计开发进度延缓。
发明内容
本发明的目的是提供一种自适应时序变化的设计自动化验证方法,通过基于被验设计时序调整需求生成激励约束文件,将通过自动化脚本感知新的激励约束文件提取到的端口信息与验证平台的端口信号进行映射匹配后插入到验证平台的相关组件,再对被验设计进行仿真验证,解决现有验证平台无法在尽可能复用现有组件的情况下自适应被验设计时序调整需求更新验证平台执行新功能验证,需耗费大量人力成本且验证效率较低的应用缺陷,能在复用现有测试用例的情况下,根据实际时序变动情况快速自动更新验证平台,有效满足同一被验设计在不同时序场景下的全自动化验证需求的同时,减少人力资源成本,提高验证效率和验证可靠性,为芯片设计开发进度提供可靠保障。
为了实现上述目的,有必要针对上述技术问题,提供一种自适应时序变化的设计自动化验证方法、系统及验证平台。
第一方面,本发明实施例提供了一种自适应时序变化的设计自动化验证方法,所述方法包括以下步骤:
响应于设计验证启动,定时扫描测试用例的预设约束配置路径,获取目标激励约束文件;
读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台;
根据所述时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果。
进一步地,所述目标激励约束文件包括至少一个新增激励约束文件、和\或至少一个更新激励约束文件;
所述定时扫描测试用例的预设约束配置路径,获取目标激励约束文件的步骤之前,还包括:
根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件;所述被验设计时序调整需求包括单个时序调整需求或多个时序调整需求。
进一步地,当所述被验设计时序调整需求为单个时序调整需求时,所述根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件的步骤包括:
根据所述预设约束文件模板和所述单个时序调整需求,在所述预设约束配置路径中生成对应的新增激励约束文件;和/或,
根据所述单个时序调整需求,对所述预设约束配置路径中的激励约束文件进行更新替换,生成对应的更新激励约束文件。
进一步地,当所述被验设计时序调整需求为多个时序调整需求时,所述根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件的步骤包括:
根据所述预设约束文件模板、所述多个时序调整需求和对应的验证顺序,在所述预设约束配置路径中生成多个顺序编号命名的新增激励约束文件;和/或,
根据所述多个时序调整需求,对所述预设约束配置路径中的多个顺序编号命名的激励约束文件进行更新替换,分别生成对应的更新激励约束文件。
进一步地,所述端口信号时序配置信息包括时序约束信息、周期约束信息和位宽约束信息;
所述读取并解析各个目标激励约束文件,得到端口信号时序配置信息的步骤包括:
根据预设文件解析脚本和各个目标激励约束文件的命名编号,依次读取目标激励约束文件;
按照预设时序信息提取匹配规则,对所述目标激励约束文件进行逐行解析,得到端口信号时序配置信息。
进一步地,所述将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台的步骤包括:
对所述端口信号时序配置信息进行分类,得到输入端口信号配置信息、输出端口信号配置信息和顶层信号配置信息;
将所述输入端口信号配置信息、输出端口信号配置信息和顶层信号配置信息分别转换为对应的输入端口信号宏、输出端口信号宏和顶层信号宏;
将所述输入端口信号宏、输出端口信号宏和顶层信号宏插入至当前运行的验证平台,得到时序更新验证平台。
进一步地,所述将所述输入端口信号宏、输出端口信号宏和顶层信号宏插入至当前运行的验证平台,得到时序更新验证平台的步骤包括:
将所述输入端口信号宏插入至所述验证平台的输入驱动模块和输入监测模块;
将所述输出端口信号宏插入至所述验证平台的输出监测模块;
将所述顶层信号宏插入至所述验证平台的顶层模块。
第二方面,本发明实施例提供了一种自适应时序变化的设计自动化验证系统,所述系统包括:
激励获取模块,用于响应于设计验证启动,定时扫描测试用例的预设约束配置路径,获取目标激励约束文件;
平台更新模块,用于读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台;
结果获取模块,用于根据所述时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果。
进一步地,所述目标激励约束文件包括至少一个新增激励约束文件、和\或至少一个更新激励约束文件;
所述系统还包括:
约束配置模块,用于根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件;所述被验设计时序调整需求包括单个时序调整需求或多个时序调整需求。
第三方面,本发明实施例还提供了一种设计自动化验证平台,执行设计验证时实现上述方法的步骤。
上述本申请提供了一种自适应时序变化的设计自动化验证方法、系统、计算机设备和存储介质,通过所述方法实现了定时扫描测试用例的预设约束配置路径,获取包括至少一个新增激励约束文件、和\或至少一个更新激励约束文件的目标激励约束文件,读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台后,根据时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果的技术方案。与现有技术相比,该自适应时序变化的设计自动化验证方法,能在复用现有测试用例的情况下,根据实际时序变动情况快速自动更新验证平台,有效满足同一被验设计在不同时序场景下的全自动化验证需求的同时,减少人力资源成本,提高验证效率和验证可靠性,为芯片设计开发进度和开发质量提供可靠保障。
附图说明
图1是本发明实施例中自适应时序变化的设计自动化验证的流程框架示意图;
图2是现有UVM验证平台的结构示意图;
图3是本发明实施例中自适应时序变化的设计自动化验证方法的流程示意图;
图4是本发明实施例中自适应时序变化的设计自动化验证方法的另一流程示意图;
图5是本发明实施例中解析目标激励约束条件更新验证平台的流程示意图;
图6是本发明实施例中将目标激励约束文件中提取的端口信号时序配置信息插入至当前运行的验证平台的示意图;
图7是本发明实施例中根据目标激励约束条件更新得到的时序更新验证平台的结构示意图;
图8是本发明实施例中自适应时序变化的设计自动化验证方法的另一详细流程示意图;
图9是本发明实施例中自适应时序变化的设计自动化验证系统的结构示意图;
图10是本发明实施例中自适应时序变化的设计自动化验证系统的另一结构示意图。
具体实施方式
为了使本申请的目的、技术方案和有益效果更加清楚明白,下面结合附图及实施例,对本发明作进一步详细说明,显然,以下所描述的实施例是本发明实施例的一部分,仅用于说明本发明,但不用来限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的自适应时序变化的设计自动化验证方法可理解为是一种以包括端口信号时序配置信息的激励约束文件和自动化解析适配脚本为核心,通过图1所示的流程架构自适应DUT时序修改的芯片设计功能全自动化验证方法,当被验设计DUT功能的对应时序发生改变时,生成被验设计DUT的包括端口信号之间的时序关系或者关于时钟的保持时间和建立时间、以及时钟信号和重置信号的大小和占空比等信息的激励约束文件,并通过自动化脚本提取激励约束文件中的信息并在分类后以宏定义的方式插入到验证平台的组件中,以使验证平台能在复用现有测试用的情况下,将满足DUT设计要求的时序传入DUT进行验证得到用例验证结果。需要说明的是,该方法可适用于包括输入驱动模块(输入中介中的驱动器)、输入监测模块(输入中介中的监视器)、输出监测模块(输出中介中的监视器)和顶层模块的验证平台,下述实施例将以图2所示的UVM验证平台的应用为例对本发明的自适应时序变化的设计自动化验证方法进行详细说明。
在一个实施例中,如图3所示,提供了一种自适应时序变化的设计自动化验证方法,包括以下步骤:
S11、响应于设计验证启动,定时扫描测试用例的预设约束配置路径,获取目标激励约束文件;其中,测试用例可理解为是需要验证平台上执行且用于对被验设计进行功能验证的激励;对应的预设约束配置路径可理解为是与各个测试用例对应的激励约束文件固定存储路径,此处不作具体限定;本实施例通过为各个测试用例固定配置路径的方式,即可满足自动感知被验设计时序调整需求,而且能便于时序信息灵活调整和实现对相关功能验证约束文件的统一管理,进而为后续被验设计功能验证的高效性和可靠性提供可靠保证;
上述所述目标激励约束文件包括至少一个新增激励约束文件、和\或至少一个更新激励约束文件;其中,新增激励约束文件可理解为被扫描的测试用例的预设约束配置路径中之前不存在因某个或多个时序调整需求而生成的激励约束文件前提下新增加的激励约束文件;对应的,更新激励约束文件可理解为是对预设约束配置路径中原有的激励约束文件中的部分或全部时序信号信息进行调整更新得到励约束文件;同时,为了满足更丰富的时序场景验证需求,同一预设约束配置路径扫描获取的目标激励约束文件可能仅有一个或多个新增激励约束文件,也可能仅有一个或多个更新激励约束文件,当然也可能同时存在一个或多个新增激励约束文件与更新激励约束文件,以提升设计功能验证的全面性和可靠性;
此外,为了在满足对时序信号信息可靠存储和灵活调整需求的同时,还能保证验证执行的高效性,本实施例优选地,在设计验证启动之前,由设计人员或者验证人员预先根据时序调整需求生成新增激励约束文件和更新激励约束文件并存储于对应的预设约束配置路径;同时,为了考虑到目标激励约束文件读取解析的速度与准确性会直接影响验证时长和验证效果,为了保证各个时序场景下设计功能验证的高效性和精准性,本实施例优选地按照统一的固定模板格式生成包括各个信号大小和时序的变化情况的激励约束文件;具体的,如图4所示,所述定时扫描测试用例的预设约束配置路径,获取目标激励约束文件的步骤之前,还包括:
S10、根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件;所述被验设计时序调整需求包括单个时序调整需求或多个时序调整需求中;
其中,单个时序调整需求可理解为当前验证进行需要修改一次时序信号即可满足验证需求,具体的修改方式可分为首次新增和非首次更新两种情况,具体的,当所述被验设计时序调整需求为单个时序调整需求时,所述根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件的步骤包括:
根据所述预设约束文件模板和所述单个时序调整需求,在所述预设约束配置路径中生成对应的新增激励约束文件;和/或,
根据所述单个时序调整需求,对所述预设约束配置路径中的激励约束文件进行更新替换,生成对应的更新激励约束文件;
需要说明的是,预设约束文件模板可根据实际应用需求设置,本实施例优选地,同时包括以“SETUPHOLD”开头的时序约束、以“PERIOD”开头的周期约束和以“WIDTH”开头的位宽约束,且以“SETUPHOLD”开头的行中,第一个括号内为信号名,第二个括号内为建立时间,第三个括号内保持时间,用以表示端口信号的保持时间和建立时间;以“PERIOD”开头的行中,第一个括号内为信号名,第二个括号内为信号的大小,用以表示端口信号的大小;以“WIDTH”开头的行中,第一个括号内为信号名,第二括号内为posedge(上升沿)/negedge(下降沿),第三个括号内为posedge/negedge的大小,用以表示信号的上升沿和下降沿的极限值;基于某个被验设计时序调整需求得到新增激励约束文件或更新激励约束文件的具体内容如下所示:
WIDTH (posedge clk)(0.054)
WIDTH (negedge clk)(0.054)
PERIOD(posedge clk)(0.207)
WIDTH (posedge rst_n)(0.054)
WIDTH (negedge rst_n)(0.054)
PERIOD(posedge rst_n)(0.207)
SETUPHOLD (posedge wr_en) (posedge clk)(0.015)(0.046)
SETUPHOLD (posedge wr_data) (posedge clk)(0.012)(0.054)
SETUPHOLD (posedge wr_addr) (posedge clk)(0.016)(0.054)
SETUPHOLD (posedge rd_en) (posedge clk)(0.01)(0.04)
SETUPHOLD (posedge rd_data) (posedge clk)(0.011)(0.05)
SETUPHOLD (posedge rd_addr) (posedge clk)(0.016)(0.043)
注:clk:时钟信号;rst_n:复位信号;wr_en:写使能;wr_data:写数据;wr_addr:写地址;rd_en:读使能;rd_data:读数据;rd_addr:读地址
上述多个时序调整需求可理解为需要依次执行多次时序信号的修改执行才能满足当前的设计功能验证需求,具体的修改方式也可分为首次新增多个和非首次更新多个两种情况;具体的,当所述被验设计时序调整需求为多个时序调整需求时,所述根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件的步骤包括:
根据所述预设约束文件模板、所述多个时序调整需求和对应的验证顺序,在所述预设约束配置路径中生成多个顺序编号命名的新增激励约束文件;其中,预设约束文件模板的设置格式和具体内容参见上文,此处不再赘述;
多个时序调整需求对应的验证顺序可理解为同时存在多个时序调整场景时,各个时序场景的验证先后顺序;考虑到在实际功能验证中每个时序场景验证完成后,才能执行另一时序场景验证,本实施例优选地根据多个时序调整需求对应的预设验证顺序为对应的新增激励约束文件进行顺序编号;
和/或,根据所述多个时序调整需求,对所述预设约束配置路径中的多个顺序编号命名的激励约束文件进行更新替换,分别生成对应的更新激励约束文件;
本实施例通过顺序编号命名多个激励约束文件的方式,保证实现功能验证全面性的同时,还能确保各个激励约束文件解析使用的有序性,进而保证验证结果的准确性。
S12、读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台;其中,所述端口信号时序配置信息可理解为是遍历目标激励约束文件中各个配置行,所提取到的满足验证平台时序调整需求的端口信号信息,具体包括时序约束信息、周期约束信息和位宽约束信息;其中,所述时序约束信息可理解为是从目标激励约束文件中以SETUPHOLD开头的配置行中提取的信息,包括信号名、信号建立时间和信号保持时间;所述周期约束信息可理解为是从目标激励约束文件中以PERIOD开头的配置行中提取的信息,包括信号名和信号大小;所述位宽约束信息可理解为是从目标激励约束文件中以WIDTH开头的配置行中提取的信息,包括信号名、时钟边沿和对应的边沿极限值;需要说明的是,考虑到实际应用中,可能存在目标激励约束文件配置错误的情况,为了提高应用性和容错性,本实施例优选地在解析文件出错,如找不到所需的必要配置关键词时及时给予报错提醒,并提示检查对应的目标激励约束文件的内容及格式,便于验证人员及时排查异常,提高验证效率;
为了保证验证平台时序更新的简单高效,本实施例优选地采用设置解析脚本按照关键字匹配和固定格式匹配方式对激励约束文件中配置的时序信号信息进行提取;具体的,如图5所示,所述读取并解析各个目标激励约束文件,得到端口信号时序配置信息的步骤包括:
根据预设文件解析脚本和各个目标激励约束文件的命名编号,依次读取目标激励约束文件;其中,所述预设文件解析脚本包括与所述时序约束信息、所述周期约束信息和所述位宽约束信息分别对应的关键字匹配规则和固定格式匹配规则;具体的关键字匹配规则和固定格式匹配规则可根据预设约束文件模板的内容设定,此处不再详述;
按照预设时序信息提取匹配规则,对所述目标激励约束文件进行逐行解析,得到端口信号时序配置信息。
通过上述方法步骤得到目标激励约束文件对应的端口信号时序配置信息后,即可根据时序调整对应的端口信号时序配置信息对验证平台的相关组件进行自适应更新,使得自动适配各种时序场景的验证环境;比如,对于UVM验证平台而言,需要自动修改Environment环境组件中的驱动模块和监测模块,以满足所有DUT时序发生变化时的自动化验证需求;为了实现高效且较低成本地对验证平台进行可靠更新,本实施例优选地,通过自动化脚本将端口信号时序配置信息与验证平台中的端口信号进行映射匹配后,以设置宏定义的方式将端口信息插入到对应的验证平台组件;具体的,所述将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台的步骤包括:
对所述端口信号时序配置信息进行分类,得到输入端口信号配置信息、输出端口信号配置信息和顶层信号配置信息;其中,输入端口信号配置信息可理解为是影响输入驱动模块(input_driver)和输入监测模块(input_monitor)运行的端口信号信息;输出端口信号配置信息可理解为是影响输出监测模块(out_monitor)运行的端口信号信息;顶层信号配置信息可理解为是影响验证平台顶层模块(top_tb)运行的端口信号信息;需要说明的是,本实施例中对述端口信号时序配置信息进行分类的标准可根据实际应用需求确定,并预先写入自动化脚本,即可将提取的各个信号名分别与验证环境顶层定义中的输入信号、输出信号、以及脚本中定义的顶层信号进行名字匹配的方式进行信号分类,此处不作具体限定;
将所述输入端口信号配置信息、输出端口信号配置信息和顶层信号配置信息分别转换为对应的输入端口信号宏、输出端口信号宏和顶层信号宏;其中,输入端口信号宏、输出端口信号宏和顶层信号宏可理解为是将脚本提取的信号设为对应的宏定义,比如,“wr_en_set 44.0”的意思是wr_en信号的建立时间是44.0ns,对应得到对应的宏定义为“definewr_en_set 44.0”;
将所述输入端口信号宏、输出端口信号宏和顶层信号宏插入至当前运行的验证平台,得到时序更新验证平台;其中,输入端口信号宏、输出端口信号宏和顶层信号宏可理解为是被验设计DUT时序的所有宏定义,将其插入到验证平台中控制信号发送到被验设计DUT中的逻辑顺序的模块中,就可以保证得到信号发送时序改变且保证符合被验设计DUT验证需求;对应的,时序更新验证平台可理解为是通过插入宏定义的方式改写原有控制信号时序的代码变量值,以改变对应的代码执行逻辑;
具体的,所述将所述输入端口信号宏、输出端口信号宏和顶层信号宏插入至当前运行的验证平台,得到时序更新验证平台的步骤包括:
将所述输入端口信号宏插入至所述验证平台的输入驱动模块和输入监测模块;具体的,如图6所示,通过脚本控制将输入端口信号宏添加到input_driver和input_monitor这两个组件代码的最前面,以保证后续对应组件代码中所有定义信号的值都会随之改变;
将所述输出端口信号宏插入至所述验证平台的输出监测模块;具体的,通过脚本控制将输出端口信号宏添加到output_monitor这个组件代码的最前面,以保证后续对应组件代码中所有定义信号的值都会随之改变;
将所述顶层信号宏插入至所述验证平台的顶层模块;具体的,通过脚本控制将顶层信号宏添加到top_tb组件代码的最前面,以保证后续对应组件代码中所有定义信号的值都会随之改变;
通过上述方法步骤即可得到满足相应信号发送时序改变需求的验证环境,以保证后续可在复用测试用例的基础上进行仿真验证,得到所需的用例验证结果。
本实施例中将目标激励约束文件中根据时序信号调整需求设定的信号时序配置信息以宏定义的形式插入至验证平台中用于控制信号发送时序的组件模块使得图7所示的基于目标激励的验证平台以满足时序调整需求的方法,不仅能够实现根据时序信号调整需求自适应更新验证平台测试环境,而且能保证验证平台更新的高效性和合理性,进而保证设计的验证效率和验证质量。
S13、根据所述时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果;其中,用例验证结果的具体生成过程可参考现有验证平台对测试用例的验证逻辑得到,此处不再详述。
本申请实施例通过图8所示的预先根据时序调整需求生成新增激励约束文件和更新激励约束文件并存储于对应的预设约束配置路径,并定时扫描测试用例的预设约束配置路径,获取包括至少一个新增激励约束文件、和\或至少一个更新激励约束文件的目标激励约束文件,读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台后,根据时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果的技术方案,能有效解决现有验证平台无法在尽可能复用现有组件的情况下自适应被验设计时序调整需求更新验证平台执行新功能验证,需耗费大量人力成本且验证效率较低的应用缺陷,不仅能基于时序信号信息的可靠存储和灵活调整保证验证场景更新的灵活性和全面性,而且能在复用现有测试用例的情况下,根据实际时序变动情况快速自动更新验证平台,有效满足同一被验设计在不同时序场景下的全自动化验证需求,还能在有效减少设计验证投入人力成本的同时,有效保证设计验证的高效性和可靠性,为芯片设计开发进度和开发质量提供可靠保障。
需要说明的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
在一个实施例中,如图9所示,提供了一种自适应时序变化的设计自动化验证系统,所述系统包括:
激励获取模块11,用于响应于设计验证启动,定时扫描测试用例的预设约束配置路径,获取目标激励约束文件;
平台更新模块12,用于读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台;
结果获取模块13,用于根据所述时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果。
在一个实施例中,如图10所示,提供了一种自适应时序变化的设计自动化验证系统,所述目标激励约束文件包括至少一个新增激励约束文件、和\或至少一个更新激励约束文件;所述系统还包括:
约束配置模块10,用于根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件;所述被验设计时序调整需求包括单个时序调整需求或多个时序调整需求。
关于自适应时序变化的设计自动化验证系统的具体限定可以参见上文中对于自适应时序变化的设计自动化验证方法的限定,对应的技术效果也可等同得到,在此不再赘述。上述自适应时序变化的设计自动化验证系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种设计自动化验证平台,执行设计验证时实现上述方法的步骤。
综上,本发明实施例提供的一种自适应时序变化的设计自动化验证方法、系统及验证平台,其自适应时序变化的设计自动化验证方法实现了预先根据时序调整需求生成新增激励约束文件和更新激励约束文件并存储于对应的预设约束配置路径,并当设计验证启动后,定时扫描测试用例的预设约束配置路径,获取包括至少一个新增激励约束文件、和\或至少一个更新激励约束文件的目标激励约束文件,读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台后,根据时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果的技术方案,该方法通过基于被验设计时序调整需求生成激励约束文件,将通过自动化脚本感知新的激励约束文件提取到的端口信息与验证平台的端口信号进行映射匹配后插入到验证平台的相关组件,再对被验设计进行仿真验证,不仅能基于时序信号信息的可靠存储和灵活调整保证验证场景更新的灵活性和全面性,而且能在复用现有测试用例的情况下,根据实际时序变动情况快速自动更新验证平台,有效满足同一被验设计在不同时序场景下的全自动化验证需求,还能在有效减少设计验证投入人力成本的同时,有效保证设计验证的高效性和可靠性,为芯片设计开发进度和开发质量提供可靠保障。
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本申请的保护范围。因此,本申请专利的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种自适应时序变化的设计自动化验证方法,其特征在于,所述方法包括以下步骤:
响应于设计验证启动,定时扫描测试用例的预设约束配置路径,获取目标激励约束文件;所述目标激励约束文件为根据被验设计时序调整需求配置的激励约束文件,包括端口信号间的时序关系或者时钟的保持时间与建立时间、以及时钟信号和重置信号的大小与占空比;
读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台;所述端口信号时序配置信息包括时序约束信息、周期约束信息和位宽约束信息;所述时序约束信息包括信号名、信号建立时间和信号保持时间;所述周期约束信息包括信号名和信号大小;所述位宽约束信息包括信号名、时钟边沿和对应的边沿极限值;
根据所述时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果。
2.如权利要求1所述的自适应时序变化的设计自动化验证方法,其特征在于,所述目标激励约束文件包括至少一个新增激励约束文件、和\或至少一个更新激励约束文件;
所述定时扫描测试用例的预设约束配置路径,获取目标激励约束文件的步骤之前,还包括:
根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件;所述被验设计时序调整需求包括单个时序调整需求或多个时序调整需求。
3.如权利要求2所述的自适应时序变化的设计自动化验证方法,其特征在于,当所述被验设计时序调整需求为单个时序调整需求时,所述根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件的步骤包括:
根据所述预设约束文件模板和所述单个时序调整需求,在所述预设约束配置路径中生成对应的新增激励约束文件;和/或,
根据所述单个时序调整需求,对所述预设约束配置路径中的激励约束文件进行更新替换,生成对应的更新激励约束文件。
4.如权利要求2所述的自适应时序变化的设计自动化验证方法,其特征在于,当所述被验设计时序调整需求为多个时序调整需求时,所述根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件的步骤包括:
根据所述预设约束文件模板、所述多个时序调整需求和对应的验证顺序,在所述预设约束配置路径中生成多个顺序编号命名的新增激励约束文件;和/或,
根据所述多个时序调整需求,对所述预设约束配置路径中的多个顺序编号命名的激励约束文件进行更新替换,分别生成对应的更新激励约束文件。
5.如权利要求1所述的自适应时序变化的设计自动化验证方法,其特征在于,所述读取并解析各个目标激励约束文件,得到端口信号时序配置信息的步骤包括:
根据预设文件解析脚本和各个目标激励约束文件的命名编号,依次读取目标激励约束文件;
按照预设时序信息提取匹配规则,对所述目标激励约束文件进行逐行解析,得到端口信号时序配置信息。
6.如权利要求1所述的自适应时序变化的设计自动化验证方法,其特征在于,所述将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台的步骤包括:
对所述端口信号时序配置信息进行分类,得到输入端口信号配置信息、输出端口信号配置信息和顶层信号配置信息;
将所述输入端口信号配置信息、输出端口信号配置信息和顶层信号配置信息分别转换为对应的输入端口信号宏、输出端口信号宏和顶层信号宏;
将所述输入端口信号宏、输出端口信号宏和顶层信号宏插入至当前运行的验证平台,得到时序更新验证平台。
7.如权利要求6所述的自适应时序变化的设计自动化验证方法,其特征在于,所述将所述输入端口信号宏、输出端口信号宏和顶层信号宏插入至当前运行的验证平台,得到时序更新验证平台的步骤包括:
将所述输入端口信号宏插入至所述验证平台的输入驱动模块和输入监测模块;
将所述输出端口信号宏插入至所述验证平台的输出监测模块;
将所述顶层信号宏插入至所述验证平台的顶层模块。
8.一种自适应时序变化的设计自动化验证系统,其特征在于,所述系统包括:
激励获取模块,用于响应于设计验证启动,定时扫描测试用例的预设约束配置路径,获取目标激励约束文件;所述目标激励约束文件为根据被验设计时序调整需求配置的激励约束文件,包括端口信号间的时序关系或者时钟的保持时间与建立时间、以及时钟信号和重置信号的大小与占空比;
平台更新模块,用于读取并解析各个目标激励约束文件,得到对应的端口信号时序配置信息,并将所述端口信号时序配置信息转换为宏定义插入至当前运行的验证平台,得到时序更新验证平台;所述端口信号时序配置信息包括时序约束信息、周期约束信息和位宽约束信息;所述时序约束信息包括信号名、信号建立时间和信号保持时间;所述周期约束信息包括信号名和信号大小;所述位宽约束信息包括信号名、时钟边沿和对应的边沿极限值;
结果获取模块,用于根据所述时序更新验证平台对被验设计进行仿真验证,得到对应的用例验证结果。
9.如权利要求8所述自适应时序变化的设计自动化验证系统,其特征在于,所述目标激励约束文件包括至少一个新增激励约束文件、和\或至少一个更新激励约束文件;所述系统还包括:
约束配置模块,用于根据预设约束文件模板和被验设计时序调整需求,在所述预设约束配置路径中生成新增激励约束文件和\或更新激励约束文件;所述被验设计时序调整需求包括单个时序调整需求或多个时序调整需求。
10.一种设计自动化验证平台,其特征在于,执行设计验证时实现权利要求1至7中任一所述方法的步骤。
CN202410052650.4A 2024-01-15 2024-01-15 自适应时序变化的设计自动化验证方法、系统及验证平台 Active CN117574817B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410052650.4A CN117574817B (zh) 2024-01-15 2024-01-15 自适应时序变化的设计自动化验证方法、系统及验证平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410052650.4A CN117574817B (zh) 2024-01-15 2024-01-15 自适应时序变化的设计自动化验证方法、系统及验证平台

Publications (2)

Publication Number Publication Date
CN117574817A CN117574817A (zh) 2024-02-20
CN117574817B true CN117574817B (zh) 2024-04-09

Family

ID=89864627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410052650.4A Active CN117574817B (zh) 2024-01-15 2024-01-15 自适应时序变化的设计自动化验证方法、系统及验证平台

Country Status (1)

Country Link
CN (1) CN117574817B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138357B1 (en) * 2020-05-15 2021-10-05 Cadence Design Systems, Inc. Formal verification with EDA application and hardware prototyping platform
CN113705140A (zh) * 2021-07-19 2021-11-26 深圳市紫光同创电子有限公司 芯片验证方法、系统、设备及存储介质
CN115828839A (zh) * 2022-11-15 2023-03-21 杭州万高科技股份有限公司 一种soc芯片系统级验证系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138357B1 (en) * 2020-05-15 2021-10-05 Cadence Design Systems, Inc. Formal verification with EDA application and hardware prototyping platform
CN113705140A (zh) * 2021-07-19 2021-11-26 深圳市紫光同创电子有限公司 芯片验证方法、系统、设备及存储介质
CN115828839A (zh) * 2022-11-15 2023-03-21 杭州万高科技股份有限公司 一种soc芯片系统级验证系统及方法

Also Published As

Publication number Publication date
CN117574817A (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
CN100573537C (zh) 一种soc芯片系统级验证系统及方法
CN102375778A (zh) 实现数字信号处理器自动测试的方法及系统
CN112417798B (zh) 一种时序测试方法、装置、电子设备及存储介质
US5907698A (en) Method and apparatus for characterizing static and dynamic operation of an architectural system
CN1801155A (zh) 合并硬件设计语言的原始档案与查验资料档案的方法
CN116341428B (zh) 构建参考模型的方法、芯片验证方法及系统
CN110989549B (zh) 用于列车控制系统的软件测试通用自动化控制方法及装置
CN114239477A (zh) 硬件连线检查方法、装置、存储介质及电子设备
CN103020396B (zh) 一种自动生成断言的方法及装置
CN116227398B (zh) 一种自动化生成ip核测试激励的方法及系统
CN114091383A (zh) 测试序列生成方法、装置、系统及相关设备
US6701510B2 (en) Computer readable medium with definition of interface recorded thereon, verification method for feasibility to connect given circuit and method of generating signal pattern
CN111624475B (zh) 大规模集成电路的测试方法及系统
CN101673200B (zh) 用户输入模型的检测方法及装置
CN117574817B (zh) 自适应时序变化的设计自动化验证方法、系统及验证平台
CN116663490A (zh) 一种异步存储芯片的验证方法、平台、装置及介质
CN110688815A (zh) 一种基于访存码型的存储接口电路混合建模仿真方法
CN111045948A (zh) 模块间接口信号的检查方法、设备和存储介质
CN114239459B (zh) Fpga原型设计文件的处理方法、装置、设备及介质
CN112861455B (zh) Fpga建模验证系统及方法
CN116976252A (zh) 一种回归仿真方法、装置、设备、介质及程序产品
US20040015792A1 (en) Method for creating standard VHDL test environments
CN113868046A (zh) 一种pad控制单元的功能验证方法、系统及相关组件
US8225244B2 (en) Large scale integration device and large scale integration design method including both a normal system and diagnostic system
CN112306767A (zh) 一种芯片信号连接关系的自动化测试方法

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