公开/公告号CN106202645A
专利类型发明专利
公开/公告日2016-12-07
原文格式PDF
申请/专利权人 醴陵恒茂电子科技有限公司;
申请/专利号CN201610497375.2
申请日2016-06-29
分类号G06F17/50(20060101);
代理机构44224 广州华进联合专利商标代理有限公司;
代理人林青中
地址 412200 湖南省株洲市醴陵市陶瓷科技工业园B区
入库时间 2023-06-19 01:07:21
法律状态公告日
法律状态信息
法律状态
2019-05-31
授权
授权
2017-01-04
实质审查的生效 IPC(主分类):G06F17/50 申请日:20160629
实质审查的生效
2016-12-28
著录事项变更 IPC(主分类):G06F17/50 变更前: 变更后: 申请日:20160629
著录事项变更
2016-12-07
公开
公开
技术领域
本发明涉及计算机技术领域,特别是涉及CPU(Central Processing Unit,中央处理器)参考模型设计方法与系统。
背景技术
对于大规模集成电路芯片,CPU接口作为其训练通路和调试通路,在验证过程中必须确保此通路的正确性,这对于芯片最后的流片成功而言至关重要。
对于具有相同CPU接口的设计,所需验证平台CPU参考模型相同,而对于接口相异的CPU,其操作类型是类似的,仅仅是接口协议具体操作行为不同。对于具备同样CPU接口的设计,设计通用的验证平台CPU参考模型,能够减少验证环境搭建过程中的重复性工作。
然而,目前尚无一种合理且有效的验证平台CPU参考模型设计方法,实现对验证平台CPU参考模型的设计指导。
发明内容
基于此,有必要针对目前尚无一种合理且有效的验证平台CPU参考模型设计方法问题,提供一种合理且有效的验证平台CPU参考模型设计方法与系统。
一种验证平台CPU参考模型设计方法,包括步骤:
对待测试设备与CPU的输入/输出接口进行分类,区分CPU访问接口与内部逻辑接口;
对CPU访问接口中接口信号的访问协议以及时序进行监测、并对CPU的访问操作行为进行统计,获得监测统计数据;
将监测统计数据分别更新至对CPU访问接口预设的独立验证环境变量和对内部逻辑接口预设的独立验证环境变量,获得更新后的环境变量;
采用UVM(Universal Verification Methodology,通用验证方法学)树状结构对CPU进行验证平台设计,获得初始的验证平台CPU参考模型;
将初始的验证平台CPU参考模型中事务产生和接口操作分割,并根据更新后的环境变量训练初始的验证平台CPU参考模型,获得通用的验证平台CPU参考模型。
一种验证平台CPU参考模型设计系统,包括:
接口区分模块,用于对待测试设备与CPU的输入/输出接口进行分类,区分CPU访问接口与内部逻辑接口;
监测统计模块,用于对CPU访问接口中接口信号的访问协议以及时序进行监测、并对CPU的访问操作行为进行统计,获得监测统计数据;
环境变量更新模块,用于将监测统计数据分别更新至对CPU访问接口预设的独立验证环境变量和对内部逻辑接口预设的独立验证环境变量,获得更新后的环境变量;
初始设计模块,用于采用UVM树状结构对CPU进行验证平台设计,获得初始的验证平台CPU参考模型;
训练模块,用于将初始的验证平台CPU参考模型中事务产生和接口操作分割,并根据更新后的环境变量训练初始的验证平台CPU参考模型,获得通用的验证平台CPU参考模型。
本发明验证平台CPU参考模型设计方法与系统,对待测试设备与CPU的输入/输出接口进行分类,区分CPU访问接口与内部逻辑接口,对CPU访问接口中接口信号的访问协议以及时序进行监测、对CPU的访问操作行为进行统计,获得监测统计数据,将监测统计数据分别更新至对CPU访问接口预设的独立验证环境变量和对内部逻辑接口预设的独立验证环境变量,获得更新后的环境变量,采用UVM树状结构对CPU进行验证平台设计,获得初始的验证平台CPU参考模型,将初始的验证平台CPU参考模型中事务产生和接口操作分割,并根据更新后的环境变量训练初始的验证平台CPU参考模型,获得通用的验证平台CPU参考模型。整个过程中,基于UVM构建初始的验证平台CPU参考模型,并将初始的验证平台CPU参考模型中事务产生与接口操作分割开来,使其在事务级上得到独立控制,对于具体验证环境中的不同CPU接口,可以通过UVM内置的代码重载机制对事务和接口驱动进行重载,实现合理且有效的验证平台CPU参考模型设计。
附图说明
图1为本发明验证平台CPU参考模型设计方法其中一个实施的流程示意图;
图2为本发明验证平台CPU参考模型设计方法其中一个实施中通过SeqCpu控制事务产生操作的子流程示意图;
图3为本发明验证平台CPU参考模型设计系统其中一个实施的结构示意图。
具体实施方式
如图1所示,一种验证平台CPU参考模型设计方法,包括步骤:
S100:对待测试设备与CPU的输入/输出接口进行分类,区分CPU访问接口与内部逻辑接口。
待测试设备与CPU之间连接有多个输入/输出接口,在这里,对这些接口进行分类,区分CPU访问接口和内部逻辑接口。具体来说,可以将与CPU互联的信号接口划归CPU接口,其余信号接口划归内部逻辑接口。
S200:对CPU访问接口中接口信号的访问协议以及时序进行监测、并对CPU的访问操作行为进行统计,获得监测统计数据。
在实际应用中,可以对CPU访问接口设计独立的信号接口模块IntfCpu,在信号接口模块IntfCpu中对接口信号的访问协议以及时序进行监测,另外还对CPU的访问操作行为进行统计,获得监测统计数据。
S300:将监测统计数据分别更新至对CPU访问接口预设的独立验证环境变量和对内部逻辑接口预设的独立验证环境变量,获得更新后的环境变量。
在实际应用中,可以分别对CPU和内部逻辑接口设计独立的验证环境变量(ENV),将步骤S200中获得的检测统计数据分别更新到对CPU访问接口预设的独立验证环境变量和对内部逻辑接口预设的独立验证环境变量。在更新完成之后,可以构建出待验证平台CPU参考模型的独立于特定逻辑访问接口的验证环境。
S400:采用UVM树状结构对CPU进行验证平台设计,获得初始的验证平台CPU参考模型。
UVM是一个以SystemVerilog类库为主体的验证平台开发框架,验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境。采用UVM描述装结构对CPU进行验证平台设计,可以获得初始的基于UVM验证平台CPU参考模型。非必要的,这里可以采用UVM1.1库。
S500:将初始的验证平台CPU参考模型中事务产生和接口操作分割,并根据更新后的环境变量训练初始的验证平台CPU参考模型,获得通用的验证平台CPU参考模型。
步骤S400获得是一个初始的验证平台CPU参考模型,为了是最终获得的通用的验证平台CPU参考模型符合当前应用环境,需要根据更新后的环境变量对初始的验证平台CPU参考模型进行训练,并且在训练之前,将初始的验证平台CPU参考模型中事务产生和接口操作分割,以使验证平台CPU参考模型在事务级上得到独立控制,最终获得通用的验证平台CPU参考模型。
本发明验证平台CPU参考模型设计方法,对待测试设备与CPU的输入/输出接口进行分类,区分CPU访问接口与内部逻辑接口,对CPU访问接口中接口信号的访问协议以及时序进行监测、对CPU的访问操作行为进行统计,获得监测统计数据,将监测统计数据分别更新至对CPU访问接口预设的独立验证环境变量和对内部逻辑接口预设的独立验证环境变量,获得更新后的环境变量,采用UVM树状结构对CPU进行验证平台设计,获得初始的验证平台CPU参考模型,将初始的验证平台CPU参考模型中事务产生和接口操作分割,并根据更新后的环境变量训练初始的验证平台CPU参考模型,获得通用的验证平台CPU参考模型。整个过程中,基于UVM构建初始的验证平台CPU参考模型,并将初始的验证平台CPU参考模型中事务产生与接口操作分割开来,使其在事务级上得到独立控制,对于具体验证环境中的不同CPU接口,可以通过UVM内置的代码重载机制对事务和接口驱动进行重载,实现合理且有效的验证平台CPU参考模型设计。
在其中一个实施例中,初始的验证平台CPU参考模型中设置有驱动CPU模块(DrvCpu)和事务序列CPU模块(SeqCpu),将初始的验证平台CPU参考模型中事务产生和接口操作分割的步骤包括:
在初始的验证平台CPU参考模型中通过SeqCpu控制事务产生操作,并通过DrvCpu控制接口操作。
将CPU访问操作划分为读、写以及中断控制。由DrvCpu控制具体操作的进行,CPU访问事务由SeqCpu控制。在实际应用中,CPU参考模型的验证环境中,操作事务在SeqCpu初始中产生,通过SqrCpu进行查询,事务得以传送到CPU参考模型的驱动DrvCpu,信号级的操作由DrvCpu产生,并通过IntfCpu发送至待测试设备。
在其中一个实施例中,通过SeqCpu控制事务产生操作的步骤包括:
步骤一:识别事务产生模式,事务产生模式包括frontdoor模式和txt模式;
步骤二:当事务产生模式为frontdoor模式时,通过SeqCpu直接控制事务产生操作,当事务产生模式为txt模式时,通过SeqCpu以文本读入方式控制事务产生操作。
CPU参考模型SeqCpu中,事务产生分两种模式。一种为frontdoor模式,直接产生访问寄存器、存储器空间的事务;另一种为txt模式,SeqCpu读取名称为txt.config的文件,将文件解析为对具体寄存器、存储器地址的读写访问事务。如图2所示,在实际操作中,1)判断事务产生是否为frontdoor模式;2)当是时,产生寄存器读写事务;3)发送寄存器读写事务;4)判断寄存器事务产生是否完毕,当未完毕时,返回步骤2),5)当完毕时,判断是否为txt模式;6)当是时,读取txt.config的文件,当不是时,结束;8)产生寄存器读写事务;9)发送寄存器读写事务;10)判断寄存器事务产生是否完毕,当未完毕时,返回步骤8),11)当完毕时,结束。
在其中一个实施例中,初始的验证平台CPU参考模型中设置有基于UVM的标准传输通道,在初始的验证平台CPU参考模型中通过SeqCpu控制事务产生操作,并通过DrvCpu控制接口操作的步骤之后还包括:
将SeqCpu产生的事务通过基于UVM的标准传输通道传送至DrvCpu。
SeqCpu产生的事务会发送至DrvCpu。在本实施例中,SeqCpu产生的事务是通过基于UVM的标准传输通道传送至DrvCpu。具体来说,基于UVM的标准传输通道为seq_item_port。
如图3所示,一种验证平台CPU参考模型设计系统,包括:
接口区分模块100,用于对待测试设备与CPU的输入/输出接口进行分类,区分CPU访问接口与内部逻辑接口。
监测统计模块200,用于对CPU访问接口中接口信号的访问协议以及时序进行监测、并对CPU的访问操作行为进行统计,获得监测统计数据。
环境变量更新模块300,用于将监测统计数据分别更新至对CPU访问接口预设的独立验证环境变量和对内部逻辑接口预设的独立验证环境变量,获得更新后的环境变量。
初始设计模块400,用于采用UVM树状结构对CPU进行验证平台设计,获得初始的验证平台CPU参考模型。
训练模块500,用于将初始的验证平台CPU参考模型中事务产生和接口操作分割,并根据更新后的环境变量训练初始的验证平台CPU参考模型,获得通用的验证平台CPU参考模型。
本发明验证平台CPU参考模型设计系统,接口区分模块100对待测试设备与CPU的输入/输出接口进行分类,区分CPU访问接口与内部逻辑接口,监测统计模块200对CPU访问接口中接口信号的访问协议以及时序进行监测、对CPU的访问操作行为进行统计,获得监测统计数据,环境变量更新模块300将监测统计数据分别更新至对CPU访问接口预设的独立验证环境变量和对内部逻辑接口预设的独立验证环境变量,获得更新后的环境变量,初始设计模块400采用UVM树状结构对CPU进行验证平台设计,获得初始的验证平台CPU参考模型,训练模块500将初始的验证平台CPU参考模型中事务产生和接口操作分割,并根据更新后的环境变量训练初始的验证平台CPU参考模型,获得通用的验证平台CPU参考模型。整个过程中,基于UVM构建初始的验证平台CPU参考模型,并将初始的验证平台CPU参考模型中事务产生与接口操作分割开来,使其在事务级上得到独立控制,对于具体验证环境中的不同CPU接口,可以通过UVM内置的代码重载机制对事务和接口驱动进行重载,实现合理且有效的验证平台CPU参考模型设计。
在其中一个实施例中,初始的验证平台CPU参考模型中设置有DrvCpu和SeqCpu,训练模块500包括:
操作单元,用于在初始的验证平台CPU参考模型中通过SeqCpu控制事务产生操作,并通过DrvCpu控制接口操作。
在其中一个实施例中,训练模块还500包括:
事务产生模块识别单元,用于识别事务产生模式,事务产生模式包括frontdoor模式和txt模式。
事务处理单元,用于当事务产生模式为frontdoor模式时,通过SeqCpu直接控制事务产生操作,当事务产生模式为txt模式时,通过SeqCpu以文本读入方式控制事务产生操作。
在其中一个实施例中,初始的验证平台CPU参考模型中设置有基于UVM的标准传输通道,训练模块500还包括:
传输单元,用于将SeqCpu产生的事务通过基于UVM的标准传输通道传送至DrvCpu。
在其中一个实施例中,接口区分模块100包括:
遍历单元,用于遍历待测试设备与CPU的输入/输出接口。
划归单元,用于将与CPU互联的接口划归CPU访问接口,其余接口划归内部逻辑接口。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
机译: 使用参考模型测试和验证CPU的方法
机译: 设计方法的参考,以及从所述参考模型构造服装的方法
机译: 用于在动态条件下运行期间诊断技术系统的方法,包括建立功能参考模型,其中使用预设磨损状态下的功能参考模型描述系统的行为