CN112448867B - 信号延时测试方法、装置、计算机可读存储介质及电子设备 - Google Patents
信号延时测试方法、装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN112448867B CN112448867B CN202011367009.8A CN202011367009A CN112448867B CN 112448867 B CN112448867 B CN 112448867B CN 202011367009 A CN202011367009 A CN 202011367009A CN 112448867 B CN112448867 B CN 112448867B
- Authority
- CN
- China
- Prior art keywords
- delay
- data
- channel
- function
- module
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Dc Digital Transmission (AREA)
Abstract
本申请提供一种信号延时测试方法、装置、计算机可读存储介质及电子设备,包括:通过多个第一信道,将第一发送端输出的并行的数据输入第一信号延时模型,以便进行延时处理;并通过多个第二信道,将延时处理后的并行的数据发送给第一接收端;以及通过多个第二信道,将第一接收端输出的并行的数据输入第一信号延时模型,以便进行延时处理;通过多个第一信道,将延时处理后的并行的数据发送给第一发送端。通过在两个顶层模块之间设置的第一信号延时模型对并行数据进行模拟延时,从而可以测试延时数据处理能力,能够在芯片设计的前期就实现对顶层模块的延时数据处理能力的测量,改善了现有技术对数据处理模块的测试不够及时、快捷的问题。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种信号延时测试方法、装置、计算机可读存储介质及电子设备。
背景技术
在现有技术中,一个顶层模块的tx接口与另一个顶层模块的rx接口直接连接,且在上述的tx接口与rx接口之间,通常连接有多个信道。
在实际应用过程中,多个信道的延时各不相同,作为发送方的顶层模块将数据经多个不同信道传输给作为接收方的顶层模块后,经过不同信道的数据由于信道的延时的不同,会产生不同的延时。作为接收方的顶层模块中的数据处理模块应当将从不同信道接收到的数据调整成不存在延时差异的数据。因此,需要对数据处理模块是否具备良好的延时调节能力进行测试。然而,现有技术中,通常是在芯片设计接近尾声的阶段才会进行对数据处理模块的测试,造成了测试不够及时、快捷的问题。
发明内容
本申请实施例的目的在于提供一种信号延时测试方法、装置、计算机可读存储介质及电子设备,用以改善现有技术对数据处理模块的测试不够及时快捷的问题。
第一方面,本申请实施例提供了一种信号延时测试方法,所述方法包括:通过第一顶层模块的第一发送端与第一信号延时模型之间的多个第一信道,将所述第一发送端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述第一信号延时模型与第二顶层模块的第一接收端之间的多个第二信道,将延时处理后的所述并行的数据发送给所述第一接收端,以测试所述第二顶层模块的延时数据处理能力;以及通过所述多个第二信道,将所述第一接收端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述多个第一信道,将延时处理后的所述并行的数据发送给所述第一发送端,以测试所述第一顶层模块的延时数据处理能力。
在上述的实施方式中,可以在第一顶层模块与第二顶层模块之间设置第一信号延时模型。第一信号延时模型用于对第一顶层模块的第一发送端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第二顶层模块的第一接收端,从而测试第二顶层模块的延时数据处理能力;第一信号延时模型还用于对第二顶层模块的第一接收端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第一顶层模块的第一发送端,以测试第一顶层模块的延时数据处理能力。上述方法通过在两个顶层模块之间设置的第一信号延时模型对并行数据进行模拟延时,从而可以分别测试第一顶层模块以及第二顶层模块的延时数据处理能力,利用第一信号延时模型进行模拟延时,能够在芯片设计的前期就实现对顶层模块的延时数据处理能力的测量,改善了现有技术对数据处理模块的测试不够及时、快捷的问题。
在一个可能的设计中,所述多个第一信道与所述多个第二信道一一对应。
在上述的实施方式中,第一信道的数量与第二信道的数量可以相同,且第一信道与第二信道一一对应。
在一个可能的设计中,每个所述第一信道均配置有与自身对应的延时时间参数;每个所述第二信道均配置有与自身对应的延时时间参数。
在上述的实施方式中,在利用第一信号延时模型对每条信道传输的数据进行延时的时候,可以依据每条信道对应的延时时间参数。信道包括第一信道和第二信道,第一信道为第一信号延时模型与第一发送端之间的信道,第二信道为第一信号延时模型与第一接收端之间的信道。每条第一信道有各自对应的延时时间参数,每条第二信道也有各自对应的延时时间参数。在依据延时时间参数进行延时的时候,可以实现不同信道中传输的数据的各自的延时,从而能够更加真实准确地模拟延时情况。
在一个可能的设计中,所述第一信号延时模型包括用于模拟第一三态门的第一函数、用于模拟选择器的第二函数、用于模拟数据延时调制模块的第三函数、用于模拟第二三态门的第四函数以及用于模拟第三三态门的第五函数;所述第一函数用于在所述第一信道的使能信号线使能时,将从所述第一信道获取的数据传输向所述第二函数,以及在所述第一信道使能信号线未使能时,处于高阻态;所述第二函数用于在所述第二信道的使能信号线使能时,选择接收所述第二信道的数据并输出;在所述第二信道使能信号线未使能时,选择接收所述第一函数的数据并输出;所述第三函数用于根据接收的数据所来自的信道对应的延时时间参数,对所述接收的数据进行对应的延时处理并传输向所述第四或所述第五函数;所述第四函数用于在所述第一信道使能信号线使能时,将所述第三函数输出的数据传输向所述第二顶层模块的第一接收端;在所述第一信道使能信号线未使能时,处于高阻态;所述第五函数用于在所述第二信道使能信号线使能时,将所述第三函数输出的数据传输向所述第一顶层模块的第一发送端;在所述第二信道使能信号线未使能时,处于高阻态。
在上述的实施方式中,可以利用用于模拟第一三态门的函数、用于模拟选择器的函数、用于模拟数据延时调制模块的函数、用于模拟第二三态门的函数以及用于模拟第三三态门的函数来形成从第一发送端至第一接收端的路径、以及从第一接收端至第一发送端的路径。每个用于模拟三态门的函数可以控制路径的导通或断开,用于模拟数据延时调制模块的函数可以在两条路径中进行切换,用于模拟数据延时调制模块的函数可以对两条路径中分别传输的多条并行数据分别进行延时处理。通过上述的配合,实现第一信号延时模型的延时功能。
在一个可能的设计中,所述第一信号延时模型还包括用于模拟使能延时调制模块的第六函数;所述第六函数用于对所述第二信道使能接口发出的使能信号进行延时处理,并发送给所述第五函数,以便对所述第五函数进行控制。
在上述的实施方式中,第二信道使能接口发出的使能信号的表征使能有效的时间较短,为了令使能信号与延时后的第二信道中传输的数据对应,可以利用用于模拟使能延时调制模块的函数对第二信道使能接口发出的使能信号进行延时,从而使得延时后的使能信号能够与延时后的第二信道中传输的数据对齐,提高使能信号的控制准确性。
在一个可能的设计中,所述延时时间参数包括信道基础延时和信道间偏斜延时;所述延时时间参数为所述信道基础延时和信道间偏斜延时的加和。
在上述的实施方式中,延时时间参数可以由信道基础延时以及信道间偏斜延时组成,信道基础延时以及信道间偏斜延时均可以由用户指定,从而可以较好的模拟真实的延时情况。
在一个可能的设计中,所述第三函数包括用于模拟参数计算模块的函数和用于模拟延时实现模块的函数;所述用于模拟参数计算模块的函数用于:将每个所述第一信道的信道基础延时与信道间偏斜延时相加,分别得到每个所述第一信道对应的加和值;以及,将每个所述第二信道的信道基础延时与信道间偏斜延时相加,分别得到每个所述第二信道对应的加和值;所述用于模拟延时实现模块的函数用于根据所述加和值,对与所述加和值对应的信道所传输的数据进行延时,其中,所述延时的时长值与所述加和值相等。
在上述的实施方式中,用于模拟参数计算模块的函数可以将每个信道的信道基础延时与信道间偏斜延时进行相加,得到每个信道分别对应的加和值;用于模拟延时实现模块的函数用于实现与加和值对应的时间延时。
在一个可能的设计中,所述用于模拟参数计算模块的函数包括多个用于模拟加法器的函数,所述用于模拟加法器的函数与所述第一信道的数量相同;每个所述用于模拟加法器的函数用于:将对应的第一信道的信道基础延时与信道间偏斜延时相加,得到加和值;,或,将对应的第二信道的信道基础延时与信道间偏斜延时相加,得到加和值。
在上述的实施方式中,用于模拟参数计算模块的函数可以是多个用于模拟加法器的函数,每个用于模拟加法器的函数可以将每个信道的信道基础延时与信道间偏斜延时进行相加,得到加和值。
在一个可能的设计中,所述用于模拟延时实现模块的函数为verilog中的多条不可综合语句,每条所述不可综合语句与每个所述加和值相对应,用于实现对应的所述加和值对应的信道所传输的数据的延时。
在上述的实施方式中,用于模拟延时实现模块的函数可以为verilog中的多条不可综合语句,每条不可综合语句可以与不同的加和值分别对应,从而实现加和值对应的信道所传输的数据的延时。
在一个可能的设计中,所述方法还包括:通过第二顶层模块的第二发送端与第二信号延时模型之间的多个第三信道,将所述第二发送端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述第二信号延时模型与第一顶层模块的第二接收端之间的多个第四信道,将延时处理后的所述并行的数据发送给所述第二接收端,以测试所述第一顶层模块的延时数据处理能力;以及通过所述多个第四信道,将所述第二接收端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述多个第三信道,将延时处理后的所述并行的数据发送给所述第二发送端,以测试所述第二顶层模块的延时数据处理能力。
在上述的实施方式中,可以在第一顶层模块与第二顶层模块之间设置第二信号延时模型。第二信号延时模型用于对第二顶层模块的第二发送端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第一顶层模块的第二接收端,从而测试第一顶层模块的延时数据处理能力;第二信号延时模型还用于对第一顶层模块的第二接收端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第二顶层模块的第二发送端,以测试第二顶层模块的延时数据处理能力。上述方法通过在两个顶层模块之间设置的第二信号延时模型对并行数据进行模拟延时,从而可以分别测试第一顶层模块以及第二顶层模块的延时数据处理能力,利用第二信号延时模型进行模拟延时,能够在芯片设计的前期就实现对顶层模块的延时数据处理能力的测量,改善了现有技术对数据处理模块的测试不够及时、快捷的问题。
在一个可能的设计中,所述预设数量的第三信道与所述预设数量的第四信道一一对应。
在一个可能的设计中,所述将第二顶层模块的第二发送端输出的多个信道的数据输入第二信号延时模型,通过所述第二信号延时模型对所述并行数据进行延时处理,并将延时处理后的并行数据发送给第一顶层模块的第二接收端,包括:利用所述第二信号延时模型接收来自所述第二发送端的预设数量的第三信道中每条第三信道的数据,并根据所述每条第三信道对应的延时时间参数,对所述每条第三信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第三信道分别对应的第四信道发送给所述第一顶层模块的所述第二接收端;所述将所述第一顶层模块的所述第二接收端输出的多个信道的数据输入第二信号延时模型,通过所述第二信号延时模型对所述并行数据进行延时处理,并将延时处理后的并行数据发送给第二顶层模块的所述第二发送端,包括:利用所述第二信号延时模型接收来自所述第二接收端的预设数量的第四信道中每条第四信道的数据,并根据所述每条第四信道对应的延时时间参数,对所述每条第四信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第四信道分别对应的第三信道发送给所述第二顶层模块的所述第二发送端。
在上述的实施方式中,在利用第二信号延时模型对每条信道传输的数据进行延时的时候,可以依据每条信道对应的延时时间参数进行延时。信道包括第三信道和第四信道,第三信道为第二信号延时模型与第二发送端之间的信道,第四信道为第二信号延时模型与第二接收端之间的信道。每条第三信道有各自对应的延时时间参数,每条第四信道也有各自对应的延时时间参数。在依据延时时间参数进行延时的时候,可以实现不同信道中传输的数据的各自的延时,从而能够更加真实准确地模拟延时情况。
第二方面,本申请实施例提供了一种信号延时测试装置,所述装置包括:第一数据传输模块,用于通过第一顶层模块的第一发送端与第一信号延时模型之间的多个第一信道,将所述第一发送端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述第一信号延时模型与第二顶层模块的第一接收端之间的多个第二信道,将延时处理后的所述并行的数据发送给所述第一接收端,以测试所述第二顶层模块的延时数据处理能力;第二数据传输模块,用于通过所述多个第二信道,将所述第一接收端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述多个第一信道,将延时处理后的所述并行的数据发送给所述第一发送端,以测试所述第一顶层模块的延时数据处理能力。
在上述的实施方式中,可以在第一顶层模块与第二顶层模块之间设置第一信号延时模型。第一信号延时模型用于对第一顶层模块的第一发送端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第二顶层模块的第一接收端,从而测试第二顶层模块的延时数据处理能力;第一信号延时模型还用于对第二顶层模块的第一接收端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第一顶层模块的第一发送端,以测试第一顶层模块的延时数据处理能力。上述方法通过在两个顶层模块之间设置的第一信号延时模型对并行数据进行模拟延时,从而可以分别测试第一顶层模块以及第二顶层模块的延时数据处理能力,利用第一信号延时模型进行模拟延时,能够在芯片设计的前期就实现对顶层模块的延时数据处理能力的测量,改善了现有技术对数据处理模块的测试不够及时、快捷的问题。
在一个可能的设计中,第一数据传输模块,具体用于利用所述第一信号延时模型接收来自所述第一发送端的预设数量的第一信道中每条第一信道的数据,并根据所述每条第一信道对应的延时时间参数,对所述每条第一信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第一信道分别对应的第二信道发送给所述第二顶层模块的所述第一接收端;第二数据传输模块,具体用于利用所述第一信号延时模型接收来自所述第一接收端的预设数量的第二信道中每条第二信道的数据,并根据所述每条第二信道对应的延时时间参数,对所述每条第二信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第二信道分别对应的第一信道发送给所述第一顶层模块的所述第一发送端。
在一个可能的设计中,所述第一信号延时模型包括用于模拟第一三态门的第一函数、用于模拟选择器的第二函数、用于模拟数据延时调制模块的第三函数、用于模拟第二三态门的第四函数以及用于模拟第三三态门的第五函数;所述第一函数用于在所述第一信道的使能信号线使能时,将从所述第一信道获取的数据传输向所述第二函数,以及在所述第一信道使能信号线未使能时,处于高阻态;所述第二函数用于在所述第二信道的使能信号线使能时,选择接收所述第二信道的数据并输出;在所述第二信道使能信号线未使能时,选择接收所述第一函数的数据并输出;所述第三函数用于根据接收的数据所来自的信道对应的延时时间参数,对所述接收的数据进行对应的延时处理并传输向所述第四或所述第五函数;所述第四函数用于在所述第一信道使能信号线使能时,将所述第三函数输出的数据传输向所述第二顶层模块的第一接收端;在所述第一信道使能信号线未使能时,处于高阻态;所述第五函数用于在所述第二信道使能信号线使能时,将所述第三函数输出的数据传输向所述第一顶层模块的第一发送端;在所述第二信道使能信号线未使能时,处于高阻态。在一个可能的设计中,所述第一信号延时模型还包括用于模拟使能延时调制模块的第六函数;所述第六函数用于对所述第二信道使能接口发出的使能信号进行延时处理,并发送给所述第五函数,以便对所述第五函数进行控制。
在一个可能的设计中,所述延时时间参数包括信道基础延时和信道间偏斜延时;所述延时时间参数为所述信道基础延时和信道间偏斜延时的加和。
在一个可能的设计中,所述第三函数包括用于模拟参数计算模块的函数和用于模拟延时实现模块的函数;所述用于模拟参数计算模块的函数用于:将每个所述第一信道的信道基础延时与信道间偏斜延时相加,分别得到每个所述第一信道对应的加和值;以及,将每个所述第二信道的信道基础延时与信道间偏斜延时相加,分别得到每个所述第二信道对应的加和值;所述用于模拟延时实现模块的函数用于根据所述加和值,对与所述加和值对应的信道所传输的数据进行延时,其中,所述延时的时长值与所述加和值相等。
在一个可能的设计中,所述用于模拟参数计算模块的函数包括多个用于模拟加法器的函数,所述用于模拟加法器的函数与所述第一信道的数量相同;每个所述用于模拟加法器的函数用于:将对应的第一信道的信道基础延时与信道间偏斜延时相加,得到加和值;,或,将对应的第二信道的信道基础延时与信道间偏斜延时相加,得到加和值。
在一个可能的设计中,所述用于模拟延时实现模块的函数为verilog中的多条不可综合语句,每条所述不可综合语句与每个所述加和值相对应,用于实现对应的所述加和值对应的信道所传输的数据的延时。
在一个可能的设计中,所述装置还包括:第三数据传输模块,用于通过第二顶层模块的第二发送端与第二信号延时模型之间的多个第三信道,将所述第二发送端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述第二信号延时模型与第一顶层模块的第二接收端之间的多个第四信道,将延时处理后的所述并行的数据发送给所述第二接收端,以测试所述第一顶层模块的延时数据处理能力;第四数据传输模块,用于通过所述多个第四信道,将所述第二接收端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述多个第三信道,将延时处理后的所述并行的数据发送给所述第二发送端,以测试所述第二顶层模块的延时数据处理能力。
在一个可能的设计中,第三数据传输模块,具体用于利用所述第二信号延时模型接收来自所述第二发送端的预设数量的第三信道中每条第三信道的数据,并根据所述每条第三信道对应的延时时间参数,对所述每条第三信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第三信道分别对应的第四信道发送给所述第一顶层模块的所述第二接收端;第四数据传输模块,具体用于利用所述第二信号延时模型接收来自所述第二接收端的预设数量的第四信道中每条第四信道的数据,并根据所述每条第四信道对应的延时时间参数,对所述每条第四信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第四信道分别对应的第三信道发送给所述第二顶层模块的所述第二发送端。
第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第四方面,本申请提供一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了对照实施例提供的芯片验证环境的环境示意图;
图2示出了本申请实施例提供的信号延时测试环境对应的环境示意图;
图3示出了图2中的数据延时调制模块的结构示意图;
图4示出了本申请实施例提供的信号延时测试环境对应的一种具体实施方式的环境示意图;
图5示出了本申请实施例提供的信号延时测试方法的流程示意图;
图6示出了本申请实施例提供的信号延时测试方法的一种具体实施方式的流程示意图;
图7示出了本申请实施例提供的信号延时测试装置的示意性结构框图;
图8示出了本申请实施例提供的电子设备的示意性结构框图。
具体实施方式
请参见图1,在对照实施例中,第一顶层模块的tx接口120与第二顶层模块的rx接口220直接连接,第二顶层模块的tx接口230与第一顶层模块的rx接口130直接连接。第一顶层模块中包括有数据处理模块110,第二顶层模块中包括有数据处理模块210。
第一顶层模块的tx接口120与第二顶层模块的rx接口220之间有信道0至信道n,共n+1个信道;第二顶层模块的tx接口230与第一顶层模块的rx接口130之间也有信道0至信道n,共n+1个信道。
不妨以第一顶层模块的tx接口120与第二顶层模块的rx接口220之间的n+1个信道为例进行说明:
第一顶层模块的tx接口120与第二顶层模块的rx接口220之间的n+1个信道可以双向传输数据,即第一顶层模块发出的n+1组的并行数据tx_data[n:0]可以依次经tx接口120、n+1个信道中的每个信道、rx接口220被第二顶层模块接收,第二顶层模块发出的n+1组的并行数据rx_data[n:0]也可以依次经rx接口220、n+1个信道中的每个信道、tx接口120被第一顶层模块接收。
n+1个信道中的每个信道的延时各不相同,当并行数据从一个顶层模块传到对端的顶层模块后,对端的顶层模块中的数据处理模块应当将从不同信道接收到的信号调整成一致的。然而数据处理模块是否具有良好的延时调节能力,在芯片设计的前期是无法进行测试的,造成了测试不够及时、快捷的问题。
本申请实施例提供的信号延时测试方法、装置、计算机可读存储介质及电子设备通过在两个顶层模块之间设置的第一信号延时模型对并行数据进行模拟延时,从而可以分别测试第一顶层模块以及第二顶层模块的延时数据处理能力,利用第一信号延时模型进行模拟延时,能够在芯片设计的前期就实现对顶层模块的延时数据处理能力的测量,改善了对照实施例中对数据处理模块的测试不够及时、快捷的问题。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例在第一顶层模块10与第二顶层模块20之间设置有第一信号延时模型30。第一信号延时模型30用于接收第一顶层模块10的第一发送端(即tx_data[n:0]对应的端口)输出的并行的预设数量个信道的数据,对并行的数据进行延时处理,将经过延时处理后的并行的数据发送给第二顶层模块20的第一接收端(即rx_data[n:0]对应的端口),以使第二顶层模块20对延时处理后的数据的时序进行调制,以测试第二顶层模块20的延时处理能力。
第一信号延时模型30还用于接收第二顶层模块20的第一接收端输出的并行的预设数量个信道的数据,并对并行的数据进行延时处理,将该延时处理后的并行的数据发送给第一顶层模块10的第一发送端,以使第一顶层模块10对延时处理后的数据的时序进行调制,以测试第一顶层模块10的延时处理能力。
可选地,第一顶层模块10的第一发送端传输的数据分别经过多个第一信道并行发送向第一信号延时模型30。第二顶层模块20的第一接收端传输的数据分别经过多个第二信道并行发送向第一信号延时模型30。其中,第一信道的数量可以与第二信道的数量相同,均为预设数量个,且第一信道可以与第二信道一一对应。
可选地,第一信道可以包括n+1个第一信道,从第一信道0直到第一信道n,n+1个第一信道中的每条第一信道均有与自身对应的延时时间参数;第二信道也可以包括n+1个第二信道,从第二信道0直到第二信道n,n+1个第二信道中的每条第二信道均有与自身对应的延时时间参数。
可选地,延时时间参数可以包括信道基础延时和信道间偏斜延时;延时时间参数为所述信道基础延时和信道间偏斜延时的加和。设延时时间参数的取值范围为a至b,则信道基础延时为上述取值范围的最小值:a,信道间偏斜延时的最大值为:b-a。例如,延时时间参数的取值范围为20ps至50ps,则信道基础延时为20ps,信道间偏斜延时的最大值为(50-20)=30ps。
信道基础延时和信道间偏斜延时均可以由用户进行设定。可选地,信道基础延时可以与用户划分的功能分组对应。用户可以根据不同的功能划分,将n+1个信道划分为多个功能组,每个功能组均对应有各自的基础延时。例如,不妨设用户将n+1个信道划分成两个功能组,则[n/2:0]编码对应的信道为一组,[n:n/2+1]编码对应的信道为一组。[n/2:0]编码对应的信道的基础延时为base_lane_t_a,[n:n/2+1]编码对应的信道所在的组的基础延时为base_lane_t_b。应当理解,功能组的数量可以为两个,也可以为多于两个或少于两个的其他数值,例如三个或一个,功能组的具体数量值不应该理解为是对本申请的限制。
信道间偏斜延时可以由用户在延时时间参数的最大值与0组成的正数范围内随机取值,例如,对于延时时间参数的取值范围为20ps至50ps的示例,信道间偏斜延时可以取0至30的范围内的任意值。该任意值可以由用户手动设置,也可以由机器随机生成,信道间偏斜延时的具体取值方式不应该理解为是对本申请的限制。
请参见图2,图2示出了第一信号延时模型30的一种具体实施方式的示意图,第一信号延时模型30包括用于模拟第一三态门310的第一函数(以下简称:第一三态门310)、用于模拟选择器320的第二函数(以下简称:选择器320)、用于模拟数据延时调制模块330的第三函数(以下简称:数据延时调制模块330)、用于模拟第二三态门340的第四函数(以下简称:第二三态门340)、用于模拟第三三态门350的第五函数(以下简称:第三三态门350)、以及用于模拟使能延时调制模块360的第六函数(以下简称:使能延时调制模块360)。
第一三态门310受第一信道使能信号线tx_data_en[n:0]的控制,第一三态门310在第一信道使能信号线tx_data_en[n:0]使能时,将从第一信道获取的数据tx_data[n:0]传输向选择器320;在第一信道使能信号线tx_data_en[n:0]未使能时,处于高阻态。其中,tx_data_en[n:0]表示第一信道0、第一信道1、…第一信道n分别对应的使能信号线;tx_data[n:0]表示从第一信道0、第一信道1、…第一信道n分别获取的数据。
选择器320受第二信道使能信号线rx_data_en[n:0]的控制,选择器320在第二信道使能信号线rx_data_en[n:0]使能时,选择接收第二信道的数据B_rx_data(即图2中示出的rx_data[n:0])并输出向数据延时调制模块330;在第二信道使能信号线rx_data_en[n:0]未使能时,选择接收第一三态门310传输的数据A_tx_data并输出向数据延时调制模块330。在上述的实施方式中,rx_data_en[n:0]表示第二信道0、第二信道1、…第二信道n分别对应的使能信号线;rx_data[n:0]表示从第二信道0、第二信道1、…第二信道n分别获取的数据。
A_tx_data为第一三态门310输出的数据,在第一信道使能信号线tx_data_en[n:0]使能时,A_tx_data为tx_data[n:0];在第一信道使能信号线tx_data_en[n:0]未使能时,A_tx_data为高阻态。由于第一信道使能信号线tx_data_en[n:0]与第二信道使能信号线rx_data_en[n:0]交替使能,因此,在第一信道使能信号线tx_data_en[n:0]未使能,A_tx_data为高阻态时,第二信道使能信号线rx_data_en[n:0]使能,选择器320并不会选择第一三态门310输出的高阻态,而会选择接收第二信道的数据rx_data[n:0]。
数据延时调制模块330根据接收到的数据来自的信道所对应的延时时间参数,对接收的数据进行对应的延时处理,并将延时处理后的数据传输向第二三态门340或第三三态门350。
数据延时调制模块330的具体结构请参见图3,数据延时调制模块330包括用于模拟参数计算模块331的函数(以下简称:参数计算模块331)和用于模拟延时实现模块332的函数(以下简称:延时实现模块332)。数据延时调制模块330在使能信号modulation_en有效时,处于工作状态;在使能信号modulation_en无效时,处于非工作状态。
参数计算模块331包括多个用于模拟加法器的函数(以下简称:加法器)。
可选地,加法器的数量可以与第一信道或第二信道的数量相同,例如,第一信道和第二信道的数量均为n+1个,则加法器的数量可以为n+1个。
N+1个加法器中的每个加法器用于:将对应的第一信道的信道基础延时base_lane_t与信道间偏斜延时lane_skew_margin[n:0]相加,从而得到每个第一信道对应的加和值board_delay[n:0];或将对应的第二信道的信道基础延时base_lane_t与信道间偏斜延时lane_skew_margin[n:0]相加,从而得到每个第二信道对应的加和值board_delay[n:0]。N+1个加法器中的任一加法器既与n+1个第一信道中的一个第一信道对应,又与n+1个第二信道中的一个第二信道对应。同一加法器分别对应的第一信道与第二信道之间可以是构成一条通路的两个信道,也可以不是构成一条通路的两个信道。可选地,加法器的数量可以为第一信道的数量与第二信道的数量之和,例如,第一信道和第二信道的数量均为n+1个,则加法器的数量可以为2n+2个,即每个加法器分别对应一个信道。加法器用于将与自身对应的信道的信道基础延时base_lane_t与信道间偏斜延时lane_skew_margin[n:0]相加,从而得到该信道对应的加和值board_delay[n:0],该信道可以是第一信道或第二信道。其中,信道基础延时与信道间偏斜延时的加和可被称作为板级延时board_delay[n:0]。
延时实现模块332用于根据所述加和值board_delay[n:0],对与所述加和值对应的信道所传输的数据lane_data_in[n:0]进行延时,得到延时后的数据lane_data_out[n:0],其中,所述延时的时长值与所述加和值相等。
可选地,在一种具体实施方式中,延时实现模块332可以为verilog中的多条不可综合语句,每条所述不可综合语句与每个所述加和值相对应,用于实现对应的加和值对应的信道所传输的数据的延时。例如,多条不可综合语句中包括bi=#ni ai,实现了端口ai延时ni皮秒,到达端口bi的建模。
可选地,在另一种具体实施方式中,延时实现模块332也可以由时钟信号驱动移位寄存器来实现,待延时信号board_delay[n:0]输入延时实现模块332后,延时实现模块332可以根据延时信号的数值,设置所需的移位寄存器的级数,并将移位寄存器的输出作为延时后的信号lane_data_out[n:0]。应当理解,延时实现模块332的具体结构不应该理解为是对本申请的限制。
请参见图2,第二三态门340可以受第一信道使能信号线tx_data_en[n:0]的控制,第二三态门340用于在第一信道使能信号线tx_data_en[n:0]使能时,将数据延时调制模块330输出的数据delay_tx_data_A[n:0]传输向第二顶层模块20的第一接收端;在第一信道使能信号线tx_data_en[n:0]未使能时,处于高阻态。
第三三态门350可以受延时后的第二信道使能信号线delayed_rx_data_en_B[n:0]的控制;所述第三三态门350用于在delayed_rx_data_en_B[n:0]使能时,将数据延时调制模块330输出的数据delay_rx_data_B[n:0]传输向所述第一顶层模块10的第一发送端;在delayed_rx_data_en_B[n:0]未使能时,处于高阻态。
第二信道使能信号线传输的使能信号受使能延时调制模块360延时。使能延时调制模块360将rx_data_en[n:0]延时,得到delayed_rx_data_en_B[n:0]。其中,delayed_rx_data_en_B[n:0]为对第三三态门350进行控制的控制信号。
rx_data_en[n:0]在使能延时调制模块360进行延时后,得到delayed_rx_data_en_B[n:0],该延时后的使能信号与延时后的rx_data[n:0](即delay_rx_data_B[n:0])对齐。因为使能信号rx_data_en[n:0]表征使能有效的时间较短,若不对使能信号rx_data_en[n:0]进行延时,则可能导致第三三态门350无法准确传输delayed_rx_data_B[n:0]信号。用于模拟使能延时调制模块360的函数可以与模拟数据延时调整模块的函数相同,在此便不做赘述。
接下来对第一信号延时模型30的工作原理进行说明:
使能信号rx_data_en[n:0]与使能信号tx_data_en[n:0]交替有效。第一信号延时模型30的选择器320模块在rx_data_en有效的情况下,选择输出B_rx_data(即rx_data[n:0]);在rx_data_en无效的情况下,选择输出A_tx_data。
(一)对于第一顶层模块10的第一发送端tx_data[n:0]作为发送方、第二顶层模块20的第一接收端rx_data[n:0]为接收方的情况:
在上述情况下,使能信号tx_data_en[n:0]有效,rx_data_en[n:0]无效。第一三态门310在tx_data_en[n:0]的控制下,将tx_data[n:0]经由第一三态门310传输给选择器320,其中,经由第一三态门310传输的信号可以以A_tx_data表示。
选择器320根据rx_data_en信号,从A_tx_data、B_rx_data中选择输出的信号,由于rx_data_en[n:0]无效,因此选择器320选择输出A_tx_data至数据延时调制模块330,其中,经由选择器320传输的信号可以以muxed_data表示。
muxed_data经数据延时调制模块330进行模拟延时之后,会被作为delayed_tx_data_A[n:0]传输给第二三态门340,或被作为delayed_rx_data_B[n:0]传输给第三三态门350。由于第二三态门340导通,第三三态门350处于高阻态,因此,muxed_data经数据延时调制模块330进行模拟延时之后,被作为delayed_tx_data_A[n:0]传输给第二三态门340,第二三态门340将delayed_tx_data_A[n:0]传输到第二顶层模块20的第一接收端,即图2中rx_data[n:0]对应的端口。其中,经第二三态门340输出的数据可以被记做delayed_feedback_tx_A。
每个信道中的数据从第一顶层模块10的数据处理模块发出后,均经历相同的内部物理延时tx_dly_t,在经过第一信号延时模型30处理后,每个信道的数据会经历不同时长的延时。每个信道的数据在经历过不同时长的延时后进入第二顶层模块20,并在经历第二顶层模块20内部相同的内部物理延时后rx_dly_t,传输到第二顶层模块20的数据处理模块。
可选地,第一信号延时模型30的数据延时调制模块330也可以模拟第一顶层模块10内的内部物理延时tx_dly_t以及第二顶层模块20内的内部物理延时后rx_dly_t。数据延时调制模块330可以通过插入多级D类触发器的方式来模拟上述的内部物理延时,且该模拟可以只在前仿阶段被使能,避免把模拟的内部物理延时引入真实电路,造成设计问题。具体地,可以通过宏定义的方式来实现令上述模拟只在前仿阶段被使能,也可以通过其他的方式实现令上述模拟只在前仿阶段被使能。
第二顶层模块20的数据处理模块在将数据的时序调整成一致时,可以采用如下具体做法:将接收到的数据传输到缓存中,在确定n+1个信道传输的数据均存储在缓存中之后,按照设定的格式,将缓存中的数据同时传输出去,从而将数据的时序调整成一致。
(二)对于第二顶层模块20的第一接收端rx_data[n:0]作为发送方、第一顶层模块10的第一发送端tx_data[n:0]为接收方的情况:
在上述情况下,使能信号tx_data_en[n:0]无效,rx_data_en[n:0]有效。
选择器320根据rx_data_en信号,从A_tx_data、B_rx_data中选择输出的信号,由于rx_data_en[n:0]有效,因此选择器320选择输出B_rx_data至数据延时调制模块330,其中经数据延时调制模块330处理过输出的数据可以被记做muxed_data。
muxed_data经数据延时调制模块330进行模拟延时之后,可能被作为delayed_tx_data_A[n:0]传输给第二三态门340,或可能被作为delayed_rx_data_B[n:0]传输给第三三态门350。由于第三三态门350导通,第二三态门340处于高阻态,因此,muxed_data经数据延时调制模块330进行模拟延时之后,会被作为delayed_rx_data_B[n:0]传输给第三三态门350,第三三态门350将delayed_rx_data_B[n:0]传输到第一顶层模块10的第一发送端,即图2中tx_data[n:0]。其中,经第三三态门350输出的数据可以被记做delayed_feedback_rx_B。
在一种具体实施方式中,在第一顶层模块10与第二顶层模块20之间还可以设置有第二信号延时模型40。
第二信号延时模型40用于接收第二顶层模块20的第二发送端(即图4中的与第二信号延时模型40的tx_data[n:0]对应的端口)输出的并行的预设数量个信道的数据,并对并行的数据进行延时处理,将经过延时处理后的并行的数据发送给第一顶层模块10的第二接收端(即图4中的与第二信号延时模型40的rx_data[n:0]对应的端口),以使第一顶层模块10对延时处理后的数据的时序进行调制,以测试第一顶层模块10的数据处理模块110延时处理能力。
第二信号延时模型40还用于接收第一顶层模块10的第二接收端输出的并行的预设数量个信道的数据,并对并行的数据进行延时处理,将该延时处理后的并行的数据发送给第二顶层模块20的第二发送端,以使第二顶层模块20对延时处理后的数据的时序进行调制,以测试第二顶层模块20的数据处理模块210的延时处理能力。
可选地,第二顶层模块20的第二发送端传输的数据分别经过多个第三信道并行发送向第二信号延时模型40。第一顶层模块10的第二接收端传输的数据分别经过多个第四信道并行发送向第二信号延时模型40。其中,第三信道的数量可以与第四信道的数量相同,均为预设数量个,且第三信道可以与第四信道一一对应。
可选地,第三信道可以包括n+1个第三信道,从第三信道0直到第三信道n,n+1个第三信道中的每条第三信道均有与自身对应的延时时间参数;第四信道也可以包括n+1个第四信道,从第四信道0直到第四信道n,n+1个第四信道中的每条第四信道均有与自身对应的延时时间参数。
请参见图4,图4示出了第二信号延时模型40的一种具体实施方式的示意图,第二信号延时模型40包括用于模拟第四三态门410的函数(以下简称:第四三态门410)、用于模拟选择器420的函数(以下简称:选择器420)、用于模拟数据延时调制模块430的函数(以下简称:数据延时调制模块430)、用于模拟第五三态门440的函数(以下简称:第五三态门440)、用于模拟第六三态门450的函数(以下简称:第六三态门450)、以及用于模拟使能延时调制模块460的函数(以下简称:使能延时调制模块460)。
第四三态门410受第三信道使能信号线tx_data_en[n:0]的控制,第四三态门410在第三信道使能信号线tx_data_en[n:0]使能时,将从第三信道获取的数据tx_data[n:0]传输向选择器420;在第三信道使能信号线tx_data_en[n:0]未使能时,处于高阻态。其中,tx_data_en[n:0]表示第三信道0、第三信道1、…
第三信道n分别对应的使能信号线;tx_data[n:0]表示从第三信道0、第三信道1、…第三信道n分别获取的数据。
选择器420受第四信道使能信号线rx_data_en[n:0]的控制,选择器420在第四信道使能信号线rx_data_en[n:0]使能时,选择接收第四信道的数据A_rx_data(即图4中示出的与第二信号延时模型40对应的rx_data[n:0])并输出向数据延时调制模块430;在第四信道使能信号线rx_data_en[n:0]未使能时,选择接收第四三态门410传输的数据B_tx_data并输出向数据延时调制模块430。在上述的实施方式中,rx_data_en[n:0]表示第四信道0、第四信道1、…第四信道n分别对应的使能信号线;rx_data[n:0]表示从第四信道0、第四信道1、…第四信道n分别获取的数据。
B_tx_data为第四三态门410输出的数据,在第三信道使能信号线tx_data_en[n:0]使能时,B_tx_data为tx_data[n:0];在第三信道使能信号线tx_data_en[n:0]未使能时,B_tx_data为高阻态。由于第三信道使能信号线tx_data_en[n:0]与第四信道使能信号线rx_data_en[n:0]交替使能,因此,在第三信道使能信号线tx_data_en[n:0]未使能,B_tx_data为高阻态时,第四信道使能信号线rx_data_en[n:0]使能,选择器420并不会选择第四三态门410输出的高阻态,而会选择接收第四信道的数据rx_data[n:0]。
数据延时调制模块430根据接收到的数据来自的信道所对应的延时时间参数,对接收的数据进行对应的延时处理,并将延时处理后的数据传输向第五三态门440或第六三态门450。
图4中,第二信号延时模型40中的用于模拟数据延时调制模块430的函数与第一信号延时模型中的用于模拟数据延时调制模块330的函数对应相同,在此便不做赘述。
第六三态门450可以受第三信道使能信号线tx_data_en[n:0]的控制,第六三态门450用于在第三信道使能信号线tx_data_en[n:0]使能时,将数据延时调制模块430输出的数据delayed_tx_data_B传输向第一顶层模块10的第二接收端;在第三信道使能信号线tx_data_en[n:0]未使能时,处于高阻态。
第五三态门440可以受延时后的第四信道使能信号线delayed_rx_data_en_A[n:0]的控制;所述第五三态门440用于在delayed_rx_data_en_A[n:0]使能时,将数据延时调制模块430输出的数据delayed_rx_data_A[n:0]传输向所述第二顶层模块20的第二发送端;在delayed_rx_data_en_A[n:0]未使能时,处于高阻态。
第四信道使能信号线传输的使能信号受使能延时调制模块460延时。使能延时调制模块460将rx_data_en[n:0]延时,得到delayed_rx_data_en_A[n:0]。其中,delayed_rx_data_en_A[n:0]为对第五三态门440进行控制的控制信号。
rx_data_en[n:0]在使能延时调制模块460进行延时后,得到delayed_rx_data_en_A[n:0],该延时后的使能信号与延时后的A_rx_data(即delayed_rx_data_A[n:0])对齐。因为使能信号rx_data_en[n:0]表征使能有效的时间较短,若不对使能信号rx_data_en[n:0]进行延时,则可能导致第五三态门440无法准确传输delayed_rx_data_A[n:0]信号。用于模拟使能延时调制模块460的函数可以与模拟数据延时调整模块的函数相同,在此便不做赘述。
接下来对第二信号延时模型40的工作原理进行说明:
使能信号rx_data_en[n:0]与使能信号tx_data_en[n:0]交替有效。第二信号延时模型40的选择器420在rx_data_en[n:0]有效的情况下,选择输出A_rx_data(即rx_data[n:0]);在rx_data_en[n:0]无效的情况下,选择输出B_tx_data。
(一)对于第二顶层模块20的第二发送端tx_data[n:0]作为发送方、第一顶层模块10的第二接收端rx_data[n:0]为接收方的情况:
在上述情况下,使能信号tx_data_en[n:0]有效,rx_data_en[n:0]无效。第四三态门410在tx_data_en[n:0]的控制下,将tx_data[n:0]经由第四三态门410传输给选择器420,其中,tx_data[n:0]经由第四三态门410输出后,可被记为B_tx_data。
选择器420根据rx_data_en[n:0]信号,从A_rx_data、B_tx_data中选择输出的信号,由于rx_data_en[n:0]无效,因此选择器420选择输出B_tx_data至数据延时调制模块430,其中,经选择器420输出的数据可被记为muxed_data。
muxed_data经数据延时调制模块430进行模拟延时之后,可能被作为delayed_tx_data_B[n:0]传输给第六三态门450,或可能被作为delayed_rx_data_A[n:0]传输给第五三态门440。由于第六三态门450导通,第五三态门440处于高阻态,因此,muxed_data经数据延时调制模块430进行模拟延时之后,会被作为delayed_tx_data_B[n:0]传输给第六三态门450,第六三态门450将delayed_tx_data_B[n:0]传输到第一顶层模块10的第二接收端,即图4中与第二延时模型连接的rx_data[n:0],其中,经第六三态门450输出的数据可以被记做delayed_feedback_tx_B。
(二)对于第一顶层模块10的第二接收端rx_data[n:0]作为发送方、第二顶层模块20的第二发送端tx_data[n:0]为接收方的情况:
在上述情况下,使能信号tx_data_en[n:0]无效,rx_data_en[n:0]有效。
选择器420根据rx_data_en[n:0]信号,从A_rx_data、B_tx_data中选择输出的信号,由于rx_data_en[n:0]有效,因此选择器420选择输出A_rx_data至数据延时调制模块430,其中,经选择器420输出的数据可以被记做muxed_data。
muxed_data经数据延时调制模块430进行模拟延时之后,可能会被作为delayed_rx_data_A[n:0]传输给第五三态门440,或可能被作为delayed_tx_data_B[n:0]传输给第六三态门450。由于第五三态门440导通,第六三态门450处于高阻态,因此,muxed_data经数据延时调制模块430进行模拟延时之后,会被作为delayed_rx_data_A[n:0]传输给第五三态门440,第五三态门440将delayed_rx_data_A[n:0]传输到第二顶层模块20的第二发送端,即图4中的与第二信号延时模型40连接的tx_data[n:0],其中,经第五三态门440输出的数据可以被记做delayed_feedback_rx_A。
可选地,请参见图5,图5示出了利用第一信号延时模型进行延时测试的信号延时测试方法,具体包括如下步骤S110至步骤S120:
步骤S110,通过第一顶层模块的第一发送端与第一信号延时模型之间的多个第一信道,将所述第一发送端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述第一信号延时模型与第二顶层模块的第一接收端之间的多个第二信道,将延时处理后的所述并行的数据发送给所述第一接收端,以测试所述第二顶层模块的延时数据处理能力。
步骤S120,通过所述多个第二信道,将所述第一接收端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述多个第一信道,将延时处理后的所述并行的数据发送给所述第一发送端,以测试所述第一顶层模块的延时数据处理能力。
可以在第一顶层模块与第二顶层模块之间设置第一信号延时模型。第一信号延时模型用于对第一顶层模块的第一发送端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第二顶层模块的第一接收端,从而测试第二顶层模块的延时数据处理能力;第一信号延时模型还用于对第二顶层模块的第一接收端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第一顶层模块的第一发送端,以测试第一顶层模块的延时数据处理能力。上述方法通过在两个顶层模块之间设置的第一信号延时模型对并行数据进行模拟延时,从而可以分别测试第一顶层模块以及第二顶层模块的延时数据处理能力,利用第一信号延时模型进行模拟延时,能够在芯片设计的前期就实现对顶层模块的延时数据处理能力的测量,改善了现有技术对数据处理模块的测试不够及时、快捷的问题。
可选地,请参见图6,图6示出了利用第二信号延时模型进行延时测试的信号延时测试方法,具体包括如下步骤S210至步骤S220:
步骤S210,通过第二顶层模块的第二发送端与第二信号延时模型之间的多个第三信道,将所述第二发送端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述第二信号延时模型与第一顶层模块的第二接收端之间的多个第四信道,将延时处理后的所述并行的数据发送给所述第二接收端,以测试所述第一顶层模块的延时数据处理能力。
步骤S220,通过所述多个第四信道,将所述第二接收端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述多个第三信道,将延时处理后的所述并行的数据发送给所述第二发送端,以测试所述第二顶层模块的延时数据处理能力。
可以在第一顶层模块与第二顶层模块之间设置第二信号延时模型。第二信号延时模型用于对第二顶层模块的第二发送端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第一顶层模块的第二接收端,从而测试第一顶层模块的延时数据处理能力;第二信号延时模型还用于对第一顶层模块的第二接收端输出的并行数据分别进行延时处理,并将处理后的并行数据发送到第二顶层模块的第二发送端,以测试第二顶层模块的延时数据处理能力。上述方法通过在两个顶层模块之间设置的第二信号延时模型对并行数据进行模拟延时,从而可以分别测试第一顶层模块以及第二顶层模块的延时数据处理能力,利用第二信号延时模型进行模拟延时,能够在芯片设计的前期就实现对顶层模块的延时数据处理能力的测量,改善了现有技术对数据处理模块的测试不够及时、快捷的问题。
本申请实施例提供的信号延时测试方法通过配置第一信号延时模型和第二信号延时模型,从而能够更精确地验证芯片设计的信道偏斜处理功能,提前发现芯片的设计缺陷,并且本方案不需要额外引入验证用例,只需要在现有的用例中配置好第一信号延时模型和第二信号延时模型的模型参数即可,从而提升验证的效率。
请参见图7,图7示出了本申请实施例提供的一种信号延时测试装置的示意性结构框图,该装置700包括:
第一数据传输模块710,用于通过第一顶层模块的第一发送端与第一信号延时模型之间的多个第一信道,将所述第一发送端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述第一信号延时模型与第二顶层模块的第一接收端之间的多个第二信道,将延时处理后的所述并行的数据发送给所述第一接收端,以测试所述第二顶层模块的延时数据处理能力。
第二数据传输模块720,用于通过所述多个第二信道,将所述第一接收端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述多个第二信道,将延时处理后的所述并行的数据发送给所述第一发送端,以测试所述第一顶层模块的延时数据处理能力。
第一数据传输模块710具体用于利用所述第一信号延时模型接收来自所述第一发送端的预设数量的第一信道中每条第一信道的数据,并根据所述每条第一信道对应的延时时间参数,对所述每条第一信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第一信道分别对应的第二信道发送给所述第二顶层模块的所述第一接收端。
第二数据传输模块720具体用于利用所述第一信号延时模型接收来自所述第一接收端的预设数量的第二信道中每条第二信道的数据,并根据所述每条第二信道对应的延时时间参数,对所述每条第二信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第二信道分别对应的第一信道发送给所述第一顶层模块的所述第一发送端。
所述装置还包括:
第三数据传输模块,用于通过第二顶层模块的第二发送端与第二信号延时模型之间的多个第三信道,将所述第二发送端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述第二信号延时模型与第一顶层模块的第二接收端之间的多个第四信道,将延时处理后的所述并行的数据发送给所述第二接收端,以测试所述第一顶层模块的延时数据处理能力。
第四数据传输模块,用于通过所述多个第四信道,将所述第二接收端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述多个第三信道,将延时处理后的所述并行的数据发送给所述第二发送端,以测试所述第二顶层模块的延时数据处理能力。
第三数据传输模块,具体用于利用所述第二信号延时模型接收来自所述第二发送端的预设数量的第三信道中每条第三信道的数据,并根据所述每条第三信道对应的延时时间参数,对所述每条第三信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第三信道分别对应的第四信道发送给所述第一顶层模块的所述第二接收端。
第四数据传输模块,具体用于利用所述第二信号延时模型接收来自所述第二接收端的预设数量的第四信道中每条第四信道的数据,并根据所述每条第四信道对应的延时时间参数,对所述每条第四信道中传输的数据分别进行延时处理;并将进行过延时处理的数据经由与每条第四信道分别对应的第三信道发送给所述第二顶层模块的所述第二发送端。
本申请实施例提供的信号延时测试装置与图5示出的信号延时测试方法相对应,在此便不做赘述。
图8示出了电子设备的方框示意图。电子设备800可以包括存储器810、存储控制器820、处理器830、外设接口840、输入输出单元850。本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对电子设备800的结构造成限定。例如,电子设备800还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
上述的存储器810、存储控制器820、处理器830、外设接口840、输入输出单元850各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器830用于执行存储器中存储的可执行模块。
其中,存储器810可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器810用于存储程序,所述处理器830在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备800所执行的方法可以应用于处理器830中,或者由处理器830实现。
上述的处理器830可能是一种集成电路芯片,具有信号的处理能力。上述的处理器830可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述的外设接口840将各种输入/输出装置耦合至处理器830以及存储器810。在一些实施例中,外设接口840,处理器830以及存储控制器820可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
上述的输入输出单元850用于提供给用户输入数据。所述输入输出单元850可以是,但不限于,鼠标和键盘等。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的服务器带内管理方法。例如,计算机可读存储介质可以实现为图8中电子设备800中的存储器810。
本申请实施例提供的信号延时测试方法、装置、计算机可读存储介质及电子设备通过加入数据延时调制模块以及信号延时调制模块、用三态门控制双向数据流向,使得双向通信信道的延时偏斜均得以模拟实现。并且现有的前端验证用例均可以运行在带总线延时的环境中,从而可以较早地发现芯片的数据处理问题。在仿真模型:第一信号延时模型以及第二信号延时模型中,可以灵活配置信道基础延时、信道间偏斜延时,从而创建各种极端的延时情况,方便验证芯片对于双向通信的数据处理功能。
在本申请所提供的实施例中,应该理解到,所揭露设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种信号延时测试方法,其特征在于,所述方法包括:
通过第一顶层模块的第一发送端与第一信号延时模型之间的多个第一信道,将所述第一发送端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述第一信号延时模型与第二顶层模块的第一接收端之间的多个第二信道,将延时处理后的所述并行的数据发送给所述第一接收端,以测试所述第二顶层模块的延时数据处理能力;以及
通过所述多个第二信道,将所述第一接收端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述多个第一信道,将延时处理后的所述并行的数据发送给所述第一发送端,以测试所述第一顶层模块的延时数据处理能力;
所述第一信号延时模型包括用于模拟第一三态门的第一函数、用于模拟选择器的第二函数、用于模拟数据延时调制模块的第三函数、用于模拟第二三态门的第四函数以及用于模拟第三三态门的第五函数;
所述第一函数用于在所述第一信道的使能信号线使能时,将从所述第一信道获取的数据传输向所述第二函数,以及在所述第一信道使能信号线未使能时,处于高阻态;
所述第二函数用于在所述第二信道的使能信号线使能时,选择接收所述第二信道的数据并输出;在所述第二信道使能信号线未使能时,选择接收所述第一函数的数据并输出;
所述第三函数用于根据接收的数据所来自的信道对应的延时时间参数,对所述接收的数据进行对应的延时处理并传输向所述第四函数或所述第五函数;
所述第四函数用于在所述第一信道使能信号线使能时,将所述第三函数输出的数据传输向所述第二顶层模块的第一接收端;在所述第一信道使能信号线未使能时,处于高阻态;
所述第五函数用于在所述第二信道使能信号线使能时,将所述第三函数输出的数据传输向所述第一顶层模块的第一发送端;在所述第二信道使能信号线未使能时,处于高阻态。
2.根据权利要求1所述的信号延时测试方法,其特征在于,所述多个第一信道与所述多个第二信道一一对应。
3.根据权利要求2所述的信号延时测试方法,其特征在于:
每个所述第一信道均配置有与自身对应的延时时间参数;
每个所述第二信道均配置有与自身对应的延时时间参数。
4.根据权利要求1所述的信号延时测试方法,其特征在于,所述第一信号延时模型还包括用于模拟使能延时调制模块的第六函数;
所述第六函数用于对所述第二信道使能接口发出的使能信号进行延时处理,并发送给所述第五函数,以便对所述第五函数进行控制。
5.根据权利要求1所述的信号延时测试方法,其特征在于,所述延时时间参数包括信道基础延时和信道间偏斜延时;所述延时时间参数为所述信道基础延时和信道间偏斜延时的加和。
6.根据权利要求5所述的信号延时测试方法,其特征在于,所述第三函数包括用于模拟参数计算模块的函数和用于模拟延时实现模块的函数;
所述用于模拟参数计算模块的函数用于:
将每个所述第一信道的信道基础延时与信道间偏斜延时相加,分别得到每个所述第一信道对应的加和值;以及,将每个所述第二信道的信道基础延时与信道间偏斜延时相加,分别得到每个所述第二信道对应的加和值;
所述用于模拟延时实现模块的函数用于根据所述加和值,对与所述加和值对应的信道所传输的数据进行延时,其中,所述延时的时长值与所述加和值相等。
7.根据权利要求6所述的信号延时测试方法,其特征在于,所述用于模拟参数计算模块的函数包括多个用于模拟加法器的函数,所述用于模拟加法器的函数与所述第一信道的数量相同;
每个所述用于模拟加法器的函数用于:将对应的第一信道的信道基础延时与信道间偏斜延时相加,得到加和值;
或,将对应的第二信道的信道基础延时与信道间偏斜延时相加,得到加和值。
8.根据权利要求6所述的信号延时测试方法,其特征在于,所述用于模拟延时实现模块的函数为verilog中的多条不可综合语句,每条所述不可综合语句与每个所述加和值相对应,用于实现对应的所述加和值对应的信道所传输的数据的延时。
9.根据权利要求1所述的信号延时测试方法,其特征在于,所述方法还包括:
通过第二顶层模块的第二发送端与第二信号延时模型之间的多个第三信道,将所述第二发送端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述第二信号延时模型与第一顶层模块的第二接收端之间的多个第四信道,将延时处理后的所述并行的数据发送给所述第二接收端,以测试所述第一顶层模块的延时数据处理能力;
以及
通过所述多个第四信道,将所述第二接收端输出的并行的数据输入所述第二信号延时模型;通过所述第二信号延时模型对所述并行的数据进行延时处理;通过所述多个第三信道,将延时处理后的所述并行的数据发送给所述第二发送端,以测试所述第二顶层模块的延时数据处理能力。
10.根据权利要求9所述的信号延时测试方法,其特征在于,所述多个第三信道与所述多个第四信道一一对应。
11.一种信号延时测试装置,其特征在于,所述装置包括:
第一数据传输模块,用于通过第一顶层模块的第一发送端与第一信号延时模型之间的多个第一信道,将所述第一发送端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述第一信号延时模型与第二顶层模块的第一接收端之间的多个第二信道,将延时处理后的所述并行的数据发送给所述第一接收端,以测试所述第二顶层模块的延时数据处理能力;
第二数据传输模块,用于通过所述多个第二信道,将所述第一接收端输出的并行的数据输入所述第一信号延时模型;通过所述第一信号延时模型对所述并行的数据进行延时处理;通过所述多个第一信道,将延时处理后的所述并行的数据发送给所述第一发送端,以测试所述第一顶层模块的延时数据处理能力;
所述第一信号延时模型包括用于模拟第一三态门的第一函数、用于模拟选择器的第二函数、用于模拟数据延时调制模块的第三函数、用于模拟第二三态门的第四函数以及用于模拟第三三态门的第五函数;
所述第一函数用于在所述第一信道的使能信号线使能时,将从所述第一信道获取的数据传输向所述第二函数,以及在所述第一信道使能信号线未使能时,处于高阻态;
所述第二函数用于在所述第二信道的使能信号线使能时,选择接收所述第二信道的数据并输出;在所述第二信道使能信号线未使能时,选择接收所述第一函数的数据并输出;
所述第三函数用于根据接收的数据所来自的信道对应的延时时间参数,对所述接收的数据进行对应的延时处理并传输向所述第四函数或所述第五函数;
所述第四函数用于在所述第一信道使能信号线使能时,将所述第三函数输出的数据传输向所述第二顶层模块的第一接收端;在所述第一信道使能信号线未使能时,处于高阻态;
所述第五函数用于在所述第二信道使能信号线使能时,将所述第三函数输出的数据传输向所述第一顶层模块的第一发送端;在所述第二信道使能信号线未使能时,处于高阻态。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-10中任一项所述的方法。
13.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011367009.8A CN112448867B (zh) | 2020-11-26 | 2020-11-26 | 信号延时测试方法、装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011367009.8A CN112448867B (zh) | 2020-11-26 | 2020-11-26 | 信号延时测试方法、装置、计算机可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112448867A CN112448867A (zh) | 2021-03-05 |
CN112448867B true CN112448867B (zh) | 2022-06-21 |
Family
ID=74738834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011367009.8A Active CN112448867B (zh) | 2020-11-26 | 2020-11-26 | 信号延时测试方法、装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112448867B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090494B (zh) * | 2021-11-29 | 2024-04-05 | 海光信息技术股份有限公司 | 数据传输方法、装置、设备和存储介质 |
CN115129642B (zh) * | 2022-06-14 | 2023-09-08 | 沐曦集成电路(南京)有限公司 | 芯片总线延时调整方法、电子设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710236A (zh) * | 2012-06-06 | 2012-10-03 | 江南大学 | 基于fpga的小波变换实现结构 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611936B2 (en) * | 2000-04-28 | 2003-08-26 | Hewlett-Packard Development Company, L.P. | Programmable delay elements for source synchronous link function design verification through simulation |
CN101400077A (zh) * | 2007-09-24 | 2009-04-01 | 中兴通讯股份有限公司 | 一种时间提前量测试中的信号模拟装置及方法 |
CN101674589B (zh) * | 2009-09-30 | 2012-01-25 | 中兴通讯股份有限公司 | 发射通道延时测量方法和装置、发射链路延时补偿方法 |
CN110572294B (zh) * | 2018-06-06 | 2021-04-09 | 中国信息通信研究院 | 一种ssm信息处理时延的测试方法 |
CN111669255B (zh) * | 2020-07-09 | 2023-05-12 | 深圳市信锐网科技术有限公司 | 通信设备网口的环回测试方法、装置、电路、设备及介质 |
-
2020
- 2020-11-26 CN CN202011367009.8A patent/CN112448867B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710236A (zh) * | 2012-06-06 | 2012-10-03 | 江南大学 | 基于fpga的小波变换实现结构 |
Also Published As
Publication number | Publication date |
---|---|
CN112448867A (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112448867B (zh) | 信号延时测试方法、装置、计算机可读存储介质及电子设备 | |
US20080306722A1 (en) | Logic verification system | |
US8838406B2 (en) | Re-configurable test circuit, method for operating an automated test equipment, apparatus, method and computer program for setting up an automated test equipment | |
CN102184148B (zh) | 一种基于fpga的at96总线控制器ip核及其构建方法 | |
CN101325625A (zh) | 一种远程手机测试系统、装置及方法 | |
US7120571B2 (en) | Resource board for emulation system | |
CN101107796A (zh) | 用于执行信道模拟的方法和设备 | |
CN106598639B (zh) | 一种逻辑芯片的升级方法以及升级系统 | |
CN110807295A (zh) | 集成电路时钟树综合优化方法 | |
US8073672B2 (en) | Managing communication bandwidth in co-verification of circuit designs | |
US8724483B2 (en) | Loopback configuration for bi-directional interfaces | |
CN112270152A (zh) | 芯片io引脚验证系统和方法 | |
CN103248527A (zh) | 以太网一致性测试工装装置、测试系统及测试方法 | |
CN108120917B (zh) | 测试时钟电路确定方法及装置 | |
US8275588B2 (en) | Emulation system and driving method thereof | |
CN113946937B (zh) | 同步方法及仿真器 | |
JP2004157986A (ja) | 論理検証システムとfpgaモジュール | |
US20100174521A1 (en) | Data processing with circuit modeling | |
WO2014059616A1 (zh) | 加载方法、装置和系统 | |
CN113835946A (zh) | 数据交换的压力测试方法 | |
US9075639B1 (en) | Systems and methods for handling interrupts during software design simulation | |
US20100079149A1 (en) | Circuit testing apparatus and system | |
CN103901414A (zh) | 基于lvds接口的双fpga雷达回波处理装置及方法 | |
CN115529623B (zh) | 一种基带单元测试装置、方法、终端设备以及存储介质 | |
CN117112447B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Huayuan Industrial Zone, Binhai New Area, Tianjin 300450 Applicant after: Haiguang Information Technology Co., Ltd Address before: 100082 industrial incubation-3-8, North 2-204, 18 Haitai West Road, Huayuan Industrial Zone, Haidian District, Beijing Applicant before: Haiguang Information Technology Co., Ltd |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |