CN108121842A - 多处理器系统芯片的低功耗工作方式的验证方法和装置 - Google Patents

多处理器系统芯片的低功耗工作方式的验证方法和装置 Download PDF

Info

Publication number
CN108121842A
CN108121842A CN201611077856.4A CN201611077856A CN108121842A CN 108121842 A CN108121842 A CN 108121842A CN 201611077856 A CN201611077856 A CN 201611077856A CN 108121842 A CN108121842 A CN 108121842A
Authority
CN
China
Prior art keywords
power consumption
chip
low power
low
verification
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
CN201611077856.4A
Other languages
English (en)
Other versions
CN108121842B (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.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology 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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201611077856.4A priority Critical patent/CN108121842B/zh
Publication of CN108121842A publication Critical patent/CN108121842A/zh
Application granted granted Critical
Publication of CN108121842B publication Critical patent/CN108121842B/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/39Circuit design at the physical level
    • G06F30/398Design 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

多处理器系统芯片的低功耗工作方式的验证方法和装置
技术领域
本发明涉及芯片设计领域,尤其涉及一种多处理器系统芯片的低功耗工作方式的验证方法和装置。
背景技术
随着半导体工艺技术的不断发展,及芯片的规模和工作频率的不断提高,芯片的功耗迅速增加,而功耗的增加又将导致芯片发热量的增大和可靠性的下降。因此,对芯片的低功耗设计要求越来越高,芯片的电源分区划分得越来越细致,导致低功耗控制越来越复杂,低功耗场景越来越多,从而对低功耗验证技术的提出了更高的要求和更大的挑战。
电子设计自动化(Electronics Design Automation,EDA)业界支持的低功耗设计标准有两种:一种是在硅集成创新联盟的赞助下,由Cadence公司推出的公共功耗格式标准(Common Power Format,CPF),另一种是由Synopsys、Mentor和Magma公司支持的统一功耗格式标准(Unified Power Format,UPF)。CPF和UPF都是使用工具命令语言(Tool CommandLanguage,TCL)建立脚本,用户可以使用其中的指令建立和管理独立电源域、确定隔离、定义与电源相关的规则和限制条件等。
目前,大多数芯片会使用由多种处理器构成的多处理器系统,在芯片的低功耗设计过程中,会将CPF或者UPF与芯片的硬件设计代码相结合,以实现多处理器系统芯片的整体低功耗方案。但是对使用多处理器系统的芯片进行低功耗验证时,更多的是针对其子系统或者单模块进行单独的低功耗验证,而缺少对芯片整体低功耗设计流程的验证方法。
发明内容
为解决上述技术问题,本发明实施例期望提供一种多处理器系统芯片的低功耗工作方式的验证方法和装置,实现了多处理器系统芯片的整体低功耗设计流程的验证。
本发明的技术方案是这样实现的:
本发明实施例提供了一种多处理器系统芯片的低功耗工作方式的验证方法,包括:
获取用于表示预先配置的芯片低功耗工作方式的配置文件,基于所述多处理器系统芯片的硬件结构,生成所述配置文件的至少一个用例;
利用预设的低功耗验证流程对每个用例进行验证;
在确定异常结束低功耗验证流程时,确定对应的用例未通过验证;在确定正常结束低功耗验证流程时,确定对应的用例通过验证;
在所有的用例均通过验证时,确定预先配置的芯片低功耗工作方式正确。
上述方案中,所述预设的低功耗验证流程包括:
A1:在满足预设的低功耗条件时,控制芯片跳转至低功耗状态;
A2:对所述芯片执行唤醒操作,使所述芯片从低功耗状态恢复至正常工作状态;
A3:结束流程。
上述方案中,在控制芯片跳转至低功耗状态之前,所述预设的低功耗验证流程还包括:配置所述芯片的低功耗模式;
所述控制芯片跳转至低功耗状态,包括:控制芯片跳转至与配置的低功耗模式对应的低功耗状态。
上述方案中,所述预设的低功耗条件包括:获得低功耗状态跳转使能信号,所述低功耗状态跳转使能信号用于指示所述芯片进行相应的低功耗状态跳转。
上述方案中,所述对所述芯片执行唤醒操作,包括:产生唤醒中断信号,以指示所述芯片执行唤醒操作。
上述方案中,所述方法还包括:在所述结束流程之后,确定正常结束低功耗验证流程。
上述方案中,所述预设的低功耗验证流程还包括:在确定不满足预设的低功耗条件时,进行第一次持续等待直至满足预设的低功耗条件;
判断进行第一次持续等待的时间是否超过第一预设时长;
在判断结果为是的情况下,确定异常结束低功耗验证流程;或者,
在对所述芯片执行唤醒操作之后,进行第二次持续等待直至所述芯片从低功耗状态恢复至正常工作状态;
判断进行第二次持续等待的时间是否超过第二预设时长;
在判断结果为是的情况下,确定异常结束低功耗验证流程。
上述方案中,所述方法还包括:在至少一个用例未通过验证时,确定所述芯片的低功耗设计方案不正确。
本发明实施例还提供了一种多处理器系统芯片的低功耗工作方式的验证装置,其特征在于,所述装置包括:生成模块、验证模块和确定模块;其中,
生成模块,用于获取用于表示预先配置的芯片低功耗工作方式的配置文件,基于所述多处理器系统芯片的硬件结构,生成所述配置文件的至少一个用例;
验证模块,用于利用预设的低功耗验证流程对每个用例进行验证;在确定异常结束低功耗验证流程时,确定对应的用例未通过验证;在确定正常结束低功耗验证流程时,确定对应的用例通过验证;
确定模块,用于在所有的用例均通过验证时,确定预先配置的芯片低功耗工作方式正确。
上述方案中,所述预设的低功耗验证流程包括:
A1:在满足预设的低功耗条件时,控制芯片跳转至低功耗状态;
A2:对所述芯片执行唤醒操作,使所述芯片从低功耗状态恢复至正常工作状态;
A3:结束流程。
上述方案中,所述验证模块,还用于在确定所述在所述结束流程之后,确定正常结束低功耗验证流程。
上述方案中,在确定不满足预设的低功耗条件时,进行第一次持续等待直至满足预设的低功耗条件;所述验证模块,还用于判断进行第一次持续等待的时间是否超过第一预设时长;在判断结果为是的情况下,确定异常结束低功耗验证流程;
或者,所述预设的低功耗验证流程还包括:在对所述芯片执行唤醒操作之后,进行第二次持续等待直至所述芯片从低功耗状态恢复至正常工作状态;所述验证模块,还用于判断进行第二次持续等待的时间是否超过第二预设时长;在判断结果为是的情况下,确定异常结束低功耗验证流程。
本发明实施例提供的一种多处理器系统芯片的低功耗工作方式的验证方法和装置,获取用于表示预先配置的芯片低功耗工作方式的配置文件,基于所述多处理器系统芯片的硬件结构,生成所述配置文件的至少一个用例;利用预设的低功耗验证流程对每个用例进行验证;在确定异常结束低功耗验证流程时,确定对应的用例未通过验证;在确定正常结束低功耗验证流程时,确定对应的用例通过验证;在所有的用例均通过验证时,确定预先配置的芯片低功耗工作方式正确。如此,实现了多处理器系统芯片的整体低功耗设计流程的验证。
附图说明
图1为本发明多处理器系统芯片的低功耗工作方式的验证方法的第一实施例的流程图;
图2为本发明实施例中多处理器系统芯片的电源分区示意图;
图3为本发明多处理器系统芯片的低功耗工作方式的验证方法的第二实施例的流程图;
图4为本发明实施例中多处理器系统芯片的结构示意图;
图5为本发明实施例中CPF文件的验收流程图;
图6为本发明实施例中多处理器系统芯片的低功耗验证流程图;
图7为本发明实施例中多处理器系统芯片的低功耗控制信号时序的示意图;
图8为本发明实施例多处理器系统芯片的低功耗工作方式的验证装置的组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
第一实施例
图1为本发明多处理器系统芯片的低功耗工作方式的验证方法的第一实施例的流程图,如图1所示,该方法包括:
步骤10:获取用于表示预先配置的芯片低功耗工作方式的配置文件,基于所述多处理器系统芯片的硬件结构,生成所述配置文件的至少一个用例。
这里,配置文件是用于实现芯片的低功耗设计方案,设计方案中包括了芯片的各种低功耗工作方式。而在进行芯片的低功耗设计方案验证时可以使用CPF文件或者UPF文件来仿真模拟芯片的低功耗工作状态,以便可以直接使用仿真工具来实现芯片的低功耗验证。
示例性的,生成用例的过程具体可以包括:利用芯片的低功耗设计方案和多处理器系统芯片的整体硬件结构搭建芯片的低功耗验证环境,以验证环境为平台编写至少一个多处理器系统芯片的用例。芯片的用例是指芯片的低功耗设计方案中的一种低功耗实现方式,在实际实施时芯片至少存在一种低功耗实现方式。示例性的,可以使用软件编程语言(例如C语言)和硬件描述语言(例如Verilog语言)来编写对应的至少一个用例。
需要说明的是,本发明实施例中的多处理器系统的芯片是指具有主核处理器和其他非主核处理器的芯片。
这里,可以使用至少一个CPF文件来描述芯片的低功耗设计方案,使用硬件描述语言描述所述芯片的整体硬件结构。
示例性的,硬件描述语言可以是:Verilog硬件描述语言(Verilog HardwareDescription Language,Verilog HDL),超高速集成电路硬件描述语言(Very-High-SpeedIntegrated Circuit Hardware Description Language,VHDL),SV语言(System Verilog,SV)等。
使用CPF文件描述芯片的整体低功耗设计方案时,使用TCL脚本语言,编写多个用于实现不同低功耗状态的CPF文件。CPF文件把芯片设计中所有的电源工作模式和工作条件约束写在至少一个独立的文件中使得整个项目的电源管理意图体现在整个设计流程中,并且在设计的过程中保持一致,因此基于CPF文件的低功耗设计很好地解决了低功耗设计的验证工作。
图2为本发明实施例中多处理器系统芯片的电源分区示意图,如图2所示,CPF文件可以用来描述以下各个电源分区的工作情况,这里电源分区,是指将芯片的电源分成不同的区域,不同电源分区具有不同的电源信号,这样可以为芯片中不同工作器件提供合适的电源信号。其中芯片的各个电源分区的含义如下:
PD_AON电源分区是指芯片的常开电电源分区,该电源分区所控制的器件是不能断电的;
PD_CPU电源分区为芯片的多核处理器模块提供电源;
PD_NORMAL电源分区是指芯片的普通电源分区,该电源分区控制的器件是允许进行关电操作的;
PD_TOP电源分区是指芯片顶层的电源分区,而PD_CPU电源分区和PD_NORMAL电源分区也位于该电源分区上。
优选地,在使用至少一个CPF文件描述芯片的整体低功耗设计方案,包括:使用至少一个初始CPF文件描述芯片的整体低功耗设计方案,在初始CPF文件满足预设的验收条件时,将初始CPF文件作为芯片的整体低功耗设计方案对应的CPF文件。这里,预设的验收条件可以包括:初始CPF文件符合CPF文件规范要求、初始CPF文件与所述芯片的低功耗设计方案一致、和使用仿真工具编译通过初始CPF文件。
当初始CPF文件不满足预设的验收条件时,对初始文件进行修改直到满足预设的验收条件。
这里,使用的仿真工具可以包括:RTL编辑器、代码调试器(Code ComposerStudio,CCS)、EDA工具软件Proteus等。
步骤11:利用预设的低功耗验证流程对每个用例进行验证。
可选的,预设的低功耗验证流程可以包括:
A1:在满足预设的低功耗条件时,控制芯片跳转至低功耗状态。
可选的,在控制芯片跳转至低功耗状态之前,还可以包括:配置所述芯片的低功耗模式;进一步的,在满足预设的低功耗条件时,控制芯片跳转至与配置的低功耗模式对应的低功耗状态。
预设的低功耗条件可以是:获得低功耗状态跳转使能信号,所述低功耗状态跳转使能信号用于指示所述芯片进行相应的低功耗状态跳转。
需要说明的是,在确定不满足预设的低功耗条件时,进行第一次持续等待直至满足预设的低功耗条件;判断进行第一次持续等待的时间是否超过第一预设时长;在判断结果为是的情况下,确定异常结束低功耗验证流程;
可选的,在确定不满足预设的低功耗条件时,继续下一次的判断直至满足预设的低功耗条件;相应地,在确定不满足预设的低功耗条件时,且判断次数超过预设的第一次数阈值时,确定异常结束低功耗验证流程。
进一步的,当芯片跳转至低功耗状态后,控制芯片上允许进行关电操作的器件停止工作。
另一种可选的方案是,芯片可以包括:功耗控制模块和多核处理器模块;其中,功耗控制模块,用于控制所述芯片的各种低功耗状态;多核处理器模块包括:主核处理器和其他非主核处理器。
本步骤中,在芯片的多核处理器模块停止工作后,准备进入低功耗状态时,触发功耗控制模块配置多核处理器模块的低功耗模式。
功耗控制模块确定所述多核处理器模块的低功耗模式配置完成后,在满足预设的低功耗条件时,控制多核处理器模块跳转到与配置的低功耗模式对应的低功耗状态。当功耗控制模块没有监测到多核处理器模块跳转到低功耗状态时,停止执行下一步操作,等待跳转完成。
进一步的,当功耗控制模块监测到多核处理器模块跳转到低功耗状态时,控制芯片的第一电源分区停止工作,芯片的第一电源分区为芯片上允许进行关电操作的器件的集合。例如,器件1和器件2可以进行关电操作,器件3不允许进入关电操作,则器件1和器件2可以处于第一电源分区,器件3不能处于第一电源分区。
这里,芯片的还可以包括:功耗处理模块;
相应地,在满足预设的低功耗条件后,还包括:功耗控制模块产生相应的中断信号,并发送中断信号至所述功耗处理模块;功耗处理模块接收到所述中断信号后,执行相应的中断服务程序,控制所述多核处理器模块在当前低功耗状态下执行相应的处理操作。
需要说明的是,当功耗控制模块没有产生相应的中断信号时,停止执行下一步操作,等待功耗控制模块确定所述多核处理器模块的低功耗模式配置完成。
A2:对所述芯片执行唤醒操作,使所述芯片从低功耗状态恢复至正常工作状态。
可选的,在执行唤醒操作之前,还需要产生唤醒中断信号,以指示所述芯片执行唤醒操作。
需要说明的是,在对所述芯片执行唤醒操作之后,进行第二次持续等待直至所述芯片从低功耗状态恢复至正常工作状态;判断进行第二次持续等待的时间是否超过第二预设时长;在判断结果为是的情况下,确定异常结束低功耗验证流程。
可选的,对所述芯片执行唤醒操作后,在确定芯片无法从低功耗状态恢复至正常工作状态时,继续执行下一次的唤醒操作直至芯片从低功耗状态恢复至正常工作状态;相应地,在确定芯片无法从低功耗状态恢复至正常工作状态时,且判断次数超过预设的第二次数阈值时,确定异常结束低功耗验证流程。
采用另一种可选的方案时,功耗控制模块对多核处理器模块执行唤醒操作,唤醒操作用于将多核处理器模块从低功耗状态恢复到正常工作状态;功耗控制模块监测到自身完成唤醒操作后,确定低功耗验证流程完成。当功耗控制模块无法执行唤醒操作时,停止执行下一步操作,等待唤醒完成。
这里,功耗控制模块还可以包括:功耗控制单元和中断控制单元;
相应地,功耗控制模块对多核处理器模块执行唤醒操作,包括:所述中断控制单元产生唤醒中断,发送唤醒中断至所述功耗控制单元,所述功耗控制单元对所述多核处理器模块执行唤醒操作。
这里,第一预设时长和第二预设时长可以相等也可以不相等,同样的第一次数阈值和第二次数阈值可以相等也可以不相等。
A3:结束流程。
需要说明的是,当前用例在执行结束流程之后,确定正常结束低功耗验证流程,当前用例通过验证。
本步骤中,功耗控制模块、功耗控制单元、中断控制单元和功耗处理模块可以由数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(FieldProgrammable Gate Array,FPGA)等实现;多核处理器模块可以由多核处理器等实现。
步骤12:在确定异常结束低功耗验证流程时,确定对应的用例未通过验证;在确定正常结束低功耗验证流程时,确定对应的用例通过验证。
需要说明的是,利用预设的低功耗验证流程对每个用例进行验证时,任一用例在执行验证流程时出现任何异常使执行中断或无法继续执行使,确定当前用例异常结束低功耗验证流程,也就是说,芯片的低功耗设计方案中对应的低功耗工作状态无法正确实现。当所有的低功耗验证用例均能正常结束低功耗验证流程,说明芯片的低功耗设计方案中对应的所有的低功耗工作状态都可以正确实现,也就是说,当前低功耗设计方案正确。
示例性的,在低功耗验证流程中(包括步骤A1至步骤A4)任一步骤的执行条件不满足,包括:低功耗条件不满足、无法控制芯片进行关电操作或无法对芯片执行唤醒操作等。均可以确定当前用例在本步骤中出现异常,无法通过验证流程,确定芯片的低功耗设计方案不正确。
步骤13:在所有的用例均通过验证时,确定预先配置的芯片低功耗工作方式正确。
本步骤中,在至少一个用例未通过验证时,确定所述芯片的低功耗设计方案不正确。
这里,可以利用处理器、DSP、FPGA等装置执行步骤10到13。
可选的,在利用预设的低功耗验证流程对用例进行验证时,如果其中某一步无法执行,低功耗验证流程便不会正常结束,可以通过设置的监测装置来提醒检测人员验证流程中断位置,使检查人员能及时分析当前用例在执行低功耗验证流程时的问题所在。
本发明实施例中,获取用于表示预先配置的芯片低功耗工作方式的配置文件,基于所述多处理器系统芯片的硬件结构,生成所述配置文件的至少一个用例;利用预设的低功耗验证流程对每个用例进行验证;在确定异常结束低功耗验证流程时,确定对应的用例未通过验证;在确定正常结束低功耗验证流程时,确定对应的用例通过验证;在所有的用例均通过验证时,确定预先配置的芯片低功耗工作方式正确。如此,实现了多处理器系统芯片的整体低功耗设计流程的验证。
第二实施例
为了能更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
图3为本发明多处理器系统芯片的低功耗工作方式的验证方法的第二实施例的流程图,本实施例是使用硬件描述语言描述多处理器系统芯片(以下简称“芯片”)整体的硬件结构,并使用了CPF文件描述了芯片的整体低功耗设计方案,基于软硬件协同验证方法,对芯片的整体低功耗设计流程进行全面的仿真验证。该方法包括:
步骤30:搭建芯片的低功耗验证环境。
本步骤中,基于软硬件协同验证方法,搭建芯片的低功耗验证环境,验证环境主要包括:验证激励、监视器和仿真脚本等。其中,验证激励即为生成的用例,用于验证芯片的对应的低功耗操作是否能够正常执行;监视器主要用于对验证流程进行实时监控,在发生异常情况时会输出相应的提示消息;仿真脚本主要用于实现芯片的不同低功耗操作,可以使用仿真脚本中的指令来建立和管理独立电源域、确定隔离、定义与电源相关的规则和限制条件等。
步骤31:调试芯片的硬件设计代码。
在实际实施时,使用硬件描述语言编写与芯片的整体硬件结构对应的硬件设计代码,并调试芯片的硬件设计代码。
图4为本发明实施例中多处理器系统芯片的结构示意图;如图4所示,芯片的硬件结构包括:
时钟复位控制模块C01,用于对芯片进行时钟信号控制和复位控制。该模块处于PD_TOP电源分区。
功耗控制模块C02,用于使用状态机对各种低功耗状态和模式进行控制,并输出相应的低功耗控制信号。该模块处于PD_AON电源分区。
中断控制模块C03,用于产生中断信号,并对中断信号进行管理;可以通过中断控制模块将唤醒中断发送到功耗控制模块,以实现相应模块的唤醒;该模块处于PD_AON电源分区。
功耗管理模块C04,用于给芯片进行供电。
功耗处理模块C05,用于对芯片的整体低功耗流程进行管理。该模块处于PD_AON电源分区。
多核处理器模块C06,为芯片中的多核处理器部分。该模块处于PD_CPU电源分区。
I2C接口C07,用于连接功耗管理模块C04与功耗处理模块C05,实现功耗处理模块对功耗管理模块进行开电或者关电控制。
步骤32:描述芯片的整体低功耗设计方案。
本步骤中,芯片的低功耗设计方案的实现是由配置文件来完成的,而使用CPF文件、UPF文件、或其他功耗标准可以有效的描述芯片的整体低功耗设计意图,以便可以直接使用仿真工具来实现芯片的低功耗验证。
示例性的,在利用CPF文件描述芯片的整体低功耗设计方案时,CPF文件可以体现出芯片的多种低功耗模式、电平转换/隔离规则、电压域等信息,采用有效的等价验证方法,显著减小芯片低功耗设计的验证周期。
在本发明优选的实施例中,得到的不同CPF文件的具体功能如下所示:
(1)CPF顶层文件:调用其它CPF文件实现低功耗设计。在该CPF文件中需要实现以下功能:
①声明CPF文件所对应的低功耗设计;
②设定功率单位和时间单位;
③定义硬件设计代码中信号和模块的命名格式;
④设定功耗约束;
⑤设定时序约束。
(2)CPF库单元文件:设定可调用的低功耗单元的库信息。在该CPF文件中需要实现以下功能:
①定义可用的电平转换电路单元;
②定义可用的隔离单元;
③定义可用的常开电单元;
④定义可用的电压切换单元。
(3)CPF库配置文件:定义芯片设计中所用到的元件库信息。
(4)CPF逻辑实现文件:实现低功耗设计意图及其约束文件。在该CPF文件中需要实现以下功能:
①创建芯片的多个电压域;
②创建芯片的多个电压模式;
③设定电平转换电路的插入规则;
④设定隔离的插入规则。
(5)CPF仿真模型配置文件:定义仿真需要的CPF文件设置。
(6)CPF物理实现文件:在该CPF文件中需要实现以下功能:
①更新功耗单元的物理库信息;
②设定电源和地信号;
③设定各个电源分区的电源和地信号;
④设定电源分区的电源和地信号连接关系。
进一步地,验收CPF文件,检查每一个CPF文件编写的正确性,对编写有误的CPF文件进行修改。
图5为本发明实施例中CPF文件的验收流程图,如图5所示,验证CPF文件的方法可以包括以下步骤:
步骤3201:判断CPF文件是否符合规范要求,如果是,执行步骤3202;如果否,执行步骤3205。
本步骤中,CPF文件的规范要求可以包括:代码规范和命名规范,具体要求如下:
(1)代码规范包括:
①每个CPF文件的第一命令,要设定支持的CPF规范版本。
②每一行只能写一个命令语句或设置语句。
(2)命名规范包括:
①电源分区命名:电源分区的命名只能包含大写字母,下横线和数字,名字要包括该电源分区的主特性。
②功耗模式命名:功耗模式的命名只能包含大写字母,下横线和数字,名字要包括该功耗模式的主特性。
③隔离规则命名:创建的隔离规则只能包含小写字母,下横线和数字,名字要能够体现所隔离的模块内容。
④电压转化规则命名:创建的电压转化规则只能包含小写字母,下横线和数字,名字要能够体现所关断的模块内容。
步骤3202:判断CPF文件的功耗设计定义是否与芯片的低功耗设计方案一致,如果是,执行步骤3203;如果否,执行步骤3206。
步骤3203:判断CPF文件是否编译通过,如果是,执行步骤3204;如果否,执行步骤3207。
本步骤中,使用硬件设计代码仿真工具来编译CPF文件。
步骤3204:CPF文件验收成功。
步骤3205:按照规范要求重新修改CPF文件,并返回步骤3201。
这里,可以按照步骤3201中给出的CPF文件的规范要求重新修改CPF文件。
步骤3206:根据芯片的低功耗设计方案,重新修改CPF文件,并返回步骤3202。
步骤3207:根据仿真编译信息,重新修改CPF文件,并返回步骤3203。
步骤33:基于验证环境生成至少一个用例。
本步骤中,利用验证环境提取多种低功耗工作状态,并使用软件编程语言(例如C语言)和硬件描述语言(例如Verilog语言)来编写对应的用例。
步骤34:判断是否所有的用例都能正常结束芯片的低功耗验证流程,如果是,执行步骤35;如果否,执行步骤36。
图6为本发明实施例中多处理器系统芯片的低功耗验证流程图;如图6所示,芯片的低功耗验证流程如下:
步骤3401:对当前验证环境中的对多处理器系统初始化。
这里,多处理器系统的初始化可以包括:释放系统的硬件复位,对系统相关模块的时钟和复位进行初始化配置,其中包括对多核处理器模块C06进行复位释放。同时会对中断控制模块C03进行初始化配置。
步骤3402:多核处理器模块完成工作后,开始对普通电源分区中不工作的模块进行关电操作。
在实际实施时,多核处理器模块C06在其复位释放后,开始完成芯片相应的实际处理操作,待所有需要的操作均完成后,多核处理器模块C06就可以对普通电源分区(即图2中的PD_NORMAL)中不工作的器件进行关电操作,其中关电顺序如图7所示:先关闭时钟信号CLOCK,再打开隔离使能信号N_ISOLATE,之后进行复位操作N_RESET,最后关闭电源N_PWRON。
这里,打开隔离使能信号的目的是,一旦某一个器件的电源被切断后,该器件的输出就变得无法判断,为了避免这些无法判断的输出值被相邻的仍在正常工作的器件用到,因此它的输出值必须被隔离。
复位操作的目的是,将被关电器件中寄存器的值恢复到预先设定的默认值,当器件重新供电时,该器件可以从默认状态重新启动。
步骤3403:多核处理器模块的非主核处理器进入到低功耗准备状态。
步骤3404:多核处理器模块的主核判断其他非主核是否进入到低功耗准备状态,如果是,执行步骤3405;如果否,继续执行本步骤。
本步骤中,多核处理器模块C06的主核处理器可以通过读取功耗控制模块C02的低功耗状态寄存器,判断其他非主核处理器是否进入到低功耗准备状态。
步骤3405:主核处理器进入到低功耗准备状态,功耗处理模块开始为多核处理器模块配置相应的低功耗模式。
步骤3406:判断功耗控制模块的低功耗开始条件是否成立,如果是,执行步骤3407;如果否,返回步骤3405。
本步骤中,多核处理器模块C06的低功耗模式配置完成后,功耗控制模块中相应的状态机的低功耗开始条件是否成立。
示例性的,低功耗开始条件可以是:在多核处理器模块C06的低功耗模式配置完成后,生成低功耗开始使能信号,功耗控制模块判断存在低功耗开始使能信号,低功耗开始条件成立。
步骤3407:功耗控制模块中相应的状态机开始工作,执行相应的状态跳转。
在实际实施时,状态机开始工作后,会通过判断状态机中的低功耗跳转条件或者阈值条件是否成立,如果成立,则执行相应的状态跳转,并产生相应的状态指示中断;如果不成立,继续判断。
示例性的,低功耗跳转条件可以是:在多核处理器模块C06的低功耗模式配置完成后,生成低功耗跳转使能信号,状态机判断存在低功耗跳转使能信号,低功耗跳转条件成立。
阈值条件可以是:达到预设的判断次数,或达到预设的判断时间。当达到一定的判断次数或判断时间时,状态机开始执行相应的状态跳转。这里,可以通过配置功耗控制单元中的寄存器来设置相应的判断次数或判断时间。
步骤3408:判断状态机是否产生相应的状态指示中断,如果是,执行步骤3409;如果否,返回步骤3407。
步骤3409:状态指示中断通过中断控制模块发送到功耗处理模块中。
步骤3410:功耗处理模块执行中断服务程序后,清除状态指示中断。
本步骤中,功耗处理模块C05收到相应的状态指示中断后,会执行中断服务程序,同时通过读取低功耗中断状态寄存器,判断系统处于哪种的低功耗状态,控制多核处理器模块在当前低功耗状态下执行相应的处理操作,并清除状态指示中断,跳出中断服务程序。
步骤3411:功耗处理模块监测状态机是否跳转到低功耗状态,如果是,执行步骤3412;如果否,执行步骤3407。
步骤3412:功耗处理模块向功耗管理模块发送关电控制信号。
本步骤中,功耗处理模块C05通过I2C接口C04向功耗管理模块C07发送关电控制信号,关闭PD_TOP、PD_CPU和PD_NORMAL电源分区的外部电源。
步骤3413:中断控制模块产生唤醒中断,并发送唤醒中断至功耗控制模块。
在实际实施时,当需要对芯片进行唤醒操作时,可以通过中断控制模块产生唤醒中断,并发送唤醒中断至功耗控制模块,从而执行唤醒操作。
步骤3414:功耗控制模块接收到唤醒中断后,开始执行唤醒操作。
本步骤中,唤醒操作包括:先打开PD_TOP、PD_CPU和PD_NORMAL电源分区的外部电源。在将所述多核处理器模块和普通电源分区中的模块从低功耗状态恢复到正常工作状态,具体的步骤如图7所示,先打开电源N_PWRON,再释放复位N_RESET,之后关闭隔离使能信号N_ISOLATE,最后打开时钟信号CLOCK。
步骤3415:判断状态机是否跳转到唤醒完成状态,如果是,执行步骤3416;如果否,执行步骤3414。
步骤3416:芯片的低功耗流程验证结束。
步骤35:芯片的低功耗设计方案正确。
步骤36:芯片的低功耗设计方案不正确。
本步骤中,在当前用例无法使低功耗验证流程正常结束,即出现任何异常时,说明当前用例对应的低功耗设计方案中的一种低功耗工作状态无法正常的实现。这里出现异常的位置可以通过验证环境中的监视器的记录信息来确定,从而为分析问题和修改提供依据。
在本发明实施例中,用例在执行芯片的低功耗验证流程时可以验证的内容包括:
(1)验证功耗控制模块中的每个寄存器的默认值是否都与芯片的低功耗设计文档一致,这些寄存器是否都能够被正确进行读/写操作。
(2)验证功耗控制模块中每个状态机是否能够正确工作,判断相应的低功耗条件成立后,是否能够输出正确的低功耗控制信号,从而控制多核处理器模块跳转到相应的低功耗状态中。
(3)验证芯片的低功耗设计方案是否能正确实现。
第三实施例
针对本发明实施例的方法,本发明实施例还提供了一种多处理器系统芯片的低功耗工作方式的验证装置,图8为本发明实施例多处理器系统芯片的低功耗工作方式的验证装置的组成结构示意图,如图8所示,该装置包括:生成模块80、验证模块81和确定模块82;其中,
生成模块80,用于获取用于表示预先配置的芯片低功耗工作方式的配置文件,基于所述多处理器系统芯片的硬件结构,生成所述配置文件的至少一个用例;
验证模块81,用于利用预设的低功耗验证流程对每个用例进行验证;在确定异常结束低功耗验证流程时,确定对应的用例未通过验证;在确定正常结束低功耗验证流程时,确定对应的用例通过验证;
确定模块82,用于在所有的用例均通过验证时,确定预先配置的芯片低功耗工作方式正确。
上述方案中,所述预设的低功耗验证流程包括:
A1:在满足预设的低功耗条件时,控制芯片跳转至低功耗状态;
A2:对所述芯片执行唤醒操作,使所述芯片从低功耗状态恢复至正常工作状态;
A3:结束流程。
优选地,所述验证模块81,在控制芯片跳转至低功耗状态之前,还包括:配置所述芯片的低功耗模式,控制芯片跳转至与配置的低功耗模式对应的低功耗状态。
所述预设的低功耗条件可以包括:获得低功耗状态跳转使能信号,所述低功耗状态跳转使能信号用于指示所述芯片进行相应的低功耗状态跳转。
优选地,所述验证模块81,还用于在确定所述在所述结束流程之后,确定正常结束低功耗验证流程。
优选地,在确定不满足预设的低功耗条件时,进行第一次持续等待直至满足预设的低功耗条件;所述验证模块81,还用于判断进行第一次持续等待的时间是否超过第一预设时长;在判断结果为是的情况下,确定异常结束低功耗验证流程;
或者,所述预设的低功耗验证流程还包括:在对所述芯片执行唤醒操作之后,进行第二次持续等待直至所述芯片从低功耗状态恢复至正常工作状态;所述验证模块81,还用于判断进行第二次持续等待的时间是否超过第二预设时长;在判断结果为是的情况下,确定异常结束低功耗验证流程。
优选地,所述确定模块82,还用于在至少一个用例未通过验证时,确定所述芯片的低功耗设计方案不正确。
在实际应用中,生成模块80、验证模块81和确定模块82均可由位于终端设备中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(FieldProgrammable Gate Array,FPGA)等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (12)

1.一种多处理器系统芯片的低功耗工作方式的验证方法,其特征在于,所述方法包括:
获取用于表示预先配置的芯片低功耗工作方式的配置文件,基于所述多处理器系统芯片的硬件结构,生成所述配置文件的至少一个用例;
利用预设的低功耗验证流程对每个用例进行验证;
在确定异常结束低功耗验证流程时,确定对应的用例未通过验证;在确定正常结束低功耗验证流程时,确定对应的用例通过验证;
在所有的用例均通过验证时,确定预先配置的芯片低功耗工作方式正确。
2.根据权利要求1所述的方法,其特征在于,所述预设的低功耗验证流程包括:
A1:在满足预设的低功耗条件时,控制芯片跳转至低功耗状态;
A2:对所述芯片执行唤醒操作,使所述芯片从低功耗状态恢复至正常工作状态;
A3:结束流程。
3.根据权利要求2所述的方法,其特征在于,在控制芯片跳转至低功耗状态之前,所述预设的低功耗验证流程还包括:配置所述芯片的低功耗模式;
所述控制芯片跳转至低功耗状态,包括:控制芯片跳转至与配置的低功耗模式对应的低功耗状态。
4.根据权利要求2所述的方法,其特征在于,所述预设的低功耗条件包括:获得低功耗状态跳转使能信号,所述低功耗状态跳转使能信号用于指示所述芯片进行相应的低功耗状态跳转。
5.根据权利要求2所述的方法,其特征在于,所述对所述芯片执行唤醒操作,包括:产生唤醒中断信号,以指示所述芯片执行唤醒操作。
6.根据权利要求2至4任一项所述的方法,其特征在于,所述方法还包括:在所述结束流程之后,确定正常结束低功耗验证流程。
7.根据权利要求2至4任一项所述的方法,其特征在于,所述预设的低功耗验证流程还包括:
在确定不满足预设的低功耗条件时,进行第一次持续等待直至满足预设的低功耗条件;
判断进行第一次持续等待的时间是否超过第一预设时长;
在判断结果为是的情况下,确定异常结束低功耗验证流程;或者,
在对所述芯片执行唤醒操作之后,进行第二次持续等待直至所述芯片从低功耗状态恢复至正常工作状态;
判断进行第二次持续等待的时间是否超过第二预设时长;
在判断结果为是的情况下,确定异常结束低功耗验证流程。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:在至少一个用例未通过验证时,确定所述芯片的低功耗设计方案不正确。
9.一种多处理器系统芯片的低功耗工作方式的验证装置,其特征在于,所述装置包括:生成模块、验证模块和确定模块;其中,
生成模块,用于获取用于表示预先配置的芯片低功耗工作方式的配置文件,基于所述多处理器系统芯片的硬件结构,生成所述配置文件的至少一个用例;
验证模块,用于利用预设的低功耗验证流程对每个用例进行验证;在确定异常结束低功耗验证流程时,确定对应的用例未通过验证;在确定正常结束低功耗验证流程时,确定对应的用例通过验证;
确定模块,用于在所有的用例均通过验证时,确定预先配置的芯片低功耗工作方式正确。
10.根据权利要求9所述的装置,其特征在于,所述预设的低功耗验证流程包括:
A1:在满足预设的低功耗条件时,控制芯片跳转至低功耗状态;
A2:对所述芯片执行唤醒操作,使所述芯片从低功耗状态恢复至正常工作状态;
A3:结束流程。
11.根据权利要求10所述的装置,其特征在于,所述验证模块,还用于在所述结束流程之后,确定正常结束低功耗验证流程。
12.根据权利要求10所述的装置,其特征在于,所述预设的低功耗验证流程还包括:在确定不满足预设的低功耗条件时,进行第一次持续等待直至满足预设的低功耗条件;所述验证模块,还用于判断进行第一次持续等待的时间是否超过第一预设时长;在判断结果为是的情况下,确定异常结束低功耗验证流程;
或者,所述预设的低功耗验证流程还包括:在对所述芯片执行唤醒操作之后,进行第二次持续等待直至所述芯片从低功耗状态恢复至正常工作状态;所述验证模块,还用于判断进行第二次持续等待的时间是否超过第二预设时长;在判断结果为是的情况下,确定异常结束低功耗验证流程。
CN201611077856.4A 2016-11-30 2016-11-30 多处理器系统芯片的低功耗工作方式的验证方法和装置 Active CN108121842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611077856.4A CN108121842B (zh) 2016-11-30 2016-11-30 多处理器系统芯片的低功耗工作方式的验证方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611077856.4A CN108121842B (zh) 2016-11-30 2016-11-30 多处理器系统芯片的低功耗工作方式的验证方法和装置

Publications (2)

Publication Number Publication Date
CN108121842A true CN108121842A (zh) 2018-06-05
CN108121842B CN108121842B (zh) 2021-04-27

Family

ID=62225919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611077856.4A Active CN108121842B (zh) 2016-11-30 2016-11-30 多处理器系统芯片的低功耗工作方式的验证方法和装置

Country Status (1)

Country Link
CN (1) CN108121842B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740250A (zh) * 2018-12-29 2019-05-10 湖北航天技术研究院总体设计所 基于uvm的fpga软件验证结果仿真波形的获取方法和系统
CN112329366A (zh) * 2020-12-04 2021-02-05 国微集团(深圳)有限公司 一种提高仿真效率的soc系统验证方法、装置及系统
CN112861458A (zh) * 2021-03-04 2021-05-28 西安石油大学 一种芯片低功耗验证方法
CN113391798A (zh) * 2020-03-11 2021-09-14 北京灵汐科技有限公司 一种自动优化配置生成方法和系统
CN113408222A (zh) * 2021-06-25 2021-09-17 上海阵量智能科技有限公司 文件生成方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329595A (zh) * 2007-06-20 2008-12-24 上海华虹集成电路有限责任公司 低功耗模式的仿真器
US20110307746A1 (en) * 2010-06-07 2011-12-15 Sullivan Jason A Systems and Methods for Intelligent and Flexible Management and Monitoring of Computer Systems
CN102457932A (zh) * 2010-10-26 2012-05-16 高旭 低功耗无线传感器网络节点
US20130191584A1 (en) * 2012-01-23 2013-07-25 Honeywell International Inc. Deterministic high integrity multi-processor system on a chip
CN103930878A (zh) * 2011-11-17 2014-07-16 英特尔公司 用于存储器验证的方法、装置及系统
CN104536933A (zh) * 2012-10-22 2015-04-22 英特尔公司 高性能互连物理层
CN105654993A (zh) * 2016-02-22 2016-06-08 深圳市同创国芯电子有限公司 用于ddr3 sdram控制器的功能验证方法及平台

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329595A (zh) * 2007-06-20 2008-12-24 上海华虹集成电路有限责任公司 低功耗模式的仿真器
US20110307746A1 (en) * 2010-06-07 2011-12-15 Sullivan Jason A Systems and Methods for Intelligent and Flexible Management and Monitoring of Computer Systems
CN102457932A (zh) * 2010-10-26 2012-05-16 高旭 低功耗无线传感器网络节点
CN103930878A (zh) * 2011-11-17 2014-07-16 英特尔公司 用于存储器验证的方法、装置及系统
US20130191584A1 (en) * 2012-01-23 2013-07-25 Honeywell International Inc. Deterministic high integrity multi-processor system on a chip
CN104536933A (zh) * 2012-10-22 2015-04-22 英特尔公司 高性能互连物理层
CN105654993A (zh) * 2016-02-22 2016-06-08 深圳市同创国芯电子有限公司 用于ddr3 sdram控制器的功能验证方法及平台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
董少周: "NoC路由算法及仿真模型的设计与研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740250A (zh) * 2018-12-29 2019-05-10 湖北航天技术研究院总体设计所 基于uvm的fpga软件验证结果仿真波形的获取方法和系统
CN109740250B (zh) * 2018-12-29 2022-03-18 湖北航天技术研究院总体设计所 基于uvm的fpga软件验证结果仿真波形的获取方法和系统
CN113391798A (zh) * 2020-03-11 2021-09-14 北京灵汐科技有限公司 一种自动优化配置生成方法和系统
CN112329366A (zh) * 2020-12-04 2021-02-05 国微集团(深圳)有限公司 一种提高仿真效率的soc系统验证方法、装置及系统
CN112861458A (zh) * 2021-03-04 2021-05-28 西安石油大学 一种芯片低功耗验证方法
CN112861458B (zh) * 2021-03-04 2023-08-04 西安石油大学 一种芯片低功耗验证方法
CN113408222A (zh) * 2021-06-25 2021-09-17 上海阵量智能科技有限公司 文件生成方法、装置、电子设备及存储介质
CN113408222B (zh) * 2021-06-25 2023-12-15 上海阵量智能科技有限公司 文件生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108121842B (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN108121842B (zh) 多处理器系统芯片的低功耗工作方式的验证方法和装置
US10503549B2 (en) Time critical tasks scheduling
US8910109B1 (en) System level tools to support FPGA partial reconfiguration
KR20110124617A (ko) 시스템-온-칩 및 그것의 디버깅 방법
US20220292248A1 (en) Method, system and verifying platform for system on chip verification
US9292079B2 (en) Accelerating the microprocessor core wakeup by predictively executing a subset of the power-up sequence
CN105209925A (zh) 在用于编译自动化半导体器件测试的测试计划的开发环境内实施编辑并更新功能性
US10120702B2 (en) Platform simulation for management controller development projects
US11403202B2 (en) Power monitoring system for virtual platform simulation
CN103257922B (zh) 一种快速测试bios与os接口代码可靠性的方法
CN112329366A (zh) 一种提高仿真效率的soc系统验证方法、装置及系统
CN103376340A (zh) 一种转接板、多平台串行测试系统及方法
CN102147831A (zh) 逻辑验证方法和装置
CN106066453A (zh) 串行线调试桥
CN112861458A (zh) 一种芯片低功耗验证方法
US20110087922A1 (en) Test method and tool for master-slave systems on multicore processors
CN111142502A (zh) Ecu检测的处理方法、装置、设备及存储介质
CN113722212B (zh) 一种cpld升级测试方法、装置、设备及介质
CN103902301A (zh) 读取bios的方法、装置以及处理器
CN114461142B (zh) 一种读写Flash数据的方法、系统、装置及介质
CN116048887A (zh) 一种芯片验证方法及装置、系统、电子设备、存储介质
CN115204081A (zh) 芯片仿真方法、平台和系统、计算机可读存储介质
US7505887B1 (en) Building a simulation of design block using a bus functional model and an HDL testbench
CN105137330A (zh) 多电压域数字电路的验证装置及其运行方法
CN114880036B (zh) 一种risc-v系统中处理多核访问的调试模块的调试方法

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