CN112906338B - 对物理分区结构进行时钟设计的方法、系统和介质 - Google Patents

对物理分区结构进行时钟设计的方法、系统和介质 Download PDF

Info

Publication number
CN112906338B
CN112906338B CN202110343217.2A CN202110343217A CN112906338B CN 112906338 B CN112906338 B CN 112906338B CN 202110343217 A CN202110343217 A CN 202110343217A CN 112906338 B CN112906338 B CN 112906338B
Authority
CN
China
Prior art keywords
clock
circuit logic
delay
circuit
node
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
CN202110343217.2A
Other languages
English (en)
Other versions
CN112906338A (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.)
Phytium Technology Co Ltd
Original Assignee
Phytium 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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202110343217.2A priority Critical patent/CN112906338B/zh
Publication of CN112906338A publication Critical patent/CN112906338A/zh
Priority to EP22165155.7A priority patent/EP4068145A1/en
Priority to US17/709,359 priority patent/US20220318470A1/en
Application granted granted Critical
Publication of CN112906338B publication Critical patent/CN112906338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/392Floor-planning or layout, e.g. partitioning or placement
    • 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
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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/396Clock trees
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

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)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

提供对至少两个物理分区结构进行时钟设计的方法、系统和介质。至少两个物理分区结构包括第一物理分区结构和第二物理分区结构,时钟从系统时钟进入第一物理分区结构,经第一物理分区结构进入第二物理分区结构,时钟设计方法包括:确定各个电路逻辑各自与系统时钟的距离;根据各个电路逻辑各自与系统时钟的距离,从系统时钟得到多个时钟节点,使各个时钟节点相比于系统时钟的延时随与各个电路逻辑与系统时钟的距离的不同而不同,距离越大,延时越大;将各个电路逻辑按照各个电路逻辑与距离的大小而连接到相应的时钟节点;调整各个时钟节点相比于系统时钟的延时使得各个电路逻辑的时序收敛。该方法可以缩短实现时序收敛消耗的时间。

Description

对物理分区结构进行时钟设计的方法、系统和介质
技术领域
本申请涉及集成电路设计领域,具体地,涉及对物理分区结构进行时钟设计的方法、系统、介质和程序。
背景技术
集成电路产品在人们的日常生活中得到了普遍的应用。随着集成电路的不断发展,越来越多的功能被集成在一块芯片当中,集成电路的规模也越来越大,给集成电路设计带来很大的挑战。
集成电路芯片设计者们需要考虑整个集成电路芯片的时序收敛问题。
发明内容
根据本发明的一个方面,提供一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的方法,其中,所述至少两个物理分区结构包括第一物理分区结构和第二物理分区结构,所述第一物理分区结构和第二物理分区结构分别包括一个或多个电路逻辑,其中所述第一物理分区结构中的一部分电路逻辑的逻辑规模至少与所述第二物理分区结构中的一部分电路逻辑的逻辑规模不同,每个电路逻辑具有各自的时钟树,其中,时钟从所述系统时钟进入所述第一物理分区结构,并经由所述第一物理分区结构进入所述第二物理分区结构,时钟设计方法包括如下步骤:确定各个电路逻辑各自与系统时钟的距离;根据各个电路逻辑各自与系统时钟的距离,来从系统时钟得到多个时钟节点,使得各个时钟节点相比于系统时钟的延时随与各个电路逻辑与系统时钟的距离的不同而不同,其中距离越大,延时越大;将各个电路逻辑按照各个电路逻辑与距离的大小而连接到相应的时钟节点;通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛。
例如,在本公开的至少一些实施例中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛,包括:选择多个电路逻辑中出现时序违例的一条路径,并且确定与该路径相关联的电路逻辑;确定该路径的建立时间违例的时长t1;以及根据建立时间违例的时长t1,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时。
例如,在本公开的至少一些实施例中,根据建立时间违例的时长t1,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时,包括:在所述建立时间违例的时长t1小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时;以及在所述建立时间违例的时长t1大于所述系统时钟的一个时钟周期的时间长度的情形中,调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时。
例如,在本公开的至少一些实施例中,至少两个物理分区结构包括按时序先后顺序排列的N个电路逻辑,所述选择多个电路逻辑中出现时序违例的一条路径,并且确定与该路径相关联的电路逻辑,包括:选择从第k电路逻辑到第k+1电路逻辑的时序违例的一条路径,所述第k电路逻辑和所述第k+1 电路逻辑为与所述路径相关联的电路逻辑,根据所述建立时间违例的时长t1,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑各自的时钟节点处的时钟延时,包括:将第k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时增加t1或将第 k+1电路逻辑处的时钟节点处的时钟增加延时t1,或者,所述选择多个电路逻辑中出现时序违例的一条路径,并且确定与该路径相关联的电路逻辑,包括:选择从第k+1电路逻辑到第k电路逻辑的时序违例的一条路径,所述第 k+1电路逻辑和所述第k电路逻辑为与所述路径相关联的电路逻辑,根据所述建立时间违例的时长t2,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑各自的时钟节点处的时钟延时,包括:将第k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时减少t2或将第k电路逻辑处的时钟节点处的时钟增加延时t2,其中,k为大于0小于N的整数。
例如,在本公开的至少一些实施例中,还包括针对选择从第k电路逻辑到第k+1电路逻辑的时序违例的一条路径的情形,从所述第k+1电路逻辑开始,依次选择相邻的两个电路逻辑中的时序违例的一条路径;针对每相邻的两个电路逻辑中的时序违例的一条路径,根据建立时间违例的时长t1,将第 k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时增加t1或将第k+1电路逻辑处的时钟节点处的时钟增加延时t1,或者,针对选择从第k+1 电路逻辑到第k电路逻辑的时序违例的一条路径的情形,从所述第k+1电路逻辑开始,依次选择相邻的两个电路逻辑中的时序违例的一条路径;针对每相邻的两个电路逻辑中的时序违例的一条路径,根据建立时间违例的时长t2,将第k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时减小t2 或将第k电路逻辑处的时钟节点处的时钟增加延时t1。
例如,在本公开的至少一些实施例中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤包括:选择从第一电路逻辑到第二电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为x1;在所述时序违例的时长x1小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a增加x1或将第二电路逻辑处的时钟节点处的时钟增加延时x1;将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b增加x1或将第三电路逻辑处的时钟节点处的时钟增加延时x1;将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c增加x1或将第四电路逻辑处的时钟节点处的时钟增加延时x1,a、b、c、x1为时间长度。
例如,在本公开的至少一些实施例中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:选择从各个电路逻辑中的第二电路逻辑到第三电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为x2;在所述时序违例的时长x2小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再增加x2或将第三电路逻辑处的时钟节点处的时钟再增加延时x2;将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x2或将第四电路逻辑处的时钟节点处的时钟再增加延时x2,其中,x2为时间长度。
例如,在本公开的至少一些实施例中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:选择从各个电路逻辑中的第三电路逻辑到第四电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为x3;在所述时序违例的时长x3小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x3或将第四电路逻辑处的时钟节点处的时钟再增加延时x3,其中,x3为时间长度。
例如,在本公开的至少一些实施例中,在所述时序违例的时长x1大于所述系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑处的时钟节点处的时钟增加延时x1;将第三电路逻辑处的时钟节点处的时钟增加延时 x1;以及将第四电路逻辑处的时钟节点处的时钟增加延时x1。
例如,在本公开的至少一些实施例中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤包括:选择从第二电路逻辑到第一电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为y1;在所述时序违例的时长 y1小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a减小y1或将第一电路逻辑处的时钟节点处的时钟增加延时y1;将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b减小y1或将第二电路逻辑处的时钟节点处的时钟增加延时y1;将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c减小y1或将第三电路逻辑处的时钟节点处的时钟增加延时y1,a、b、c、y1为时间长度。
例如,在本公开的至少一些实施例中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:选择从第三电路逻辑到第二电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为y2;在所述时序违例的时长y2小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再减少y2或将第二电路逻辑处的时钟节点处的时钟再增加延时y2;将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y2或将第三电路逻辑处的时钟节点处的时钟再增加延时y2, y2为时间长度。
例如,在本公开的至少一些实施例中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:选择从各个电路逻辑中的第四电路逻辑到第三电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为y3;在所述时序违例的时长y3小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y3或将第三电路逻辑处的时钟节点处的时钟再增加延时y3,其中,y3为时间长度。
例如,在本公开的至少一些实施例中,在所述时序违例的时长y1大于一个时钟周期的时间长度情形中,将第一电路逻辑处的时钟节点处的时钟增加延时y1;将第二电路逻辑处的时钟节点处的时钟增加延时y1;以及将第三电路逻辑处的时钟节点处的时钟增加延时y1。
例如,在本公开的至少一些实施例中,所述时钟节点相比于系统时钟的延时的改变通过改变系统时钟与时钟节点之间插入的缓冲器的个数或系统时钟与时钟节点之间插入的时钟调节器的调节值来实现。
根据本发明的另一个方面,提供种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的系统,其中,所述至少两个物理分区结构包括第一物理分区结构和第二物理分区结构,所述第一物理分区结构和第二物理分区结构分别包括一个或多个电路逻辑,其中所述第一物理分区结构中的一部分电路逻辑的逻辑规模至少与所述第二物理分区结构中的一部分电路逻辑的逻辑规模不同,每个电路逻辑具有各自的时钟树,其中,时钟从所述系统时钟进入所述第一物理分区结构,并经由所述第一物理分区结构进入所述第二物理分区结构,其中,所述时钟设计系统包括如下:处理器;存储器,存储计算机程序代码,以在处理器的执行下进行如下步骤:确定各个电路逻辑各自与系统时钟的距离;根据各个电路逻辑各自与系统时钟的距离,来从系统时钟得到多个时钟节点,使得各个时钟节点相比于系统时钟的延时随与各个电路逻辑与系统时钟的距离的不同而不同,其中距离越大,延时越大;将各个电路逻辑按照各个电路逻辑与距离的大小而连接到相应的时钟节点;通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛。
例如,在本公开的至少一些实施例中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤包括:选择从第一电路逻辑到第二电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为x1;在所述时序违例的时长 x1小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a增加x1或将第二电路逻辑处的时钟节点处的时钟增加延时x1;将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b增加x1或将第三电路逻辑处的时钟节点处的时钟增加延时x1;将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c增加x1或将第四电路逻辑处的时钟节点处的时钟增加延时x1,其中,a、b、c、x1为时间长度。
例如,在本公开的至少一些实施例中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:选择从各个电路逻辑中的第二电路逻辑到第三电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为x2;在所述时序违例的时长x2小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再增加x2或将第三电路逻辑处的时钟节点处的时钟再增加延时x2;将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x2或将第四电路逻辑处的时钟节点处的时钟再增加延时x2,其中,x2为时间长度。
例如,在本公开的至少一些实施例中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:选择从各个电路逻辑中的第三电路逻辑到第四电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为x3;在所述时序违例的时长x3小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x3或将第四电路逻辑处的时钟节点处的时钟再增加延时x3,其中,x3为时间长度。
例如,在本公开的至少一些实施例中,在所述时序违例的时长x1大于系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑处的时钟节点处的时钟增加延时x1;将第三电路逻辑处的时钟节点处的时钟增加延时x1;以及将第四电路逻辑处的时钟节点处的时钟增加延时x1。
例如,在本公开的至少一些实施例中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤包括:选择从第二电路逻辑到第一电路逻辑的时序违例的一条路径;在所述时序违例的时长y1小于或等于系统时钟的一个时钟周期的时间长度的情形中,确定所述路径的建立时间违例的时长为y1;将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a减小y1或将第一电路逻辑处的时钟节点处的时钟增加延时y1;将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b减小y1或将第二电路逻辑处的时钟节点处的时钟增加延时y1;将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c减小y1或将第三电路逻辑处的时钟节点处的时钟增加延时 y1,其中,a、b、c、y1为时间长度。
例如,在本公开的至少一些实施例中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:选择从第三电路逻辑到第二电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为y2;在所述时序违例的时长y2小于或等于系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再减少y2或将第二电路逻辑处的时钟节点处的时钟再增加延时y2;将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y2或将第三电路逻辑处的时钟节点处的时钟再增加延时y2,其中, y2为时间长度。
例如,在本公开的至少一些实施例中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:选择从各个电路逻辑中的第四电路逻辑到第三电路逻辑的时序违例的一条路径;确定所述路径的建立时间违例的时长为y3;在所述时序违例的时长y3小于或等于系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y3或将第三电路逻辑处的时钟节点处的时钟再增加延时y3,其中,y3为时间长度。
例如,在本公开的至少一些实施例中,在所述时序违例的时长y1大于系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑处的时钟节点处的时钟增加延时y1;将第二电路逻辑处的时钟节点处的时钟增加延时y1;以及将第三电路逻辑处的时钟节点处的时钟增加延时y1。
例如,在本公开的至少一些实施例中,所述时钟节点相比于系统时钟的延时的改变通过改变系统时钟与时钟节点之间插入的缓冲器的个数或系统时钟与时钟节点之间插入的时钟调节器的调节值来实现。
根据本发明的另一方面,提供了一种计算机程序产品,包括计算机程序代码,以在处理器的执行下执行上述的方法。
根据本发明的另一方面,提供了一种计算机介质,包括计算机程序代码,以在处理器的执行下进行上述的方法。
附图说明
图1示出了本公开至少一些实施例提供的一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的方法的应用场景;
图2A示出了本公开至少一实施例提供的对基于同一系统时钟的至少两个物理分区结构进行时钟设计的方法的流程图;
图2B示出了本公开至少一实施例提供的根据步骤S20和步骤S30得到的时钟树结构示意图;
图3示出了本公开至少一实施例提供的步骤S40的方法流程图;
图4示出了本公开至少一实施例提供的另一步骤S40的方法流程图;
图5示出了本公开至少一实施例提供的另一步骤S40的方法流程图;
图6示出了本公开至少一实施例提供的另一种步骤S40的方法流程图;
图7示出了本公开至少一实施例提供的另一步骤S40的方法流程图;
图8示出了本公开至少一实施例提供的另一步骤S40的方法流程图;
图9示出了本公开至少一实施例提供的一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的系统的方框图;
图10示出了本公开至少一实施例提供的另一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的系统的方框图;以及
图11示出了适于用来实现本发明实施方式的示例性计算机系统的框图。
具体实施方式
现在将详细参照本发明的具体实施例,在附图中例示了本发明的例子。尽管将结合具体实施例描述本发明,但将理解,不是想要将本发明限于描述的实施例。相反,想要覆盖由所附权利要求限定的在本发明的精神和范围内包括的变更、修改和等价物。应注意,这里描述的方法步骤都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被实现为物理实体或逻辑实体、或者两者的组合。
目前芯片设计通常将芯片划分为多个物理分区结构,所有物理分区结构的物理设计可以同时进行,最终在顶层收敛。由于每个物理分区结构的物理设计是同时间独立进行的,所以顶层的时序收敛变得非常缓慢,特别是每个物理分区结构的各自的时钟树的规模不同,从而使在顶层设计时时序变得很差。设计者不得不在底层和顶层之间多次反复分析和干预,来平衡整个芯片的时钟树。
如图1所示,在该芯片设计中包括物理分区结构A和物理分区结构B,时钟CLK由物理分区结构A进入物理分区结构B内部分为两路,一路产生 1/2分频,一路全频,全频时钟又送至物理分区结构B。物理分区结构A中包括电路逻辑Mx和M1,物理分区结构B中包括电路逻辑M2、M3、M4。电路逻辑M1、M2、M3、M4之间存在双向的时序逻辑关系。物理分区结构A 和物理分区结构B的逻辑规模存在较大差异,例如,电路逻辑M1和电路逻辑M2逻辑量很小,而电路逻辑M3和电路逻辑M4逻辑量很大。物理分区结构A和物理分区结构B的时钟树都被单独设计,同属于一个时钟域。在单独设计时,物理分区结构A和物理分区结构B的内部时序较易收敛。但物理分区结构A和物理分区结构B合并后,电路逻辑M1与电路逻辑M2之间的时序出现较大的违例。
在现有技术中,解决电路逻辑M1与电路逻辑M2间的时序出现较大的违例的常规方法:将电路逻辑M1的时钟垫长或者电路逻辑M2的时钟做短。将电路逻辑M1的时钟垫长也无法满足时序,因为先进工艺需要考虑时钟的片上工艺偏差(On Chip Variaiton,OCV)的影响。如果逻辑电路M2的时钟做短,则电路逻辑M2与电路逻辑M3的时钟偏差同样会导致时序无法满足。
需要说明的是在本文中的电路逻辑例如可以是寄存器、触发器等集成电路中的各种标准单元或者其他逻辑单元。
因此,本公开提供了一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的方法。该至少两个物理分区结构包括第一物理分区结构和第二物理分区结构,第一物理分区结构和第二物理分区结构分别包括一个或多个电路逻辑,第一物理分区结构中的一部分电路逻辑的逻辑规模至少与第二物理分区结构中的一部分电路逻辑的逻辑规模不同,每个电路逻辑具有各自的时钟树,时钟从系统时钟进入第一物理分区结构,并经由第一物理分区结构进入第二物理分区结构。该时钟设计方法包括确定各个电路逻辑各自与系统时钟的距离;根据各个电路逻辑各自与系统时钟的距离,来从系统时钟得到多个时钟节点,使得各个时钟节点相比于系统时钟的延时随与各个电路逻辑与系统时钟的距离的不同而不同,其中距离越大,延时越大;将各个电路逻辑按照各个电路逻辑与距离的大小而连接到相应的时钟节点;通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛。
本公开提供的上述对至少两个物理分区结构进行时钟设计的方法可以通过调整与电路逻辑连接的时钟节点相对于系统时钟的延时来平衡各物理分区之间的时钟延时,从而不需要在底层和顶层之间多次反复分析和干预,缩短了实现时序收敛所消耗的时间。
下面结合图2A、图2B以及图3-图8来说明本公开至少一些实施例提供的对基于同一系统时钟的至少两个物理分区结构进行时钟设计的方法。在图 2A、图2B以及图3-图8所示出的实施例中,该至少两个物理分区结构包括第一物理分区结构和第二物理分区结构,第一物理分区结构和第二物理分区结构分别包括一个或多个电路逻辑,第一物理分区结构中的一部分电路逻辑的逻辑规模至少与第二物理分区结构中的一部分电路逻辑的逻辑规模不同,每个电路逻辑具有各自的时钟树,时钟从系统时钟进入第一物理分区结构,并经由第一物理分区结构进入第二物理分区结构。
图2A示出了本公开至少一实施例提供的对基于同一系统时钟的至少两个物理分区结构进行时钟设计的方法的流程图。
如图2A所示,该方法可以包括步骤S10~S40。
在步骤S10中,确定各个电路逻辑各自与系统时钟的距离。
在步骤S20中,根据各个电路逻辑各自与系统时钟的距离,来从系统时钟得到多个时钟节点,使得各个时钟节点相比于系统时钟的延时随与各个电路逻辑与系统时钟的距离的不同而不同,距离越大,延时越大。
在步骤S30中,将各个电路逻辑按照各个电路逻辑与距离的大小而连接到相应的时钟节点。
在步骤S40中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛。
在该实施例中,各个电路逻辑分别与多个时钟节点连接,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑之间的时序收敛,从而不需要在底层和顶层之间多次反复分析和干预,缩短了实现时序收敛所消耗的时间。
对于步骤S10,例如,系统时钟可以是该至少两个物理分区结构所在的时钟域的时钟源。例如,在图1所示的情景中,物理分区结构A和物理分区结构B同属于同一个时钟域,该时钟域由系统时钟CLK(即,时钟源)提供时钟信号,因此,步骤S10可以是确定物理分区结构A中的电路逻辑M1、物理分区结构B中的电路逻辑M2、物理分区结构B中的电路逻辑M3和物理分区结构B中的电路逻辑M4各自与系统时钟CLK的远近程度。
例如,电路逻辑M1与系统时钟CLK的距离为S1、电路逻辑M2与系统时钟CLK的距离为S2、电路逻辑M3与系统时钟CLK的距离为S3和电路逻辑M4与系统时钟CLK的距离为S4,并且S1<S2<S3<S4。
在本公开的一些实施例中,例如,根据该至少两个物理分区结构所属的集成电路的布局来确定各个电路逻辑各自与系统时钟的距离。例如,从集成电路的布局中获取各个电路逻辑以及系统时钟的位置坐标,从而通过位置坐标来确定各个电路逻辑各自与系统时钟的距离。
对于步骤S20,例如从系统时钟的信号传输路径中确定多个时钟节点,信号传输路径例如可以包括信号线以及位于信号线上器件(例如,缓冲器等)。该多个时钟节点分别与各个电路逻辑相对应,并且每个时钟节点相比于系统时钟的延时与每个时钟节点对应的电路逻辑到系统时钟的距离相关。例如,每个时钟节点对应的电路逻辑到系统时钟的距离越长,则每个时钟节点相比于系统时钟的延时越长。
在图1所示的情景中,例如从系统时钟的信号传输路径中确定4个时钟节点,4个时钟节点分别与电路逻辑M1、电路逻辑M2、电路逻辑M3和电路逻辑M4相对应,并且该4个时钟节点中每个时钟节点相比于系统时钟的延时与该4个时钟节点分别对应的电路逻辑到系统时钟的距离成正比。例如, S1<S2<S3<S4,则电路逻辑M1对应的时钟节点相比于系统时钟的延时小于电路逻辑M2对应的时钟节点相比于系统时钟的延时,电路逻辑M2对应的时钟节点相比于系统时钟的延时小于电路逻辑M3对应的时钟节点相比于系统时钟的延时,电路逻辑M3对应的时钟节点相比于系统时钟的延时小于电路逻辑M4对应的时钟节点相比于系统时钟的延时。
对于步骤S30,将各个电路逻辑连接到与电路逻辑相对应的时钟节点上。也就是说,按照各个电路逻辑到系统时钟的距离大小,将各个电路逻辑分别与各个时钟节点连接。例如,到系统时钟的距离较小的电路逻辑连接到相比于系统时钟的延时较小的时钟节点上,相反地,到系统时钟的距离较大的电路逻辑连接到相比于系统时钟的延时较大的时钟节点上。
当然,上述例子只示例性地示出了2个物理分区结构中的4个电路逻辑的示意图,然而实践中,可以存在多于2个物理分区结构,且时钟从1个物理分区结构进入到另一物理分区结构,再进入到下一物理分区结构,等等。而且,也可以存在在各个物理分区结构中的多于或少于4个电路逻辑。本发明的内容也可以适用于这些情况,其原理都是对多个物理分区结构中的多个电路逻辑统一进行设置延时不同的时钟节点。在本文中,将以2个物理分区结构中具有4个电路逻辑来描述本发明的各个实施例,但这不是限制。
图2B示出了本公开至少一实施例提供的根据步骤S20和步骤S30得到的时钟树结构示意图。
需要说明的是,图2B所示的时钟树结构示意图是以图1所示的情景为例而得到,但是这并不意味着本公开至少一实施例提供的时钟设计方法仅用于图1所示的情景。相反,本公开至少一实施例提供的时钟设计方法可以适用于任何对基于同一系统时钟的至少两个物理分区结构进行时钟设计的场景。图1和图2B所示的示例,仅仅是为了更好地阐明本公开至少一实施例提供的时钟设计方法的精神。
如图2B所示,该时钟树结构的时钟源为系统时钟200。在图1所示的情景中包括4个电路逻辑M1~M2,因此,从系统时钟200的信号线中确定4个时钟节点,分别为时钟节点210、时钟节点220、时钟节点230和时钟节点 240。
时钟节点210例如可以与电路逻辑M1对应,时钟节点220例如可以与电路逻辑M2对应,时钟节点230例如可以与电路逻辑M3对应,时钟节点 240例如可以与电路逻辑M4对应。
由于电路逻辑M1与系统时钟200的距离小于电路逻辑M2与系统时钟 200的距离,电路逻辑M2与系统时钟200的距离小于电路逻辑M3与系统时钟200的距离,电路逻辑M3与系统时钟200的距离小于电路逻辑M4与系统时钟200的距离,因此,时钟节点210、时钟节点220、时钟节点230以及时钟节点240到系统时钟200的距离可以依次增大。例如,如图2B所示,时钟节点210相比于系统时钟200的延时m小于时钟节点220相比于系统时钟 200的延时(m+a),时钟节点220相比于系统时钟200的延时(m+a)小于时钟节点230相比于系统时钟200的延时(m+a+b),时钟节点230相比于系统时钟200的延时(m+a+b)小于时钟节点240相比于系统时钟200的延时 (m+a+b+c)。需要理解的是,a,b,c都大于0,m大于或等于0,并且均代表延时的时间长度。在某一情况下,m可以等于0,即第一个时钟节点就是系统时钟本身。
在从系统时钟200的信号线中确定出多个时钟节点后,可以将各个电路逻辑连接到对应的时钟节点上。
例如,将电路逻辑M1连接到时钟节点210,电路逻辑M2连接到时钟节点220,电路逻辑M3连接到时钟节点230以及电路逻辑M4连接到时钟节点 240,以接收各自的时钟节点的时钟。
对于步骤S40,例如可以调整时钟节点220相比于系统时钟200的延时来使得电路逻辑M2和电路逻辑M1之间的时序收敛。调整时钟节点230相比于系统时钟200的延时来使得电路逻辑M3和电路逻辑M2之间的时序收敛。调整时钟节点240相比于系统时钟200的延时来使得电路逻辑M3和电路逻辑M4之间的时序收敛。
需要理解的是,虽然在上述实施例中均以电路逻辑为4个为例来说明的本公开实施例的实施方式,但是本公开不限定于至少两个物理分区结构包括 4个电路逻辑,实际上,集成电路的至少两个物理分区结构中包含的电路逻辑的数量往往大于4个或者小于或等于4个。
在本公开的一些实施例中,每个时钟节点相比于系统时钟的延时的改变通过改变系统时钟与每个时钟节点之间插入的缓冲器的个数或系统时钟与时钟节点之间插入的时钟调节器的调节值来实现。
对于步骤S40,例如在电路逻辑的数据路径已经最优的情况下,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛。
通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤包括:选择多个电路逻辑中出现时序违例的一条路径,并且确定与该路径相关联的电路逻辑,确定该路径的建立时间违例的时长,并且根据建立时间违例的时长,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑各自的时钟节点处的时钟延时。
在本公开的一些实施例中,根据建立时间违例的时长t1,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑各自的时钟节点处的时钟延时,包括:在建立时间违例的时长 t1小于或等于系统时钟的一个时钟周期的时间长度的情形中,调整与该路径相关联的电路逻辑中至少部分电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑各自的时钟节点处的时钟延时;以及在建立时间违例的时长t1大于系统时钟的一个时钟周期的时间长度的情形中,调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时。
例如,在图2B所示的情景中,在从第一逻辑电路M1到第二逻辑电路 M2的数据路径已经最优的情况下,若确定从第一逻辑电路M1到第二逻辑电路M2的时序违例的一条路径的建立时间违例的时长t1小于系统时钟的一个时钟周期的时间长度,则调整第一逻辑电路M1对应的时钟节点210到第二逻辑电路M2对应的时钟节点220之间的延时a,或者调整第二电路逻辑的时钟节点处的时钟延时。在从第一逻辑电路M1到第二逻辑电路M2的数据路径已经最优的情况下,若确定从第一逻辑电路M1到第二逻辑电路M2的时序违例的一条路径的建立时间违例的时长t1大于系统时钟的一个时钟周期的时间长度,则调整第二逻辑电路M2的时钟节点220处的时钟延时。调整第二逻辑电路M2时钟节点220处的时钟延时,例如可以是调整第二逻辑电路 M2对应的时钟节点220到第二逻辑电路M2之间的延时。
在本公开的一些实施例中,根据建立时间违例的时长,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,包括:根据建立时间违例的时长,增加与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者减少与该路径相关联的电路逻辑各自对应的时钟节点之间的延时。
例如,至少两个物理分区结构包括按时序先后顺序排列的N个电路逻辑, N为大于1的整数。例如,按时序先后顺序排列的N个电路逻辑分别为第一电路逻辑、第二电路逻辑、……第N电路逻辑,即,时钟信号依次经过第一电路逻辑、第二电路逻辑、……第N电路逻辑传输。该N个电路逻辑中时序位于第k电路逻辑之前的k个电路逻辑(包括第k电路逻辑)属于第一物理分区结构,k为大于等于1并且小于N的整数。该N个电路逻辑中除时序位于第k电路逻辑之前的k个电路逻辑之外的其他电路逻辑属于第二物理分区结构。
在上述情景中,在从第k电路逻辑到第k+1电路逻辑的数据路径已经最优的情况下,若从第k电路逻辑到第k+1电路逻辑的时序路径(即,数据信号从第k电路逻辑向第k+1电路逻辑传输)出现时序违例,则可以选择从第 k电路逻辑到第k+1电路逻辑的时序违例的一条路径,确定该路径的建立时间违例的时长t1,将第k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时增加t1或将第k+1电路逻辑处的时钟节点处的时钟增加延时t1。
另外,为了使得位于第k+1电路逻辑之后的其他电路逻辑之间的时序收敛,位于第k+1电路逻辑之后的其他电路逻辑对应的时钟节点的延时也需要进行相应地类似调整。也就是说,在对从第k电路逻辑到第k+1电路逻辑的时序违例路径调整完成后,该时钟设计方法还可以包括:针对选择从第k电路逻辑到第k+1电路逻辑的时序违例的一条路径的情形,从第k+1电路逻辑开始,依次选择相邻的两个电路逻辑中的时序违例的一条路径;针对每相邻的两个电路逻辑中的时序违例的一条路径,根据建立时间违例的时长t1,将第k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时增加t1或将第k+1电路逻辑处的时钟节点处的时钟增加延时t1。
例如,选择第k+1电路逻辑的时钟节点到第k+2电路逻辑中的时序违例的一条路径,将第k+1电路逻辑的时钟节点到第k+2电路逻辑的时钟节点之间的延时增加t1或将第k+2电路逻辑处的时钟节点处的时钟增加延时 t1,……,将第N-1电路逻辑的时钟节点到第N电路逻辑的时钟节点之间的延时增加t1或将第N电路逻辑处的时钟节点处的时钟增加延时t1。
类似地,在从第k+1电路逻辑到第k电路逻辑的数据路径已经最优的情况下,若从第k+1电路逻辑到第k电路逻辑的时序路径(即,数据信号从第 k+1电路逻辑向第k电路逻辑传输)出现时序违例,则可以选择从第k电路逻辑到第k+1电路逻辑的时序违例的一条路径,确定该路径的建立时间违例的时长t2,将第k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时减小t2或将第k电路逻辑处的时钟节点处的时钟增加延时t2。另外,为了使得位于第k+1电路逻辑之后的其他电路逻辑之间的时序收敛,位于第k+1 电路逻辑之后的其他电路逻辑对应的时钟节点的延时也需要进行相应地类似调整。例如,在对从第k+1电路逻辑到第k电路逻辑的时序违例路径调整完成后,该时钟设计方法还可以包括:针对每相邻的两个电路逻辑中的时序违例的一条路径,根据建立时间违例的时长t2,将第k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时减小t2或将第k电路逻辑处的时钟节点处的时钟增加延时t1。
需要说明的是,虽然在上文中均是以“电路逻辑的数据路径已经最优的情况下”来说明时钟设计方法的,但是本公开的时钟设计方法并不限定于必须在数据路径已经最优的情况下来实施,相反,本公开的时钟设计方法可以根本时钟设计人员的意愿在任何情况下运用。
为了更清楚地说明上述实施例,下面结合图1、图2B所示的情景以及图 3进一步说明步骤S40的实施方式。
图3示出了本公开至少一实施例提供的步骤S40的方法流程图。
如图3所示,步骤S40可以包括步骤S41~步骤S45。
在步骤S41中,选择从第一电路逻辑到第二电路逻辑的时序违例的一条路径。
在本公开的一些实施例中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑。例如,时钟信号依次经过第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑。
例如,步骤S41选择数据信号从第一电路逻辑传输到第二电路逻辑的时序违例的一条路径。
下面结合图1来说明步骤S41。如图1所示,第一物理分区结构A和第二物理分区结构B包括多个按时序先后顺序排列的第一电路逻辑M1、第二电路逻辑M2、第三电路逻辑M3和第四电路逻辑M4。第一电路逻辑M1位于第一物理分区结构A中,第二电路逻辑M2、第三电路逻辑M3和第四电路逻辑M4位于第二物理分区结构B。在将第一物理分区结构A和第二物理分区结构B合并后,第一电路逻辑M1到第二电路逻辑M2的时序路径往往容易出现时序违例。
对于步骤S41,例如可以选择从第一电路逻辑M1到第二电路逻辑M2中出现时序违例的一条路径,即,数据信号从第一电路逻辑M1传输到第二电路逻辑M2中出现时序违例的一条路径。
例如,读取由DC(design complier,逻辑综合工具)创建的门级设计文件(例如.ddc文件),从而从门级设计文件中获取出现时序违例的一条路径。
在步骤S42中,确定路径的建立时间违例的时长为x1。
例如,可以读取门级设计文件,从门级设计文件中确定路径的建立时间违例的时长x1。x1为时间长度。
路径的建立时间违例的时长是指时钟信号的有效沿(例如上升沿或者下降沿)到达第二电路逻辑M2的实际时刻相比于满足时序收敛所要求的时钟信号的上升沿或者下降沿到达第二电路逻辑M2的时刻提前的时间长度。满足时序收敛的要求可以是数据信号到达第二电路逻辑M2的时刻比时钟信号到达第二电路逻辑M2的时刻至少早一个建立时间(setup time)的长度。因此,需要对到达第二电路逻辑M2的时钟信号进行延时或者使数据信号到达第二电路逻辑M2的时刻提前。
在步骤S43中,在时序违例的时长x1小于或等于系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a增加x1或将第二电路逻辑处的时钟节点处的时钟增加延时 x1。a为时间长度。
如图2B所示,系统时钟200通过信号传输路径将时钟信号依次传输到时钟节点210、时钟节点220、时钟节点230和时钟节点240。由于每相邻的两个时钟节点之间需要通过信号传输路径传输,因此每相邻的两个时钟节点之间的时钟信号存在延时。例如,第一电路逻辑M1的时钟节点210到第二电路逻辑M2的时钟节点220之间存在延时a。
对于步骤S43,在本公开的一些实施例中,可以通过调整第一电路逻辑 M1的时钟节点210到第二电路逻辑M2的时钟节点220之间的延时a来实现时序收敛。例如,在步骤S42中确定建立时间违例时长为x1,则需要对到达第二电路逻辑M2的时钟信号延时x1,因此可以将第一电路逻辑M1的时钟节点210到第二电路逻辑M2的时钟节点220之间的延时a增加x1,即延时变为a+x1。
例如,可以增加第一电路逻辑M1的时钟节点210到第二电路逻辑M2 的时钟节点220之间的缓冲器201的个数,来使得第一电路逻辑M1的时钟节点210到第二电路逻辑M2的时钟节点220之间的延时a增加x1,即时钟节点210到时钟节点220之间的延时变为a+x1。
通过调整第一电路逻辑M1的时钟节点210到第二电路逻辑M2的时钟节点220之间的延时,可以使得第一电路逻辑M1和第二电路逻辑M2之间所有建立时间违例时长小于或等于x1的路径的时序收敛,从而不需要对每条路径的时序分别进行调整,进而达到了缩短了实现时序收敛所消耗的时间的效果。
对于步骤S43,在本公开的另一些实施例中,例如将第二电路逻辑M2处的时钟节点处的时钟增加延时x1来实现第一电路逻辑M1和第二电路逻辑 M2之间的时序收敛。例如,将第二电路逻辑M2的时钟节点220处的时钟增加延时x1来实现第一电路逻辑M1和第二电路逻辑M2之间的时序收敛。增加第二电路逻辑M2的时钟节点220处的时钟的延时,例如可以是在第二电路逻辑M2和第二电路逻辑M2的时钟节点220之间增加延时。即,可以通过调整电路逻辑到该电路逻辑的时钟节点之间的延时来实现时序收敛。例如,在第二电路逻辑M2和第二电路逻辑M2的时钟节点220之间增加缓冲器202 的个数,来将第二电路逻辑M2处的时钟节点处的时钟增加延时x1。
该实施例可以针对性地对单个电路逻辑的时序进行调整,不会影响到其他电路逻辑的时序。
在步骤S43中,在所述时序违例的时长x1小于或等于系统时钟的一个时钟周期的时间长度的情形中,通过将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a增加x1或将第二电路逻辑处的时钟节点处的时钟增加延时x1,调整了第二电路逻辑的时钟节点相比于系统时钟的延时。
在本公开的一些实施例中,由于调整了时钟节点220相比于系统时钟200 的延时,导致后续时钟节点之间的时序变差x1,例如第二电路逻辑的时钟节点到第三电路逻辑的时序变差x1,因此需要对后续时钟节点之间的时序进行调节。例如,执行步骤S44和步骤S45以调整后续时钟节点之间的时序。
在步骤S44中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b增加x1或将第三电路逻辑处的时钟节点处的时钟增加延时x1。 b为时间长度。
在本公开的一些实施例中,例如,将第二电路逻辑M2的时钟节点220到第三电路逻辑M3的时钟节点230之间的延时b增加x1,即时钟节点220到时钟节点230之间的延时变为b+x1。例如,在第二电路逻辑M2的时钟节点 220到第三电路逻辑M3的时钟节点230之间增加插入的缓冲器的个数或者调节时钟节点220到时钟节点230之间时钟调节器的调节值,从而将时钟节点220和时钟节点230的延时b增加x1。在本公开的另一些实施例中,例如,将第三电路逻辑M3的时钟节点230处的时钟增加延时x1。例如,在第三电路逻辑M3和第三电路逻辑M3的时钟节点230之间增加插入的缓冲器203 的个数或者调节第三电路逻辑M3和时钟节点230之间时钟调节器的调节值,来将第三电路逻辑M3处的时钟节点处的时钟增加延时x1。
在步骤S45中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c增加x1或将第四电路逻辑处的时钟节点处的时钟增加延时x1。 c为时间长度。
在本公开的一些实施例中,例如,将第三电路逻辑M3的时钟节点230到第四电路逻辑M4的时钟节点240之间的延时c增加x1,即时钟节点230到时钟节点240之间的延时变为c+x1。例如,在时钟节点230到时钟节点240 之间增加插入的缓冲器的个数,从而将时钟节点230和时钟节点240的延时 c增加x1。在本公开的另一些实施例中,例如,将第四电路逻辑M4的时钟节点240处的时钟增加延时x1。例如,在第四电路逻辑M4和第四电路逻辑 M4的时钟节点240之间增加插入的缓冲器的个数或者调节时钟调节器的调节值,来将第四电路逻辑M4处的时钟节点处的时钟增加延时x1。
在本公开的至少一实施例中,在对从第k电路逻辑到第k+1电路逻辑的时序违例的路径调整完成后,可以进一步地调整第k+1电路逻辑到第k+2电路逻辑的时序违例的路径。例如,在图2B所示的情景中,在按照图3所描述的方法对第一电路逻辑M1到第二电路逻辑M2的时序违例的路径调整完整后,可以进一步地调整第二电路逻辑M2到第三电路逻辑M3之间的时序违例的路径。
图4示出了本公开至少一实施例提供的另一步骤S40的方法流程图。
如图4所示,步骤S40除包含图3所示的步骤S41~步骤S45之外,还可以进一步包括步骤S46~步骤S49。例如,步骤S46~步骤S49可以在步骤S45 之后执行。
在步骤S46中,选择从各个电路逻辑中的第二电路逻辑到第三电路逻辑的时序违例的一条路径。
例如,在图2B所示的情景中,选择从第二电路逻辑M2到第三电路逻辑 M3的时序违例的一条路径。例如,读取由DC创建的门级设计文件(例如.ddc 文件),从而从门级设计文件中获取从第二电路逻辑M2到第三电路逻辑M3 出现时序违例的一条路径。
在步骤S47中,确定路径的建立时间违例的时长为x2。x2为时间长度。
该步骤S47与上文图3中的步骤S42类似,在此不再赘述。
在步骤S48中,在时序违例的时长x2小于或等于系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再增加x2或将第三电路逻辑处的时钟节点处的时钟再增加延时x2。
如图2B所示,例如,第二电路逻辑M2的时钟节点220到第三电路逻辑 M3的时钟节点230之间存在延时b。
对于步骤S48,在本公开的一些实施例中,可以通过调整第二电路逻辑 M2的时钟节点220到第三电路逻辑M3的时钟节点230之间的延时b来实现时序收敛。例如,从第二电路逻辑M2的时钟节点220到第三电路逻辑M3 的时序路径的建立时间违例时长为x2,则需要对到达第三电路逻辑M3的时钟信号延时x2,因此可以将第二电路逻辑M2的时钟节点220到第三电路逻辑M3的时钟节点230之间的延时b增加x2,即时钟节点220到时钟节点230 之间的延时变为b+x1+x2。例如,可以在第二电路逻辑M2的时钟节点220到第三电路逻辑M3的时钟节点230之间增加插入的缓冲器或者改变时钟调节器的调节值来使得延时b增加x2。
对于步骤S48,在本公开的另一些实施例中,例如可以将第三电路逻辑 M3处的时钟节点处的时钟增加延时x2。例如,可以将第三电路逻辑M3和与第三电路逻辑M3对应的时钟节点230之间的时钟增加延时x2来实现将第三电路逻辑M3处的时钟节点处的时钟增加延时x2。
在步骤S49中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x2或将第四电路逻辑处的时钟节点处的时钟再增加延时 x2。
在本公开的一些实施例中,例如可以将第三电路逻辑M3的时钟节点230 到第四电路逻辑M4的时钟节点240之间的延时c增加x2,即时钟节点230 到时钟节点240之间的延时变为c+x1+x2。或者,将第四电路逻辑M4的时钟节点240处的时钟增加延时x2。例如,将第四电路逻辑M4与时钟节点240 之间的时钟增加延时x2。
在本公开的至少一实施例中,在对从第k+1电路逻辑到第k+2电路逻辑的时序违例的路径调整完成后,可以进一步地调整第k+2电路逻辑到第k+3 电路逻辑的时序违例的路径,以及后续的电路逻辑,直至所有电路逻辑之间的时序违例路径调整完成。例如,在图2B所示的情景中,在按照图4所描述的方法对第二电路逻辑M2到第三电路逻辑M3之间的时序违例的路径调整完成后,可以进一步地调整第三电路逻辑M3到第四电路逻辑M4的时序违例的一条路径。
图5示出了本公开至少一实施例提供的另一步骤S40的方法流程图。
如图5所示,步骤S40除图4所示的实施例的基础上还可以进一步包括步骤S51~步骤S53。例如,步骤S51~步骤S53可以在步骤S49之后执行。
在步骤S51中,选择从各个电路逻辑中的第三电路逻辑到第四电路逻辑的时序违例的一条路径。
例如,在图2B所示的情景中,选择从第三电路逻辑M3到第四电路逻辑 M4的时序违例的一条路径。例如,读取由DC创建的门级设计文件(例如.ddc 文件),从而从门级设计文件中获取从第三电路逻辑M3到第四电路逻辑M4 出现时序违例的一条路径。
在步骤S52中,确定路径的建立时间违例的时长为x3。x3为时间长度。
该步骤S52与上文图4中的步骤S47类似,在此不再赘述。
在步骤S53中,在时序违例的时长x3小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x3或将第四电路逻辑处的时钟节点处的时钟再增加延时x3。
如图2B所示,例如,第三电路逻辑M3的时钟节点230到第四电路逻辑 M4的时钟节点240之间存在延时c。
对于步骤S53,在本公开的一些实施例中,可以通过调整第三电路逻辑M3的时钟节点230到第四电路逻辑M4的时钟节点240之间的延时c来实现时序收敛。例如,从第三电路逻辑M3的时钟节点230到第四电路逻辑M4的时序路径的建立时间违例时长为x3,则需要对到达第四电路逻辑M4的时钟信号延时x3,因此可以将第三电路逻辑M3的时钟节点230到四电路逻辑M4 的时钟节点240之间的延时c增加x3,即时钟节点230到时钟节点240之间的延时变为c+x1+x2+x3。
对于步骤S53,在本公开的另一些实施例中,例如可以将第四电路逻辑M4处的时钟节点处的时钟增加延时x3。例如,可以将第四电路逻辑M4和与第四电路逻辑M4的时钟节点240之间的时钟增加延时x3来实现将第四电路逻辑M4处的时钟节点处的时钟增加延时x3。即,可以通过调整电路逻辑到该电路逻辑对应的时钟节点之间的延时来实现时序收敛。
步骤S53可以参考图4描述的步骤S49,在此不再赘述。
在本公开的另一些实施例中,若在图3的步骤S42中所确定的时间违例的时长x1大于系统时钟的一个时钟周期的时间长度,则可以将第二电路逻辑处的时钟节点处的时钟增加延时x1,将第三电路逻辑处的时钟节点处的时钟增加延时x1,以及将第四电路逻辑处的时钟节点处的时钟增加延时x1。
例如,若时间违例的时长x1大于系统时钟的一个时钟周期的时间长度,则可以针对每个电路逻辑所在的时钟路径延时x1。例如,针对第二电路逻辑处的时钟节点处的时钟增加延时x1,可以是将时钟信号在时钟节点220和第二电路逻辑M2之间增加延时x1。类似地,对于第三电路逻辑处的时钟节点处的时钟增加延时x1可以是将时钟信号在时钟节点230和第三电路逻辑M3 之间增加延时x1。类似地,可以对第四电路逻辑处的时钟节点处的时钟增加延时x1,在此不再赘述。
在本公开的另一些实施例中,若在图4的步骤S47中确定x2大于系统时钟的一个时钟周期的时间长度,则可以将第三电路逻辑处的时钟节点处的时钟增加延时x2,以及将第四电路逻辑处的时钟节点处的时钟增加延时x2。
在本公开的另一些实施例中,若在图5的步骤S52中确定x3大于系统时钟的一个时钟周期的时间长度,则可以将第四电路逻辑处的时钟节点处的时钟增加延时x3。
下面结合图6说明本公开至少一实施例提供的从第k+1电路逻辑到第k 电路逻辑的时序路径(即,数据信号从第k+1电路逻辑向第k电路逻辑传输) 出现时序违例的设计方法的流程图。
图6示出了本公开至少一实施例提供的另一种步骤S40的方法流程图。
如图6所示,步骤S40可以包括步骤S61~步骤S65。
在步骤S61中,选择从第二电路逻辑到第一电路逻辑的时序违例的一条路径。
在本公开的一些实施例中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑。例如,时钟信号依次经过第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑。
例如,步骤S61为选择数据信号从第二电路逻辑向第一电路逻辑传输出现时序违例的一条路径。例如,在图2B所示的情景中,选择数据信号从第二电路逻辑M2到第一电路逻辑M1出现时序违例的一条路径。
例如,读取由DC创建的门级设计文件(例如.ddc文件),从而从门级设计文件中获取出现时序违例的一条路径。
在步骤S62中,确定路径的建立时间违例的时长为y1。
例如,可以读取门级设计文件,从门级设计文件中确定路径的建立时间违例的时长y1。y1为时间长度。
在步骤S63中,在时序违例的时长y1小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a减小y1或将第一电路逻辑处的时钟节点处的时钟增加延时y1。
在本公开的一些实施例中,例如若时序违例的时长y1小于或等于所述系统时钟的一个时钟周期的时间长度,将第一电路逻辑M1的时钟节点210到第二电路逻辑的时钟节点220之间的延时a减少y1,即时钟节点210到时钟节点220之间的延时变为a-y1,以便系统时钟提前y1到达第二电路逻辑M2,从而第二电路逻辑M2向第一电路逻辑M1发送的数据信号可以提前y1到达第一电路逻辑M1,从而实现从第二电路逻辑M2到第一电路逻辑M1之间的时序收敛。
在本公开的另一些实施例中,若时序违例的时长y1小于或等于所述系统时钟的一个时钟周期的时间长度,可以将第一电路逻辑M1处的时钟节点210 处的时钟增加延时y1,以对到达第一电路逻辑M1的时钟信号进行延时,从而实现从第二电路逻辑M2到第一电路逻辑M1之间的时序收敛。例如,可以将第一电路逻辑M1和与第一电路逻辑M1对应的时钟节点210之间的时钟增加延时y1来实现将第一电路逻辑M1处的时钟节点处的时钟增加延时 y1。例如,在第一电路逻辑M1和时钟节点210之间增加插入的缓冲器的个数,或者调整位于第一电路逻辑M1和时钟节点210之间的时钟调节器的调节值来增加延时y1。
在本公开的一些实施例中,由于调整了时钟节点220相比于系统时钟200 的延时,导致后续时钟节点之间的时序变差y1,例如第二电路逻辑的时钟节点到第三电路逻辑的时序变差y1,因此需要对后续时钟节点之间的时序进行调节。例如,执行步骤S64和步骤S65以调整后续时钟节点之间的时序。
在步骤S64中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b减小y1或将第二电路逻辑处的时钟节点处的时钟增加延时y1。
在本公开的一些实施例中,例如,将第二电路逻辑M2的时钟节点220到第三电路逻辑M3的时钟节点230之间的延时b减小y1,即时钟节点220到时钟节点230之间的延时变为b-y1。例如,减少在第二电路逻辑M2的时钟节点220到第三电路逻辑M3的时钟节点230之间缓冲器的个数或者调节时钟节点220到时钟节点230之间时钟调节器的调节值,从而将时钟节点220 和时钟节点230的延时b减小y1。
在本公开的另一些实施例中,例如,将第二电路逻辑M2的时钟节点220 处的时钟增加延时y1。例如,在第二电路逻辑M2和第二电路逻辑M2的时钟节点220之间增加插入的缓冲器202的个数或者调节第二电路逻辑M2和时钟节点220之间时钟调节器的调节值,来将第二电路逻辑M2处的时钟节点处的时钟增加延时y1。
在步骤S65中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c减小y1或将第三电路逻辑处的时钟节点处的时钟增加延时y1。
在本公开的一些实施例中,例如,将第三电路逻辑M3的时钟节点230到第四电路逻辑M4的时钟节点240之间的延时c减小y1,即时钟节点230到时钟节点240之间的延时变为c-y1。例如,减少在时钟节点230到时钟节点 240之间缓冲器的个数或者调节时钟节点230和时钟节点240之间的时钟调节器的调节值,从而将时钟节点230和时钟节点240的延时c减小y1。
在本公开的另一些实施例中,例如,将第三电路逻辑M3的时钟节点230 处的时钟增加延时y1。例如,在第三电路逻辑M3和第三电路逻辑M3的时钟节点230之间增加插入的缓冲器的个数或者调节第三电路逻辑M3和时钟节点230之间的时钟调节器的调节值,来将第三电路逻辑M3处的时钟节点处的时钟增加延时y1。
在本公开的至少一实施例中,在对从第k+1电路逻辑到第k电路逻辑的时序违例的路径调整完成后,可以进一步地调整第k+2电路逻辑到第k+1电路逻辑的时序违例的路径。例如,在图2B所示的情景中,在按照图6所描述的方法对第二电路逻辑M2到第一电路逻辑M1的时序违例的路径调整完整后,可以进一步地调整第三电路逻辑M3到第二电路逻辑M2之间的时序违例的路径。
图7示出了本公开至少一实施例提供的另一步骤S40的方法流程图。
如图7所示,步骤S70除包含图6所示的步骤S61~步骤S65之外,还可以进一步包括步骤S66~步骤S69。例如,步骤S66~步骤S69可以在步骤S65 之后执行。
在步骤S66中,选择从第三电路逻辑到第二电路逻辑的时序违例的一条路径。
例如,在图2B所示的情景中,选择从第三电路逻辑M3到第二电路逻辑 M2的时序违例的一条路径。例如,读取由DC创建的门级设计文件(例如.ddc 文件),从而从门级设计文件中获取从第三电路逻辑M3到第二电路逻辑M2 出现时序违例的一条路径。
在步骤S67中,确定所述路径的建立时间违例的时长为y2。
x2为时间长度。该步骤S67与上文图6中的步骤S62类似,在此不再赘述。
在步骤S68中,在时序违例的时长y2小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再减少y2或将第二电路逻辑处的时钟节点处的时钟再增加延时y2。
在本公开的一些实施例中,例如,将第二电路逻辑M2的时钟节点220到第三电路逻辑M3的时钟节点230之间的延时b减小y2,即时钟节点220到时钟节点230之间的延时变为b-y1-y2。例如,减少在第二电路逻辑M2的时钟节点220到第三电路逻辑M3的时钟节点230之间插入的缓冲器的个数或者调节时钟节点220到时钟节点230之间时钟调节器的调节值,从而将时钟节点220和时钟节点230的延时b减小y2。
在本公开的另一些实施例中,例如,将第二电路逻辑M2的时钟节点220 处的时钟增加延时y2。例如,在第二电路逻辑M2和第二电路逻辑M2的时钟节点220之间增加插入的缓冲器202的个数或者调节第二电路逻辑M2和时钟节点220之间时钟调节器的调节值,来将第二电路逻辑M2处的时钟节点处的时钟增加延时y2。
在步骤S69中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y2或将第三电路逻辑处的时钟节点处的时钟再增加延时 y2。
该步骤S69与上文图6中的步骤S65类似,在此不再赘述。
图8示出了本公开至少一实施例提供的另一步骤S40的方法流程图。
如图8所示,步骤S40在图7所示的实施例的基础上,还进一步包括步骤S81~步骤S83。例如,步骤S81~步骤S83可以在步骤S69之后执行。
在步骤S81中,选择从各个电路逻辑中的第四电路逻辑到第三电路逻辑的时序违例的一条路径。
例如,在图2B所示的情景中,选择从第四电路逻辑M4到第三电路逻辑 M3的时序违例的一条路径。例如,读取由DC创建的门级设计文件(例如.ddc 文件),从而从门级设计文件中获取从第三电路逻辑M3到第四电路逻辑M4 出现时序违例的一条路径。
在步骤S82中,确定路径的建立时间违例的时长为y3。
y3为时间长度。
在步骤S83中,在所述时序违例的时长y3小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y3或将第三电路逻辑处的时钟节点处的时钟再增加延时y3。
步骤S83可以参考图6描述的步骤S65,在此不再赘述。
在本公开的另一些实施例中,若在图6的步骤S62中所确定的时间违例的时长y1大于系统时钟的一个时钟周期的时间长度,则可以将第一电路逻辑处的时钟节点处的时钟增加延时y1。相应地,第二电路逻辑处的时钟节点处的时钟增加延时y1,将第三电路逻辑处的时钟节点处的时钟增加延时y1。
例如,若时间违例的时长y1大于系统时钟的一个时钟周期的时间长度,则可以针对每个电路逻辑所在的时钟路径延时y1。例如,针对第一电路逻辑处的时钟节点处的时钟增加延时y1,可以是将时钟信号在时钟节点210和第一电路逻辑M1之间增加延时y1。类似地,对于第二电路逻辑M2处的时钟节点处的时钟增加延时y1可以是将时钟信号在时钟节点220和第二电路逻辑M2之间增加延时y1。类似地,可以对第三电路逻辑处的时钟节点处的时钟增加延时y1,在此不再赘述。
在本公开的另一些实施例中,若在图7的步骤S67中确定y2大于系统时钟的一个时钟周期的时间长度,则可以将第二电路逻辑处的时钟节点处的时钟增加延时y2,以及将第三电路逻辑处的时钟节点处的时钟增加延时y2。
在本公开的另一些实施例中,若在图8的步骤S82中确定y3大于系统时钟的一个时钟周期的时间长度,则可以将第三电路逻辑处的时钟节点处的时钟增加延时y3。
本公开的另一方面提供了一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的系统。
图9示出了本公开至少一实施例提供的一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的系统的方框图。
如图9所示,该时钟设计系统900可以包括确定单元910、获取单元920、连接单元930以及调整单元940。
确定单元910配置为确定各个电路逻辑各自与系统时钟的距离。确定单元910例如执行上文参考图2A描述的操作S10。
获取单元920配置为根据各个电路逻辑各自与系统时钟的距离,来从系统时钟得到多个时钟节点,使得各个时钟节点相比于系统时钟的延时随与各个电路逻辑与系统时钟的距离的不同而不同,距离越大,延时越大。获取单元920例如执行上文参考图2A描述的操作S20。
连接单元930配置为将各个电路逻辑按照各个电路逻辑与距离的大小而连接到相应的时钟节点。连接单元930例如执行上文参考图2A描述的操作 S30。
调整单元940配置为通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛。调整单元940例如执行上文参考图2A描述的操作S40。
例如,确定单元910、获取单元920、连接单元930以及调整单元940 可以为硬件、软件、固件以及它们的任意可行的组合。例如,确定单元 910、获取单元920、连接单元930以及调整单元940可以为专用或通用的电路、芯片或装置等,也可以为处理器和存储器的结合。关于上述各个单元的具体实现形式,本公开的实施例对此不作限制。
需要说明的是,本公开的实施例中,时钟设计系统900的各个单元与前述的时钟设计方法的各个步骤对应,关于时钟设计系统900的具体功能可以参考关于时钟设计方法的相关描述,此处不再赘述。图9所示的时钟设计系统900的组件和结构只是示例性的,而非限制性的,根据需要,该时钟设计系统900还可以包括其他组件和结构。
图10示出了本公开至少一实施例提供的另一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的系统的方框图。
如图10所示,该时钟设计系统1000可以包括存储器1010和处理器1020。
存储器1010存储计算机程序代码,以在处理器1020的执行下进行如下步骤:确定各个电路逻辑各自与系统时钟的距离;根据各个电路逻辑各自与系统时钟的距离,来从系统时钟得到多个时钟节点,使得各个时钟节点相比于系统时钟的延时随与各个电路逻辑与系统时钟的距离的不同而不同,其中距离越大,延时越大;将各个电路逻辑按照各个电路逻辑与距离的大小而连接到相应的时钟节点;通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛。
在本公开的一些实施例中,处理器1020可以执行本技术所描述的实施例中的各个功能和/或方法的步骤,在此不再赘述。
图11示出了适于用来实现本发明实施方式的示例性计算机系统的框图。
计算机系统可以包括处理器(H1);存储器(H2),耦合于处理器(H1),且在其中存储计算机可执行指令,用于在由处理器执行时进行本发明的实施例的各个方法的步骤。
处理器(H1)可以包括但不限于例如一个或者多个处理器或者或微处理器等。
存储器(H2)可以包括但不限于例如,随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPROM存储器、EEPROM存储器、寄存器、计算机存储介质(例如硬碟、软碟、固态硬盘、可移动碟、CD-ROM、DVD-ROM、蓝光盘等)。
除此之外,该计算机系统还可以包括数据总线(H3)、输入/输出(I/O) 总线(H4),显示器(H5)以及输入/输出设备(H6)(例如,键盘、鼠标、扬声器等)等。
处理器(H1)可以通过I/O总线(H4)经由有线或无线网络(未示出) 与外部设备(H5、H6等)通信。
存储器(H2)还可以存储至少一个计算机可执行指令,用于在由处理器 (H1)运行时执行本技术所描述的实施例中的各个功能和/或方法的步骤。
在一个实施例中,该至少一个计算机可执行指令也可以被编译为或组成计算机程序软件产品,其中所述一个或多个计算机可执行指令被处理器运行时执行本技术所描述的实施例中的各个功能和/或方法的步骤。
当然,上述的具体实施例仅是例子而非限制,且本领域技术人员可以根据本发明的构思从上述分开描述的各个实施例中合并和组合一些步骤和装置来实现本发明的效果,这种合并和组合而成的实施例也被包括在本发明中,在此不一一描述这种合并和组合。
注意,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
本公开中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤。如本领域技术人员将认识到的,可以按任意顺序进行以上实施例中的步骤的顺序。诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。此外,例如使用冠词“一个”、“一”或者“该”对于单数的要素的任何引用不被解释为将该要素限制为单数。
另外,本文中的各个实施例中的步骤和装置并非仅限定于某个实施例中实行,事实上,可以根据本发明的概念来结合本文中的各个实施例中相关的部分步骤和部分装置以构思新的实施例,而这些新的实施例也包括在本发明的范围内。
以上描述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于硬件的电路、专用集成电路(ASIC)或处理器。
可以利用被设计用于进行在此描述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行描述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的微处理器或任何其他这样的配置。
结合本公开描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPROM存储器、EEPROM存储器、寄存器、硬碟、可移动碟、CD-ROM等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。
在此公开的方法包括用于实现描述的方法的动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。
上述功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为指令存储在切实的计算机可读介质上。存储介质可以是可以由计算机访问的任何可用的切实介质。通过例子而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟存储、磁碟存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他切实介质。如在此使用的,碟(disk)和盘(disc)包括紧凑盘(CD)、激光盘、光盘、数字通用盘(DVD)、软碟和蓝光盘,其中碟通常磁地再现数据,而盘利用激光光学地再现数据。
因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由处理器执行以进行在此描述的操作。计算机程序产品可以包括包装的材料。
软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或诸如红外、无线电或微波的无线技术的传输介质从网站、服务器或者其他远程源传输软件。
此外,用于进行在此描述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此描述的方法的手段的传送。或者,在此描述的各种方法可以经由存储部件(例如RAM、ROM、诸如CD或软碟等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此描述的方法和技术提供给设备的任何其他适当的技术。
其他例子和实现方式在本公开和所附权利要求的范围和精神内。例如,由于软件的本质,以上描述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着 A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
可以不脱离由所附权利要求定义的教导的技术而进行对在此描述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上描述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此描述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (24)

1.一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的方法,其中,所述至少两个物理分区结构包括第一物理分区结构和第二物理分区结构,所述第一物理分区结构和第二物理分区结构分别包括一个或多个电路逻辑,其中所述第一物理分区结构中的一部分电路逻辑的逻辑规模至少与所述第二物理分区结构中的一部分电路逻辑的逻辑规模不同,每个电路逻辑具有各自的时钟树,其中,时钟从所述系统时钟进入所述第一物理分区结构,并经由所述第一物理分区结构进入所述第二物理分区结构,
其中,所述时钟设计方法包括如下步骤:
确定各个电路逻辑各自与系统时钟的距离;
根据各个电路逻辑各自与系统时钟的距离,来从系统时钟得到多个时钟节点,使得各个时钟节点相比于系统时钟的延时随与各个电路逻辑与系统时钟的距离的不同而不同,其中距离越大,延时越大;
将各个电路逻辑按照各个电路逻辑与距离的大小而连接到相应的时钟节点;
通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛,包括:
选择多个电路逻辑中出现时序违例的一条路径,并且确定与该路径相关联的电路逻辑;
确定该路径的建立时间违例的时长t1;以及
根据建立时间违例的时长t1,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时,
其中,调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时包括:
针对所述至少部分电路逻辑中的每个电路逻辑,调整所述电路逻辑到所述电路逻辑的时钟节点之间的时钟延时。
2.根据权利要求1所述的方法,其中,根据建立时间违例的时长t1,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时,包括:
在所述建立时间违例的时长t1小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时;以及
在所述建立时间违例的时长t1大于所述系统时钟的一个时钟周期的时间长度的情形中,调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时。
3.根据权利要求1所述的方法,其中,至少两个物理分区结构包括按时序先后顺序排列的N个电路逻辑,
所述选择多个电路逻辑中出现时序违例的一条路径,并且确定与该路径相关联的电路逻辑,包括:
选择从第k电路逻辑到第k+1电路逻辑的时序违例的一条路径,所述第k电路逻辑和所述第k+1电路逻辑为与所述路径相关联的电路逻辑,
根据所述建立时间违例的时长t1,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑各自的时钟节点处的时钟延时,包括:
将第k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时增加t1或将第k+1电路逻辑处的时钟节点处的时钟增加延时t1,
或者,
所述选择多个电路逻辑中出现时序违例的一条路径,并且确定与该路径相关联的电路逻辑,包括:
选择从第k+1电路逻辑到第k电路逻辑的时序违例的一条路径,所述第k+1电路逻辑和所述第k电路逻辑为与所述路径相关联的电路逻辑,
根据所述建立时间违例的时长t2,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑各自的时钟节点处的时钟延时,包括:
将第k电路逻辑的时钟节点到第k+1电路逻辑的时钟节点之间的延时减少t2或将第k电路逻辑处的时钟节点处的时钟增加延时t2,
其中,N为大于或等于2的整数,k为大于0小于N的整数。
4.根据权利要求3所述的方法,还包括:
针对选择从第k电路逻辑到第k+1电路逻辑的时序违例的一条路径的情形,从所述第k+1电路逻辑开始,依次选择相邻的两个电路逻辑中的时序违例的一条路径;
针对每相邻的两个电路逻辑中的时序违例的一条路径,根据建立时间违例的时长t1,将第k+1电路逻辑的时钟节点到第k+2电路逻辑的时钟节点之间的延时增加t1或将第k+2电路逻辑处的时钟节点处的时钟增加延时t1;
或者,
针对选择从第k+1电路逻辑到第k电路逻辑的时序违例的一条路径的情形,从所述第k+1电路逻辑开始,依次选择相邻的两个电路逻辑中的时序违例的一条路径;
针对每相邻的两个电路逻辑中的时序违例的一条路径,根据建立时间违例的时长t2,将第k+1电路逻辑的时钟节点到第k+2电路逻辑的时钟节点之间的延时减小t2或将第k+1电路逻辑处的时钟节点处的时钟增加延时t2。
5.根据权利要求1所述的方法,其中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑,
其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤包括:
选择从第一电路逻辑到第二电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为x1;
在所述时序违例的时长x1小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a增加x1或将第二电路逻辑处的时钟节点处的时钟增加延时x1;
将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b增加x1或将第三电路逻辑处的时钟节点处的时钟增加延时x1;
将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c增加x1或将第四电路逻辑处的时钟节点处的时钟增加延时x1,
其中,a、b、c、x1为时间长度。
6.根据权利要求5所述的方法,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:
选择从各个电路逻辑中的第二电路逻辑到第三电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为x2;
在所述时序违例的时长x2小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再增加x2或将第三电路逻辑处的时钟节点处的时钟再增加延时x2;
将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x2或将第四电路逻辑处的时钟节点处的时钟再增加延时x2,
其中,x2为时间长度。
7.根据权利要求6所述的方法,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:
选择从各个电路逻辑中的第三电路逻辑到第四电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为x3;
在所述时序违例的时长x3小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x3或将第四电路逻辑处的时钟节点处的时钟再增加延时x3,
其中, x3为时间长度。
8.根据权利要求5所述的方法,其中,在所述时序违例的时长x1大于所述系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑处的时钟节点处的时钟增加延时x1;
将第三电路逻辑处的时钟节点处的时钟增加延时x1;以及
将第四电路逻辑处的时钟节点处的时钟增加延时x1。
9.根据权利要求1所述的方法,其中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑,
其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤包括:
选择从第二电路逻辑到第一电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为y1;
在所述时序违例的时长y1小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a减小y1或将第一电路逻辑处的时钟节点处的时钟增加延时y1;
将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b减小y1或将第二电路逻辑处的时钟节点处的时钟增加延时y1;
将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c减小y1或将第三电路逻辑处的时钟节点处的时钟增加延时y1,
其中,a、b、c、y1为时间长度。
10.根据权利要求9所述的方法,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:
选择从第三电路逻辑到第二电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为y2;
在所述时序违例的时长y2小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再减少y2或将第二电路逻辑处的时钟节点处的时钟再增加延时y2;
将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y2或将第三电路逻辑处的时钟节点处的时钟再增加延时y2,
其中, y2为时间长度。
11.根据权利要求10所述的方法,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:
选择从各个电路逻辑中的第四电路逻辑到第三电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为y3;
在所述时序违例的时长y3小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y3或将第三电路逻辑处的时钟节点处的时钟再增加延时y3,
其中, y3为时间长度。
12.根据权利要求9所述的方法,其中,在所述时序违例的时长y1大于一个时钟周期的时间长度情形中,将第一电路逻辑处的时钟节点处的时钟增加延时y1;
将第二电路逻辑处的时钟节点处的时钟增加延时y1;以及
将第三电路逻辑处的时钟节点处的时钟增加延时y1。
13.根据权利要求1所述的方法,其中所述时钟节点相比于系统时钟的延时的改变通过改变系统时钟与时钟节点之间插入的缓冲器的个数或系统时钟与时钟节点之间插入的时钟调节器的调节值来实现。
14.一种对基于同一系统时钟的至少两个物理分区结构进行时钟设计的系统,其中,所述至少两个物理分区结构包括第一物理分区结构和第二物理分区结构,所述第一物理分区结构和第二物理分区结构分别包括一个或多个电路逻辑,其中所述第一物理分区结构中的一部分电路逻辑的逻辑规模至少与所述第二物理分区结构中的一部分电路逻辑的逻辑规模不同,每个电路逻辑具有各自的时钟树,其中,时钟从所述系统时钟进入所述第一物理分区结构,并经由所述第一物理分区结构进入所述第二物理分区结构,
其中,所述时钟设计系统包括如下:
处理器;
存储器,存储计算机程序代码,以在处理器的执行下进行如下步骤:
确定各个电路逻辑各自与系统时钟的距离;
根据各个电路逻辑各自与系统时钟的距离,来从系统时钟得到多个时钟节点,使得各个时钟节点相比于系统时钟的延时随与各个电路逻辑与系统时钟的距离的不同而不同,其中距离越大,延时越大;
将各个电路逻辑按照各个电路逻辑与距离的大小而连接到相应的时钟节点;
通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛,
通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛,包括:
选择多个电路逻辑中出现时序违例的一条路径,并且确定与该路径相关联的电路逻辑;
确定该路径的建立时间违例的时长t1;以及
根据建立时间违例的时长t1,调整与该路径相关联的电路逻辑各自对应的时钟节点之间的延时,或者调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时,
其中,调整与该路径相关联的电路逻辑中至少部分电路逻辑各自的时钟节点处的时钟延时包括:
针对所述至少部分电路逻辑中的每个电路逻辑,调整所述电路逻辑到所述电路逻辑的时钟节点之间的时钟延时。
15.根据权利要求14所述的系统,其中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑,
其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤包括:
选择从第一电路逻辑到第二电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为x1;
在所述时序违例的时长x1小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a增加x1或将第二电路逻辑处的时钟节点处的时钟增加延时x1;
将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b增加x1或将第三电路逻辑处的时钟节点处的时钟增加延时x1;
将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c增加x1或将第四电路逻辑处的时钟节点处的时钟增加延时x1,
其中,a、b、c、x1为时间长度。
16.根据权利要求15所述的系统,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:
选择从各个电路逻辑中的第二电路逻辑到第三电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为x2;
在所述时序违例的时长x2小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再增加x2或将第三电路逻辑处的时钟节点处的时钟再增加延时x2;
将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x2或将第四电路逻辑处的时钟节点处的时钟再增加延时x2,
其中, x2为时间长度。
17.根据权利要求16所述的系统,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:
选择从各个电路逻辑中的第三电路逻辑到第四电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为x3;
在所述时序违例的时长x3小于或等于所述系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再增加x3或将第四电路逻辑处的时钟节点处的时钟再增加延时x3,
其中, x3为时间长度。
18.根据权利要求15所述的系统,其中,在所述时序违例的时长x1大于系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑处的时钟节点处的时钟增加延时x1;
将第三电路逻辑处的时钟节点处的时钟增加延时x1;以及
将第四电路逻辑处的时钟节点处的时钟增加延时x1。
19.根据权利要求14所述的系统,其中,在各个电路逻辑中包括按时序先后顺序排列的第一电路逻辑、第二电路逻辑、第三电路逻辑和第四电路逻辑,
其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤包括:
选择从第二电路逻辑到第一电路逻辑的时序违例的一条路径;
在所述时序违例的时长y1小于或等于系统时钟的一个时钟周期的时间长度的情形中,确定所述路径的建立时间违例的时长为y1;
将第一电路逻辑的时钟节点到第二电路逻辑的时钟节点之间的延时a减小y1或将第一电路逻辑处的时钟节点处的时钟增加延时y1;
将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时b减小y1或将第二电路逻辑处的时钟节点处的时钟增加延时y1;
将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时c减小y1或将第三电路逻辑处的时钟节点处的时钟增加延时y1,
其中,a、b、c、y1为时间长度。
20.根据权利要求19所述的系统,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:
选择从第三电路逻辑到第二电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为y2;
在所述时序违例的时长y2小于或等于系统时钟的一个时钟周期的时间长度的情形中,将第二电路逻辑的时钟节点到第三电路逻辑的时钟节点之间的延时再减少y2或将第二电路逻辑处的时钟节点处的时钟再增加延时y2;
将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y2或将第三电路逻辑处的时钟节点处的时钟再增加延时y2,
其中, y2为时间长度。
21.根据权利要求20所述的系统,其中,通过调整各个时钟节点相比于系统时钟的延时来使得各个电路逻辑的时序收敛的步骤还包括:
选择从各个电路逻辑中的第四电路逻辑到第三电路逻辑的时序违例的一条路径;
确定所述路径的建立时间违例的时长为y3;
在所述时序违例的时长y3小于或等于系统时钟的一个时钟周期的时间长度的情形中,将第三电路逻辑的时钟节点到第四电路逻辑的时钟节点之间的延时再减少y3或将第三电路逻辑处的时钟节点处的时钟再增加延时y3,
其中, y3为时间长度。
22.根据权利要求19所述的系统,在所述时序违例的时长y1大于系统时钟的一个时钟周期的时间长度的情形中,将第一电路逻辑处的时钟节点处的时钟增加延时y1;
将第二电路逻辑处的时钟节点处的时钟增加延时y1;以及
将第三电路逻辑处的时钟节点处的时钟增加延时y1。
23.根据权利要求14所述的系统,其中所述时钟节点相比于系统时钟的延时的改变通过改变系统时钟与时钟节点之间插入的缓冲器的个数或系统时钟与时钟节点之间插入的时钟调节器的调节值来实现。
24.一种计算机介质,包括计算机程序代码,以在处理器的执行下进行如权利要求1-13中任一的方法。
CN202110343217.2A 2021-03-30 2021-03-30 对物理分区结构进行时钟设计的方法、系统和介质 Active CN112906338B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110343217.2A CN112906338B (zh) 2021-03-30 2021-03-30 对物理分区结构进行时钟设计的方法、系统和介质
EP22165155.7A EP4068145A1 (en) 2021-03-30 2022-03-29 Method, system, medium and program for clock design of physical partition structure
US17/709,359 US20220318470A1 (en) 2021-03-30 2022-03-30 Method, system, medium and program for clock design of physical partition structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110343217.2A CN112906338B (zh) 2021-03-30 2021-03-30 对物理分区结构进行时钟设计的方法、系统和介质

Publications (2)

Publication Number Publication Date
CN112906338A CN112906338A (zh) 2021-06-04
CN112906338B true CN112906338B (zh) 2022-11-29

Family

ID=76109519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110343217.2A Active CN112906338B (zh) 2021-03-30 2021-03-30 对物理分区结构进行时钟设计的方法、系统和介质

Country Status (3)

Country Link
US (1) US20220318470A1 (zh)
EP (1) EP4068145A1 (zh)
CN (1) CN112906338B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113486612B (zh) * 2021-06-29 2023-06-06 海光信息技术股份有限公司 集成电路设计方法、装置、电子设备和可读存储介质
CN114818595B (zh) * 2022-06-24 2022-09-13 飞腾信息技术有限公司 芯片模块接口时钟构建方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105787213A (zh) * 2016-04-01 2016-07-20 中国人民解放军国防科学技术大学 一种保持时间违反的修复方法
WO2018007839A1 (en) * 2016-07-08 2018-01-11 Zompakis Nikolaos Dynamic frequency boosting exploiting path delay variability in integrated circuits

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5772990B2 (ja) * 2012-02-01 2015-09-02 富士通株式会社 設計支援装置,設計支援方法および設計支援プログラム
US8677298B1 (en) * 2013-01-04 2014-03-18 Altera Corporation Programmable device configuration methods adapted to account for retiming
US9779201B2 (en) * 2014-10-27 2017-10-03 Samsung Electronics Co., Ltd. Low power minimal disruptive method to implement large quantity push and pull useful-skew schedules with enabling circuits in a clock-mesh based design
CN108111244B (zh) * 2016-11-25 2019-08-13 上海东软医疗科技有限公司 一种时钟校正的方法、装置和系统
GB2569272B (en) * 2017-10-20 2020-05-27 Graphcore Ltd Direction indicator
CN110825210B (zh) * 2019-11-12 2022-06-03 飞腾信息技术有限公司 片上系统的时钟树结构的设计方法、装置、设备及介质
CN110995388B (zh) * 2019-11-28 2021-03-30 电子科技大学 一种分布式的共享时钟触发调延系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105787213A (zh) * 2016-04-01 2016-07-20 中国人民解放军国防科学技术大学 一种保持时间违反的修复方法
WO2018007839A1 (en) * 2016-07-08 2018-01-11 Zompakis Nikolaos Dynamic frequency boosting exploiting path delay variability in integrated circuits

Also Published As

Publication number Publication date
CN112906338A (zh) 2021-06-04
EP4068145A1 (en) 2022-10-05
US20220318470A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
US11480993B2 (en) Methods for optimizing circuit performance via configurable clock skews
CN112906338B (zh) 对物理分区结构进行时钟设计的方法、系统和介质
US9501606B2 (en) Identifying the cause of timing failure of an IC design using sequential timing
JP2011512602A (ja) 同期から非同期への論理変換
JP2013171503A (ja) Lsi設計方法
US20160321390A1 (en) Implementing integrated circuit designs using depopulation and repopulation operations
US6425115B1 (en) Area efficient delay circuits
JP2008140821A (ja) 半導体装置および半導体装置の設計方法
US8539413B1 (en) Frequency optimization using useful skew timing
CN110222388A (zh) 一种基于关键路径复制的电路最高工作频率测试方法
US20100253409A1 (en) Clock generation system and clock dividing module
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
CN112906339B (zh) 物理设计布线和优化方法、系统、设备和介质
US20030212972A1 (en) Unconventional clocked circuit components having multiple timing models
Semba et al. Conversion from synchronous RTL models to asynchronous RTL models
US9721051B2 (en) Reducing clock skew in synthesized modules
JP2005136286A (ja) 半導体集積回路の設計方法、及びその装置
US8745558B1 (en) Deployment of transmission gate logic cells in application specific integrated circuits
CN114117980B (zh) 芯片设计方法、芯片设计模块、电子设备和介质
JP2005277909A (ja) 論理回路設計システム、論理回路、論理回路設計方法およびそのプログラム
CN113688587B (zh) 一种电路布图的生成方法、装置、计算机设备及存储介质
JPWO2010101029A1 (ja) 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム
US10255404B1 (en) Retiming with programmable power-up states
Chadha et al. Power Analysis in ASICs
KUMAR METHODOLOGY TO HANDLE THE CHALLENGES IN CLOCK DOMAIN CROSSINGS FOR LPDDR4 PHY

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
CB02 Change of applicant information

Address after: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450

Applicant after: Feiteng Information Technology Co.,Ltd.

Address before: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450

Applicant before: TIANJIN FEITENG INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant