CN114428470A - 在外部工具中的高速调试延迟补偿 - Google Patents

在外部工具中的高速调试延迟补偿 Download PDF

Info

Publication number
CN114428470A
CN114428470A CN202111265209.7A CN202111265209A CN114428470A CN 114428470 A CN114428470 A CN 114428470A CN 202111265209 A CN202111265209 A CN 202111265209A CN 114428470 A CN114428470 A CN 114428470A
Authority
CN
China
Prior art keywords
test clock
output
data
input
pad
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
CN202111265209.7A
Other languages
English (en)
Inventor
A·K·戈亚尔
D·巴兰瓦尔
T·舒曼特
N·B·格罗西尔
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.)
STMicroelectronics International NV Switzerland
STMicroelectronics Application GmbH
STMicroelectronics SRL
Original Assignee
STMicroelectronics International NV Switzerland
STMicroelectronics Application GmbH
STMicroelectronics SRL
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 STMicroelectronics International NV Switzerland, STMicroelectronics Application GmbH, STMicroelectronics SRL filed Critical STMicroelectronics International NV Switzerland
Publication of CN114428470A publication Critical patent/CN114428470A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31727Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31712Input or output aspects
    • G01R31/31713Input or output interfaces for test, e.g. test pins, buffers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31723Hardware for routing the test signal within the device under test to the circuits to be tested, e.g. multiplexer for multiple core testing, accessing internal nodes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318522Test of Sequential circuits
    • G01R31/318525Test of flip-flops or latches
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31922Timing generation or clock distribution
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • G01R31/31937Timing aspects, e.g. measuring propagation delay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/24Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56012Timing aspects, clock generation, synchronisation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24215Scada supervisory control and data acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本公开的实施例涉及在外部工具中的高速调试延迟补偿。一种测试工具,包括时钟生成电路,生成测试时钟以及经由测试时钟输出焊盘输出测试时钟;数据处理电路装置,由测试时钟计时;以及数据输出电路装置,接收从数据处理电路装置输出的数据以及经由输入/输出(IO)焊盘输出数据,数据输出电路装置由测试时钟计时。测试工具也包括可编程延迟电路,生成测试时钟的延迟版本;以及数据输入电路装置,接收经由IO焊盘输入的数据,数据输入电路由测试时钟的延迟版本计时。测试时钟的延迟版本被延迟,以补偿在经由测试时钟输出焊盘向外部计算机传输测试时钟的脉冲与经由IO焊盘接收从外部计算机输入的数据之间的延迟。

Description

在外部工具中的高速调试延迟补偿
技术领域
本公开涉及汽车测试接口领域,并且具体地涉及被配置为用于与汽车控制器接口的外部工具,该外部工具具有超过标准调试接口所提供的吞吐量的增加的吞吐量。
背景技术
对于执行汽车软件(例如由动力总成和/或底盘计算机执行的动力总成和/或底盘管理软件)的调试,外部测试工具与相关的车辆计算机系统接口,以访问运行时间数据。这种运行时间数据通常以高速更新。希望的是,外部测试工具能够与在车辆上的相关的计算机通信,以在飞行中以及实时从相关的计算机的SRAM中读取运行时间数据。
在一些情况下,例如当读取运行时间引擎校准数据时,数据的量是大的,因此运行时间数据将由外部测试工具以高速读取。问题在于外部测试工具和在车辆计算机内的调试接口二者都基于由外部测试工具生成的测试时钟。在典型的布置中,在测试时钟的每个循环内,一位数据从外部测试工具被发送到车辆计算机,以及一位数据从车辆计算机被发送回到外部测试工具。因为在外部测试工具内的数据输入电路装置以及数据输出电路装置,以及在车辆计算机内的数据输入电路装置以及输出电路装置二者都基于测试时钟操作,这意味在测试时钟的一个周期内,时间约束在数据将被从外部测试工具发送到车辆计算机、以及从测试计算机返回到外部测试工具时被创建。因此,如果数据在应当被接收期间的时钟周期结束后,来自车辆计算机的数据位的前沿由外部测试工具内的数据输入电路装置接收,则故障已经出现并且预期通信率未实现。
确保时间约束以及避免故障的挑战是贯穿路径出现的延迟。这种延迟路径由从在外部测试工具中的时钟源到数据捕捉触发器添加出现的延迟,并且回到外部测试工具而产生。出于说明的目的,延迟可以被划分到小的段落。段落是,从开始,从外部测试工具的时钟源到用于外部测试工具的时钟输出引脚,从外部测试工具的时钟输出引脚到用于外部测试工具的连接器,在用于外部测试工具连接器内的线路延迟,在用于车辆计算机的连接器内的线路延迟,从车辆计算机的连接器到车辆计算机的输入时钟焊盘,从车辆计算机的时钟焊盘到发射触发器的时钟脉冲输入,从发射触发器的时钟脉冲输入到发射触发器的输出,从发射触发器的输出到车辆计算机的输出数据焊盘,从车辆计算机的输出数据焊盘到车辆计算机的连接器,在车辆计算机的连接器内的线路延迟,在外部测试工具的连接器内的线路延迟,从外部测试工具的连接器到外部测试工具的数据输入引脚,以及从外部测试工具的数据输入引脚到捕捉触发器。
为了在期望外部测试工具与车辆计算机之间的高数据吞吐量的情况下尝试增加数据吞吐量,测试时钟的频率可以被增加。然而,上面提到的时间约束仍然存在,以及上述延迟仍然存在,不管测试时钟的频率,以及上述延迟在很大程度上不变。因此,时钟速率可以仅仅增加到目前位置,如果它增加的太多,上述提到的时间约束将被违反。
如此,在外部测试工具与车辆计算机之间的数据通信系统的进一步的开发是需要的,以便提供超过现有可用的吞吐量,这是因为由车辆计算机收集的运行数据的数量、以及因此将由外部测试工具读取的数据一直增加并且当前的系统难以跟上步伐。
发明内容
本文描述的是一种测试工具,包括:时钟生成电路,被配置为生成测试时钟以及经由测试时钟输出焊盘输出时钟;数据处理电路装置,由测试时钟计时;以及数据输出电路装置,配置为接收从数据处理电路装置输出的数据以及经由输入/输出(IO)焊盘输出数据。数据输出电路装置由测试时钟计时。可编程延迟电路被配置为生成测试时钟的延迟版本,以及数据输出电路装置被配置为接收经由IO焊盘输入的数据。数据输入电路装置由测试时钟的延迟版本计时。测试时钟的延迟版本被延迟,以补偿在经由测试时钟输出焊盘向外部计算机传输测试时钟的脉冲与经由IO焊盘接收从外部计算机输入的数据之间的延迟。
测试时钟输入焊盘可以被耦合到测试时钟输出焊盘以接收测试时钟,以及可编程延迟电路可以从测试时钟输出焊盘接收测试时钟。
复用器可以具有被耦合到时钟生成电路以及测试时钟输入焊盘的输入。复用器可以响应于复用器选择信号输出从时钟生成电路或时钟输入焊盘接收的测试时钟。
可编程延迟电路可以包括延迟缓冲器的链,以链中的第一延迟缓冲器从复用器接收测试时钟作为输入,以及第二复用器具有被耦合到链的每个延迟缓冲器的输出的输入,并且第二复用器响应于可编程延迟选择信号来传递链的延迟缓冲器中的一个延迟缓冲器的输出。
可编程延迟电路可以包括延迟缓冲器的链,以链中的第一延迟缓冲器接收测试时钟作为输入,以及复用器具有被耦合到链中的每个延迟缓冲器的输出的输入,并且复用器响应于可编程延迟选择信号来传递链中的延迟缓冲器中的一个延迟缓冲器的输出。
可编程延迟电路可以包括延迟锁定环或多相位锁相环,其根据由测试工具中的处理器对该可编程延迟电路的编程输出测试时钟的延迟版本。
可编程延迟电路可以包括被定制以产生测试时钟延迟版本的电路。
数据处理电路装置可以包括现场可编程门阵列。
数据输出电路装置可以包括由测试时钟计时的至少一个触发器。
数据输入电路装置可以包括由测试时钟的延迟版本计时的至少一个触发器。
附加数据输出电路装置可以被配置为接收从数据处理电路装置输出的附加数据,以及使用由测试时钟计时的附加数据输出电路装置经由附加输入/输出(IO)焊盘输出附加数据。附加数据输入电路装置可以被配置为使用由测试时钟的延迟版本计时的附加数据输入电路装置接收经由附加IO焊盘输入的附加数据。
附加数据输出电路装置可以包括由测试时钟计时的至少一个触发器。
附加数据输入电路装置可以包括由测试时钟的延迟版本计时的至少一个触发器。
本文也公开了一种包括计算机的系统。计算机包括通过经由测试时钟输入焊盘接收的测试时钟计时的计算机数据处理电路装置,以及被配置为接收从计算机数据处理电路装置输出的数据并且由计算机输入/输出(IO)焊盘输出数据的计算机数据输出电路装置,其中计算机数据输出电路装置由测试时钟计时。计算机数据输入电路装置被配置为接收经由计算机IO焊盘输入的数据,计算机数据输入电路装置由测试时钟计时。系统也包括测试工具,该测试工具包括时钟生成电路,时钟生成电路被配置为生成测试时钟以及经由测试时钟输出焊盘来输出测试时钟,测试时钟输出焊盘通过连接器连接到计算机的测试时钟输入焊盘,数据处理电路装置由测试时钟计时,以及数据输出电路装置被配置为被配置为接收从所述数据处理电路装置输出的数据,以及经由输入/输出(IO)焊盘将所述数据经由所述连接器输出到所述计算机的所述计算机IO焊盘,所述数据输出电路装置由所述测试时钟计时。可编程延迟电路被配置为生成测试时钟的延迟版本。数据输入电路装置被配置为经由IO焊盘接收数据,数据输入电路装置由测试时钟的延迟版本计时,其中测试时钟的延迟的版本被延迟,以补偿在经由测试时钟输出焊盘向外部计算机传输测试时钟的脉冲与经由IO焊盘接收从外部计算机输入的数据之间的延迟。
测试时钟输入焊盘可以被耦合到测试时钟输出焊盘以接收测试时钟,使用可编程延迟电路从测试时钟输入焊盘接收测试时钟。
复用器可以具有被耦合到时钟生成电路以及测试时钟输入焊盘的输入,复用器响应于复用器选择信号输出从时钟生成电路或测试时钟输入焊盘接收的测试时钟。
可编程延迟电路可以包括延迟缓冲器的链,以链的第一延迟缓冲器从复用器接收测试时钟作为输入,以及第二复用器具有被耦合到链的每个延迟缓冲器的输出的输入,以及第二复用器响应于可编程延迟选择信号传递链中的延迟缓冲器中的一个延迟缓冲器的输出。
数据处理电路可以包括现场可编程门阵列。数据输出电路装置可以包括被测试时钟定计时的至少一个触发器。数据输入电路装置可以包括由测试时钟的延迟版本计时的至少一个触发器。
计算机数据输出电路装置可以包括由测试时钟计时的至少一个触发器,以及计算机数据输入电路装置可以包括由测试时钟计时的至少一个触发器。
测试工具也可以包括附加数据输出电路装置,被配置为接收从数据处理电路装置输出的附加数据,以及经由附加输入/输出(IO)焊盘输出附加数据,附加数据输出电路装置由测试时钟计时;以及附加数据输入电路装置,被配置为接收经由附加IO焊盘输入的附加数据,附加数据输入电路装置由测试时钟的延迟版本计时。
计算机也可以包括附加计算机数据输出电路装置,被配置为接收从计算机数据处理电路装置接收输出的附加数据,以及经由附加计算机输入/输出(IO)焊盘输出附加数据,附加计算机数据输出电路装置由测试时钟计时,以及附加计算机数据输入电路装置被配置为接收经由附加计算机IO焊盘输入的附加数据,附加计算机数据输入电路装置由测试时钟计时。
附加计算机数据输出电路装置可以包括由测试时钟计时的至少一个触发器,以及其中附加计算机数据输入电路装置可以包括由测试时钟计时的至少一个触发器。
附图说明
图1是连接到车辆计算机的外部工具的框图,外部工具能够以高数据率通信,如本文所述。
图2示出了图1中的可编程延迟电路的示意性框图。
图3是图1的外部工具在操作中的时序图。
图4是利用两个串行连接件被连接到车辆计算机的外部工具的框图,外部工具能够高数据率通信,如本文所述。
具体实施方式
下面的公开使得本领域技术人员能够做出以及使用本文中公开的技术方案。在不脱离本公开的精神以及范围的情况下,本文中描述的一般原则可以被应用到上面详细描述之外的实施例以及应用。本公开不旨在限制示出的实施例,而是与本文中公开或建议的原则和特征的最宽范围一致。
图1中示出了实施例,其中外部工具10与车辆计算机50在由将它们的外部连接器33和34连接在一起而建立的接口上通信。例如,外部工具10可以是调试工具,以及外部工具可以由载有设备12(例如,包括现场可编程门阵列或FPGA)的调试器板组成。片上系统(SOC)11在调试器板上将时钟信号CLK输出到在设备12内的锁相环(PLL)16。PLL 16处理该时钟以产生内部时钟ICLK,ICLK被传输到总线接口15以及在设备12内的调试协议控制器17内的可编程时钟分频器18二者。可编程时钟分频器18将内部时钟ICLK分频以产生测试时钟TCK,测试时钟TCK被传输到调试协议控制器17内部的其他组件以及通过连接器33、34外部地传输到车辆计算机50二者。主控制器13以及USB主机14连接到总线接口15,例如在调试协议控制器17内促进与数据处理电路19的通信。例如,数据处理电路19可以是现场可编程门阵列。
在内部,测试时钟TCK被传输到调试协议控制器17内的数据处理电路19以及输出电路20(例如,触发器)。此外,测试时钟TCK由驱动器22接收,驱动器22使用测试时钟TCK驱动TCK_OUT焊盘31以及复用器40。注意,TCK_OUT焊盘31连接到TCK_IN焊盘37以接收测试时钟的反馈版本,标记为FBK_TCK。复用器40也接收测试时钟的反馈版本FBK_TCK。复用器40响应于复用器选择信号MUX_SEL选择FBK_TCK和TCK中的一者,以传送到可编程延迟电路41。可编程延迟电路41由此基于可编程延迟选择信号PROG_SEL生成测试时钟的延迟版本DELAYED_TCK。测试时钟的延迟版本DELAYED_TCK继而被传送到输入电路21(例如触发器)。
例如,复用器选择信号MUX_SEL以及可编程延迟选择信号PROG_SEL可以由SOC11生成。
可编程延迟电路41的一个潜在实施方式可以在图2中找到,在图2中可以观察到可编程延迟电路41由n个延迟缓冲器41a、…41n的链形成,其中到链的输入被接收为来自复用器40的输出,以及使用n个延迟缓冲器41a、…、41n的中的每个延迟缓冲器的输出作为输入馈送到复用器42。复用器42响应于可编程延迟选择信号PROG_SEL,选择n个延迟缓冲器41a、…41n的链中的一个延迟缓冲器的输出作为延迟测试时钟DELAYED_TCK以传递。
注意,可以有更多的类似的实施方法以产生可编程延迟,诸如多相位锁相环,延迟锁相环,或任何其他被定制以产生延迟的测试时钟DELAYED_TCK的电路。如果应用,多相位锁相环或延迟锁相环可以输出延迟测试时钟DELAYED_TCK,该延迟测试时钟DELAYED_TCK响应于其由SOC11的编程。
输出电路20(由测试时钟TCK计时)接收从数据处理电路19输出的数据D_out。输出电路20处理以及传递输出的数据D_out到驱动器23,驱动器23将输出的数据D_out驱动到数据IO焊盘32上。
输入电路21经由数据IO焊盘32从车辆计算机50接收数据D_I/O数据D_I/O继而被驱动器24驱动到输入电路21(输入电路21由延迟测试时钟DELAYED_TCK计时),输入电路21继而处理输入数据并且将输入数据作为输入的数据D_in传递到数据处理电路19。
TCK_OUTPUT焊盘31以及数据IO焊盘32连接到外部工具10的连接器33,连接器33连接到车辆计算机50的连接器34,继而将外部工具10的TCK_OUTPUT焊盘31连接到车辆计算机50的TCK_INPUT焊盘35,以及将外部工具10的数据IO焊盘32连接到车辆计算机50的数据IO焊盘36。
车辆计算机50可以包括诸如片上系统(SOC)的设备52。设备52包括高速调试协议目标模块57。当测试时钟TCK在TCK_IN焊盘35处被接收时,测试时钟TCK继而由驱动器55驱动以被用于对高速调试协议目标模块57的数据处理电路58、输入电路59(例如触发器)、以及输出电路60(例如触发器)计时。经由数据IO焊盘32到高速调试协议目标模块57的数据IO焊盘36的由外部工具10输出的数据由驱动器56驱动到输入电路59,输入电路59处理接收的数据作为D_in并且将其传递到数据处理电路58。类似地,数据由数据处理电路58作为D_out输出到输出电路60,在输出电路60中数据由驱动器61驱动到数据IO焊盘36上,以作为D_I/O传送到外部工具10的数据IO焊盘32。
注意,在从驱动器22到TCK_OUTPUT焊盘31,从TCK_OUTPUT焊盘31穿过连接器33以及34到TCK_IN焊盘35,从TCK_IN焊盘35到高速调试协议目标模块57的测试时钟TCK存在延迟。这仅仅是在测试时钟TCK的传输中的延迟。
现在注意到,在由测试时钟TCK对处理电路58的计时到输出的数据D_out的产生,由输出电路60对输出的数据D_out的处理,以及由驱动器61到IO焊盘36,通过连接器34以及33,将数据输出并且传递到达输入IO焊盘32,通过驱动器24并且最终到达输入电路21之间存在延迟。
如果在测试时钟TCK的周期结束后,由驱动器24输出的数据由数据电路21接收,继而在单一时钟时间的通信没有实现,则以及已经出现错误。然而,通过使外部测试工具10的输入电路21由测试时钟的延迟版本DELAYED_TCK计时,针对由输入电路21接收通过驱动器24输出的数据创建额外的时间。实际上,由可编程延迟电路41应用于测试时钟TCK(或反馈测试时钟FBK_TCK)的延迟可以几乎是(但不等于)测试时钟TCK的单个周期。
这可以在图3中观察到。注意到在时间T1,当测试时钟TCK上升时,输入的数据D_I/O的边沿还未到达。因此,如果输入电路21将由测试时钟TCK计时,输入的数据D_I/O的上升沿可能已经错过。然而,通过生成测试时钟的延迟版本DELAYED_TCK以及使用其以计时输入电路21,在时间T2的DELAYED_TCK的上升沿处,输入的数据D_I/O的上升沿已经到达,因此输入电路21正确地读出D_I/O的上升沿。
尽管这些结果是可实现的,不管是否复用器40选择测试时钟TCK本身或测试时钟反馈FBK_TCK,在一些情况下,选择反馈测试时钟FBK_TCK可以是优选的,因为由测试时钟TCK采用的路径在创建反馈测试时钟FBK_TCK时复制在测试时钟TCK从TCK_OUTPUT焊盘31的传输以及在TCK_IN焊盘35测试时钟TCK的接收中的延迟——用另一方式说明,反馈测试时钟FBK_TCK是测试时钟TCK由测试时钟TCK的传输中输入/输出固有延迟而延迟的版本。因此,由于延迟被复制,将由可编程延迟电路41增加较少的延迟。
此外,在一些实例中,复用器40可以不存在,以及测试时钟TCK或反馈测试时钟FBK_TCK可以替代地直接从焊盘37被传递到可编程延迟电路41。
由外部工具10提供的优点是显而易见的。尽管使用延迟测试时钟DELAYED_TCK,测试时钟TCK的频率可以被增加到高于在不使用延迟测试时钟DELAYED_TCK的情况下将发生错误的电平。这有助于增加吞吐量,例如到10兆字节每秒,使用具有125MHz频率的测试时钟。
为进一步增加吞吐量,参考图1,在上文描述数据的输入以及输出结构可以被复制,例如,提供用于同时操作的两个序列数据连接,从而能够加倍有效吞吐量到例如20兆字节每秒。
因此,如图4中示出的实施例,外部工具10’可以包括附加输入电路21a以及输出电路20a。输出电路20a由测试时钟TCK计时并且接收从数据处理电路19输出的数据D_out2。输出电路20a处理以及传递输出的数据D_out2到驱动32a,驱动32a驱动输出的数据D_out2到数据IO焊盘32a上。
输入电路21a经由数据IO焊盘32a从车辆计算机50’接收数据D_I/Oa,数据D_I/Oa继而由驱动24a驱动到输入电路21a(输入电路21a由延迟测试时钟DELAYED_TCK计时),输入电路21a转而处理输入数据,并且将其作为输入的数据D_in2传递到数据处理电路19。
类似地,车辆计算机50’可以包括附加输入电路59a以及输出电路60a,附加输入电路59a以及输出电路60a二者都由如由车辆计算机50’接收的测试时钟TCK计时。数据经由数据IO焊盘32a由外部工具10’输出到高速调试协议目标模块57’的数据IO焊盘36a,数据由驱动器56a驱动到输入电路59a,输入电路59a处理接收的数据以及将其作为D_in2传递到数据处理电路58。类似地,数据作为到输出电路60a的D_out2由数据处理电路58输出,在输出电路60a中数据由驱动61a驱动到数据IO焊盘36a上,用于传输到外部工具10’的数据IO焊盘32a。
文中描述的车辆计算机50或50’可以利用基于ARM的架构。基于ARM的架构包括称为Coresight架构的框架,Coresight架构被分成多个子系统。相对于该公开,用于调试的子系统被称为是数据访问端口(DAP)系统。DAP是ARM调试接口架构规范(在提交本申请时存在的说明的所有版本在这里通过引用整体结合于此)的实施方法。ARM调试接口架构规范提供三个不同的协议,这些协议可以被用于在DAP系统与外部世界,即JTAG调试端口(基于IEEE标准1149.1,也通过引用被整体结合),串行线调试(SWD)端口,以及串行线/JTAG调试端口(是前二者的组合)之间的通信。作为非限定性示例,文中描述的外部工具10或10’可以使用车辆计算机50或50’的一个或多个串行线调试端口接口与车辆计算机50或50’通信。然而,应当理解,文中的技术是同样地可应用于其他ARM调试端口接口结构规范协议以及非ARM相关调试协议。
尽管以上已经在外部测试工具10以及10’用于和车辆计算机50或50’通信的上下文中描述,本文中描述的外部测试工具10以及10’可以与类似布置的任何计算机50或50’通信。
虽然本公开已经关于有限数目的实施例来描述,从本公开中受益的本领域技术人员将理解其他实施例可以不脱离本文中公开的范围地被设想。因此,本公开的范围将仅由所附权利要求限定。

Claims (21)

1.一种测试工具,包括:
时钟生成电路,被配置为生成测试时钟,以及经由测试时钟输出焊盘输出所述测试时钟;
数据处理电路装置,由所述测试时钟计时;
数据输出电路装置,被配置为接收从所述数据处理电路装置输出的数据,以及经由输入/输出IO焊盘输出所述数据,所述数据输出电路装置由所述测试时钟计时;
可编程延迟电路,被配置为生成所述测试时钟的延迟版本;以及
数据输入电路装置,被配置为接收经由所述IO焊盘输入的数据,所述数据输入电路装置由所述测试时钟的延迟版本计时,其中所述测试时钟的延迟版本被延迟,以补偿在经由所述测试时钟输出焊盘向外部计算机传输所述测试时钟的脉冲与经由所述IO焊盘接收从所述外部计算机输入的所述数据之间的延迟。
2.根据权利要求1所述的测试工具,进一步包括:测试时钟输入焊盘,被耦合到所述测试时钟输出焊盘以接收所述测试时钟,其中所述可编程延迟电路从所述测试时钟输入焊盘接收所述测试时钟。
3.根据权利要求2所述的测试工具,进一步包括:复用器,具有被耦合到所述时钟生成电路以及所述测试时钟输入焊盘的输入,其中所述复用器响应于复用器选择信号,而输出从所述时钟生成电路或所述测试时钟输入焊盘接收的所述测试时钟。
4.根据权利要求3所述的测试工具,其中所述可编程延迟电路包括:
延迟缓冲器的链,其中所述链的第一延迟缓冲器从所述复用器接收所述测试时钟作为输入;以及
第二复用器,具有被耦合到所述链的每个延迟缓冲器的输出的输入,以及响应于可编程延迟选择信号而传递所述链的所述延迟缓冲器中的一个延迟缓冲器的输出。
5.根据权利要求1所述的测试工具,其中所述可编程延迟电路包括:
延迟缓冲器的链,其中所述链的第一延迟缓冲器接收所述测试时钟作为输入;以及
复用器,具有被耦合到所述链的每个延迟缓冲器的输出的输入,以及响应于可编程延迟选择信号而传递所述链的所述延迟缓冲器中的一个延迟缓冲器的输出。
6.根据权利要求1所述的测试工具,其中所述可编程延迟电路包括延迟锁定环或多相位锁相环,所述可编程延迟电路根据由在所述测试工具中的处理器对所述可编程延迟电路的编程输出所述测试时钟的延迟版本。
7.根据权利要求1所述的测试工具,其中所述可编程延迟电路包括被定制为产生所述测试时钟的延迟版本的电路。
8.根据权利要求1所述的测试工具,其中所述数据处理电路装置包括现场可编程门阵列。
9.根据权利要求1所述的测试工具,其中所述数据输出电路装置包括由所述测试时钟计时的至少一个触发器。
10.根据权利要求1所述的测试工具,其中所述数据输入电路装置包括由所述测试时钟的延迟版本计时的至少一个触发器。
11.根据权利要求1所述的测试工具,进一步包括:
附加数据输出电路装置,被配置为接收从所述数据处理电路装置输出的附加数据,以及经由附加输入/输出IO焊盘输出所述附加数据,所述附加数据输出电路装置由所述测试时钟计时;以及
附加数据输入电路装置,被配置为接收经由所述附加IO焊盘输入的附加数据,所述附加数据输入电路装置由所述测试时钟的延迟版本计时。
12.根据权利要求11所述的测试工具,其中所述附加数据输出电路装置包括由所述测试时钟计时的至少一个触发器。
13.根据权利要求11所述的测试工具,其中所述附加数据输入电路装置包括由所述测试时钟的延迟版本计时的至少一个触发器。
14.一种系统,包括:
计算机,包括:
计算机数据处理电路装置,由经由测试时钟输入焊盘接收的测试时钟计时;
计算机数据输出电路装置,被配置为接收从所述计算机数据处理电路装置输出的数据,以及经由计算机输入/输出IO焊盘输出所述数据,所述计算机数据输出电路装置由所述测试时钟计时;以及
计算机数据输入电路装置,被配置为接收经由所述计算机IO焊盘输入的数据,所述计算机数据输入电路装置由所述测试时钟计时;以及
测试工具,包括:
时钟生成电路,被配置为生成所述测试时钟,以及经由测试时钟输出焊盘输出所述测试时钟,所述测试时钟输出焊盘通过连接器连接到所述计算机的所述测试时钟输入焊盘;
数据处理电路装置,由所述测试时钟计时;
数据输出电路装置,被配置为接收从所述数据处理电路装置输出的数据,以及经由输入/输出IO焊盘将所述数据经由所述连接器输出到所述计算机的所述计算机IO焊盘,所述数据输出电路装置由所述测试时钟计时;
可编程延迟电路,被配置为生成所述测试时钟的延迟版本;以及
数据输入电路装置,被配置为接收经由所述IO焊盘输入的数据,所述数据输入电路装置由所述测试时钟的延迟版本计时,其中所述测试时钟的延迟版本被延迟,以补偿在经由所述测试时钟输出焊盘向所述测试时钟输入焊盘传输所述测试时钟的脉冲与经由所述IO焊盘接收从所述计算机输入的所述数据之间的延迟。
15.根据权利要求14所述的系统,进一步包括:测试时钟输入焊盘,被耦合到所述测试时钟输出焊盘以接收所述测试时钟,其中所述可编程延迟电路从所述测试时钟输入焊盘接收所述测试时钟。
16.根据权利要求15所述的系统,进一步包括:复用器,具有被耦合到所述时钟生成电路以及所述测试时钟输入焊盘的输入,其中所述复用器响应于复用器选择信号,而输出从所述时钟生成电路或所述测试时钟输入焊盘接收的所述测试时钟。
17.根据权利要求16所述的系统,其中所述可编程延迟电路包括:
延迟缓冲器的链,其中所述链的第一延迟缓冲器从所述复用器接收所述测试时钟作为输入;以及
第二复用器,具有被耦合到所述链的每个延迟缓冲器的输出的输入,以及响应于可编程延迟选择信号而传递所述链的所述延迟缓冲器中的一个延迟缓冲器的输出。
18.根据权利要求14所述的系统,其中所述数据处理电路装置包括现场可编程门阵列;其中所述数据输出电路包括由所述测试时钟计时的至少一个触发器;以及其中所述数据输入电路装置包括由所述测试时钟的延迟版本计时的至少一个触发器。
19.根据权利要求14所述的系统,其中所述计算机数据输出电路装置包括由所述测试时钟计时的至少一个触发器;其中所述计算机数据输入电路装置包括由测试时钟计时的至少一个触发器。
20.根据权利要求14所述的系统,
其中所述测试工具进一步包括:
附加数据输出电路装置,被配置为接收从所述数据处理电路装置输出的附加数据,以及经由附加输入/输出IO焊盘输出所述附加数据,所述附加数据输出电路装置由所述测试时钟计时;以及
附加数据输入电路装置,被配置为接收经由所述附加IO焊盘输入的附加数据,所述附加数据输入电路装置由所述测试时钟的延迟版本计时;以及
其中所述计算机进一步包括:
附加计算机数据输出电路装置,被配置为接收从所述计算机数据处理电路装置输出的附加数据,以及经由附加计算机输入/输出IO焊盘输出所述附加数据,所述附加计算机数据输出电路装置由所述测试时钟计时;以及
附加计算机数据输入电路装置,被配置为接收经由所述附加计算机IO焊盘输入的附加数据,所述附加数据输入电路装置由所述测试时钟计时。
21.根据权利要求20所述的系统,其中所述附加计算机数据输出电路装置包括由所述测试时钟计时的至少一个触发器;以及其中所述附加计算机数据输入电路装置包括由所述测试时钟计时的至少一个触发器。
CN202111265209.7A 2020-10-29 2021-10-28 在外部工具中的高速调试延迟补偿 Pending CN114428470A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/083,876 2020-10-29
US17/083,876 US11360143B2 (en) 2020-10-29 2020-10-29 High speed debug-delay compensation in external tool

Publications (1)

Publication Number Publication Date
CN114428470A true CN114428470A (zh) 2022-05-03

Family

ID=78211954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111265209.7A Pending CN114428470A (zh) 2020-10-29 2021-10-28 在外部工具中的高速调试延迟补偿

Country Status (3)

Country Link
US (1) US11360143B2 (zh)
EP (1) EP3992646B1 (zh)
CN (1) CN114428470A (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069374A1 (en) * 1999-04-23 2002-06-06 Andrew S. Kopser Adjustable data delay using programmable clock shift
US20020108006A1 (en) * 2000-10-26 2002-08-08 Warren Snyder Microcontroller programmable system on a chip
US6798241B1 (en) * 2003-02-27 2004-09-28 Xilinx, Inc. Methods for aligning data and clock signals
US20070118251A1 (en) * 2005-11-08 2007-05-24 Jui-Hsing Tseng Systems and methods for automatically eliminating imbalance between signals
CN101097244A (zh) * 2006-06-27 2008-01-02 晶像股份有限公司 实现测试时钟控制结构(“tccs”)的器件的基于扫描测试
CN101127518A (zh) * 2006-06-27 2008-02-20 晶像股份有限公司 为电子电路的基于扫描测试产生测试时钟的系统、装置和方法
US20120124423A1 (en) * 2010-11-16 2012-05-17 Cadence Design Systems Inc. Method and system for providing efficient on-product clock generation for domains compatible with compression
US20140189457A1 (en) * 2012-12-27 2014-07-03 Tak M. Mak Input/output delay testing for devices utilizing on-chip delay generation
US20150185285A1 (en) * 2013-12-30 2015-07-02 Sandisk Technologies Inc. System and method for reduced pin logic scanning
US20160308540A1 (en) * 2015-04-15 2016-10-20 Sandisk Technologies Inc. Delay compensation
US20180056443A1 (en) * 2016-08-28 2018-03-01 ACS Motion Control Ltd. Method and system for laser machining of relatively large workpieces
US20190045475A1 (en) * 2018-09-28 2019-02-07 Intel Corporation Technologies for managing internal time synchronization
US20190220386A1 (en) * 2018-01-18 2019-07-18 Infineon Technologies Austria Ag Microcontroller system with in-circuit debugger
US20200159282A1 (en) * 2018-11-20 2020-05-21 Hyundai Autron Co., Ltd. Real time clock device for vehicle and operating method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105157A (en) 1998-01-30 2000-08-15 Credence Systems Corporation Salphasic timing calibration system for an integrated circuit tester
WO2000000836A1 (en) 1998-06-29 2000-01-06 Iliya Valeryevich Klochkov A skew calibration means and a method of skew calibration
KR100736675B1 (ko) 2006-08-01 2007-07-06 주식회사 유니테스트 반도체 소자 테스트 장치
US8384410B1 (en) 2007-08-24 2013-02-26 Advantest (Singapore) Pte Ltd Parallel test circuit with active devices

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069374A1 (en) * 1999-04-23 2002-06-06 Andrew S. Kopser Adjustable data delay using programmable clock shift
US20020108006A1 (en) * 2000-10-26 2002-08-08 Warren Snyder Microcontroller programmable system on a chip
US6798241B1 (en) * 2003-02-27 2004-09-28 Xilinx, Inc. Methods for aligning data and clock signals
US20070118251A1 (en) * 2005-11-08 2007-05-24 Jui-Hsing Tseng Systems and methods for automatically eliminating imbalance between signals
CN101097244A (zh) * 2006-06-27 2008-01-02 晶像股份有限公司 实现测试时钟控制结构(“tccs”)的器件的基于扫描测试
CN101127518A (zh) * 2006-06-27 2008-02-20 晶像股份有限公司 为电子电路的基于扫描测试产生测试时钟的系统、装置和方法
US20120124423A1 (en) * 2010-11-16 2012-05-17 Cadence Design Systems Inc. Method and system for providing efficient on-product clock generation for domains compatible with compression
US20140189457A1 (en) * 2012-12-27 2014-07-03 Tak M. Mak Input/output delay testing for devices utilizing on-chip delay generation
US20150185285A1 (en) * 2013-12-30 2015-07-02 Sandisk Technologies Inc. System and method for reduced pin logic scanning
US20160308540A1 (en) * 2015-04-15 2016-10-20 Sandisk Technologies Inc. Delay compensation
US20180056443A1 (en) * 2016-08-28 2018-03-01 ACS Motion Control Ltd. Method and system for laser machining of relatively large workpieces
US20190220386A1 (en) * 2018-01-18 2019-07-18 Infineon Technologies Austria Ag Microcontroller system with in-circuit debugger
US20190045475A1 (en) * 2018-09-28 2019-02-07 Intel Corporation Technologies for managing internal time synchronization
US20200159282A1 (en) * 2018-11-20 2020-05-21 Hyundai Autron Co., Ltd. Real time clock device for vehicle and operating method thereof

Also Published As

Publication number Publication date
EP3992646A1 (en) 2022-05-04
US11360143B2 (en) 2022-06-14
EP3992646B1 (en) 2024-04-10
US20220137128A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
US9535117B2 (en) System debug using an all-in-one connector
US6816991B2 (en) Built-in self-testing for double data rate input/output
US7035755B2 (en) Circuit testing with ring-connected test instrument modules
US7958416B1 (en) Programmable logic device with differential communications support
US9015542B2 (en) Packetizing JTAG across industry standard interfaces
JP6814145B2 (ja) 較正される単一クロックソース同期シリアライザ・デシリアライザプロトコルを用いる高速データ転送
US9053232B2 (en) Method and apparatus for supporting a unified debug environment
EP2860640B1 (en) Systems and methods of using an SPI controller
US10693568B2 (en) Adapting serdes receivers to a UFS receiver protocol
US11042500B1 (en) Systems and methods for high-speed data transfer over a communication interface
US11360143B2 (en) High speed debug-delay compensation in external tool
KR100801759B1 (ko) 슬레이브의 디버깅 방법 및 시스템
US20220113353A1 (en) Input-output device with debug controller
US7103703B1 (en) Back to back connection of PCI host bridges on a single PCI bus
US10476658B1 (en) Method and system for implementing high speed source synchronous clock alignment
US20060218317A1 (en) Systems and methods for driving data over a bus
US11775715B2 (en) System-on-chip automatic design device and operation method thereof
US8694839B2 (en) Method and system for testing chips
US11301414B1 (en) Systems and methods for communicating with clients with non-deterministic response delay over a communication interface
US7610532B2 (en) Serializer/de-serializer bus controller interface
Janßen et al. An axi compatible cypress ez-usb fx3 interface for usb-3.0 superspeed
CN109710565B (zh) Vpx机箱b码时统的逻辑实现系统及方法
US8656236B2 (en) Remote boundary scanning
US8352239B2 (en) Emulator interface device and method thereof

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