CN117473920A - 面向芯片设计的io时序优化方法及装置 - Google Patents
面向芯片设计的io时序优化方法及装置 Download PDFInfo
- Publication number
- CN117473920A CN117473920A CN202311413868.XA CN202311413868A CN117473920A CN 117473920 A CN117473920 A CN 117473920A CN 202311413868 A CN202311413868 A CN 202311413868A CN 117473920 A CN117473920 A CN 117473920A
- Authority
- CN
- China
- Prior art keywords
- delay
- module
- chip
- time sequence
- calibration
- 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.)
- Pending
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013461 design Methods 0.000 title claims abstract description 36
- 239000013078 crystal Substances 0.000 claims description 13
- 230000001934 delay Effects 0.000 claims description 8
- 230000003111 delayed effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 4
- 229910052710 silicon Inorganic materials 0.000 abstract description 17
- 239000010703 silicon Substances 0.000 abstract description 17
- 238000004519 manufacturing process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013440 design planning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
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
本申请涉及一种面向芯片设计的IO时序优化方法及装置。通过校准模块进行初始化校准,获得延迟模块的默认延迟大小,再在芯片正常工作时,利用CPU计算IO接口的实际时序与优化目标的时序偏差,根据默认延迟大小进一步计算出所需的延迟单元配置值,然后配置延迟模块的延迟级数,以达到动态调整IO接口时序的目的。该方法可以在硅后阶段对IO时序进行二次优化调整,而不仅限于芯片制造前的设计阶段,扩大了优化调整的时机窗口;硅后阶段的二次优化调整,可以根据应用环境的实际情况进行,更加灵活和精确,硅后阶段的动态调整显著提升了IO时序的适应性和鲁棒性。
Description
技术领域
本申请涉及通用芯片设计领域,特别是涉及一种面向芯片设计的IO时序优化方法及装置。
背景技术
近年来,随着电子产品的普及和工艺技术的进步,国内集成电路行业不断蓬勃发展,芯片的面积进一步缩小,性能不断提升,这对于芯片的IO时序(Input/OutputInterface Timing,输入输出接口时序)要求也不断提高,IO时序优化问题也成为数字芯片行业内的一个焦点问题。因此,涌现出了一些通过不同的方法优化相关时序。IO时序的鲁棒性指IO接口在各种环境变化下所表现出的时序稳定性。
例如,通过初始化DC综合参数和时序分析参数,基于预设调整规则对DC综合参数进行调整的策略自动优化时序,无需人工调整。又例如,集成电路中时序瓶颈节点分析和时序优化方法,在保证时序瓶颈分析的准确性的前提下,大大降低了时序瓶颈分析的计算量;该方法包括:获取集成电路的时序图;从时序路径的起点正向广度优先遍历所述时序图,计算所述时序图中每个节点的前序时序关键度;从时序路径的终点反向广度优先遍历所述时序图,计算所述时序图中每个节点的后序时序关键度;对于每个节点,计算该节点的前序时序关键度和该节点的后续时序关键度的乘积作为该节点的综合时序关键度;根据各个节点的综合时序关键度确定时序瓶颈节点。
然而,上述传统的IO时序优化方法存在鲁棒性差以及硅后时序无法适应性调整的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种面向芯片设计的IO时序优化方法及一种面向芯片设计的IO时序优化方法装置。
为了实现上述目的,本发明实施例采用以下技术方案:
一方面,提供一种面向芯片设计的IO时序优化方法,包括:
校准模块根据芯片延迟模块的默认延迟强度进行初始化校准,寄存器模块,记录延迟模块的默认延迟大小;
CPU根据实际IO时序和IO时序优化需求计算芯片的时序偏差,并根据默认延迟大小和时序偏差计算延迟模块的延迟单元配置值;
寄存器模块根据延迟单元配置值,配置延迟模块的级数;
延迟模块根据配置调整芯片的待优化IO接口的信号延迟时间。
另一方面,还提供一种面向芯片设计的IO时序优化装置,包括:校准模块、CPU、寄存器模块和延迟模块;
校准模块的输入端用于接入校准时钟信号和复位信号,校准模块的输出端分别连接延迟模块和寄存器模块的输入端,校准模块的输入端连接延迟模块的输出端,寄存器模块的输入端连接CPU的输出端,寄存器模块的输出端分别连接校准模块和延迟模块,延迟模块的输入端用于接入待优化信号,延迟模块的输出端用于输出优化信号;
校准模块用于根据芯片延迟模块的默认延迟强度进行初始化校准,寄存器模块用于记录延迟模块的默认延迟大小;
CPU,用于根据实际IO时序和IO时序优化需求计算芯片的时序偏差,并根据默认延迟大小和时序偏差计算延迟模块的延迟单元配置值;
寄存器模块,用于根据延迟单元配置值,配置延迟模块的级数;
延迟模块,用于根据配置调整芯片的待优化IO接口的信号延迟时间。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
上述面向芯片设计的IO时序优化方法及装置,通过校准模块进行初始化校准,获得延迟模块的默认延迟大小,再在芯片正常工作时,利用CPU计算IO接口的实际时序与优化目标的时序偏差,根据默认延迟大小进一步计算出所需的延迟单元配置值,然后配置延迟模块的延迟级数,以达到动态调整IO接口时序的目的。该方法可以在硅后阶段对IO时序进行二次优化调整,而不仅限于芯片制造前的设计阶段,扩大了优化调整的时机窗口;硅后阶段的二次优化调整,可以根据应用环境的实际情况进行,更加灵活和精确,硅后阶段的动态调整显著提升了IO时序的适应性和鲁棒性;此外,通用芯片部件在不同应用环境的兼容性和重用性都将大大增强,大幅降低重新设计的成本和风险,显著提高了通用芯片IO时序优化的可重构性和可维护性。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中面向芯片设计的IO时序优化方法的流程第一示意图;
图2为一个实施例中面向芯片设计的IO时序优化装置的模块结构示意图;
图3为一个实施例中延迟单元的逻辑结构示意图;
图4为一个实施例中延迟模块的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
需要说明的是,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。
可以理解,以下实施例中的“连接”,如果被连接的电路、模块、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。此外,“输入端”、“输出端”等术语并不限定相应的部件仅有一个输入端或输出端,也可以有多个同类输入端或输出端,还可以在一个输入/出端口中集成了多个子输入/出端口,具体可以根据实际使用部件的端口设置确定。
在研究实现本申请的过程中,发明人发现,传统的时序优化方法较为复杂,不能够硅后进行环境适应性时序优化。都是在芯片研发过程中进行的时序优化,而研发过程中,所有的输入参数都是一个理想情况,或者是极度恶劣情况的模拟。然而这与芯片生产出来后的实际应用场景存在差异,因此,不能最大程度的匹配芯片所需的时序。
对此,本发明提供了一种面向芯片设计的IO时序优化方法,通过校准模块进行初始化校准,获得延迟模块的默认延迟大小,再在芯片正常工作时,利用CPU计算IO接口的实际时序与优化目标的时序偏差,根据默认延迟大小进一步计算出所需的延迟单元配置值,然后配置延迟模块的延迟级数,以达到动态调整IO接口时序的目的。该方法可以在硅后阶段对IO时序进行二次优化调整,而不仅限于芯片制造前的设计阶段,扩大了优化调整的时机窗口;硅后阶段的二次优化调整,可以根据应用环境的实际情况进行,更加灵活和精确,硅后阶段的动态调整显著提升了IO时序的适应性和鲁棒性;此外,通用芯片部件在不同应用环境的兼容性和重用性都将大大增强,大幅降低重新设计的成本和风险,显著提高了通用芯片IO时序优化的可重构性和可维护性。
下面将结合本发明实施例图中的附图,对本发明实施方式进行详细说明。
在一个实施例中,如图1所示,本申请实施例提供了一种面向芯片设计的IO时序优化方法,包括如下处理步骤S12-18:
S12,校准模块根据芯片延迟模块的默认延迟强度进行初始化校准,寄存器模块记录延迟模块的默认延迟大小。
可以理解,在进行芯片的综合设计和物理设计时,会根据设计者提供的时序约束要求,采用多种物理设计级的时序优化手段,对IO时序进行首次优化。首先根据设计规划的时序约束,进行芯片综合设计和物理设计分析,同时分析每个部件的IO时序情况;判断每个部件的IO时序是否满足设计规划需求,对于评估后仍未满足时序要求,则分析哪些IO端口需要优化,在需要优化的IO端口分别对应添加一个延迟模块,并且分别计算所需添加的延迟时间和延迟模块的级数N。对添加延迟模块之后的设计方案进行验证,如果时序满足要求且整体收敛,则进行芯片的制造,如果存在未满足情况,则重新分析,分别重新确定所需延迟模块的延迟时间和级数N。
在芯片生产后,如果实际时序与理论设计时序仍然存在不可接受的偏差时,可以根据实际环境进行IO时序的调整,具体如下:在通用芯片上新增一个外部晶振有源时钟或使用内部PLL时钟作为校准时钟,也可以使用芯片内部的RC振荡器作为校准时钟源,还可以使用网络同步时钟,只要能作为延迟校准模块的采集时钟即可。
芯片上电后,校准模块向延迟模块发送校准请求,设置校准级数为最大值N,可以设置延迟单元强度为延迟最小,也可以设置延迟单元强度为延迟中等,还可以设置延迟单元强度为延迟最大,也即,可以将延迟单元的延迟强度设置为延迟最小作为默认延迟强度,也可以将延迟单元的延迟强度设置为延迟中等作为默认延迟,还可以将延迟单元的延迟强度设置为延迟最大作为默认延迟,向延迟模块发送输入信号,同时校准时钟开始计数,在延迟模块的最后一级延迟单元接收到输入信号边沿时,停止计数,通过计数器值计算出每一级延迟单元的延迟时间,记录在延迟单元寄存器,并发送给寄存器模块做记录,完成初始化校准。此时,得到的每一级延迟单元的延迟时间作为默认延迟大小。延迟模块包括多个可调节延迟强度的延迟单元,延迟模块的默认延迟大小是指根据默认延迟强度初始化校准后,单个延迟单元的延迟时间。
其中,校准模块是通用芯片中待优化IO部件的延迟单元大小计算模块,主要负责计算不同芯片不同环境下延迟单元大小的硬件电路模块,通过上电复位或用户配置相应的寄存器即可重新进行初始化校准,否则不会进行校准。
S14,CPU根据实际IO时序和IO时序优化需求计算芯片的时序偏差,并根据默认延迟大小和时序偏差计算延迟模块的延迟单元配置值。
可以理解,可以使用逻辑分析仪检测的实际IO时序,IO时序优化需求指的是用户或者系统对IO接口时序性能的要求目标,根据实际IO时序和IO时序优化需求可以计算出时序偏差,根据上述步骤计算出的默认延迟大小和时序偏差,可以计算需要多少个延迟单元,所需的延迟单元个数称为延迟单元配置值。
S16,寄存器模块根据延迟单元配置值,配置延迟模块的级数。
可以理解,在上述步骤,CPU已经计算得到了需要配置的延迟单元个数,也就是延迟级数的配置值,这个配置值会被CPU写入到与延迟模块连接的寄存器模块的控制寄存器中,寄存器模块会根据写入的配置值,通过控制信号配置延迟模块内部延迟单元的级数。寄存器发送的控制信号可以是并行信号,直接决定启用几级延迟,或者是通过单独的启用位逐级控制延迟级数。通过寄存器配置延迟级数,完成根据CPU计算结果的延迟模块配置。
S18,延迟模块根据配置调整芯片的待优化IO接口的信号延迟时间。
可以理解,在前面的流程中,延迟模块已经通过寄存器模块被配置到某一延迟级数,该级数对应延迟模块可以提供的固定延迟时间。当IO接口信号通过延迟模块时,会被其内部的缓冲器等结构延迟已配置的时间,从而实现了对IO接口信号进行额外延迟的效果。通过配置不同的延迟级数,可以调节信号延迟的时间,以完成时序优化。延迟模块内部可以采用链式缓冲器、时钟树枝路等结构来实现可配置可调节的延迟,也可以使用数字可编程延迟线路来获得准确可调节的延迟时间。
上述面向芯片设计的IO时序优化方法中,通过校准模块进行初始化校准,获得延迟模块的默认延迟大小,再在芯片正常工作时,利用CPU计算IO接口的实际时序与优化目标的时序偏差,根据默认延迟大小进一步计算出所需的延迟单元配置值,然后配置延迟模块的延迟级数,以达到动态调整IO接口时序的目的。该方法可以在硅后阶段对IO时序进行二次优化调整,而不仅限于芯片制造前的设计阶段,扩大了优化调整的时机窗口;硅后阶段的二次优化调整,可以根据应用环境的实际情况进行,更加灵活和精确,硅后阶段的动态调整显著提升了IO时序的适应性和鲁棒性;此外,通用芯片部件在不同应用环境的兼容性和重用性都将大大增强,大幅降低重新设计的成本和风险,显著提高了通用芯片IO时序优化的可重构性和可维护性。
在一个实施例中,本发明上述面向芯片设计的IO时序优化方法中,进行初始化校准的过程还包括:校准模块根据延迟模块的第一延迟强度和第二延迟强度分别进行初始化校准,寄存器模块分别记录延迟模块的第一延迟大小和第二延迟大小。
可以理解,在进行初始化校准时,可以先设置延迟单元强度为延迟最小,获得默认延迟大小(也可以设置延迟单元强度为延迟中等或延迟最大作为默认延迟大小,本实施例及后文中均先设置延迟单元强度为延迟最小作为默认延迟大小,其他情况可同理理解),再设置延迟单元强度为延迟中等,获得第一延迟大小,最后设置延迟单元强度为延迟最大,获得第二延迟大小。关于初始化校准、记录第一延迟大小和第二延迟大小,可以参照上述初始化校准和记录默认延迟大小同理理解,此处及后文将不再重复赘述。
CPU计算时序偏差之后还包括步骤:CPU根据默认延迟大小、第一延迟大小、第二延迟大小和时序偏差,获得延迟模块的延迟强度组合。
可以理解,初始化校准后,得到默认延迟大小、第一延迟大小和第二延迟大小,默认延迟大小:当延迟模块设置为最小延迟时的延迟大小。第一延迟大小:当延迟模块设置为中等延迟时的延迟大小。第二延迟大小:当延迟模块设置为最大延迟时的延迟大小。CPU会根据时序偏差,来计算需要的总延迟大小。然后CPU根据默认延迟大小、第一延迟大小和第二延迟大小,来确定达到需要的总延迟大小应该设置多少个延迟模块到最小延迟,多少个设置到中等延迟,多少个设置到最大延迟。也就是说,CPU根据时序偏差得到总延迟大小后,会计算出一个延迟模块的延迟强度组合,表示需要多少个最小延迟,多少个中等延迟,多少个最大延迟,从而达到所需的总延迟大小。
延迟模块根据配置调整芯片的待优化IO接口的信号延迟时间之前还包括步骤:寄存器模块根据延迟强度组合,配置延迟模块中各延迟单元的延迟强度。
可以理解,CPU在计算延迟强度组合时,会得到总的需要启用的延迟单元数量,即延迟单元配置值。延迟强度组合中指明了这些延迟单元中,需要多少个延迟单元配置为最小延迟,多少个延迟单元配置为中等延迟,多少个延迟单元配置为最大延迟。寄存器模块有控制每个延迟单元强度的控制寄存器,寄存器模块根据延迟强度组合中的配置,向控制寄存器写入对应的强度控制值,同时,寄存器模块会通过控制信号,按照延迟单元配置值,控制启用延迟模块内部的延迟单元数量。在启用的延迟单元中,每个延迟单元根据其控制寄存器的值,配置为相应的强度,这样就同时配置出了所需启用的延迟单元数量,以及每个延迟单元的强度,从而根据延迟模块的级数和延迟强度组合,寄存器模块配置出所需的延迟模块总延迟。
上述面向芯片设计的IO时序优化方法中,可以获得延迟模块的多种延迟级别(默认延迟大小、第一延迟大小和第二延迟大小),作为调节的基准,根据这些延迟级别,CPU可以计算出一个组合的延迟强度方案,而不是仅仅使用单一延迟级别。相比只使用单一延迟级别,这种配置组合的方式可以得到更加精细和准确的延迟调整,当单一延迟级别无法满足时序约束需求时,这种方案可以通过不同配置比例得到更加符合要求的延迟时间,从而实现高精度的时序校准,满足更严格的时序约束,提高芯片性能。
在一个实施例中,本发明上述面向芯片设计的IO时序优化方法中,采用芯片的外部晶振有源时钟作为校准时钟。
可以理解,芯片可以使用外部连接的晶振发生器作为有源时钟源,此时外部晶振时钟可以直接作为校准时钟。
上述面向芯片设计的IO时序优化方法中,外部晶振由于采用的是石英晶体,频率精度很高,一般误差在10ppm以内。外部晶振相对温度变化等环境影响不敏感,输出频率稳定。外部晶振时钟信号精确稳定,提供了高质量的时序校准基准,优化结果更加准确。外部晶振时钟来源于芯片最终工作的环境,优化的参数设置能够直接应用到产品中,使优化后的时序参数能够完全适配芯片的实际工作环境。
在一个实施例中,本发明上述面向芯片设计的IO时序优化方法中,采用芯片的内部PLL时钟作为校准时钟。
可以理解,芯片可以使用PLL(锁相环)时钟可以作为校准时钟,内部PLL时钟:芯片内部集成PLL可以产生不同频率的时钟。
上述面向芯片设计的IO时序优化方法中,内部PLL时钟可以通过锁频环稳定输出时钟频率,利用PLL时钟的高稳定性提高了时序优化的精确度和可靠性。简化了IO时序优化系统的设计,不依赖外部时钟,具有自包含的完整性。无需外接晶振,降低了系统成本和芯片引脚数。优化后的时序参数直接适用于PLL时钟驱动的芯片,提高了设计的适用性。简化了校准时钟的选择,无需复杂的多时钟源适配方案。充分利用了芯片内部的PLL时钟资源,减小设计难度,降低功耗。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种面向芯片设计的IO时序优化装置200,包括校准模块21、CPU22、寄存器模块23和延迟模块24;
校准模块21的输入端用于接入校准时钟信号和复位信号,校准模块21的输出端分别连接延迟模块24和寄存器模块23的输入端,校准模块21的输入端连接延迟模块24的输出端,寄存器模块23的输入端连接CPU22的输出端,寄存器模块23的输出端分别连接校准模块21和延迟模块24,延迟模块24的输入端用于接入待优化信号,延迟模块24的输出端用于输出优化信号;
校准模块21用于根据芯片延迟模块24的默认延迟强度进行初始化校准,寄存器模块23用于记录延迟模块24的默认延迟大小;
CPU22,用于根据实际IO时序和IO时序优化需求计算芯片的时序偏差,并根据默认延迟大小和时序偏差计算延迟模块24的延迟单元配置值;
寄存器模块23,用于根据延迟单元配置值,配置延迟模块24的级数;
延迟模块24,用于根据配置调整芯片的待优化IO接口的信号延迟时间。
上述面向芯片设计的IO时序优化装置200,通过校准模块21进行初始化校准,获得延迟模块24的默认延迟大小,再在芯片正常工作时,利用CPU22计算IO接口的实际时序与优化目标的时序偏差,根据默认延迟大小进一步计算出所需的延迟单元配置值,然后配置延迟模块24的延迟级数,以达到动态调整IO接口时序的目的。该方法可以在硅后阶段对IO时序进行二次优化调整,而不仅限于芯片制造前的设计阶段,扩大了优化调整的时机窗口;硅后阶段的二次优化调整,可以根据应用环境的实际情况进行,更加灵活和精确,硅后阶段的动态调整显著提升了IO时序的适应性和鲁棒性;此外,通用芯片部件在不同应用环境的兼容性和重用性都将大大增强,大幅降低重新设计的成本和风险,显著提高了通用芯片IO时序优化的可重构性和可维护性。
在一个实施例中,本发明上述面向芯片设计的IO时序优化装置200中,校准模块21用于根据延迟模块24的第一延迟强度和第二延迟强度分别进行初始化校准,寄存器模块23用于分别记录延迟模块24的第一延迟大小和第二延迟大小;CPU22,用于根据默认延迟大小、第一延迟大小、第二延迟大小和时序偏差,获得延迟模块24的延迟强度组合;寄存器模块23,用于根据延迟强度组合,配置延迟模块24中各延迟单元的延迟强度。
在一个实施例中,如图3所示,本发明上述面向芯片设计的IO时序优化装置200中,延迟单元的输入端用于接入待优化信号,延迟单元的延迟路径根据强度信号对待优化信号进行相应强度的延迟,延迟单元的第一输出端用于输出经过延迟路径的待优化信号,延迟单元的第二输出端用于根据控制信号选择输出经延迟的待优化信号或直接输出未经延迟的待优化信号;强度信号根据延迟强度组合确定,控制信号根据延迟模块24的级数确定。
可以理解,延迟单元的输入端用于接入待优化信号(记为in),延迟单元内部有一个可配置强度的延迟路径(delay buffer),强度信号(例如,ss/sm/sf)可以控制延迟路径的强度(例如,ss选择最大延迟,sm选择中等延迟,sf选择最小延迟),待优化信号经过配置强度的延迟路径后,从第一输出端输出为经延迟的信号(记为pass)。延迟单元的第二输出端用于根据控制信号(记为sel)选择输出经延迟的待优化信号或直接输出未经延迟的待优化信号,可以通过控制信号控制一个选择器实现。当该延迟单元被选中使用时,延迟单元的第二输出端选择输出延迟信号,当该延迟单元未被选择时,选择输出未延迟信号(记为ret),输出的信号记为out1。这样可以控制每个延迟单元的启用,并配置延迟强度,实现精确的可配置延迟。
在一个实施例中,如图4所示,本发明上述面向芯片设计的IO时序优化装置200中,延迟模块24包括N个延迟单元,第一延迟单元的第一输入端用于接入待优化信号,各延迟单元的第一输出端连接下一延迟单元的第一输入端,各延迟单元的第二输出端连接上一延迟单元的第二输入端,第一延迟单元的第二输出端用于输出优化信号。
可以理解,延迟模块24是由N个延迟单元组成(N一般由所需优化的部件的具体时序要求进行确定),a)控制信号sel为用户配置的延时参数,根据延迟单元配置值确定(sel数值为延迟单元配置值-1);b)判定sel信号的数值,对应第[sel]位置位,同时代表第[sel]个延迟路径的选中输出有效;c)当外部输入信号in经过第一个延时单元后,第一个输出延迟路径的pass为in,依此类推,经过第sel个延时单元后,第sel个延迟单元的pass信号也变成了输入信号in;并且此时第sel级延迟单元out信号是通过每一级的ret信号直连第一级的out信号的,中间无延迟。当经过第sel+1级时,延迟单元的pass信号也变成了输入信号in,但此时out信号就会变成经过sel+1延迟后的in信号,并且直连给上一级的ret信号,因此此时就完成了sel+1级in信号的延迟,也即获得了延迟单元配置值对应的级别信号延迟。
在一个实施例中,本发明上述面向芯片设计的IO时序优化装置200中,采用芯片的外部晶振有源时钟作为校准时钟。
在一个实施例中,本发明上述面向芯片设计的IO时序优化装置200中,采用芯片的内部PLL时钟作为校准时钟。
关于面向芯片设计的IO时序优化装置200的具体限定可以参见上文中对于面向芯片设计的IO时序优化方法的相应限定,在此不再赘述。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种面向芯片设计的IO时序优化方法,其特征在于,包括步骤:
校准模块根据芯片延迟模块的默认延迟强度进行初始化校准,寄存器模块记录所述延迟模块的默认延迟大小;
CPU根据实际IO时序和IO时序优化需求计算所述芯片的时序偏差,并根据所述默认延迟大小和所述时序偏差计算所述延迟模块的延迟单元配置值;
所述寄存器模块根据所述延迟单元配置值,配置所述延迟模块的级数;
所述延迟模块根据所述配置调整所述芯片的待优化IO接口的信号延迟时间。
2.根据权利要求1所述的面向芯片设计的IO时序优化方法,其特征在于,进行初始化校准的过程还包括:所述校准模块根据所述延迟模块的第一延迟强度和第二延迟强度分别进行初始化校准,寄存器模块分别记录所述延迟模块的第一延迟大小和第二延迟大小;
所述CPU计算所述时序偏差之后还包括步骤:所述CPU根据所述默认延迟大小、所述第一延迟大小、所述第二延迟大小和所述时序偏差,获得所述延迟模块的延迟强度组合;
所述延迟模块根据所述配置调整所述芯片的待优化IO接口的信号延迟时间之前还包括步骤:所述寄存器模块根据所述延迟强度组合,配置所述延迟模块中各延迟单元的延迟强度。
3.根据权利要求2所述的面向芯片设计的IO时序优化方法,其特征在于,采用所述芯片的外部晶振有源时钟作为校准时钟。
4.根据权利要求2所述的面向芯片设计的IO时序优化方法,其特征在于,采用所述芯片的内部PLL时钟作为校准时钟。
5.一种面向芯片设计的IO时序优化装置,其特征在于,包括:校准模块、CPU、寄存器模块和延迟模块;
所述校准模块的输入端用于接入校准时钟信号和复位信号,所述校准模块的输出端分别连接所述延迟模块和所述寄存器模块的输入端,所述校准模块的输入端连接所述延迟模块的输出端,所述寄存器模块的输入端连接所述CPU的输出端,所述寄存器模块的输出端分别连接所述校准模块和所述延迟模块,所述延迟模块的输入端用于接入待优化信号,所述延迟模块的输出端用于输出优化信号;
所述校准模块用于根据芯片延迟模块的默认延迟强度进行初始化校准,所述寄存器模块用于记录所述延迟模块的默认延迟大小;
所述CPU,用于根据实际IO时序和IO时序优化需求计算所述芯片的时序偏差,并根据所述默认延迟大小和所述时序偏差计算所述延迟模块的延迟单元配置值;
所述寄存器模块,用于根据所述延迟单元配置值,配置所述延迟模块的级数;
所述延迟模块,用于根据所述配置调整所述芯片的待优化IO接口的信号延迟时间。
6.根据权利要求5所述的面向芯片设计的IO时序优化装置,其特征在于,还包括:
所述校准模块用于根据所述延迟模块的第一延迟强度和第二延迟强度分别进行初始化校准,所述寄存器模块用于分别记录所述延迟模块的第一延迟大小和第二延迟大小;
所述CPU,用于根据所述默认延迟大小、所述第一延迟大小、所述第二延迟大小和所述时序偏差,获得所述延迟模块的延迟强度组合;
所述寄存器模块,用于根据所述延迟强度组合,配置所述延迟模块中各延迟单元的延迟强度。
7.根据权利要求6所述的面向芯片设计的IO时序优化装置,其特征在于,所述延迟单元的输入端用于接入所述待优化信号,所述延迟单元的延迟路径根据强度信号对所述待优化信号进行相应强度的延迟,所述延迟单元的第一输出端用于输出经过所述延迟路径的所述待优化信号,所述延迟单元的第二输出端用于根据控制信号选择输出经延迟的所述待优化信号或直接输出未经延迟的所述待优化信号;所述强度信号根据所述延迟强度组合确定,所述控制信号根据所述延迟模块的级数确定。
8.根据权利要求7所述的面向芯片设计的IO时序优化装置,其特征在于,所述延迟模块包括N个延迟单元,第一所述延迟单元的第一输入端用于接入所述待优化信号,各所述延迟单元的第一输出端连接下一所述延迟单元的第一输入端,各所述延迟单元的第二输出端连接上一所述延迟单元的第二输入端,第一所述延迟单元的第二输出端用于输出所述优化信号。
9.根据权利要求5所述的面向芯片设计的IO时序优化装置,其特征在于,采用所述芯片的外部晶振有源时钟作为校准时钟。
10.根据权利要求5所述的面向芯片设计的IO时序优化装置,其特征在于,采用所述芯片的内部PLL时钟作为校准时钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311413868.XA CN117473920A (zh) | 2023-10-27 | 2023-10-27 | 面向芯片设计的io时序优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311413868.XA CN117473920A (zh) | 2023-10-27 | 2023-10-27 | 面向芯片设计的io时序优化方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117473920A true CN117473920A (zh) | 2024-01-30 |
Family
ID=89624898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311413868.XA Pending CN117473920A (zh) | 2023-10-27 | 2023-10-27 | 面向芯片设计的io时序优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117473920A (zh) |
-
2023
- 2023-10-27 CN CN202311413868.XA patent/CN117473920A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8779754B2 (en) | Method and apparatus for minimizing skew between signals | |
US10911164B2 (en) | Apparatus and methods for calibrating analog circuitry in an integrated circuit | |
RU2451391C2 (ru) | Схемное устройство и способ измерения дрожания тактового сигнала | |
US7038466B1 (en) | Measurement of circuit delay | |
US20080129357A1 (en) | Adaptive Integrated Circuit Clock Skew Correction | |
US11031945B1 (en) | Time-to-digital converter circuit linearity test mechanism | |
US7830192B2 (en) | Delay circuit and related method thereof | |
US7791375B1 (en) | DQS re sync calibration | |
US20080175343A1 (en) | Phase adjusting function evaluating method, transmission margin measuring method, information processing apparatus, program and computer readable information recording medium | |
CN107219884A (zh) | 一种自动校准时钟频率的方法和系统 | |
US7583124B2 (en) | Delaying stage selecting circuit and method thereof | |
CN117473920A (zh) | 面向芯片设计的io时序优化方法及装置 | |
US7548099B2 (en) | Semiconductor device with delay section | |
CN115268564B (zh) | 用于校准芯片电路的方法、系统、设备和介质 | |
US20150145580A1 (en) | Apparatus for controlling semiconductor chip characteristics | |
US20050114725A1 (en) | Calibrating an integrated circuit to an electronic device | |
US7009431B2 (en) | Interpolator linearity testing system | |
US7136799B2 (en) | Mixed signal delay locked loop characterization engine | |
US7821301B2 (en) | Method and apparatus for measuring and compensating for static phase error in phase locked loops | |
CN109167705B (zh) | 获取存储模块内部延时阶梯时间的方法及系统 | |
CN106374892A (zh) | 自我校准的多相位时脉电路及其方法 | |
CN109284239B (zh) | 获取存储模块内部延时阶梯时间的方法及系统 | |
US7016798B2 (en) | Method of extract gate delay parameter in high frequency circuits | |
US20100114552A1 (en) | Methods and apparatus for clock simulation with calibration | |
CN114640326A (zh) | 测量时钟信号抖动的测量装置及板卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |