CN104246712B - 用于调试任何片上系统状态、功率模式、重置、时钟和复杂数字逻辑的基于异步可编程jtag的接口 - Google Patents

用于调试任何片上系统状态、功率模式、重置、时钟和复杂数字逻辑的基于异步可编程jtag的接口 Download PDF

Info

Publication number
CN104246712B
CN104246712B CN201280071797.3A CN201280071797A CN104246712B CN 104246712 B CN104246712 B CN 104246712B CN 201280071797 A CN201280071797 A CN 201280071797A CN 104246712 B CN104246712 B CN 104246712B
Authority
CN
China
Prior art keywords
core logic
jtag
clock
test
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280071797.3A
Other languages
English (en)
Other versions
CN104246712A (zh
Inventor
H·林甘纳加利
V·凯里格哈塔姆
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN104246712A publication Critical patent/CN104246712A/zh
Application granted granted Critical
Publication of CN104246712B publication Critical patent/CN104246712B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/3177Testing of logic operation, e.g. by logic analysers
    • 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/2801Testing of printed circuits, backplanes, motherboards, hybrid circuits or carriers for multichip packages [MCP]
    • G01R31/281Specific types of tests or tests for a specific type of fault, e.g. thermal mapping, shorts testing
    • G01R31/2815Functional tests, e.g. boundary scans, using the normal I/O contacts
    • 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/3172Optimisation aspects, e.g. using functional pin as test pin, pin multiplexing
    • 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/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318555Control logic
    • 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/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces
    • 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/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning
    • 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/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test
    • 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

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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

公开了异步调试接口,其允许JTAG代理、基于JTAG的调试器、固件和软件调试、访问和覆盖正在被测试的核心逻辑的任何功能寄存器、中断寄存器、功率/时钟选通使能等等。所述异步调试接口在宽范围的时钟频率下工作,并且允许读事务和写事务在不切换到调试或测试模式的情况下在侧通道上以及片上处理器结构内发生。所述异步调试接口使用双线和四线JTAG控制器配置工作,并且符合诸如1149.1、1149.7等等IEEE标准,并且提供调试复杂的片上系统状态和片上产品的有效和无缝的方式。

Description

用于调试任何片上系统状态、功率模式、重置、时钟和复杂数 字逻辑的基于异步可编程JTAG的接口
技术领域
本申请涉及在1149标准下的测试设备体系结构。
背景技术
联合测试行动组(JTAG)是稍后被标准化为IEEE 1149.1“Standard Test AccessPort and Boundary-Scan Architecture”的内容的通用名称,其中IEEE是电气与电子工程师学会的简称。IEEE 1149.7标准是IEEE 1149.1的补充标准,增加了额外的功能。JTAG最初被设计用于使用边界扫描来测试印刷电路板并且仍然广泛用于这一应用。
IEEE 1149的“边界扫描体系结构”使用用于设置并读取管脚上的值的5管脚串行协议而不直接访问核心逻辑。被称为边界扫描寄存器(BSG)的串行扫描路径拦截位于核心逻辑和管脚之间的信号。当系统不在测试模式中时,边界扫描寄存器将核心逻辑的信号透明地连接到管脚。在测试模式中,BSR可以用于设置和/或读取值。在外部模式中,被设置或读取的值将是也被称为“管脚”的I/O焊盘的值。在内部模式中,被设置或读取的值将是核心逻辑的值。
BSR是移位寄存器,其形成位于核心逻辑周围的路径。正在被测试的系统的核心逻辑的信号管脚连接到构成BSR的单元,这些单元围绕核心逻辑(边界)。移位寄存器连接到测试设备的输入和出口,允许将测试向量发送到BSR,因而测试核心逻辑。
尽管这一标准化方案,但是由于在测系统处于“测试”模式中,一些实时情形没有使用边界扫描体系结构被测试。
因而,存在对于一种克服现有技术的缺点的用于执行核心逻辑的实时测试的机制的持续需要。
附图说明
通过参照结合附图的下面详细描述,本文档的前述方面和许多伴随的优点将变得更好理解,因此将变得更容易被认识到,其中相似的附图标记在各种视图中始终表示相似的部件,除非以其它方式规定。
图1是根据一些实施例的异步调试接口的简化方框图;
图2是根据一些实施例包括图1的核心逻辑和TAP控制器的在IEEE1149下的边界扫描体系结构的简化方框图;
图3是根据一些实施例对于构成图1的核心逻辑的不同芯片复制的图2的边界扫描体系结构的方框图;
图4是根据一些实施例由图1的异步调试接口的TAP控制器使用的状态机;
图5是根据一些实施例的图1的异步调试接口的读接口的示意图;
图6是根据一些实施例的图1的异步调试接口的写接口的示意图;
图7是表示根据一些实施例图1的异步调试接口的读接口和写接口与优先级仲裁器之间的连接的示意性方框图;
图8是根据一些实施例由图1的异步调试接口使用的优先级仲裁器的示意图;
图9是根据一些实施例在图1的异步调试接口中由软件使用来管理TAP控制器中的空闲状态的查找表;以及
图10是根据一些实施例由图1的异步调试接口执行的写操作的流程图。
具体实施方式
根据本文描述的实施例,公开了异步调试接口,其允许JTAG代理、基于JTAG的调试器、固件和软件调试、访问和覆盖正在被测试的核心逻辑的任何功能寄存器、中断寄存器、功率/时钟选通使能等等。异步调试接口在宽范围的时钟频率下工作,并且允许读事务和写事务发生在侧通道上以及片上处理器结构内而不必切换到调试或测试模式中。异步调试接口使用双线和四线JTAG控制器配置进行工作,并且符合IEEE标准,例如1149.1、1149.7等等,并且提供调试复杂的片上系统状态和片上系统产品的有效和无缝的方式。
在下面的详细描述中,参照通过说明的方式示出可以在其中实践本文描述的主题的具体实施例的附图。然而,应该理解,本领域中的普通技术人员在阅读本公开时,其它实施例将变得明显。下面的详细描述因此不应该在限制的意义上被解释,因为主题的范围由权利要求限定。
根据一些实施例,图1中描绘了异步调试接口100的简化方框图。异步调试接口100由读接口200、写接口300、优先级仲裁器400和智能单元350组成。异步调试接口100在核心逻辑500上按照两种方式实时地操作:1)经过到核心逻辑的侧通道连接260,以及2)通过经过JTAG接口250利用JTAG调试器250和TAP控制器600。异步调试接口100因而被嵌入在JTAG网络中(例如JTAG调试器250和一个或多个TAP控制器600)中。
如在本文使用的,当正在被测试的核心逻辑500在其正常状态中操作时,即,在其操作中没有任何中断时,异步调试接口100被认为实时地运行。因而,异步调试接口100在不改变在核心逻辑500内操作的任何时钟的速度的情况下并且在不改变由核心逻辑接收的功率的情况下进行操作,。关于最后一点,当异步调试接口100正在核心逻辑上实时地运行测试时,核心逻辑500未被置于低功率操作状态中。
JTAG调试器250和TAP或测试访问端口、控制器600被设计为在包括但不局限于IEEE 1149.1和IEEE 1149.7(在本文被称为JTAG标准)的IEEE 1149标准下进行操作。尽管JTAG调试器250能够在核心逻辑500处于测试模式中时在该核心逻辑上执行测试,但是异步调试接口100在核心逻辑500上实时地进行操作。异步调试接口100因而利用JTAG调试器250和TAP控制器600的能力,但是包括没有由JTAG调试器250提供的额外的能力,以便在不干扰核心逻辑500的正常操作的情况下便于执行实时测试。
异步调试接口100的读接口200和写接口300处理位于TAP控制器600和核心逻辑500之间的协议。核心逻辑500至少包括主机CPU 220。在图1的简化表示中,核心逻辑500包括主机CPU 220和通过开放核心协议(OCP)总线230耦合到主机的一个或多个额外的CPU240。为了简单起见,核心逻辑500中的其它电路未在图1中重点介绍,但是核心逻辑可以包括额外的功能,包括但不局限于联网能力、图形和视频能力、易失性和非易失性存储介质以及外围设备电路。优先级仲裁器400解决在JTAG调试器250和主机CPU 220或核心逻辑500的其它CPU 240之间的冲突,当这二者同时试图访问OCP总线230时。
智能单元350可以由硬件逻辑和/或由处理器(未示出)执行的软件程序构成。在一些实施例中,智能单元350包括结合JTAG调试器250使用来测试核心逻辑500的测试套件450和查找表550。
在一些实施例中,如下所述,智能单元350包括被发送到JTAG调试器250的查找表550。查找表550使JTAG调试器250能够获得TAP控制器600在等待来自优先级仲裁器400的总线访问许可时需要处于空闲状态中的时钟周期的数量。在一些实施例中,查找表550中的值由在确定空闲状态时钟周期时采用TAP控制器600和核心逻辑500的相对时钟速率的新颖公式确定。
常规调试方法是将也被称为在测系统的正在被测试的系统置于特定的测试或调试模式中,固定频率下的单个时钟用于在测系统和测试逻辑二者。在图1中,例如,核心逻辑500是在测系统。在常规调试下,核心逻辑500因而在其功能模式和测试模式之间进行切换,在其功能模式中,核心逻辑如所设计的进行操作,而在测试模式中,调试操作被执行。对于这一常规方案存在许多缺点,其中之一是,在测试模式中操作的核心逻辑没有忠实地实时代表核心逻辑的操作。
相反,异步调试接口100具有在不将核心逻辑500置于测试模式中的情况下调试或覆盖任何片上系统状态或特征的能力。使用这一接口,不需要减慢用于访问核心逻辑500内的任何功能逻辑的该核心逻辑的锁相环时钟。异步调试接口100在宽范围的JTAG以及功能时钟频率下工作,并且使用唯一的握手机制和异步协议来在功能域和测试时钟域之间传输数据。异步调试接口100因而提供在不需要昂贵的片上逻辑分析器的情况下实时地调试功能逻辑的强大的机制。
在进一步描述异步调试接口之前,对在IEEE 1149下的边界扫描体系结构的介绍是适当的。图2示出了根据一些实施例符合1149的系统700的简化示意图。(图1的JTAG调试器250是符合1149的系统的示例。)围绕核心逻辑500的是形成边界扫描寄存器(BSR)的多个边界扫描单元760A-760J(共同地,“边界扫描单元760”)、相对应的I/O焊盘770A-770J加上接收测试数据输入(TDI)的输入的I/O焊盘770K、指令寄存器710和指令解码器740、旁路寄存器720、ID寄存器730、一个或多个设计专用外部测试数据寄存器750以及测试访问端口控制器或者首先在图1中介绍的TAP控制器600。TDI输入经过I/O焊盘770K被馈送到第一边界扫描单元760A,经过每一个随后的边界扫描单元760B、760C…760J被传递到测试数据输出(TDO)输出。
因为仅存在单个数据输入(TDI),因此图2的边界扫描体系结构是串行的。符合1149的系统700使用测试时钟信号(TCK)来为数据输入、测试模式状态信号(TMS)和可选的测试重置信号(TRST)以及TDI和TDO信号计时。TAP控制器600是状态机,转换由TMS信号进行控制。TAP控制器600的状态机能够完成重置操作,访问指令寄存器并且访问由指令寄存器选择的数据。对于每一个TCK脉冲,数据的一个比特被传输到TDI输入中并且被传输离开TDO输出。
在核心逻辑500的正常操作期间,边界扫描单元760是不可见的。系统700可以处于两种测试模式,外部测试模式和内部测试模式,之一中。在外部测试模式中,边界扫描单元760用于设置并读取I/O焊盘770的值。在内部测试模式中,边界扫描单元760用于设置并读取核心逻辑500的值。
JTAG标准想象至少两个测试数据寄存器,围绕核心逻辑500的边界扫描寄存器760和旁路寄存器720。此外,可以包括设计专用测试数据寄存器以便实现设计专用测试。这些设计专用测试数据寄存器可以是公共可访问的,但是不要求是这样的。在一些实施例中,每当异步调试接口100将被使用时,测试套件450使用用户定义的(定制)指令对指令寄存器710进行编程。
TAP控制器600可以由单个TAP控制器或彼此串联布置的多个TAP控制器组成。图3例如以具有N个单独的TAP控制器的TAP控制器600为特征。这些单独的TAP控制器中的每一个可以连接到核心逻辑500内部的不同电路(500A、500B…500N)。为了简单起见,在本文被称为“TAP控制器600”的控制器可以由单个TAP控制器或多个TAP控制器组成。
返回到图2,符合1149的系统700的几个寄存器被显示为并联连接在公共串行输入(TDI)和公共串行输出(TDO)之间的基于移位寄存器的元件的集合。指令寄存器710控制哪一个寄存器,边界扫描寄存器760、设备ID寄存器730、设计专用测试数据寄存器750之一或旁路寄存器720,在给定的时间形成位于TDI和TDO之间的串联路径。复用器790控制在TDI和TDO之间的串联路径,尽管可以替代地使用其它设备来控制串行输出。
当没有选择其它测试数据寄存器中的任意一个时,旁路寄存器720经过该电路提供单比特串联连接。因为可能存在几个TAP控制器600,每一个TAP控制器串联连接到不同的测试电路(图3),旁路寄存器720允许测试数据在不影响其它部件的正常操作的情况下经过设备流到该其它部件。因而,在其中电路500A未被测试但是电路500B被测试的图3中,旁路寄存器720将与第一电路一起使用,使得测试数据本质上完全绕过第一电路,并且继续到第二测试电路。边界扫描寄存器760允许板互连的测试并且检测诸如开路和短路的生产缺陷。边界扫描寄存器760还允许在测试它们的系统逻辑或流经系统输入和输出的信号的采样时访问部件的输入和输出。设备识别寄存器730是允许确定制造商、零件号和部件的变体的可选的测试数据寄存器。
图2还示出了设计专用测试数据寄存器750。在1149.1和1149.7下可选的这些寄存器中的一个或多个允许访问诸如自测试、扫描路径等等的设计专用测试支持特征。它们可以是公共可用的或完全私有的,仅由例如接下来的安全认证可访问。
当指令寄存器710指示用户定义的指令时,设计专用测试数据寄存器被激活。在一些实施例中,异步调试接口100与这些外部测试数据寄存器750通过接口进行连接。再次,基于设计要求,用户定义的指令可以是公共的或私有的。
例如,如上所述,用户定义的指令可以被发送到指令寄存器710(通过测试套件450中的程序之一),使得通过第一外部测试数据寄存器750的方式在串行输入(TDI)和输出(TDO)之间创建路径。在下文中,执行系统调试所需的数据和控制可以经过外部测试数据寄存器750被移位。异步调试接口100读取外部测试数据寄存器750的内容,并且执行核心逻辑500的系统调试。因而,使用用户定义的(定制)指令的指令寄存器710的编程触发异步调试接口100以便执行核心逻辑500的实时测试。
在一些实施例中,通过异步调试接口100获得的调试结果可以在TAP控制器600处于“捕获DR”状态中时被装入测试数据寄存器750中,并且可以在“移位DR”状态期间被移位到输出(TDO)上。图4示出了根据一些实施例的TAP控制器600的状态图。状态机的最右边部分与指令寄存器710(IR)有关。状态机600的这一右侧因而用于配置一个或多个TAP控制器600,以便通过选择设计专用测试数据寄存器750通过指令寄存器710的方式来执行某一任务。通过为指令寄存器710装入用户定义的指令,外部测试数据寄存器750之一被激活,并且从异步调试接口100的智能单元350接收指令,其中该指令可以由测试套件450组成。
JTAG调试器250因而本质上将异步调试接口100的测试套件450转换为经过测试数据输入(TDI)和TMS JTAG端口发送的串行测试向量。每当要执行实时读或实时写操作时,该测试套件450将用户定义的定制指令编程到TAP控制器600。这或者激活读接口200或者激活写接口300,并且允许读取和写入经过侧通道260发生。读操作和写操作可以例如包括覆盖核心逻辑500内的功能寄存器,打开核心逻辑内的调制解调器,关闭到核心逻辑中的音频块的功率,等等。
异步调试接口100的读接口200和写接口300处理TAP控制器600和核心逻辑500之间的协议。此外,可编程优先级仲裁器400被设计为解决TAP控制器600和核心逻辑500内的CPU之间的冲突。
图5是根据一些实施例的异步调试接口100的读接口200的示意图。在智能单元350实时地执行寄存器、存储器单元或核心逻辑500的I/O管脚的读操作的情况下,使用读接口200。读接口200使用由TAP控制器600使用的相同测试时钟TCK。在发生读取和写入之间的冲突的情况下,优先级仲裁器400解决它们。
图5中的读接口200的简化图将电路分为TCK域(左侧)和功能时钟域(右侧),TCK是由JTAG逻辑(JTAG调试器250和TAP控制器600)使用的时钟,并且功能时钟是核心逻辑500的操作时钟。读接口200包括五个D触发器20A-20E和二到一复用器(MUX)60A和60B。最初,优先级仲裁器400确保OCP总线230在发出在图5中被表示为read_grant的读许可之前不被使用。
JTAG读选择寄存器JTAG_read_sel_reg控制MUX 60B的选择线,MUX60B经过该MUX将“常高”输入(1’b1)馈送到MUX 60A。当用户定义的指令被发送到JTAG调试器250的指令寄存器710时,JTAG_read_sel_reg被置位。MUX 60A由来自D触发器20A的输出控制。同时,离开功能时钟域,读许可被馈送到D触发器20B中,通过D触发器20A被计时(使用测试时钟,TCK),D触发器20A控制MUX 60A。
因为MUX 60A具有常低输入(1'b0),D触发器20C的输入仅在JTAG_read_sel_reg被激活并且read_grant由优先级仲裁器400发出之后才被馈送到Q输出。这产生read_select信号,其经过两个额外的D触发器20D和20E由功能时钟(例如核心逻辑500的功能时钟)计时。读接口200的操作因而完成。
图6是根据一些实施例的异步调试接口100的写接口300的示意图。在智能单元350正在执行寄存器、存储器单元或核心逻辑500的I/O管脚的实时写操作时,使用写接口300。
如同读接口200一样,图6中的写接口300的简化图将电路分为TCK域(左侧)和功能时钟域(右侧)。写接口200包括五个D触发器40A-40E和二到一复用器(MUX)70A和70B。最初,优先级仲裁器400确保OCP总线230在发出在图6中被表示为write_grant的写许可之前不被使用。
JTAG写选择寄存器JTAG_write_sel_reg控制MUX 70B的选择线,MUX 70B将“常高”输入(1’b1)馈送到MUX 70A。当用户定义的指令被发送到JTAG调试器250的指令寄存器710时,JTAG_write_sel_reg被置位。MUX 70A由来自D触发器40A的输出控制。同时,离开功能时钟域,写许可被馈送到D触发器40B,通过D触发器40A被计时(使用测试时钟,TCK),D触发器40A控制MUX 70A。
因为MUX 70A具有常低输入(1'b0),D触发器40C的输入仅在JTAG_write_sel_reg被激活并且write_grant由优先级仲裁器400发出之后才被馈送到Q输出。这产生write_select信号,其经过两个额外的D触发器40D和40E由功能时钟(例如核心逻辑500的功能时钟)计时。写接口300的操作因而完成。
图7是表示在接收到read_select或write_select信号之后优先级仲裁器400如何生成read_grant或write_grant信号的简化图。根据一些实施例,在图8中说明了优先级仲裁器400。
在核心逻辑500和异步调试接口100的智能单元350分别请求地址/数据总线(例如作为核心逻辑500的一部分的OCP总线230)的使用的情况下,优先级仲裁器400解决冲突。在图8中,优先级仲裁器400由两个D触发器80A、80B、两个与门90A、90B和反相器92组成。D触发器80A、80B二者由功能(核心逻辑)时钟控制。
每当实时读操作或实时写操作要由异步调试接口100执行时,智能单元350请求访问核心逻辑500的OCP总线230。当请求经过D触发器80A被计时时,Q结果与D输入相同,并且因而经过与门90A被馈送,与门90A接着由反相器92反转。与门的另一输入来自对于来自核心逻辑500的总线访问的请求。
同时,核心逻辑500也可以请求对OCP总线230的访问,如在电路图的下部分中指示的。该请求经过D触发器80B由功能时钟计时,并且被馈送到与门90C中,与门90C的另一输入来自对于总线访问的JTAG代理请求(例如TAP控制器600或异步调试接口100的智能单元350)。
回忆到图1,在一些实施例中,异步调试接口100的智能单元350包括测试套件450和查找表550,它们二者都在核心逻辑500上执行测试时被装入JTAG调试器250中。测试套件450由JTAG调试器250或另一JTAG代理执行并且与符合JTAG的TAP控制器600一起操作。基于从核心逻辑500接收的数据,异步调试接口100从核心逻辑500的寄存器读取并且写入核心逻辑500的寄存器。
如它的名称表明的,异步调试接口100异步地操作。JTAG调试器250和核心逻辑500使用不同的时钟进行操作。因而,在一些实施例中,异步调试接口100使用查找表550来在这些读操作和写操作期间插入等待状态。
图9是根据一些实施例由异步调试接口100使用的如在图1中介绍的查找表550。查找表550示出了在由TAP控制器600使用的测试时钟TCK和由核心逻辑500使用的功能时钟之间的许多可能频率组合的小的集合。查找表550还概述了TAP控制器600在每一个读事务和写事务之间需要停留在空闲状态中以便允许主机CPU正确地处理侧通道260事务的额外的TCK时钟周期的数量。如本文使用的,侧通道事务指代异步调试接口100和核心逻辑500中的主机CPU 220之间的任何事务,不涉及JTAG接口270。主机CPU 220一次通过OCP总线230与一个或多个额外的处理器(被表示为CPU 240)进行通信以便执行事务。
在一些实施例中,查找表550在计算TAP控制器空闲周期的数量时使用下面的公式:
N_idle_cycles=(TCK/clk)*MCF
其中TCK是TAP控制器600的时钟,clk是核心逻辑500的时钟,并且MCF是乘法时钟因子。在查找表550中,MCF为四。MCF是基于核心逻辑500的设计的常数。MCF可以取决于各种因素而改变,该各种因素例如是多TAP JTAG网络中的TAP控制器的数量、核心逻辑时钟的频率、侧通道260数据路径的时延以及其它操作条件和设计考虑因素。
假设核心逻辑500时钟clk在100MHz下操作。如在查找表550中指示的,测试时钟TCK可以在50MHz(蓝色)或在20MHz(黄色)下操作。在测试逻辑在50MHz(蓝色)下操作的情况下,TAP控制器600所需要的空闲周期的数量为:
N_idle_cylces=(TCK/clk)*MCF=50/100*4=1/2*4=2
因而,当测试时钟在50MHz下操作并且核心逻辑时钟在100MHz下操作时,TAP控制器600将在每一个读事务和写事务之间的两个时钟周期内停留在空闲状态中。
在测试时钟在20MHz(黄色)下操作的情况下,TAP控制器600所需要的空闲周期的数量为:
N_idle_cylces=(TCK/clk)*MCF=50/100*4=1/5*4=0.8
在这种情况下,0.8的值被四舍五入到1。因而,当测试时钟在20MHz下操作并且核心逻辑时钟在100MHz下操作时,TAP控制器600将在每一个读事务和写事务之间的单个时钟周期内停留在空闲状态中。
当在测试时钟TCK速率和核心逻辑clk速率之间存在明显差异时,空闲状态的数量明显升高。例如,在核心逻辑500在1MHz下操作并且TAP控制器600在50MHz(粉红)下操作的情况下,TAP控制器600所需要的空闲周期的数量为:
N_idle_cylces=(TCK/clk)*MCF=50/1*4=50*4=200
因而,当测试时钟在20MHz下操作并且核心逻辑时钟在1MHz下操作时,TAP控制器600将在每一个读事务和写事务之间的两百个时钟周期内停留在空闲状态中。
替代地,在核心逻辑500在1MHz下操作并且TAP控制器600在20MHz(绿色)下操作的情况下,TAP控制器600所需要的空闲周期的数量为:
N_idle_cylces=(TCK/clk)*MCF=20/1*4=20*4=80
因而,当测试时钟在20MHz下操作并且核心逻辑在1MHz下操作时,TAP控制器600将在每一个读事务和写事务之间的八十个时钟周期内停留在空闲状态中。
因为核心逻辑500可以在不同的时钟频率下操作,因此异步调试接口100的智能单元350使用查找表550来确定多少空闲状态要插入在每一个读事务和每一个写事务之间。图4中所示的状态机允许通过将零发送到TAP控制器600来引入这些空闲状态。只要TAP控制器接收到零,状态机就将保持在运行-测试/空闲状态中。
图10是根据一些实施例表示多个写操作如何由异步调试接口100执行的流程图。智能单元350将测试套件450和查找表550装入JTAG调试器250中(块102)。使用TAP控制器600、边界扫描寄存器760和JTAG接口270,JTAG调试器250在核心逻辑500上的测试套件450上运行一个或多个测试。
回忆到JTAG调试器250在外部测试模式或者内部测试模式中进行操作,在外部测试模式中,边界扫描单元760用于设置并读取I/O焊盘770的值,而在内部测试模式中,边界扫描单元760用于设置并读取核心逻辑500的值。然而,在这种情况下,异步调试接口100实时地操作。因而,在测试套件450的执行期间,一定存在来自核心逻辑500的读操作或者到核心逻辑的写操作,这会导致在核心逻辑内部发生的操作的冲突。
例如,当将发生实时写操作(块106)时,智能单元350将用户定义的指令装入JTAG调试器250中(块108)。回忆到当用户定义的指令被发送到指令寄存器710时,这产生通过外部测试数据寄存器750之一的方式位于串行输入(TDI)和串行输出(TDO)之间的路径。因而,外部测试数据寄存器750被激活(块110)。基于JTAG指令寄存器710中的定制指令以及外部测试数据寄存器750的内容,异步调试接口100的智能单元350得到写请求并且将它存储在寄存器JTAG_write_sel_reg中,其中这一寄存器驱动MUX 70B(图6)的选择线。类似地,在外部测试数据寄存器750包含读请求的情况下,异步调试接口100的智能单元350得到读请求并且将它存储在寄存器JTAG_read_sel_reg中,其中这一寄存器驱动MUX 60B(图5)的选择线。
一旦外部测试数据寄存器750被激活,智能单元350就使用写接口300来在寄存器、存储器单元或核心逻辑500的I/O端口上执行写操作(块112)。因为这实时地发生,因此优先级仲裁器400保持由智能单元350发起的写入,直到OCP总线可用为止(块114)。一旦OCP总线可用(块116),优先级仲裁器400就经过侧通道通路260将写操作释放到OCP总线(块118)。因为JTAG调试器250不考虑实时操作,因此,如上所述,智能单元350替代地使用写接口300来执行到核心逻辑500的写操作。
在多个写操作被执行(块120)的情况下,智能单元350触发JTAG调试器250和TAP控制器300以便将空闲周期插入在接下来的写操作之间(块122)。因而,TAP控制器600保持在运行测试/空闲状态中(在如由查找表550确定的周期数量内),同时读/写操作经过侧通道260在核心逻辑500上执行。
因为JTAG调试器250和TAP控制器300使用测试时钟进行操作并且核心逻辑500使用功能时钟进行操作,因此空闲周期使测试套件450能够在不干扰核心逻辑的正常操作的情况下在该核心逻辑上执行操作,因而使异步调试接口100能够获得较高质量的测试结果。换句话说,测试结果反映核心逻辑500的实时操作。
异步调试接口100因而允许JTAG代理和固件或软件在没有对昂贵的片上探测逻辑的依赖性的情况下调试系统的功能逻辑,并且提供调试复杂的片上系统状态和基于片上系统的产品的有效和无缝的方式。
尽管关于有限数量的实施例描述了本申请,但是本领域中的技术人员将意识到根据其的许多修改和变形。意图是所附权利要求涵盖落在本发明的真实精神和范围内的所有这样的修改和变形。

Claims (14)

1.一种用于异步地调试核心逻辑的系统,所述核心逻辑包括中央处理单元、总线和功能块,所述系统包括:
智能单元,包括由符合JTAG(符合联合测试行动组)的调试器执行的测试程序,所述符合JTAG的调试器使用测试时钟与符合JTAG的测试访问端口TAP控制器一起操作,所述测试程序在所述核心逻辑上经过JTAG接口实时地运行;
读接口,用于经过侧通道从所述核心逻辑的寄存器、存储器单元或输入/输出I/O端口进行读取;
写接口,用于经过所述侧通道向所述核心逻辑的所述寄存器、所述存储器单元或所述I/O端口进行写入;以及
优先级仲裁器,用于在通过所述智能单元或所述核心逻辑内的电路到所述核心逻辑的所述总线的访问之间进行仲裁;
其中,使用所述JTAG接口通过所述测试程序将位于到所述核心逻辑的所述寄存器、所述存储器单元或所述I/O端口的接下来的写操作或者从所述核心逻辑的所述寄存器、所述存储器单元或所述I/O端口的接下来的读操作之间的空闲状态的预定数量发送到所述核心逻辑,其中,所述接下来的写操作或所述接下来的读操作经过所述侧通道发生,并且
其中,所述空闲状态的预定数量是基于功能时钟频率和测试时钟频率的,使用下面的公式计算所述空闲状态的预定数量:
N_idle_cycles=(TCK/clk)*MCF
其中,TCK是所述测试时钟频率,clk是所述功能时钟频率,并且MCF是乘法因子。
2.如权利要求1所述的系统,其中,所述乘法因子基于TAP控制器的数量、所述功能时钟频率和位于所述核心逻辑与所述TAP控制器之间的数据路径的时延。
3.如权利要求1所述的系统,其中,所述乘法因子为四。
4.如权利要求1所述的系统,所述智能单元进一步包括:
查找表,包括:
功能时钟的多个频率;
测试时钟的多个频率;以及
基于功能时钟频率和测试时钟频率的多个空闲状态;
其中,所述测试程序:
从所述查找表获得所述空闲状态的预定数量;并且
将所述预定数量发送到所述TAP控制器。
5.如权利要求1所述的系统,其中,所述预定数量包括所述TAP控制器的指令寄存器和数据寄存器之间的运行状态/空闲状态的数量。
6.如权利要求1所述的系统,其中,所述TAP控制器包括N个不同的TAP控制器单元,每一个TAP控制器单元耦合到所述核心逻辑内的不同电路。
7.一种用于异步地调试核心逻辑的方法,所述核心逻辑包括中央处理单元、总线和功能块,所述方法包括:
通过智能单元使用测试时钟在联合测试行动组JTAG调试器上结合JTAG测试访问端口TAP控制器执行测试程序,所述测试程序在所述核心逻辑上经过JTAG接口实时地运行;
通过所述测试程序将用户定义的指令发送到所述JTAG调试器,其中,所述用户定义的指令使写选择寄存器在写接口中被使能;
通过所述测试程序发起到所述核心逻辑的第一写操作,所述第一写操作经过所述写接口和所述核心逻辑之间的侧通道发生,其中,所述JTAG调试器和所述JTAG TAP控制器不是侧通道事务的一部分;
通过所述智能单元将空闲状态的预定数量发送到所述核心逻辑,其中,所述智能单元使用所述JTAG调试器、所述TAP控制器和所述JTAG接口将所述空闲状态发送到所述核心逻辑;并且
通过所述智能单元发起到所述核心逻辑的第二写操作,其中,所述第二写操作经过所述侧通道被发送,
其中,所述方法还包括基于功能时钟的频率和测试时钟的频率计算所述空闲状态的预定数量,基于下面的公式计算所述预定数量:
N_idle_cycles=(TCK/clk)*MCF
其中,TCK是测试时钟的频率,clk是功能时钟的频率,并且MCF是乘法因子。
8.如权利要求7所述的方法,进一步包括:
通过优先级仲裁器中断由所述智能单元发起的所述第一写操作,其中,所述总线正在由所述核心逻辑的电路使用。
9.如权利要求8所述的方法,进一步包括:
通过所述优先级仲裁器允许所述第一写操作使用所述侧通道被发送到所述核心逻辑。
10.如权利要求7所述的方法,进一步包括:
通过所述智能单元从被装入在所述JTAG调试器中的查找表获得所述预定数量。
11.一种用于异步地调试核心逻辑的方法,所述核心逻辑包括中央处理单元、总线和功能块,所述方法包括:
通过智能单元使用测试时钟在联合测试行动组JTAG调试器上结合JTAG测试访问端口TAP控制器执行测试程序,所述测试程序在所述核心逻辑上经过JTAG接口实时地运行;
通过所述测试程序将用户定义的指令发送到所述JTAG调试器,其中,所述用户定义的指令使读选择寄存器在读接口中被使能;
通过所述测试程序发起从所述核心逻辑的第一读操作,所述第一读操作经过所述读接口和所述核心逻辑之间的侧通道发生,其中,所述JTAG调试器和所述JTAG TAP控制器不是侧通道事务的一部分;
通过所述智能单元将空闲状态的预定数量发送到所述核心逻辑,其中,所述智能单元使用所述JTAG调试器、所述TAP控制器和所述JTAG接口将所述空闲状态发送到所述核心逻辑;并且
通过所述智能单元发起从所述核心逻辑的第二读操作,其中,所述第二读操作经过所述侧通道被发送,其中,所述方法还包括基于功能时钟的频率和测试时钟的频率计算所述空闲状态的预定数量,基于下面的公式计算所述预定数量:
N_idle_cycles=(TCK/clk)*MCF
其中,TCK是测试时钟的频率,clk是功能时钟的频率,并且MCF是乘法因子。
12.如权利要求11所述的方法,进一步包括:
通过优先级仲裁器中断由所述智能单元发起的所述第一读操作,其中,所述总线正在由所述核心逻辑的电路使用。
13.如权利要求12所述的方法,进一步包括:
通过所述优先级仲裁器允许使用所述侧通道将所述第一读操作发送到所述核心逻辑。
14.如权利要求11所述的方法,进一步包括:
通过所述智能单元从被装入在所述JTAG调试器中的查找表获得所述预定数量。
CN201280071797.3A 2012-03-25 2012-03-25 用于调试任何片上系统状态、功率模式、重置、时钟和复杂数字逻辑的基于异步可编程jtag的接口 Active CN104246712B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/030495 WO2013147730A1 (en) 2012-03-25 2012-03-25 Asynchronous programmable jtag-based interface to debug any system-on-chip states, power modes, resets, clocks, and complex digital logic

Publications (2)

Publication Number Publication Date
CN104246712A CN104246712A (zh) 2014-12-24
CN104246712B true CN104246712B (zh) 2017-11-10

Family

ID=49260808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280071797.3A Active CN104246712B (zh) 2012-03-25 2012-03-25 用于调试任何片上系统状态、功率模式、重置、时钟和复杂数字逻辑的基于异步可编程jtag的接口

Country Status (4)

Country Link
US (1) US9274169B2 (zh)
EP (1) EP2845102A4 (zh)
CN (1) CN104246712B (zh)
WO (1) WO2013147730A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2845102A4 (en) 2012-03-25 2016-02-10 Intel Corp ASYNCHRONE PROGRAMMABLE JTAG-BASED INTERFACE TO DEBUGGING SYSTEM-ON-CHIP STATES, POWER MODES, RESETS, TACKS AND COMPLEX DIGITAL LOGIC
US9323633B2 (en) * 2013-03-28 2016-04-26 Stmicroelectronics, Inc. Dual master JTAG method, circuit, and system
US9404968B1 (en) 2013-10-25 2016-08-02 Altera Corporation System and methods for debug connectivity discovery
US9602107B2 (en) * 2014-12-23 2017-03-21 Texas Instruments Incorporated Reset selection cell to mitigate initialization time
KR102538258B1 (ko) 2016-07-25 2023-05-31 삼성전자주식회사 데이터 저장 장치 및 이를 포함하는 데이터 처리 시스템
US10310012B2 (en) * 2016-12-21 2019-06-04 Samsung Electronics Co., Ltd. Lightweight, low overhead debug bus
CN107122304B (zh) * 2017-05-03 2021-03-23 成都定为电子技术有限公司 一种jtag远程调试方法
CN107992675B (zh) * 2017-11-29 2020-12-15 中国电子科技集团公司第五十四研究所 一种eda验证阶段的仲裁电路测试方法
CN111880634B (zh) * 2020-06-29 2022-07-12 中国人民解放军战略支援部队信息工程大学 一种srio交换芯片的复位结构及其复位状态监控方法
CN112015604B (zh) * 2020-07-22 2023-06-20 河海大学常州校区 一种基于Zynq FPGA的自动化可靠性评估系统及评估方法
US11327867B2 (en) 2020-10-09 2022-05-10 Micron Technology, Inc. On-die logic analyzer
CN113282533B (zh) * 2021-07-20 2021-09-28 中科南京智能技术研究院 一种异步链路发送端电路及芯片接收端电路
CN113722732B (zh) * 2021-08-26 2024-02-23 安徽敏矽微电子有限公司 一种2线片上调试加解密安全保护系统
CN116521468B (zh) * 2023-07-05 2023-09-15 西安智多晶微电子有限公司 一种fpga在线调试方法及支持在线调试的fpga
CN117520082B (zh) * 2024-01-08 2024-04-02 凌思微电子(杭州)有限公司 芯片调试方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094729A (en) * 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US6185711B1 (en) * 1998-12-03 2001-02-06 Sun Microsystems, Inc. Methods and apparatus for synchronizing asynchronous test structures and eliminating clock skew considerations
US6671841B1 (en) * 2000-10-05 2003-12-30 Sun Microsystems, Inc. Method for on-line circuit debug using JTAG and shadow scan in a microprocessor
CN101118274A (zh) * 2006-07-31 2008-02-06 大唐移动通信设备有限公司 多功能联合测试行动组链装置
US7380187B2 (en) * 2003-12-29 2008-05-27 Stmicroelectronics Pvt. Ltd. Boundary scan tester for logic devices
CN201654185U (zh) * 2010-04-30 2010-11-24 华为终端有限公司 一种jtag终端设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421633B2 (en) * 2005-03-21 2008-09-02 Texas Instruments Incorporated Controller receiving combined TMS/TDI and suppyling separate TMS and TDI
US6189140B1 (en) * 1997-04-08 2001-02-13 Advanced Micro Devices, Inc. Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic
US6142683A (en) * 1997-04-08 2000-11-07 Advanced Micro Devices, Inc. Debug interface including data steering between a processor, an input/output port, and a trace logic
US6154856A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Debug interface including state machines for timing synchronization and communication
US6145100A (en) * 1998-03-04 2000-11-07 Advanced Micro Devices, Inc. Debug interface including timing synchronization logic
US6779145B1 (en) * 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6681337B1 (en) * 2000-04-25 2004-01-20 Sun Microsystems, Inc. Method and apparatus for loading data from an address specified by an address register into a different register wherein the registers are clocked in different time domains
US7003707B2 (en) * 2000-04-28 2006-02-21 Texas Instruments Incorporated IC tap/scan test port access with tap lock circuitry
US20010037479A1 (en) * 2000-04-28 2001-11-01 Whetsel Lee D. Selectable dual mode test access port method and apparatus
US7428661B2 (en) * 2001-09-21 2008-09-23 Sam Michael Test and debug processor and method
US7444546B2 (en) 2003-04-17 2008-10-28 Arm Limited On-board diagnostic circuit for an integrated circuit
US7284174B2 (en) * 2003-12-30 2007-10-16 Stmicroelectronics Pvt Ltd. Enhanced JTAG interface
US7886150B2 (en) * 2007-05-11 2011-02-08 Mips Technologies, Inc. System debug and trace system and method, and applications thereof
US7844867B1 (en) * 2007-12-19 2010-11-30 Netlogic Microsystems, Inc. Combined processor access and built in self test in hierarchical memory systems
US8065578B2 (en) * 2009-09-14 2011-11-22 Texas Instruments Incorporated Inverted TCK access port selector selecting one of plural TAPs
EP2845102A4 (en) 2012-03-25 2016-02-10 Intel Corp ASYNCHRONE PROGRAMMABLE JTAG-BASED INTERFACE TO DEBUGGING SYSTEM-ON-CHIP STATES, POWER MODES, RESETS, TACKS AND COMPLEX DIGITAL LOGIC

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094729A (en) * 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US6185711B1 (en) * 1998-12-03 2001-02-06 Sun Microsystems, Inc. Methods and apparatus for synchronizing asynchronous test structures and eliminating clock skew considerations
US6671841B1 (en) * 2000-10-05 2003-12-30 Sun Microsystems, Inc. Method for on-line circuit debug using JTAG and shadow scan in a microprocessor
US7380187B2 (en) * 2003-12-29 2008-05-27 Stmicroelectronics Pvt. Ltd. Boundary scan tester for logic devices
CN101118274A (zh) * 2006-07-31 2008-02-06 大唐移动通信设备有限公司 多功能联合测试行动组链装置
CN201654185U (zh) * 2010-04-30 2010-11-24 华为终端有限公司 一种jtag终端设备

Also Published As

Publication number Publication date
CN104246712A (zh) 2014-12-24
EP2845102A1 (en) 2015-03-11
US9274169B2 (en) 2016-03-01
EP2845102A4 (en) 2016-02-10
US20140181605A1 (en) 2014-06-26
WO2013147730A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
CN104246712B (zh) 用于调试任何片上系统状态、功率模式、重置、时钟和复杂数字逻辑的基于异步可编程jtag的接口
JP3890126B2 (ja) 集積回路のテスト用クロック発生方法および回路
KR100227274B1 (ko) 스캔 환경에서 jtag 제어기를 이용하여 클럭 제어를 거쳐 구현된 저비용의 에뮬레이션 스킴
KR100241058B1 (ko) Jtag를 사용한 sdram 다이나믹 셀프 리프레쉬 입구 및 출구용 구조 및 방법
US6564347B1 (en) Method and apparatus for testing an integrated circuit using an on-chip logic analyzer unit
KR19980032196A (ko) 디버그 및 제조 테스트 목적을 위한 적응적 스캔 체인
US7941722B2 (en) Testing of integrated circuits using test module
JP3966453B2 (ja) 半導体集積回路
US8990623B2 (en) Avoiding BIST and MBIST intrusion logic in critical timing paths
US20060277436A1 (en) Apparatus and method for coupling a plurality of test access ports to external test and debug facility
US9213062B2 (en) Addressable tap address, state monitor, decode and TMS gating circuitry
KR100907254B1 (ko) Ieee 1500 래퍼를 갖는 시스템 온 칩 및 그것의 내부지연 테스트 방법
JP2013253840A (ja) 半導体集積回路及びその設計方法
CN100492315C (zh) 嵌入式信号处理器模拟器
Hunter et al. The PowerPC 603 microprocessor: An array built-in self test mechanism
Gurkaynak et al. A functional test methodology for globally-asynchronous locally-synchronous systems
CA2663966A1 (en) Asynchronous communication apparatus using jtag test data registers
McLaurin et al. The DFT challenges and solutions for the ARM® Cortex™-A15 Microprocessor
Wu et al. An optimized DFT and test pattern generation strategy for an Intel high performance microprocessor
CN114582415A (zh) 多周期路径电路、芯片上控制器及控制系统
Neishaburi et al. On a new mechanism of trigger generation for post-silicon debugging
Wang et al. The design-for-testability features of a general purpose microprocessor
Higgins et al. BSM2: Next generation boundary-scan master
Jian-Min et al. A functional enhancement methodology to JTAG controller in complex SOC
Ahrens et al. DFT Architecture for Automotive Microprocessors using On-chip Scan Compression supporting Dual Vendor ATPG

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant