CN116848518A - 一种延迟补偿方法以及相关设备 - Google Patents

一种延迟补偿方法以及相关设备 Download PDF

Info

Publication number
CN116848518A
CN116848518A CN202180092803.2A CN202180092803A CN116848518A CN 116848518 A CN116848518 A CN 116848518A CN 202180092803 A CN202180092803 A CN 202180092803A CN 116848518 A CN116848518 A CN 116848518A
Authority
CN
China
Prior art keywords
delay
register
interface
clock
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.)
Pending
Application number
CN202180092803.2A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN116848518A publication Critical patent/CN116848518A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请提供了一种用于芯片的延迟补偿方法,可以根据第一寄存器的时钟延迟和第一寄存器与第一接口的数据链路延迟获取第一延迟信息,进而根据第一延迟信息和芯片的网表生成第一接口延迟文件。第一接口延迟文件用于指示网表中的接口的补偿延迟,生成第一接口延迟文件的过程运算量小,耗时短,提升了对芯片进行后仿真的效率。

Description

一种延迟补偿方法以及相关设备 技术领域
本发明涉及通信领域,尤其涉及一种用于芯片的延迟补偿方法。
背景技术
网表(netlist)后仿真是对芯片的底层电路的基本单元进行后仿真。从实际电路版图中提取出各元件的延迟信息,将各元件的延迟信息生成标准延迟格式(standard delay format,SDF)网表后,通过SDF网表对芯片进行后仿真。
采用Testbench对芯片进行SDF网表后仿真时,需要在Testbench环境中对接口激励添加一定延迟来保证仿真能够顺利进行。芯片中的第一级寄存器采样输入激励时需要满足建立时间(setup time)和保持时间(hold time)的要求,否则将会出现采样违例(violation)的情况。只有在延迟添加准确的情况下,SDF网表仿真才有意义。验证工程师通常采用手动添加的方式在Testbench下的interface组件中对芯片中各个接口激励添加固定的延迟值。延迟值通常由验证工程师根据经验来添加,通过SDF网表后仿真来确认延迟值是否是准确,如果仿真通过且没有违例则认为延迟值准确,反之,若仿真过程出现违例则需要对仿真波形进行分析,进一步确定违例是否与延迟值不准确有关。若确认是延迟值不准确,则需要调整延迟值,再次启动后仿真验证延迟值是否准确,直到延迟值准确为止。
现有的SDF网表仿真过程中,延迟值的准确性较差,通常需要通过多次后仿真才可以确定出准确的延迟值。由于每次后仿真运算量较大,运算速度慢,延迟值的调试过程消耗时间长,对芯片进行后仿真时效率低下。
发明内容
本发明实施例提供了一种用于芯片的延迟补偿方法,用于解决上述技术问题。
本申请第一方面提供了一种用于芯片的延迟补偿方法,其特征在于,所述芯片包括第一寄存器以及第一接口,所述第一接口用于向所述第一寄存器提供数据信号,所述方法包括:获取第一寄存器的时钟延迟以及第一寄存器与第一接口的数据链路延迟;根据所述第一寄存器的时钟延迟和所述第一寄存器与第一接口的数据链路延迟获取第一延迟信息,其中,所述第一延迟信息用于指示通过所述第一接口向所述第一寄存器发送数据信号时的补偿延迟;根据所述第一延迟信息和所述芯片的网表生成第一接口延迟文件,所述第一接口延迟文件用于指示所述网表中的接口的补偿延迟。
本申请中,可以根据第一寄存器的时钟延迟和第一寄存器与第一接口的数据链路延迟获取第一延迟信息,进而根据第一延迟信息和芯片的网表生成第一接口延迟文件。第一接口延迟文件用于指示网表中的接口的补偿延迟,生成第一接口延迟文件的过程运算量小,耗时短,提升了对芯片进行后仿真的效率。
在第一方面的一种可能的实现方式中,所述芯片包括第二寄存器以及第二接口,所述第二接口用于输出所述第二寄存器提供的数据信号,所述方法还包括:获取第二寄存器的 时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和;根据所述第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和获取第二延迟信息,其中,所述第二延迟信息用于指示所述第二寄存器通过所述第二接口发送数据信号时的补偿延迟;根据所述第二延迟信息和所述网表生成第二接口延迟文件。
该种可能的实现方式中,第二寄存器通过第二接口输出信号a与信号b,信号a的延迟ca+da小于一个周期T,信号b的延迟cb+db大于一个周期T。若信号a与信号b之间有关联,或,信号a与信号b之间组成一组bus,则验证环境中的组件对信号a、信号b采样时,同一时刻只会采集到信号a,采集不到信号b,信号采样将会出现错误。因此需要对第二接口输出的信号a和/或信号b添加补偿延迟,以便验证环境中的组件可以正确采集第二接口输出的信号。提升了信号采集的准确性。
在第一方面的一种可能的实现方式中,所述方法还包括:根据所述网表获取所述第一寄存器、所述第一接口、所述第二寄存器和/或所述第二接口。
该种可能的实现方式中,提供了一种获取第一寄存器、第一接口、第二寄存器和/或第二接口的具体实现方式,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,根据所述第一寄存器的时钟延迟和所述第一寄存器与第一接口的数据链路延迟获取第一延迟信息,包括:根据所述第一寄存器与第一接口的数据链路延迟的最大值与所述第一寄存器的时钟延迟的最小值的差值得到第一延迟最大偏差;根据所述第一寄存器与第一接口的数据链路延迟的最小值与所述第一寄存器的时钟延迟的最大值的差值得到第一延迟最小偏差;根据所述第一延迟最大偏差以及所述第一延迟最小偏差获取所述第一延迟信息。
该种可能的实现方式中,网络设备可以根据第一寄存器与第一接口的数据链路延迟的最大值da1 max与第一寄存器的时钟延迟的最小值ca1 min之间的差值得到第一延迟最大偏差T1 max,T1 max=da1 max-ca1 min。网络设备根据第一寄存器与第一接口的数据链路延迟的最小值da1 min与第一寄存器的时钟延迟的最大值ca1 max的差值得到第一延迟最小偏差T1 min,T1 min=da1 min-ca1 max。网络设备根据第一延迟最大偏差T1 max以及第一延迟最小偏差T1 min获取第一延迟信息(te的中值te 2)。该种可能的实现方式提供了一种获取第一延迟信息的具体实现方式,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,根据所述第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和获取第二延迟信息,包括:根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最大值与所述第二寄存器的时钟延迟的最大值的和得到第二延迟最大偏差;根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最小值与所述第二寄存器的时钟延迟的最小值的和得到第二延迟最小偏差;根据所述第二延迟最大偏差以及所述第二延迟最小偏差获取所述第二延迟信息。
该种可能的实现方式中,网络设备根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最大值da2 max与第二寄存器的时钟延迟的最大值ca2 max的和得到 第二延迟最大偏差T2 max,T2 max=da2 max+ca2 max。网络设备根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最小值da2 min与第二寄存器的时钟延迟的最小值ca2 min的和得到第二延迟最小偏差T2 min,T2 min=da2 min+ca2 min。网络设备根据第二延迟最大偏差T2 max以及第二延迟最小偏T2 min差获取第二延迟信息(tf的中值tf 2)。该种可能的实现方式提供了一种获取第二延迟信息的具体实现方式,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,所述第一接口延迟文件和/或所述第二接口延迟文件包括标准延迟格式SDF文件。
该种可能的实现方式中,第一接口延迟文件和第二接口延迟文件可以是同一SDF文件,第一接口延迟文件和第二接口延迟文件可以是不同SDF文件,具体此处不做限定。若第一接口延迟文件和第二接口延迟文件是同一SDF文件,则该SDF文件是根据第一延迟信息与第二延迟信息生成。若第一接口延迟文件和第二接口延迟文件是不同SDF文件,则第一接口延迟文件是根据第一延迟信息生成,第二接口延迟文件是根据第二延迟信息生成。
本申请第二方面提供一种网络设备,该网络设备包括至少一个处理器和存储器。处理器与存储器耦合。存储器用于存储指令,处理器用于执行该指令,该指令在被处理器执行时,使得所述网络设备执行上述第一方面或第一方面的任意可能的实现方式中的方法。
本申请第三方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序,该程序使得所述网络设备执行上述第一方面或第一方面的任意可能的实现方式中的方法。
本申请第四方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当所述计算机执行指令被所述处理器执行时,所述处理器执行上述第一方面或第一方面任意一种可能实现方式的方法。
本申请第五方面提供一种芯片,该芯片包括处理器和通信接口,所述处理器与所述通信接口耦合,所述处理器用于读取指令执行上述第一方面或第一方面任意一种可能实现方式的方法。
本申请提供了一种用于芯片的延迟补偿方法,可以根据第一寄存器的时钟延迟和第一寄存器与第一接口的数据链路延迟获取第一延迟信息,进而根据第一延迟信息和芯片的网表生成接口延迟文件。生成接口延迟文件的过程运算量小,耗时短,提升了对芯片进行后仿真的效率。
附图说明
图1为本申请提供的网表后仿真的应用示意图;
图2为本申请提供的一种用于芯片的延迟补偿方法的应用示意图;
图3为本申请提供的一种芯片的结构示意图;
图4为本申请提供的建立时间和保持时间的示意图;
图5为本申请提供的一种芯片的结构示意图;
图6为本申请提供的信号采样示意图;
图7为本申请提供的第一延迟信息示意图;
图8为本申请提供的第二延迟信息示意图;
图9为本申请提供的一网络设备的结构示意图;
图10为本申请提供的另一网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
随着集成电路技术的快速发展,芯片的规模越来越大,对于芯片的交付周期及交付质量等方面的要求也逐步提升。芯片验证是芯片交付流程中较为重要的一个部分,而网表(netlist)后仿真是芯片验证过程的最后一环。网表后仿真是对芯片的底层电路的基本单元进行后仿真。从实际电路版图中提取出各元件的延迟信息,将各元件的延迟信息生成标准延迟格式(standard delay format,SDF)网表后,通过SDF网表对芯片进行后仿真。相比于不考虑芯片中各元件的延迟的寄存器转换级电路(Register Transfer Level,RTL)仿真,带SDF网表后仿真运算量大,对于芯片后仿真验证的过程耗时较长。
图1为本申请提供的网表后仿真的应用示意图。
请参阅图1,通过SDF网表对芯片进行后仿真的过程中,通过Testbench来对芯片进行后仿真。采用Testbench对芯片进行后仿真时,需要在testbench环境中对接口激励添加一定延迟来保证仿真能够顺利进行。芯片中的第一级寄存器采样输入激励时需要满足SDF中对于建立时间(setup time)和保持时间(hold time)的要求,否则将会出现采样违例(violation)的情况。芯片中的最末级寄存器采样输出激励时同样需要满足一定的延迟要求,才能保证芯片中数据总线上各bit信号采样正确。只有在满足上述延迟添加正确情况下,后仿真才有意义。验证工程师通常采用手动添加的方式在Testbench下的interface 组件中对芯片中各个接口激励添加固定的延迟值。延迟值通常由验证工程师根据经验来添加,通过SDF网表后仿真来确认延迟值是否是准确,如果后仿真通过且没有违例(violation)则认为延迟值准确,反之,若后仿真过程出现违例则需要对仿真波形进行分析,进一步确定违例否与延迟值不准确有关。若确认是延迟值不准确,则需要调整延迟值,再次启动后仿真验证延迟值是否准确,直到延迟值准确为止。
该种实现方式中,延迟值的准确性较差,通常需要通过多次后仿真才可以确定出准确的延迟值。由于每次后仿真运算量都比较大,运算速度慢,导致延迟值的调试过程消耗时间长,降低了对芯片进行后仿真的效率。
为了解决上述示例所阐释的方案中存在的问题,本申请提供了一种用于芯片的延迟补偿方法,可以根据第一寄存器的时钟延迟和第一寄存器与第一接口的数据链路延迟获取第一延迟信息,进而根据第一延迟信息和芯片的网表生成第一接口延迟文件。第一接口延迟文件用于指示网表中的接口的补偿延迟,生成第一接口延迟文件的过程运算量小,耗时短,避免反复迭代尝试造成的资源浪费,且提升了对芯片进行后仿真的效率。网表中包括多个不同的接口,接口延迟文件中保存有与各接口相对应的第一延迟信息,以便后仿真过程中更加准确地为各接口添加延迟信息,进一步提升了后仿真的准确性。此外,各接口的延迟信息通过接口延迟文件来添加,可以使验证环境和延迟信息解耦,无需修改验证环境,可以使验证环境和门仿保持一致。
图2为本申请提供的一种用于芯片的延迟补偿方法的应用示意图。
请参阅图2,本申请提供的用于芯片的延迟补偿方法的一个方法示例包括步骤101至步骤103。
101、获取第一寄存器的时钟延迟以及第一寄存器与第一接口的数据链路延迟。
本申请中,芯片包括第一寄存器以及第一接口,第一寄存器可以是第一级寄存器,第一接口用于向第一寄存器提供数据信号。网络设备可以根据与网表对应的已知的SDF文件来获取第一寄存器的时钟延迟以及第一寄存器与第一接口的数据链路延迟。
本申请中,网表(netlist)是用于描述电路元件间连接关系的文件,本申请中提及的网表描述了代码综合之后生成的芯片中的单元(cell)以及cell之间的连线。
本申请中,芯片可以是微处理器,芯片可以是内存芯片,芯片还可以是其他类型的芯片,具体此处不做限定。
图3为本申请提供的芯片的一结构示意图。
请参阅图3,如图3所示,示例性的,假设芯片包括模块1(module 1),module 1中包括有时钟接口800兆(clk_800M)、时钟接口500兆(clk_500)以及接口i(i_dat)。此外,module 1还包括寄存器1与寄存器2,其中,寄存器1中包括接口D1与时钟接口CP1,寄存器2中包括接口D2与时钟接口CP2。假设第一寄存器为寄存器1,第一接口为接口i。第一寄存器的时钟延迟则为时钟信号从clk_800M到CP1传输过程中所产生的延迟clk_delay1,clk_delay1同样可以理解为第一寄存器的时钟CP1与基准时钟之间的延迟。数据信号从i_dat传输至第一寄存器的接口D1同样会产生传输延迟i_dat delay1。i_data_delay1同样可以理解为信息从i_dat传输至第一寄存器的接口D1所产生的数据链 路延迟。
上述方法示例以芯片中包括的模块1为例来说明第一寄存器的时钟延迟以及第一接口的数据链路延迟,可选的,芯片还可以包括除寄存器1、寄存器2之外的其他寄存器,芯片还可以包括除clk_800M、clk_500M、i_dat之外的其他接口。寄存器1还可以包括除接口D1、时钟接口CP1之外的其他接口,寄存器2还可以包括除接口D2、时钟接口CP2之外的其他接口,具体此处不做限定。
102、根据第一寄存器的时钟延迟和第一寄存器与第一接口的数据链路延迟获取第一延迟信息。
图4为本申请提供的建立时间和保持时间的示意图。
本申请中,第一延迟信息用于指示通过第一接口向第一寄存器发送数据信号时的补偿延迟。示例性的,第一寄存器通过接口D1接收数据信号后,对数据信号采样时需要满足SDF格式中规定的setup time和hold time的需求,setup time是指在触发器的时钟信号的上升沿到来之前,数据信号需要维持稳定不变的时间。hold time是指在触发器的时钟信号的上升沿到来之后,数据信号需要维持稳定不变的时间。数据信号从i_dat接口输入第一寄存器时,需要在i_dat接口处添加一个补偿延迟以满足第一寄存器的采样需求。如图4中,第一寄存器的时钟的上升沿a的两侧是setup time与hold time构成的区间,数据信号需要在该区间内保持稳定。如图中最大延迟信号(Dmax)所示,i_dat接口处添加的补偿延迟的最大值是使数据信号的上升沿与setup time相重合,如图中最小延迟信号(Dmin)所示,i_dat接口处添加的补偿延迟的最小值是使数据信号的下降沿与hold time相重合。
103、根据第一延迟信息和芯片的网表生成接口延迟文件。
本申请中,网络设备根据可以根据一个或多个第一延迟信息以及网表生成第一接口延迟文件,该第一接口延迟文件用于指示网表中的接口的延迟补偿。
本申请提供的用于芯片的延迟补偿方法中,除上述示例中说明的步骤101至步骤103外,该方法还可以包括步骤201至步骤203。该方法包括的步骤201至步骤203将在下面的示例中进行详细说明。
201、获取第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和。
本申请中,可选的,芯片还可以包括第二寄存器以及第二接口,第二寄存器可以是最末级寄存器,第二接口用于输出第二寄存器提供的数据信号。网络设备可以根据与网表对应的已知的SDF文件来获取第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和。
图5为本申请提供的一种芯片的结构示意图。
请参阅图5,如图5所示,示例性的,假设芯片包括模块2(module 2),module 2中包括有时钟接口700兆(clk_700M)、时钟接口600兆(clk_600M)以及接口o(o_dat)。此外,module 2还包括寄存器3与寄存器4,其中,寄存器3中包括接口Q1与时钟接口CP3,寄存器4中包括接口Q2与时钟接口CP4。假设第二寄存器为寄存器3,第二接口为接 口o。第二寄存器的时钟延迟则为时钟信号从clk 700M到CP3传输过程中所产生的延迟clk_delay2,clk_delay2同样可以理解为第二寄存器的时钟CP3与基准时钟之间的延迟。信息从寄存器3传输至接口o_dat同样会产生数据链路传输延迟o_dat delay。
上述方法示例以芯片中包括的模块2为例来说明第二寄存器的时钟延迟以及第二接口的数据链路延迟,可选的,芯片还可以包括除寄存器3、寄存器4之外的其他寄存器,芯片还可以包括除clk_700M、clk_600M、o_dat之外的其他接口。寄存器3还可以包括除接口Q1、时钟接口CP3之外的其他接口,寄存器3还可以包括除接口Q2、时钟接口CP3之外的其他接口,具体此处不做限定。
202、根据第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和获取第二延迟信息。
图6为本申请提供的信号采样示意图。
本申请中,第二延迟信息用于指示第二寄存器通过第二接口输出数据信号时的补偿延迟。示例性的,如图6所示,时钟a(CP_a)为信号a(Qpin_a)的驱动时钟,时钟延迟a(ca)为时钟a与基准时钟之间的延迟,传输延迟a(da)为以时钟a为参照时,寄存器内部cell的延迟和信号a经由寄存器的Q端传输至该模块的pin口(图5中第二接口o)所产生的延迟之和。信号b(Qpin_b)的相关参数与信号a的相关参数相类似,具体此处不做赘述。信号a的延迟ca+da小于一个周期T,信号b的延迟cb+db大于一个周期T,若信号a与信号b之间有关联,或,信号a与信号b之间组成一组bus,则在C线处对应的时刻对信号a、信号b采样时,该时刻只会采集到信号a,采集不到信号b,信号采样将会出现错误。因此需要对第二接口输出的信号a和/或信号b添加补偿延迟,以便正确采集第二接口输出的信号。
203、根据第一延迟信息、第二延迟信息和网络设备的网表生成接口延迟文件。
本申请中,网络设备根据可以根据一个或多个第一延迟信息、第二延迟信息以及网表生成接口延迟文件,该接口延迟文件用于指示网表中的接口的延迟补偿。
本申请提供的用于芯片的延迟补偿方法中,网络设备还可以根据网表来获取第一寄存器、第一接口、第二寄存器和/或第二接口。
本申请中,第一接口延迟文件和第二接口延迟文件可以是同一SDF文件,第一接口延迟文件和第二接口延迟文件可以是不同SDF文件,具体此处不做限定。若第一接口延迟文件和第二接口延迟文件是同一SDF文件,则该SDF文件是根据第一延迟信息与第二延迟信息生成。若第一接口延迟文件和第二接口延迟文件是不同SDF文件,则第一接口延迟文件是根据第一延迟信息生成,第二接口延迟文件是根据第二延迟信息生成。
本申请中,上述实施例中说明的步骤102中,根据第一寄存器的时钟延迟和第一寄存器与第一接口的数据链路延迟获取第一延迟信息具有具体的实现方式,该具体的实现方式将在下面的示例中进行详细说明。
图7为本申请提供的第一延迟信息示意图。
请参阅图7,本申请中,以基准时钟(CLK)为参照,初始信号(D_ori)从第一接口(如图3中i_dat)传输至第一寄存器(如图3中接口D1)会产生传输延迟(da),第一寄 存器接收到的信号则为D_ori延迟da1后的实际信号(D_act)。若第一寄存器的时钟(CP)位于C处对应的时刻时,第一寄存器采集数据信号。为了满足第一寄存器采集数据信号时对于setup time和hold time的需要,则希望由D_act添加第一延迟信息(延迟补偿te)后形成的期望信号(D_exp)的中间位于C处,以便第一寄存器成功采集D_exp。由于D_exp的周期与CP的周期时长相同,则D_exp的起始端与CP在D处的第一寄存器的时钟信号的下降沿对齐。由图中可以得知,
te=ca1+ 1/ 2T-da1
本申请中,根据延迟补偿te的边界值可以得到延迟补偿te的中值,假设te的最小值为te 0,最大值为te 1,则te 0=ca1 min+ 1/ 2T-da1 max,te 1=ca1 max+ 1/ 2T-da1 min
网络设备根据第一寄存器与第一接口的数据链路延迟的最大值da1 max与第一寄存器的时钟延迟的最小值ca1 min之间的差值得到第一延迟最大偏差T max,T max=da1 max-ca1 min。网络设备根据第一寄存器与第一接口的数据链路延迟的最小值da1 min与第一寄存器的时钟延迟的最大值ca1 max的差值得到第一延迟最小偏差T min,T min=da1 min-ca1 max。网络设备根据第一延迟最大偏差T max以及第一延迟最小偏T min差获取第一延迟信息(te的中值te 2)。
本申请中,上述实施例中说明的步骤202中,根据第二寄存器的时钟延迟和第二寄存器与第二接口的数据链路延迟获取第二延迟信息具有具体的实现方式,该具体的实现方式将在下面的示例中进行详细说明。
图8为本申请提供的第二延迟信息示意图。
请参阅图8,本申请中,以基准时钟(CLK)为参照,第二寄存器的时钟(CP3)与基准时钟之间存在时钟延迟(ca2)。第二寄存器内部的延迟和第二寄存器的输出信号(Q)从第二寄存器(如图5中接口Q1)传输至第二接口(如图5中接口o_dat)产生传输延迟之和为(da2)。若CLK位于M处时,验证环境中的组件采集第二接口输出的数据信号。为了满足验证环境中的组件采集数据信号时对于setup time和hold time的需要,则希望由Q_pin添加第二延迟信息(延迟补偿tf)后形成的输出期望信号(pin_exp)的中间位于M处,以便验证环境中的组件成功采集pin_exp。由于pin_exp的周期与CLK的周期时长相同,则pin_exp的起始端与CP在N处的下降沿对齐。由图中可以推导得知tf的值,
tf= 1/ 2T-(ca2+da2)
本申请中,为了防止tf值为负值,则计算tf时补偿一个周期参数Tcom。补偿后的公式如下所示,
tf=Tcom+ 1/ 2T-(ca2+da2)
先令Tcom为0,若计算得出tf为负值时,再令Tcom的值为一个周期,得出补偿一个周期之后的第二接口的补偿延迟。
根据延迟补偿tf的边界值可以得到延迟补偿tf的中值,假设tf的最小值为tf 0,最大值为tf 1,则tf 0=Tcom+ 1/ 2T-(ca2 max+da2 max),tf 1=Tcom+ 1/ 2T-(ca2 min+da2 min)。
网络设备根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最大值da2 max与第二寄存器的时钟延迟的最大值ca2 max的和得到第二延迟最大偏差T max,T max=da2 max+ca2 max。网络设备根据第二寄存器与第二接口的数据链路延迟的最小值da2 min与第二寄存器的时钟延迟的最小值ca2 min的和得到第二延迟最小偏差T min,T min=da2 min+ca2 min。网络设备根据第二延迟最大偏差T max以及第二延迟最小偏T min差获取第二延迟信息(tf的中值tf 2)。
本申请中,若T max+T min过大导致tf 2为负值,则将pin_exp补偿至下一周期,得到的公式如下所示。当T max+T min过大导致tf 2为负值时,Tcom的值为一个周期,即将该pin_exp补偿至下一个周期输出。
本申请提供了一种用于芯片的延迟补偿方法,可以根据第一寄存器的时钟延迟和第一寄存器与第一接口的数据链路延迟获取第一延迟信息,进而根据第一延迟信息和芯片的网表生成第一接口延迟文件。生成第一接口延迟文件的过程运算量小,耗时短,避免反复迭代尝试造成的资源浪费,且提升了对芯片进行后仿真的效率。网表中包括多个不同的接口,接口延迟文件中保存有与各接口相对应的第一延迟信息,以便后仿真过程中更加准确地为各接口添加延迟信息,进一步提升了后仿真的准确性。此外,各接口的延迟信息通过接口延迟文件来添加,可以使验证环境和延迟信息解耦,无需修改验证环境,可以使验证环境和门仿保持一致。
上述示例提供了一种最短路径的确定方法的不同的实施方式,下面提供了一种网络设备30,如图9所示,该网络设备30用于对上述示例中说明的芯片进行后仿真,该执行步骤以及相应的有益效果具体请参照上述相应的示例进行理解,此处不再赘述,该网络设备30包括:
获取单元301:
用于获取第一寄存器的时钟延迟以及第一寄存器与第一接口的数据链路延迟;
用于根据所述第一寄存器的时钟延迟和所述第一寄存器与第一接口的数据链路延迟获取第一延迟信息,其中,所述第一延迟信息用于指示通过所述第一接口向所述第一寄存器发送数据信号时的补偿延迟;
生成单元302,用于根据所述第一延迟信息和所述芯片的网表生成第一接口延迟文件,所述第一接口延迟文件用于指示所述网表中的接口的补偿延迟。
一种可能的实现方式中,所述芯片包括第二寄存器以及第二接口,所述第二接口用于输出所述第二寄存器提供的数据信号,
所述获取单元301:
还用于获取第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第 二接口的数据链路延迟之和;
还用于根据所述第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和获取第二延迟信息,其中,所述第二延迟信息用于指示所述第二寄存器通过所述第二接口发送数据信号时的补偿延迟;
所述生成单元302,还用于根据所述第二延迟信息和所述网表生成第二接口延迟文件。
一种可能的实现方式中,
所述获取单元301,还用于根据所述网表获取所述第一寄存器、所述第一接口、所述第二寄存器和/或所述第二接口。
一种可能的实现方式中,
所述获取单元301:
用于根据所述第一寄存器与第一接口的数据链路延迟的最大值与所述第一寄存器的时钟延迟的最小值的差值得到第一延迟最大偏差;
用于根据所述第一寄存器与第一接口的数据链路延迟的最小值与所述第一寄存器的时钟延迟的最大值的差值得到第一延迟最小偏差;
用于根据所述第一延迟最大偏差以及所述第一延迟最小偏差获取所述第一延迟信息。
一种可能的实现方式中,
所述获取单元301:
用于根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最大值与所述第二寄存器的时钟延迟的最大值的和得到第二延迟最大偏差;
用于根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最小值与所述第二寄存器的时钟延迟的最小值的和得到第二延迟最小偏差;
用于根据所述第二延迟最大偏差以及所述第二延迟最小偏差获取所述第二延迟信息。
一种可能的实现方式中,所述第一接口延迟文件和/或所述第二接口延迟文件包括标准延迟格式SDF文件。
需要说明的是,上述网络设备30的各模块之间的信息交互、执行过程等内容,由于与本申请方法示例基于同一构思,其执行步骤与上述方法步骤的详细内容一致,可参见上述方法示例处的描述。
参阅图10所示,为本申请提供一种网络设备400的结构示意图,该网络设备400包括:处理器402、通信接口403、存储器401。可选的,可以包括总线404。其中,通信接口403、处理器402以及存储器401可以通过总线404相互连接;总线404可以是外围部件互连标准(Peripheral Component Interconnect,PCI)总线或扩充工业标准体系结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该网络设备400可以实现图9所示的示例中的网络设备30的功能。处理器402和通信接口403可以执行上述方法示例中网络设备相应的操作。
下面结合图10对网络设备400的各个构成部件进行具体的介绍:
其中,存储器401可以是易失性存储器(volatile memory),例如随机存取存储器 (random-access memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者上述种类的存储器的组合,用于存储可实现本申请方法的程序代码、配置文件或其他内容。
处理器402是控制器的控制中心,可以是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请提供的示例的一个或多个集成电路,例如:一个或多个数字信号处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
通信接口403用于与其他网络设备进行通信。
该处理器402可以执行前述图9所示示例中网络设备30所执行的操作,具体此处不再赘述。
需要说明的是,上述网络设备400的各模块之间的信息交互、执行过程等内容,由于与本申请方法示例基于同一构思,其执行步骤与上述方法步骤的详细内容一致,可参见上述方法示例处的描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述示例中的对应过程,在此不再赘述。
在本申请所提供的几个示例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置示例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本示例的目的。
另外,在本申请各个示例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个示例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-only memory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,不同的示例可以进行组合,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何组合、修改、等同替换、改进等,均应包含在本发明的保护范围之内。以上所述,以上示例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述示例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各示例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各示例技术方案的范围。

Claims (16)

  1. 一种用于芯片的延迟补偿方法,其特征在于,所述芯片包括第一寄存器以及第一接口,所述第一接口用于向所述第一寄存器提供数据信号,所述方法包括:
    获取第一寄存器的时钟延迟以及第一寄存器与第一接口的数据链路延迟;
    根据所述第一寄存器的时钟延迟和所述第一寄存器与第一接口的数据链路延迟获取第一延迟信息,其中,所述第一延迟信息用于指示通过所述第一接口向所述第一寄存器发送数据信号时的补偿延迟;
    根据所述第一延迟信息和所述芯片的网表生成第一接口延迟文件,所述第一接口延迟文件用于指示所述网表中的接口的补偿延迟。
  2. 据权利要求1所述的用于芯片的延迟补偿方法,其特征在于,所述芯片包括第二寄存器以及第二接口,所述第二接口用于输出所述第二寄存器提供的数据信号,所述方法还包括:
    获取第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和;
    根据所述第二寄存器的时钟延迟,以及,所述第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和获取第二延迟信息,其中,所述第二延迟信息用于指示所述第二寄存器通过所述第二接口发送数据信号时的补偿延迟;
    根据所述第二延迟信息和所述网表生成第二接口延迟文件。
  3. 据权利要求1或2所述的用于芯片的延迟补偿方法,其特征在于,所述方法还包括:
    根据所述网表获取所述第一寄存器、所述第一接口、所述第二寄存器和/或所述第二接口。
  4. 根据权利要求1至3中任意一项所述的用于芯片的延迟补偿方法,其特征在于,根据所述第一寄存器的时钟延迟和所述第一寄存器与第一接口的数据链路延迟获取第一延迟信息,包括:
    根据所述第一寄存器与第一接口的数据链路延迟的最大值与所述第一寄存器的时钟延迟的最小值的差值得到第一延迟最大偏差;
    根据所述第一寄存器与第一接口的数据链路延迟的最小值与所述第一寄存器的时钟延迟的最大值的差值得到第一延迟最小偏差;
    根据所述第一延迟最大偏差以及所述第一延迟最小偏差获取所述第一延迟信息。
  5. 根据权利要求2至4中任意一项所述的用于芯片的延迟补偿方法,其特征在于,根据所述第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和获取第二延迟信息,包括:
    根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最大值与所述第二寄存器的时钟延迟的最大值的和得到第二延迟最大偏差;
    根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最小值与所述第二寄存器的时钟延迟的最小值的和得到第二延迟最小偏差;
    根据所述第二延迟最大偏差以及所述第二延迟最小偏差获取所述第二延迟信息。
  6. 根据权利要求1至5中任意一项所述的用于芯片的延迟补偿方法,其特征在于,所述第一接口延迟文件和/或所述第二接口延迟文件包括标准延迟格式SDF文件。
  7. 一种网络设备,其特征在于,包括:
    获取单元:
    用于获取第一寄存器的时钟延迟以及第一寄存器与第一接口的数据链路延迟;
    用于根据所述第一寄存器的时钟延迟和所述第一寄存器与第一接口的数据链路延迟获取第一延迟信息,其中,所述第一延迟信息用于指示通过所述第一接口向所述第一寄存器发送数据信号时的补偿延迟;
    生成单元,用于根据所述第一延迟信息和所述芯片的网表生成第一接口延迟文件,所述第一接口延迟文件用于指示所述网表中的接口的补偿延迟。
  8. 据权利要求7所述的网络设备,其特征在于,所述芯片包括第二寄存器以及第二接口,所述第二接口用于输出所述第二寄存器提供的数据信号,
    所述获取单元:
    还用于获取第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和;
    还用于根据所述第二寄存器的时钟延迟,以及,第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和获取第二延迟信息,其中,所述第二延迟信息用于指示所述第二寄存器通过所述第二接口发送数据信号时的补偿延迟;
    所述生成单元,还用于根据所述第二延迟信息和所述网表生成第二接口延迟文件。
  9. 据权利要求7或8所述的网络设备,其特征在于,
    所述获取单元,还用于根据所述网表获取所述第一寄存器、所述第一接口、所述第二寄存器和/或所述第二接口。
  10. 根据权利要求7至9中任意一项所述的网络设备,其特征在于,
    所述获取单元:
    用于根据所述第一寄存器与第一接口的数据链路延迟的最大值与所述第一寄存器的时钟延迟的最小值的差值得到第一延迟最大偏差;
    用于根据所述第一寄存器与第一接口的数据链路延迟的最小值与所述第一寄存器的时钟延迟的最大值的差值得到第一延迟最小偏差;
    用于根据所述第一延迟最大偏差以及所述第一延迟最小偏差获取所述第一延迟信息。
  11. 根据权利要求8至10中任意一项所述的网络设备,其特征在于,
    所述获取单元:
    用于根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最大值与所述第二寄存器的时钟延迟的最大值的和得到第二延迟最大偏差;
    用于根据第二寄存器内部的延迟和第二寄存器与第二接口的数据链路延迟之和的最小值与所述第二寄存器的时钟延迟的最小值的和得到第二延迟最小偏差;
    用于根据所述第二延迟最大偏差以及所述第二延迟最小偏差获取所述第二延迟信息。
  12. 根据权利要求7至11中任意一项所述的网络设备,其特征在于,所述第一接口延 迟文件和/或所述第二接口延迟文件包括标准延迟格式SDF文件。
  13. 一种网络设备,其特征在于,包括:
    处理器和存储器;
    所述处理器与所述存储器相连;
    所述处理器用于读取所述存储器中存储的指令后,使得所述网络设备执行如权利要求1至6中任一项所述的方法。
  14. 一种芯片,其特征在于,包括处理器,所述处理器用于读取指令以执行如权利要求1至6中任意一项所述的方法。
  15. 一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至6中任一项所述的方法。
  16. 一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至6中任一项所述的方法。
CN202180092803.2A 2021-02-26 2021-02-26 一种延迟补偿方法以及相关设备 Pending CN116848518A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/078001 WO2022178793A1 (zh) 2021-02-26 2021-02-26 一种延迟补偿方法以及相关设备

Publications (1)

Publication Number Publication Date
CN116848518A true CN116848518A (zh) 2023-10-03

Family

ID=83047599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180092803.2A Pending CN116848518A (zh) 2021-02-26 2021-02-26 一种延迟补偿方法以及相关设备

Country Status (2)

Country Link
CN (1) CN116848518A (zh)
WO (1) WO2022178793A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115983172B (zh) * 2023-03-17 2023-06-09 摩尔线程智能科技(北京)有限责任公司 用于后仿真的方法和仿真平台

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7908574B2 (en) * 2007-05-09 2011-03-15 Synopsys, Inc. Techniques for use with automated circuit design and simulations
US9520865B2 (en) * 2014-09-04 2016-12-13 Qualcomm Incorporated Delay circuits and related systems and methods
TWI533154B (zh) * 2014-09-17 2016-05-11 瑞昱半導體股份有限公司 數位電路設計方法及相關的電腦程式產品
KR102328044B1 (ko) * 2014-10-21 2021-11-17 삼성전자주식회사 시뮬레이터의 작동 방법과 이를 수행할 수 있는 장치
CN105701041B (zh) * 2016-01-11 2018-09-28 福州瑞芯微电子股份有限公司 芯片自适应调节读数时序路径的方法和装置
CN108073831B (zh) * 2016-11-15 2020-07-24 华为技术有限公司 一种检测安全芯片工作状态的方法及检测电路
CN109885513B (zh) * 2019-03-22 2023-05-26 晶晨半导体(深圳)有限公司 一种存储系统的延迟控制方法
CN112069754B (zh) * 2020-09-08 2021-08-24 海光信息技术股份有限公司 芯片设计方法、系统、设备以及存储介质

Also Published As

Publication number Publication date
WO2022178793A1 (zh) 2022-09-01

Similar Documents

Publication Publication Date Title
JP5410414B2 (ja) 回路エミュレーションの入力及び遅延入力のマルチプレクシング
EP2145273B1 (en) Computation of phase relationship by clock sampling
EP2165280B1 (en) Recording of emulation states using replicated memory elements
CN100573537C (zh) 一种soc芯片系统级验证系统及方法
US10354042B2 (en) Selectively reducing graph based analysis pessimism
US8756557B2 (en) Techniques for use with automated circuit design and simulations
CN112417798B (zh) 一种时序测试方法、装置、电子设备及存储介质
US20060090149A1 (en) Simulation testing of digital logic circuit designs
CN116776793B (zh) 静态时序分析和前仿真相结合的多周期路径约束验证方法
CN111427794A (zh) 一种用于加速存储部件网表仿真的方法、系统及介质
CN116256621B (zh) 芯粒的测试方法、装置、电子设备及存储介质
CN114548006A (zh) 集成电路的验证方法、装置、电子设备、存储介质
CN116848518A (zh) 一种延迟补偿方法以及相关设备
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
CN110688815A (zh) 一种基于访存码型的存储接口电路混合建模仿真方法
US10366186B2 (en) System and process for simulating the behavioral effects of timing violations between unrelated clocks
CN115983172B (zh) 用于后仿真的方法和仿真平台
CN116842902B (zh) 针对黑盒模型的系统级仿真建模方法
CN116256620B (zh) Chiplet集成芯片的检测方法、装置、电子设备及存储介质
WO2024001891A1 (zh) 时序库最大负载的生成方法和装置、存储介质及电子装置
CN118586334A (zh) 一种基于状态的功耗评估装置及其数据拟合方法
CN117436404A (zh) 时序仿真方法、装置、电子设备及存储介质
Vajja Emulation of ASIC based network processor on a FPGA platform
Rashmi et al. Development of verification IP of lin controller using verification methodology manual
Lee et al. SoC Design Environment with Automated Bus Architecture Generation for Rapid Prototyping with ISS

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