CN113835469B - 一种芯片时钟树的验证方法、装置及芯片 - Google Patents

一种芯片时钟树的验证方法、装置及芯片 Download PDF

Info

Publication number
CN113835469B
CN113835469B CN202111153882.1A CN202111153882A CN113835469B CN 113835469 B CN113835469 B CN 113835469B CN 202111153882 A CN202111153882 A CN 202111153882A CN 113835469 B CN113835469 B CN 113835469B
Authority
CN
China
Prior art keywords
clock
node
tree model
clock tree
chip
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
CN202111153882.1A
Other languages
English (en)
Other versions
CN113835469A (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 Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics 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 Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN202111153882.1A priority Critical patent/CN113835469B/zh
Publication of CN113835469A publication Critical patent/CN113835469A/zh
Application granted granted Critical
Publication of CN113835469B publication Critical patent/CN113835469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及微电子领域中的集成电路时钟检测技术领域,特别涉及一种芯片时钟树的验证方法、装置及芯片。本发明实施例提供的芯片时钟树的验证方法通过识别待测时钟的类型,识别出时钟源和时钟节点,根据时钟源和时钟节点建立时钟树模型,再将时钟树模型与待测时钟绑定,以对所述待测时钟进行实时监测,根据时钟树模型和实时监测的结果验证待测时钟。该方法基于待测时钟的时钟节点建立其对应的时钟树模型,并将时钟树模型与待测时钟绑定,就能在验证时钟树时基于时钟树模型进行逐一验证,验证覆盖率高且时钟复用性强,此外,在待测时钟的设计结构发生改变时,基于时钟树模型能够快速完成时钟的覆盖验证,极大的提升了时钟验证的效率。

Description

一种芯片时钟树的验证方法、装置及芯片
技术领域
本发明涉及微电子领域中的集成电路时钟检测技术领域,特别涉及一种芯片时钟树的验证方法、装置及芯片。
背景技术
随着芯片规模越来越大,功能越来越多,时钟树的结构也越来越复杂,一旦时钟出错,那么整个芯片或者很多重要功能将不能正常工作,因此,在芯片设计时对时钟树进行验证越来越重要。
关于时钟树,需要先介绍时钟域的概念,时钟域指的是在同步电路中,被相同时钟信号驱动的寄存器共同组成一个时钟域,在一个复杂的集成电路中,往往存在多个时钟域。在理想的同步电路中,我们认为同时钟域中的所有寄存器的时钟边沿同时到达。但是在实际的电路中,这是不可能实现的,因此就需要对时钟域中的时钟信号进行管理,也即是采用时钟树进行管理,时钟树可以保证时钟域中的寄存器的时钟边沿偏最小,从而保证良好的时序特性。
关于时钟树的验证,例如,如图1所示,是一种采用两个时钟源的系统时钟设计。由于不同逻辑模块需求的时钟不同,所以时钟需经过多路复用器,分频器等器件将时钟改变,分别到达内部不同的逻辑模块,供逻辑模块正常工作。这些逻辑模块的时钟与时钟源会有所不同,但存在一定的关系。对于芯片的时钟树验证,需要验证到达不同逻辑模块的时钟是否正确。比如,图1中logic_2获得的时钟,当U1选通clock_2为10MHz时,ck2是否等于5MHz,ck3是否等于10MHz。
相关技术进行时钟树验证时,主要采用定向用例,或者利用部分随机来直接配置时钟树,并采用探针的方式来检查时钟是否正确。
发明人在实现本发明实施例的过程中发现,相关技术在进行时钟树检验时需要大量的用例才能获得较好的覆盖率,而使用大量的用例,在芯片设计修改时钟结构时,可能就需要大量修改用例才能适配新的时钟树结构,由此导致时钟树验证的复用性和灵活扩展性较差。
发明内容
本发明实施方式主要解决的技术问题是如何在保证时钟树验证时具有较好覆盖率的同时还具有较强的复用性和较高的灵活扩展性。
为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种芯片时钟树的验证方法,所述方法包括:
识别待测时钟的类型,所述类型包括时钟源和时钟节点;
根据所述时钟源和所述时钟节点建立时钟树模型;
执行所述时钟树模型与所述待测时钟的绑定操作,以对所述待测时钟进行实时监测;
根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟。
可选的,所述根据所述时钟源和所述时钟节点建立时钟树模型,包括:
获取每一时钟节点的类型,并根据所述每一时钟节点的类型确定所述时钟节点对应的时钟源;
关联所述时钟节点和与所述时钟节点对应的时钟源,以生成至少一条时钟链;
确定属性函数,所述属性函数用于使所述时钟树模型实现预设的功能;
根据所述至少一条时钟链和所述属性函数建立所述时钟树模型。
可选的,所述执行所述时钟树模型与所述待测时钟的绑定操作具体包括:
基于绑定方式或探针方式将所述时钟树模型中的时钟节点与所述待测时钟进行绑定操作。
可选的,所述根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟,包括:
获取所述时钟树模型中所述时钟节点的属性;
根据所述属性计算所述时钟节点的第一时钟参数;
根据所述实时监测的结果获取所述时钟节点的第二时钟参数;
比较所述第一时钟参数和所述第二时钟参数,获取比较结果,并根据所述比较结果验证所述待测时钟。
可选的,所述获取所述时钟树模型中所述时钟节点的属性,包括:
配置时钟树寄存器,所述时钟树寄存器用于存储所述时钟节点的时钟状态;
根据所述时钟状态获取所述时钟节点的属性。
可选的,所述第一时钟参数和所述第二时钟参数包括时钟频率、占空比以及时钟抖动。
可选的,所述比较所述第一时钟参数和所述第二时钟参数具体包括:
采用递归的方式将所述时钟树模型中所述时钟节点的所述第一时钟参数与所述第二时钟参数进行比较,以检测所述第一时钟参数与所述第二时钟参数是否相同。
可选的,在所述待测时钟的设计结构发生改变的情况下,所述方法还包括:
获取设计结构发生改变的所述待测时钟对应的时钟节点的属性,并根据所述属性通过所述时钟树模型对所述设计结构发生改变的所述待测时钟进行验证。
为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种芯片时钟树的验证装置,所述装置包括:
类型识别模块,用于识别待测时钟的类型,所述类型包括时钟源和时钟节点;
时钟树模型建立模块,用于根据所述时钟源和所述时钟节点建立时钟树模型;
时钟绑定模块,用于执行所述时钟树模型与所述待测时钟的绑定操作,以对所述待测时钟进行实时监测;
时钟验证模块,用于根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟。
为解决上述技术问题,本发明实施方式采用的又一个技术方案是:提供一种芯片,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的芯片时钟树的验证方法。
区别于相关技术的情况,本发明实施例提供的芯片时钟树的验证方法通过识别待测时钟的类型,识别出时钟源和时钟节点,根据时钟源和时钟节点建立时钟树模型,再将时钟树模型与待测时钟绑定,以对所述待测时钟进行实时监测,就可以根据时钟树模型和实时监测的结果,验证待测时钟。本发明提供的方法基于待测时钟的时钟节点建立待测时钟所对应的时钟树模型,并将所述时钟树模型与所述待测时钟绑定,在验证时钟树时,就能基于所述时钟树模型进行逐一验证,验证覆盖率高且时钟复用性强,此外,在待测时钟的设计结构发生改变时,基于所述时钟树模型能够快速完成时钟的覆盖验证,极大的提升了时钟验证的效率。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种时钟树的结构示意图;
图2是本发明实施例提供的一种芯片时钟树的验证方法的流程图;
图3是本发明实施例提供的建立时钟树模型的方法的流程图;
图4是本发明实施例提供的根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟的方法的流程图;
图5是本发明另一实施例提供的一种芯片时钟树的验证方法的流程图;
图6是本发明实施例提供的一种多时钟源的时钟树路径的示意图;
图7是本发明实施例提供的clock-2组成的单条时钟链的递归节点的示意图;
图8是本发明实施例提供的一种芯片时钟树的验证装置的结构示意图;
图9是本发明实施例提供的一种芯片的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互组合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块的划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置示意图中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本发明实施例提供一种芯片时钟树的验证方法,通过识别待测时钟的类型,识别出时钟源和时钟节点,根据时钟源和时钟节点建立时钟树模型,再将时钟树模型与待测时钟绑定,以对所述待测时钟进行实时监测,就可以根据时钟树模型和实时监测的结果,验证待测时钟。本发明实施例提供的方法基于待测时钟的时钟节点建立待测时钟所对应的时钟树模型,并将所述时钟树模型与所述待测时钟绑定,在验证时钟树时,就能基于所述时钟树模型进行逐一验证,验证覆盖率高且时钟复用性强,此外,在待测时钟的设计结构发生改变时,基于所述时钟树模型能够快速完成时钟的覆盖验证,极大的提升了时钟验证的效率。
本发明实施例提供的芯片时钟树的验证方法和装置可以应用于芯片,该芯片可以是各种型号的数字芯片。当需要验证芯片的内部工作时钟是否正确时,可以采用本发明实施例提供的芯片时钟树的验证方法进行验证。
下面结合具体实施例对芯片时钟树的验证方法和装置进行展开说明。
请参阅图2,图2是本发明实施例提供的一种芯片时钟树的验证方法的流程图,如图2所示,该方法包括:
S11、识别待测时钟的类型,所述类型包括时钟源和时钟节点。
其中,识别待测时钟的类型包括从全局的角度分析出待测时钟里的时钟源和时钟节点,识别出各时钟节点对应的时钟源,其中,多个时钟节点组成时钟链,多条时钟链组成时钟树,时钟链可以有交叉,也可以单独存在,单条时钟链中的时钟源对应有至少一个时钟节点作为其子节点。可以理解的是,所述待测时钟可以是芯片时钟树的所有时钟,也可以是部分时钟。
S12、根据所述时钟源和所述时钟节点建立时钟树模型。
在本实施例中,所述时钟树模型是用于对时钟进行验证的一个模型,该模型的构建主要是根据所述时钟源和所述时钟节点按“树”的方式建立一个递归模型。采用时钟树模型对时钟进行验证,能够采用约束随机的方式验证,从而达到快速收敛;还能够采用递归时钟节点,构建和重构时钟树模型,不会遗漏任何时钟节点;此外,还能够满足在设计人员对时钟进行任意修改后,验证环境在模型的加持下只需很小的修改。
单个时钟节点中包含父节点、子节点、时钟类型和时钟配置等信息,时钟树中的时钟源主要采用递归的方式处理其对应的子节点,基于所述时钟源和所述时钟节点信息,建立待测时钟对应的时钟树模型。具体的,请参阅图3,所述根据所述时钟源和所述时钟节点建立时钟树模型包括:
S121、获取每一时钟节点的类型,并根据所述每一时钟节点的类型确定所述时钟节点对应的时钟源;
其中,不同类型的时钟节点对应的时钟源不相同,根据时钟节点的类型来确定其对应的时钟源,而不同类型的时钟源的产生方式和检查机制也不一样,通常情况下可以通过OSC(Oscillator,振荡器)或者PLL(Phase-Locked Loop,锁相环)等来源提供系统的时钟源,而PLL又可以在时钟树模型里区别是否为正常PLL,又或者是SSC(SpreadSpectrumclocking,扩频时钟)等自定义的类型,通常不同的项目需要运用到的时钟节点类型可能不相同,时钟节点的类型可以根据具体的项目来选择,在时钟树模型中,可以根据时钟节点的类型的属性来判断可以执行哪些逻辑块。
S122、关联所述时钟节点和与所述时钟节点对应的时钟源,以生成至少一条时钟链;
其中,确定了时钟节点对应的时钟源后,将对应同一个时钟源的每一个时钟节点与这个时钟源关联起来,可以组成时钟链,或者进而组成时钟树。
S123、确定属性函数,所述属性函数用于使所述时钟树模型实现预设的功能;
在关联所述时钟节点和与所述时钟节点对应的时钟源后,还需要添加一些时钟树模型所需要的属性函数,属性函数是指时钟树模型中的一些实现某些功能的函数,可以是普通的函数,在时钟树模型的类里实现的,在操作时钟树模型时,可以调用这些函数。以重建时钟树为例,若时钟树模型需要验证重建时钟树的场景,则需要在时钟树模型的类(class)中声明验证该场景所需要的函数,例如:
Class clock_tree_model extends
uvm_component;
extern virtual function void
rebuild_clock_tree();
endclass
其中,上述函数rebuild_clock_tree即属于属性函数,声明这个函数后,时钟树模型可以验证重建时钟树的功能。
S124、根据所述至少一条时钟链和所述属性函数建立所述时钟树模型。
其中,基于递归模型,根据获得的至少一条时钟链和所述属性函数共同组成所述时钟树模型。
S13、执行所述时钟树模型与所述待测时钟的绑定操作,以对所述待测时钟进行实时监测。其中,绑定所述时钟节点可以是绑定所述时钟树模型中的全部的时钟节点,也可以是绑定部分的时钟节点,应当理解,所述绑定操作的主要目的是实时监测所述待测时钟的一些操作,以便为后续验证所述待测时钟的过程做准备。
具体的,所述执行所述时钟树模型与所述待测时钟的绑定操作具体包括:基于绑定(bind,system verilog语言中关键字)方式或探针方式将所述时钟树模型中的时钟节点与所述待测时钟进行绑定操作。以绑定方式为例:
bind dut_module_path clock_check_model#(.CLK_NAME(“clock_1”))clock_check_instance(clock_1_o);
其中:
dut_module_path,是指设计的模块名;
clock_check_model,是指通用时钟检查模块;输入时钟名为clock_1,对其进行时钟监测;
clock_check_instance,是指例化名,即在例化时给调用的实体取的名字;
clock_1_o,是指模块内部的信号。
S14、根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟。将所述时钟树模型中的时钟节点与所述待测时钟进行绑定操作后,就可以通过所述时钟树模型实时监测所述待测时钟,例如在编写测试用例时,用户可以通过例化对应的时钟树模型,调用相应的函数或者序列,就可以随机验证所述待测时钟,还可以收集验证覆盖率。
所述时钟树模型还可以支持高效率的约束随机,对于特殊的时钟可以通过配置将其约束为特殊的时钟形态,包括OSC和PLL等,可以将时钟源的时钟频率、占空比和时钟抖动等属性随机约束在一定范围。对于芯片的具体测试场景而言,一些时钟节点是必须打开的,比如总线时钟或者local-cpu(设备端处理器)时钟等,可以通过约束这些时钟节点的使能和选通等配置来实现,对于其他的时钟节点是否使能,选通哪个,分配数为多少等参数可以随机实现。
具体的,请参阅图4,所述根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟包括:
S141、获取所述时钟树模型中所述时钟节点的属性;所述属性包括时钟频率、时钟周期、占空比和时钟抖动等信息,具体的,所述获取所述时钟树模型中所述时钟节点的属性包括:
S1411、配置时钟树寄存器,所述时钟树寄存器用于存储所述时钟节点的时钟状态;
S1412、根据所述时钟状态获取所述时钟节点的属性。
所述时钟树寄存器可以是时钟树模型中时钟源或时钟节点的属性寄存器,所述时钟树寄存器能够储存所述时钟节点的时钟分频与否、时钟使能和时钟选通等时钟状态,所述时钟状态可以决定所述时钟节点的属性。所述配置时钟树寄存器属性包括配置多路选同期的选通信号、分频器的分频系数等。根据特定的约束条件,对于一些已知必须打开的时钟节点可以通过特殊的约束来控制,能够对特殊时钟进行有效验证,例如上述的总线时钟或者local-cpu(设备端处理器)时钟等,包括对已知必须打开的每个时钟源及时钟节点的属性寄存器进行约束随机配置,例如配置分频与否、分频数、使能与否和/或选通与否等,在时钟节点中,可以根据所述时钟树寄存器获取所述时钟节点的属性。
S142、根据所述属性计算所述时钟节点的第一时钟参数;
当时钟树模型建立完成,且每个节点的属性都确定后,可以自动计算每个时钟节点的第一时间参数,所述第一时钟参数包括根据所述时钟树模型的时钟节点属性计算得到的期望数值,包括时钟频率、时钟周期、占空比以及时钟抖动等计算出的期望数值,例如所述时钟树模型的某个时钟节点是一个时钟频率100MHz的时钟,它对应有一个分频寄存器,那么配置这个分频寄存器为2就能实现2分频,此时,期望的时钟频率输出值是50MHz,即所述时钟节点的第一时钟参数包括输出时钟频率50MHz。
S143、根据所述实时监测的结果获取所述时钟节点的第二时钟参数;
由于所述时钟树模型中的每个时钟节点都通过绑定或者探针的方式与所述待测时钟连接,所以可以基于所述时钟树模型实时监测所述待测时钟,包括监测所述待测时钟的时钟边沿、脉冲等信息,根据所述实时监测的结果可以得到所述待测时钟的第二时钟参数,所述第二时钟参数包括实时监测的待测时钟的实际值,包括时钟频率、时钟周期、占空比以及时钟抖动等实际监测得到的数值。
S144、比较所述第一时钟参数和所述第二时钟参数,获取比较结果,并根据所述比较结果验证所述待测时钟。在正常的非时钟树验证用例运行时,对实际环境配置(非随机)的时钟进行校验,通过比较计算得到的所述第一时钟参数和实际监测得到的第二时钟参数,验证所述待测时钟。例如在UVM验证环境中经常用compare函数来比较期望值和实际值,比如:
Result=expect_object.compare(actual_object);
其中xxx_object即需要比较的对象,包括时钟频率,占空比等属性参数。
其中,所述比较所述第一时钟参数和所述第二时钟参数具体包括:采用递归的方式将所述时钟树模型中所述时钟节点的所述第一时钟参数与所述第二时钟参数进行比较,以检测所述第一时钟参数与所述第二时钟参数是否相同,进而判断所述芯片时钟树是否出错。根据所述时钟树模型的结构,即每个时钟节点均包含子节点和父节点,可以通过递归的方式检查芯片时钟树中每个待测时钟的正确性。
在其他一些实施例中,所述待测时钟的设计结构会发生改变,这种情况下,所述方法还包括:
获取设计结构发生改变的所述待测时钟对应的时钟节点的属性,并根据所述属性通过所述时钟树模型对所述设计结构发生改变的所述待测时钟进行验证。
所述芯片时钟树的设计结构发生改变时,确定设计结构会发生改变的待测时钟,只需要修改时钟树模型中与结构改变的待测时钟相对应的时钟节点的相关属性,就可以完成时钟树模型的重建,不需要考虑同一时钟链上的其他时钟。当一条时钟链上的某一个时钟节点的属性改变时,时钟树模型会自动重新递归计算所述时钟链上其他时钟节点的属性,可以快速的完成时钟的重建,且不会遗漏时钟节点,扩展性好,对芯片时钟树的修改能够快速收敛验证;基于此,在验证芯片时钟树时,修改时钟树模型中某时钟节点配置时,会将与此时钟节点相关的时钟节点都进行同步自动关联修改,并且自动计算出各时钟节点的第一时钟参数,将其与监听到的第二时钟参数做比较,可以快速的完成时钟的覆盖验证,大幅提高了时钟验证的效率。
请参阅图5,图5是本发明实施例提供的芯片时钟树的验证方法的流程图,如图5所示,所述方法包括:
S21、建立时钟树模型;识别出待测时钟中的时钟源和时钟节点,并根据时钟节点的类型将时钟节点和其对应的时钟源关联起来,建立时钟树模型,并添加一些时钟树模型所需要的属性函数。
S22、将每个时钟创建成时钟节点;在所述时钟树模型中添加时钟节点,以使所述时钟树模型中包含所述时钟节点和所述时钟源,并声明时钟节点的类型。
S23、将每个时钟节点与逻辑模块中的时钟进行一一绑定;所述逻辑模块指芯片时钟树,包括待测时钟,将述时钟树模型中的每个时钟节点与待测时钟进行一一绑定,以使所述时钟树模型可以实时监测所述芯片时钟树,正常的非时钟树验证用例运行时,可以对实际环境配置(非随机)的时钟进行校验。当需要修改芯片时钟树时,基于所述时钟树模型,只需要对验证环境做出很小的修改。
S24、随机配置时钟树寄存器;所述时钟树寄存器可以是时钟树模型中时钟源或时钟节点的属性寄存器,所述时钟树模型还可以支持高效率的约束随机,包括对已知必须打开的每个时钟源及时钟节点的属性寄存器进行约束随机配置,例如配置分频与否、分频数、使能与否和/或选通与否等。
S25、从时钟树寄存器中得到节点的配置属性;在时钟节点中,可以根据所述时钟树寄存器获取所述时钟节点的属性,所述属性包括时钟节点的时钟频率、时钟周期、占空比和时钟抖动等属性信息,图5中以时钟频率为例。
S26、计算每个节点的时钟频率期望值;时钟树模型可以根据时钟寄存器的配置属性自动计算每个时钟节点的时钟频率的期望。
S27、监控每个时钟树节点的时钟频率实际值;基于所述时钟树模型可以实时监测所述待测时钟,包括监测所述待测时钟的时钟边沿、脉冲等信息,根据所述实时监测的结果可以得到所述待测时钟的时钟频率的期望。
S28、递归比较每个节点的时钟频率;所述递归比较是指采用递归的方式,将时钟树模型中每个节点时钟的时钟频率期望值和监测到的时钟频率实际值进行比较,以检查芯片时钟树中每个待测时钟的正确性,比较时可以从时钟链的源头开始递归比较,其中,递归是指钟树模型中每个时钟节点的递归,执行时钟节点中的函数,不会影响递归比较的效率。
请结合图6,图6是本发明实施例提供的一种多时钟源的时钟树路径的示意图,图中是采用了4个时钟源的时钟树路径,选取其中一条路径举例,即clock-2时钟到clock-C的路径:配置多路选择器U1对应的逻辑寄存器选中clock-2,配置分频器对应的逻辑寄存器为二分频,再配置多路选择器U2对应的逻辑寄存器选中clock-B,最后输出时钟clock-C供logic-2使用。其组成的单条时钟链如图7所示,clock-2作为时钟源,时钟频率为10MHz,节点1的时钟clock-A的时钟频率也是10MHz,计算每个节点的时钟频率期望值时,节点2的时钟clock-B为5MHz,最后的节点3的时钟clock-C的时钟频率为5MHz。实时监测logic-1和logic-2的工作时钟变化,即监测clock-B是否为5MHz,clock-C是否为5MHz。若时钟源clock-2的时钟发生改变,则可以采用递归的方式重建整条时钟链。
S29、判断随机次数是否达到预设值,若达到预设值,则结束所述验证流程;
若未达到所述预设值,则返回执行步骤S24。
其中,所述预设值可以根据验证覆盖率来设置或调整,例如验证200次后覆盖率达到100%,则可以设置200为预设值,若验证200次后覆盖率没有达到100%,则可以适当增大所述预设值,直至覆盖率达到100%。
需要说明的是,本实施例中提供的判断随机次数是否达到预设值只是判断流程是否结束的一种方式,并非限定只能通过判断随机次数是否达到预设值的方式来判断流程是否结束,在其他实施例中也可以设置其他结束流程的判断方式。
请参阅图8,图8是本发明实施例提供的一种芯片时钟树的验证装置的结构示意图。如图8所示,该芯片时钟树的验证装置200包括:类型识别模块21、时钟树模型建立模块22、时钟绑定模块23和时钟验证模块24。
其中,类型识别模块21,用于识别待测时钟的类型,所述类型包括时钟源和时钟节点;时钟树模型建立模块22,用于根据所述时钟源和所述时钟节点建立时钟树模型;时钟绑定模块23,用于执行所述时钟树模型与所述待测时钟的绑定操作,以对所述待测时钟进行实时监测;时钟验证模块24,用于根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟。
需要说明的是,本实施例提供的芯片时钟树的验证装置可执行本发明实施例所提供的芯片时钟树的验证方法,具备执行方法相应的功能模块和有益效果。未在芯片时钟树的验证装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的芯片时钟树的验证方法。
请参阅图9,图9是本发明实施例提供的一种芯片的硬件结构示意图,该芯片300可用于执行上述芯片时钟树的验证方法。该芯片300包括:
一个或多个处理器31以及存储器32,图9中以一个处理器31为例。
处理器31和存储器32可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的芯片时钟树的验证方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例芯片时钟树的验证方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据芯片时钟树的验证装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至芯片时钟树的验证装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器32中,当被所述一个或者多个处理器31执行时,执行上述任意方法实施例中的芯片时钟树的验证方法,例如,执行以上描述的图2中的方法步骤和实现图8中的模块的功能。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种芯片时钟树的验证方法,其特征在于,所述方法包括:
识别待测时钟的类型,所述类型包括时钟源和时钟节点;
根据所述时钟源和所述时钟节点建立时钟树模型,其中,根据所述时钟源和所述时钟节点生成至少一条时钟链,确定属性函数,所述属性函数用于使所述时钟树模型实现预设的功能,基于递归模型,根据获得的至少一条时钟链和所述属性函数共同组成所述时钟树模型;
执行所述时钟树模型与所述待测时钟的绑定操作,以对所述待测时钟进行实时监测;
根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟。
2.根据权利要求1所述的芯片时钟树的验证方法,其特征在于,所述根据所述时钟源和所述时钟节点建立时钟树模型,包括:
获取每一时钟节点的类型,并根据所述每一时钟节点的类型确定所述时钟节点对应的时钟源;
关联所述时钟节点和与所述时钟节点对应的时钟源,以生成至少一条时钟链;
确定属性函数,所述属性函数用于使所述时钟树模型实现预设的功能;
根据所述至少一条时钟链和所述属性函数建立所述时钟树模型。
3.根据权利要求1所述的芯片时钟树的验证方法,其特征在于,所述执行所述时钟树模型与所述待测时钟的绑定操作具体包括:
基于绑定方式或探针方式将所述时钟树模型中的时钟节点与所述待测时钟进行绑定操作。
4.根据权利要求1至3任一项所述的芯片时钟树的验证方法,其特征在于,所述根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟,包括:
获取所述时钟树模型中所述时钟节点的属性;
根据所述属性计算所述时钟节点的第一时钟参数;
根据所述实时监测的结果获取所述时钟节点的第二时钟参数;
比较所述第一时钟参数和所述第二时钟参数,获取比较结果,并根据所述比较结果验证所述待测时钟。
5.根据权利要求4所述的芯片时钟树的验证方法,其特征在于,所述获取所述时钟树模型中所述时钟节点的属性,包括:
配置时钟树寄存器,所述时钟树寄存器用于存储所述时钟节点的时钟状态;
根据所述时钟状态获取所述时钟节点的属性。
6.根据权利要求4所述的芯片时钟树的验证方法,其特征在于,所述第一时钟参数和所述第二时钟参数包括时钟频率、占空比以及时钟抖动。
7.根据权利要求4所述的芯片时钟树的验证方法,其特征在于,所述比较所述第一时钟参数和所述第二时钟参数具体包括:
采用递归的方式将所述时钟树模型中所述时钟节点的所述第一时钟参数与所述第二时钟参数进行比较,以检测所述第一时钟参数与所述第二时钟参数是否相同。
8.根据权利要求1所述的芯片时钟树的验证方法,其特征在于,在所述待测时钟的设计结构发生改变的情况下,所述方法还包括:
获取设计结构发生改变的所述待测时钟对应的时钟节点的属性,并根据所述属性通过所述时钟树模型对所述设计结构发生改变的所述待测时钟进行验证。
9.一种芯片时钟树的验证装置,其特征在于,所述装置包括:
类型识别模块,用于识别待测时钟的类型,所述类型包括时钟源和时钟节点;
时钟树模型建立模块,用于根据所述时钟源和所述时钟节点建立时钟树模型,其中,根据所述时钟源和所述时钟节点生成至少一条时钟链,确定属性函数,所述属性函数用于使所述时钟树模型实现预设的功能,基于递归模型,根据获得的至少一条时钟链和所述属性函数共同组成所述时钟树模型;
时钟绑定模块,用于执行所述时钟树模型与所述待测时钟的绑定操作,以对所述待测时钟进行实时监测;
时钟验证模块,用于根据所述时钟树模型和所述实时监测的结果,验证所述待测时钟。
10.一种芯片,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8任一项所述的方法。
CN202111153882.1A 2021-09-29 2021-09-29 一种芯片时钟树的验证方法、装置及芯片 Active CN113835469B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111153882.1A CN113835469B (zh) 2021-09-29 2021-09-29 一种芯片时钟树的验证方法、装置及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111153882.1A CN113835469B (zh) 2021-09-29 2021-09-29 一种芯片时钟树的验证方法、装置及芯片

Publications (2)

Publication Number Publication Date
CN113835469A CN113835469A (zh) 2021-12-24
CN113835469B true CN113835469B (zh) 2024-02-20

Family

ID=78967489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111153882.1A Active CN113835469B (zh) 2021-09-29 2021-09-29 一种芯片时钟树的验证方法、装置及芯片

Country Status (1)

Country Link
CN (1) CN113835469B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117217139B (zh) * 2023-11-09 2024-01-30 成都翌创微电子有限公司 一种用于数字芯片验证的时钟生成方法和系统
CN117272918B (zh) * 2023-11-21 2024-02-23 芯行纪科技有限公司 在gui界面中进行时钟树规则配置的方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512381A (zh) * 2015-12-03 2016-04-20 上海兆芯集成电路有限公司 时钟延迟验证方法
CN111881646A (zh) * 2020-07-03 2020-11-03 广芯微电子(广州)股份有限公司 一种基于结构和时序的时钟树质量检测方法及装置
US10860761B1 (en) * 2018-06-11 2020-12-08 Ansys, Inc. Systems and methods for enhanced clock tree power estimation at register transfer level
CN112487753A (zh) * 2020-12-15 2021-03-12 安徽芯纪元科技有限公司 一种面向软件开发的时钟树建模方法
CN113111615A (zh) * 2021-03-31 2021-07-13 中国人民解放军战略支援部队信息工程大学 SoC芯片时钟功能验证方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10514401B2 (en) * 2017-08-02 2019-12-24 Qualcomm Incorporated On-chip frequency monitoring

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512381A (zh) * 2015-12-03 2016-04-20 上海兆芯集成电路有限公司 时钟延迟验证方法
US10860761B1 (en) * 2018-06-11 2020-12-08 Ansys, Inc. Systems and methods for enhanced clock tree power estimation at register transfer level
CN111881646A (zh) * 2020-07-03 2020-11-03 广芯微电子(广州)股份有限公司 一种基于结构和时序的时钟树质量检测方法及装置
CN112487753A (zh) * 2020-12-15 2021-03-12 安徽芯纪元科技有限公司 一种面向软件开发的时钟树建模方法
CN113111615A (zh) * 2021-03-31 2021-07-13 中国人民解放军战略支援部队信息工程大学 SoC芯片时钟功能验证方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙路 ; 牛佳 ; 何鸥 ; .一种基于灵活型H树的混合时钟树设计方法学.中国集成电路.2018,(12),54-59. *

Also Published As

Publication number Publication date
CN113835469A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
CN113835469B (zh) 一种芯片时钟树的验证方法、装置及芯片
Rahmani et al. Efficient trace signal selection using augmentation and ILP techniques
US7890901B2 (en) Method and system for verifying the equivalence of digital circuits
US10496506B2 (en) Self-test capable integrated circuit apparatus and method of self-testing an integrated circuit
US8788993B2 (en) Computer system for generating an integrated and unified view of IP-cores for hierarchical analysis of a system on chip (SoC) design
WO2016026328A1 (zh) 一种信息处理方法、装置及计算机存储介质
US6567959B2 (en) Method and device for verification of VLSI designs
JPH11328251A (ja) モデル検査のための動作環境を自動的に生成する方法
US10598727B2 (en) Identification of unknown sources for logic built-in self test in verification
CN113569524A (zh) 芯片设计中基于综合网表提取时钟树的方法及应用
Fezzardi et al. Using efficient path profiling to optimize memory consumption of on-chip debugging for high-level synthesis
CN102467583B (zh) 追踪不确定信号的方法和装置
Xu et al. Automatic synthesis of computation interference constraints for relative timing verification
Cantoro et al. Automated test program reordering for efficient SBST
CN115687108A (zh) 基于uvm与fpv相结合的验证方法、平台、终端及存储介质
Neishaburi et al. Hierarchical embedded logic analyzer for accurate root-cause analysis
Borgatti et al. An integrated design and verification methodology for reconfigurable multimedia systems
Na A novel simulation fault injection using electronic systems level simulation models
Zhao et al. K-CIRCT: A Layered, Composable, and Executable Formal Semantics for CIRCT Hardware IRs
Fang et al. Ranking of suspect faulty blocks using dataflow analysis and dempster-shafer theory for the diagnosis of board-level functional failures
Sharma et al. An automation methodology for amelioration of SpyGlassCDC abstract view generation process
Plassan et al. Conclusively verifying clock-domain crossings in very large hardware designs
Obrizan et al. Multiversion parallel synthesis of digital structures based on SystemC specification
Marchesin et al. Octantis: An Exploration Tool for Beyond von Neumann architectures
Bandyopadhyay et al. Validating SPARK: high level synthesis compiler

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