CN101501646A - 优化的jtag接口 - Google Patents

优化的jtag接口 Download PDF

Info

Publication number
CN101501646A
CN101501646A CNA2006800176036A CN200680017603A CN101501646A CN 101501646 A CN101501646 A CN 101501646A CN A2006800176036 A CNA2006800176036 A CN A2006800176036A CN 200680017603 A CN200680017603 A CN 200680017603A CN 101501646 A CN101501646 A CN 101501646A
Authority
CN
China
Prior art keywords
input
circuit
signal
output
tms
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.)
Granted
Application number
CNA2006800176036A
Other languages
English (en)
Other versions
CN101501646B (zh
Inventor
L·D·惠特希尔
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN101501646A publication Critical patent/CN101501646A/zh
Application granted granted Critical
Publication of CN101501646B publication Critical patent/CN101501646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/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/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/31724Test controller, e.g. BIST state machine
    • 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
    • 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/318541Scan latches or cell details
    • 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/318558Addressing or selecting of subparts of the device 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

一种优化的JTAG接口用于访问集成电路(300)中的JTAG TapDomain(104)。所述接口比传统JTAG接口需要较少的引脚并且因此比引脚的可用性受限的集成电路中的传统JTAG接口更适用。所述接口可用于各种串行通信操作,例如但不限于与集成电路测试、仿真、调试和/或跟踪操作相关的串行通信。

Description

优化的JTAG接口
技术领域
【0001】本公开主要涉及IC(集成电路)信号接口并且特别涉及与IC信号接口相关的测试、仿真、调试和跟踪操作。
背景技术
【0002】边界扫描结构的IEEE 1149.1标准已经被整个半导体工业采用。在联合测试行动小组(Joint Test Action Group)开发它以后,它通常被称为“JTAG”标准。传统的4/5针JTAG接口具有如下插针:TDI(测试数据输入);TDO(测试数据输出);TCK(测试时钟);TMS(测试模式选择);和可选地,TRST(测试复位)。
【0003】图1说明了外部JTAG控制器100和目标IC102中的TapDomain104之间的传统5线JTAG接口106。现在,IC一般会具有与IC的JTAG边界扫描测试操作相关联的Tap Domain和/或与设计在IC内的一个或更多个核心电路的每一个相关联的一个或更多TapDomain。所述接口将JTAG控制器的TDO输出耦合到IC的TDI引脚输入,将JTAG控制器的TMS输出耦合到IC的TMS引脚输入,将JTAG控制器的TCK输出耦合到IC的TCK引脚输入,将JTAG控制器的TDI输入耦合到IC的TDO引脚输出,并且将JTAG控制器的TRST输出耦合到IC的TRST引脚输入。IC的TDI、TDO、TMS、TCK和TRST引脚108专用于连接JTAG控制器并且不能被功能性使用。
【0004】响应于TMS和TCK信号,IC 102的Tap Domain通过TDO到TDI的连接向JTAG控制器发送数据或从JTAG控制器接收数据。JTAG控制器的TRST输出端上的低输出使IC 102的Tap Domain进入复位状态。JTAG控制器接收来自时钟源110的时钟输入(CKIN)。CKIN输入对JTAG控制器的工作进行定时,该JTAG控制器因而对IC102中Tap Domain的工作进行定时。通过经5线接口访问嵌入式Tap Domain,JTAG控制器可用于在目标IC内执行测试、仿真、调试和跟踪操作。JTAG控制器和目标IC之间的设置及其在执行测试、仿真、调试和跟踪操作中的应用在工业中是熟知的。
【0005】图2说明了替代的设置,由此JTAG控制器200通过JTAG总线108和调试/跟踪总线204连接到目标IC 202。JTAG控制器200与图1的JTAG控制器不同在于JTAG控制器200包括用于连接IC的调试/跟踪电路204的附加电路和输入/输出。如图1,JTAG总线108通过IC引脚108被耦合到IC内的Tap Domain104。调试/跟踪总线204通过N个IC引脚208被耦合到IC内的调试/跟踪电路206。JTAG总线用于输入使调试/跟踪电路可以执行调试和/或跟踪操作的命令和数据。调试/跟踪总线信号可用于多种操作,其包括但不限于:(1)在调试和/或跟踪操作期间,在JTAG控制器200和调试/跟踪电路206之间导入和或导出数据,(2)作为JTAG控制器200和调制/跟踪电路206之间的通信总线工作,和(3)在调试和跟踪操作期间,在JTAG控制器200和调试/跟踪电路206之间输入和/或输出触发信号。
【0006】调试/跟踪总线204的关键优点之一是在调试/跟踪操作期间它增加了JTAG控制器和目标IC之间的数据输入/输出带宽,其超过使用5线JTAG总线106的可能带宽。例如,JTAG总线的数据输入/输出带宽受限于通过一个TDO到TDI信号线连接在JTAG控制器和IC之间能流过的数据量。由于调试/跟踪总线在JTAG控制器和IC(N)之间可以具有N个信号线连接,因此其数据带宽可以比JTAG总线带宽大得多。JTAG控制器和IC之间增加的数据带宽有助于调试/跟踪操作,例如:(1)监控实时代码执行,(2)访问嵌入式存储器,(3)在程序调试期间上传/下载代码,和(4)被触发的输出跟踪功能。
【0007】由于现在倾向于更小的IC封装以允许将更多IC放置在移动应用比如手机和个人数字助理中所用的较小组件上,从而减少IC引脚的数量。因此,本公开的一个好处在于为测试、仿真、调试和跟踪操作在IC上提供引脚数减少的接口,因为这将允许更多IC引脚用于功能性目的。尽管减少图1和2的JTAG和调试/跟踪总线的引脚数量是有利的,但是本申请集中于减少IC的JTAG总线引脚。
【0008】除了减少IC的JTAG总线引脚外,本公开的第二好处是保持减化的JTAG引脚上的高通信带宽。如将要示出的,本公开提供了采用减化的JTAG引脚的数据通信带宽,它等于采用全套JTAG引脚的数据通信带宽的一半。例如,如果JTAG控制器100可以利用全JTAG总线106以100Mhz与图1的Tap Domain 104进行传送数据,则根据本公开适合的JTAG控制器可以以50Mhz与根据本公开还适合的IC的Tap Domain 104进行传送数据。
【0009】本说明书引用的一个现有技术称为J连接(J-Link)系统。J-Link系统提供一种将IC的JTAG引脚从标准5针减少到一组简化的一针或两针的方法。在J-Link参考文献所示的图中,可看到J-Link接口提供的数据通信带宽是传统JTAG 5针接口的数据通信带宽的六分之一。例如并且如J-Link参考文献中所述的,如果标准5针JTAG接口可以运行在48Mhz,则J-Link接口可以运行在48Mhz频率的六分之一(或8Mhz)。相比而言并如本说明书将要示出的,如果标准5针JTAG接口可以运行在48Mhz频率上,则本公开的简化引脚方法可以运行在48Mhz频率的一半即24Mhz上。因而,本公开与所参考的J-Link方法相比提供了工作频率的三倍改进。本公开因此能够以所参考的J-Link方法的带宽的3倍带宽执行与IC测试、调试、仿真和跟踪有关的操作。
发明内容
【0010】本公开为JTAG控制器和目标IC之间基于JTAG的测试、仿真、调试和跟踪事务提供简化的引脚接口。
附图说明
【0011】图1说明了在JTAG控制器和目标IC之间的传统5个信号的接口。
【0012】图2说明了通过5个信号的JTAG总线和N个信号的调试/跟踪总线连接到目标IC的传统JTAG控制器。
【0013】图3说明了根据本公开通过2个信号的JTAG总线连接到目标IC的JTAG控制器。
【0014】图4A-4C说明了目标IC内的各种传统Tap Domain设置。
【0015】图5A说明了本公开的并行到串行控制器(PSC)电路的电路示例。
【0016】图5B说明了图5A的PSC电路的工作时序图。
【0017】图6A说明了图5A的PSC电路中的控制器的电路示例。
【0018】图6B说明了图6A的控制器的工作时序图。
【0019】图7A说明了本公开的串行到并行控制器(SPC)电路的电路示例。
【0020】图7B说明了图7A的SPC电路的工作时序图。
【0021】图8A说明了图7A的SPC电路中的控制器的电路示例。
【0022】图8B说明了图8A的控制器的工作时序图。
【0023】图9A说明了图7A的SPC电路中的主复位和同步器(MRS)电路的电路示例。
【0024】图9B说明了图9A的MRS电路的工作状态图。
【0025】图9C说明了图9A的MRS电路的工作时序图。
【0026】图10说明了IEEE标准1149.1Tap控制器状态机的状态图。
【0027】图11A说明了在PSC和SPC电路中的输入/输出(I/O)电路的电路示例。
【0028】图11B说明了图11A的I/O电路的信令情况。
【0029】图12更具体地说明了图11B的每个信令情况。
【0030】图13A说明了用于确定图11的I/O电路的适当TDI或IN信号输出的示例电路。
【0031】图13B说明了根据数据I/O(DIO)信号的电平确定适当的TDI或IN信号输出所用的真值表。
【0032】图14A说明了根据本公开在JTAG控制器的PSC和目标IC的SPC之间的两信号连接。
【0033】图14B说明了图14A的PSC和SPC电路执行JTAG控制器和目标IC的Tap Domain之间的JTAG事务的工作时序图。
【0034】图14C说明了图14A的PSC和SPC电路执行JTAG控制器和目标IC的Tap Domain之间的一位数据寄存器扫描的工作时序图。
【0035】图15说明了德州仪器SN74ACT8990 JTAG总线控制器芯片,其运行以补偿电缆延迟。
【0036】图16说明了本公开的2针实现,由此CLK信号由JTAG控制器内的时钟源进行驱动。
【0037】图17说明了本公开的2针实现,由此CLK信号由目标IC的内部时钟源进行驱动。
【0038】图18说明了本公开的1针实现,由此CLK信号由功能性输入到目标IC的外部时钟源驱动。
【0039】图19说明了本公开的1针实现,由此CLK信号由从IC功能性输出的目标IC内部时钟源驱动。
【0040】图20说明了本公开的2针实现,由此CLK信号由位于JTAG控制器和目标IC外部的时钟源驱动。
【0041】图21A说明了本公开的并行到串行控制器(PSC)电路的替代电路示例。
【0042】图21B说明了图5A的替代PSC电路的工作时序图。
【0043】图22A说明了本公开的串行到并行控制器(PSC)电路的替代电路示例。
【0044】图22B说明了图7A的SPC电路的工作时序图。
【0045】图23A说明了根据本公开的图21A的JTAG控制器的替代PSC和图22A的目标IC的替代SPC之间的3个信号的连接。
【0046】图23B说明了替代的图21A的PSC和图22A的SPC电路执行JTAG控制器和目标IC的Tap Domain之间的JTAG事务的工作时序图。
【0047】图24说明了本公开的替代形式的3针实现,由此CLK信号由JTAG控制器内的时钟源驱动。
【0048】图25说明了本公开的替代形式的3针实现,由此CLK信号由目标IC的内部时钟源驱动。
【0049】图26说明了本公开的替代形式的2针实现,由此CLK信号由功能性输入到目标IC的外部时钟源驱动。
【0050】图27说明了本公开的替代形式的2针实现,由此CLK信号由从IC功能性输出的目标IC内部时钟源驱动。
【0051】图28说明了本公开的替代形式的3针实现,由此CLK信号由位于JTAG控制器和目标IC外部的时钟源驱动。
具体实施方式
【0052】图3说明了本公开的方法,减少了IC300上JTAG引脚数量以及IC300和JTAG控制器100之间的JTAG总线信号连接数量。本公开中说明的IC 300和其它IC可以代表任何类型的集成电路,其包括但不限于微控制器IC、微处理器IC、数字信号处理器IC、混合信号IC、FPGA/CPLD IC、ASIC、片上系统IC、外围IC、ROM存储器IC或RAM存储器IC。在图3中,JTAG控制器100通过TDO、TMS、CKIN、TDI和TRST信号连接到并行到串行控制器(PSC)电路302。PSC 302可以是与JTAG控制器100分离的电路或者PSC 302和JTAG控制器100可以被集成以形成新的JTAG控制器304。PSC 302通过包括数据I/O(DIO)信号308和时钟(CLK)信号310的总线连接到IC300内的串行到并行控制器(SPC)电路306。SPC 306通过TDI、TMS、TCK、TDO和TRST信号连接到IC 300中的Tap Domain 104。如后面将关于图16-20所描述的,CLK信号310可能由与JTAG控制器100相关联的时钟源、与IC300相关联的时钟源或者不与JTAG控制器100或IC 300相关联的时钟源进行驱动。
【0053】图4A说明了IC 300的Tap Domain块104可以包括单个IEEE 1149.1Tap结构。
【0054】图4B说明了IC 300的Tap Domain块104可以包括一系列菊花链Tap结构1-N。
【0055】图4C说明了IC 300的Tap Domain块104可以包括一组Tap结构1-N,该Tap结构可以单独选定或者使用连接电路400以各种菊花链设置串联地连接在一起。这种连接电路400的一个实例已在引用的美国专利第6,073,254号中进行了描述。
【0056】图5A更详细说明了PSC电路302。PSC包括控制器500、并行输入串行输出(PISO)寄存器502、输入/输出(I/O)电路504。PISO 502输入来自JTAG控制器100的并行TMS和TDO信号、来自JTAG控制器100的TRST信号、来自控制器500的加载(LD)信号,并将串行输出(OUT)信号输出到I/O电路504。
【0057】PISO 502的简化图示出了其包含两个串行连接的触发器(FF)503和505。当来自JTAG控制器的TRST信号为低时,FF 503和505被异步地设置为逻辑1并且不响应CLK或LD输入。这可以例如通过将TRST信号连接到FF 503和505的设定输入而实现。当TRST为低时OUT信号因此是高电平。当TRST变为高电平时,FF 503和505被使能以响应CLK和LD输入。响应于LD输入,FF 503和505分别异步地加载从JTAG控制器输出的TMS和TDO。一旦加载,FF由CLK310移位以通过OUT信号将TMS然后TDO信号输出到I/O电路504。
【0058】控制器500输入CLK信号310、来自JTAG控制器100的TRST信号。控制器500将异步LD信号输出到PISO并且将时钟信号输出到JTAG控制器100的CKIN输入。当TRST为低电平时,该控制器被复位并且不响应CLK输入。当复位后,自控制器输出的LD和CKIN为低电平。当TRST变为高电平时,该控制器被使能以响应CLK输入并且输出LD和CKIN输出信号。
【0059】I/O电路504输入来自PISO的OUT信号并且将它们输出到DIO 308上。I/O电路504还输入来自DIO 308的信号并且将他们输出到JTAG控制器100的TDI输入。I/O电路504经设计以允许OUT信号到DIO 308的输出和从DIO 308输入TDI信号同步发生。I/O电路504的同步输入和输出操作在后面将关于图11A、11B、12、13A和13B进行详细描述。
【0060】PSC 302的操作(当TRST为高时)在图5B的时序图中说明。响应于CLK输入310,控制器500能够周期性地将LD信号输出到PISO 502并且将CKIN信号输出到JTAG控制器100。而且,CLK输入310对PISO 502进行定时以将数据从其OUT输出移位到I/O电路504。I/O电路将OUT信号传送到DIO 308信号。CKIN信号对JTAG控制器100的工作进行定时。LD信号使PISO异步地加载来自JTAG控制器的TMS和TDO信号模式。一旦加载完毕,TMS和TDO模式从PISO移出到I/O电路以响应CLK信号。
【0061】下面描述PSC的重复加载和移出序列。TMS和TDO模式510被异步地加载到PISO中以响应LD信号512。CLK信号514将模式510的TMS信号部分514移出到PISO的OUT输出上,然后CLK信号516将模式510的TDO信号部分移出到PISO的OUT输出上。CKIN信号518促使JTAG控制器输出下一个TMS和TDO模式520。LD信号522异步地将下一个TMS和TDO模式520加载到PISO中。CLK信号524将模式520的TMS信号部分移出到PISO的OUT输出上,然后CLK信号526将模式520的TDO信号部分移出到PISO的OUT输出上。CKIN信号528促使JTAG控制器输出下一个TMS和TDO模式530,该模式530由LD信号532异步地载入PISO中并由CLK信号534和536移出。JTAG控制器在CKIN 538期间被促使输出下一个TMS和TDO模式540。只要CLK输入310是有效的,则重复上述模式加载、模式移位和JTAG控制器前进过程。
【0062】当JTAG控制器100接收CKIN输入时,它将新的TMS和TDO信号模式输出到PISO 502并且输入来自I/O电路504的TDI信号。TMS信号输出根据图10对目标IC的Tap Domain 104的Tap状态机进行控制,TDO信号将TDI输入信号提供给目标IC的Tap Domain(如果处于移位-DR/IR状态),并且TDI输入信号将数据从目标IC的Tap Domain输入到JTAG控制器(如果处于移位-DR/IR状态)。
【0063】图6A说明了控制器500的示例实施。控制器500包括FF 600、FF 602、与(AND)门604-608和延迟反相器610。当来自JTAG控制器100的TRST输入为低电平时,FF 600和602被复位并且LD和CKIN输出为低电平。当TRST变为高电平时,FF 600和602被使能以响应CLK输入310。FF 600在CLK输入310的每个上升沿期间对其加载使能(LDENA)输出进行双态转换。在CLK输入310的每个下降沿时FF 602将FF 600的LDENA输出存储到其时钟使能(CKENA)输出。当LDENA为高并且CLK为低时,AND门604输出高电平。每当AND门604的输出变为高电平时,AND门606和延迟反相器620就一起工作以在LD输出上产生走高(high going)的脉冲。
【0064】LD信号上的走高脉冲的持续时间由通过延迟反相器610的输入到输出信号延迟来确定。LD脉冲的持续时间应当足够长以便用TMS和TDO模式异步地加载PISO但不应当长到干扰PISO的移位操作。例如,走高LD脉冲应当在移位的CLK输入的下一个上升沿之前返回低电平足够时间,以便不干扰移位操作。FF 602的CKENA输出使能AND门608以将CLK信号310传送到CKIN输出。CKENA在CLK 310的下降沿时改变状态,以允许AND门608在CLK 310的上升沿之前被使能,从而在CKIN输出上提供良好的时钟门控操作。
控制器500的操作示于图6B的时序图中。响应于CLK输入310,控制器500运行工作以周期性地输出LD和CKIN信号。如提到的,CKIN信号对JTAG控制器100的操作进行定时并且LD信号使PISO异步地加载来自JTAG控制器100的TMS和TDO模式。在CLK 310的每个上升沿时FF 600的LDENA输出对其状态进行双态转换。在CLK310的每个下降沿时FF 602的CKENA输出被设定为输入到FF 602的LDENA的状态。每当LDENA为高电平并且CLK变为低电平时就会产生LD脉冲输出。每当CKENA为高电平并且CLK为高电平时就会产生CKIN输出。
【0065】图7A更具体地说明了SPC电路306。PSC包括控制器700、串行输入并行输出(SIPO)寄存器702、更新寄存器704、Tap状态机(TSM)706、主复位和同步器(MRS)电路708、输入/输出(I/O)电路710和上电复位电路(POR)712。
【0066】每当目标IC首次上电时POR电路712产生暂时低有效上电复位脉冲。这个上电复位脉冲用于初始化MRS电路。当MRS电路708经初始化后,其在主复位(MRST)信号上输出低电平以初始化SPC306内的其它电路并将所连接的Ta pDomain 104的TRST输入设置为低。当TRST为低时,Tap Domain 104强制为测试逻辑复位(Test LogicReset)状态。测试逻辑状态是IEEE 1149.1Tap状态机的一种状态并示于图10的Tap状态机图中。如所示POR电路712可存在于SPC 306中或者其可能存在于SPC的外部,即作为目标IC内的分离电路。初始化MRS电路708的POR电路功能可以通过其它方法实现。例如IC的复位引脚可由POR电路712取代并用来初始化MRS电路708。
【0067】控制器700输入CLK信号310、来自MRS708的控制器使能(CENA)信号、来自TSM706的复位(RST)信号。控制器将更新时钟(UCK)输出到更新寄存器704并且将TCK信号输出到TapDomain 104和TSM 706。控制器700的具体描述将在图8A和8B中给出。
【0068】I/O电路710输入来自TSM 706的输出使能信号(OE)。OE信号用于使能或禁用I/O电路710的输出驱动。I/O电路710输入来自DIO 308的信号并将它们通过IN信号输出到SIPO 702。如果OE被设定成使能I/O电路710的输出驱动,则从Tap Domain 104输入的TDO信号被输出到DIO上。如果OE被设定为禁用I/O电路710的输出驱动,则TDO信号不被输出到DIO上并且I/O电路工作以便通过IN信号仅将DIO信号输入到SIPO 702。I/O电路504经设计以允许TDO信号到DIO 308的输出(如果由OE使能)和从DIO 308输入IN信号同时发生。I/O电路710的同时输入和输出操作将在后面关于图11A、11B、12、13A和13B详细描述。
【0069】SIPO 702输入来自I/O电路710的IN输出的串行化的TMS和TDO信号模式以响应CLK输入310,并且将它们输出到更新寄存器704。更新寄存器704输入自SIPO输出的TDO和TMS,并且将它们作为TDI和TMS信号输出到Tap Domain 104。更新寄存器还输入来自MRS电路708的MRST信号。当MRST信号为有效低电平时,更新寄存器704的TDO和TMS输出被设置为高。当MRST信号为无效高电平时,更新寄存器可以响应来自控制器700的更新时钟(UCK)信号以加载来自SPIO 702的TDO和TMS信号。
【0070】SIPO 702和更新寄存器704的更详细图示出了包含两个串行连接的FF 703和705的SIPO。响应于CLK信号310,FF 703和705从I/O电路710的IN输出移入串行化的TMS和TDO信号。一旦TMS和TDO信号被移入,它们被并行传送到更新寄存器704中的FF707和709以响应UCK信号,在更新寄存器704它们被输入到TapDomain 104的TDI和TMS输入。更新寄存器用来将现有TDI和TMS输入模式提供给Tap Domain 104,同时SIPO运行工作以串行输入下一个待输入到Tap Domain 104的TDO和TMS模式。如所述的,FF707和709的输出异步强制为高电平以响应MRS信号上的低电平,这导致高电平被输入到Tap Domain 104的TDI和TMS输入。这可以例如通过将MRS信号连接到FF 707和709的设定输入来实现。
【0071】TSM电路706输入来自更新寄存器的TMS输出、控制器700的TCK输出以及来自MRS电路708的MRST输出。TSM电路706将复位(RST)信号输出到控制器700和MRS电路708,并将OE信号输出到I/O电路710。TSM仅仅是在IEEE标准1149.1中定义的Tap状态机。来自MRS电路708的MRST输入被连接到IEEE 1149.1TSM的标准“TRST”输入,来自控制器700的TCK输入被连接到IEEE 1149.1TSM的标准“TCK”输入,来自控制器700的TMS输入被连接到IEEE1149.1TSM的标准“TMS”输入,来自TSM的RST输出被连接到IEEE1149.1TSM的标准“复位*”输出并且TSM的OE输出被连接到IEEE1149.1TSM的标准“使能”输出。
【0072】本公开使用TSM电路以允许SPC跟踪被连接Tap Domain的Tap状态,特别是对控制OE和RST输出的状态进行跟踪。IEEE1149.1Tap状态机的操作定义在图10所示的16个状态中。尽管实际上可能将来自被连接Tap Domain 104的Tap状态机的信号用于跟踪而不是执行SPC 306中的专用TSM电路,但所需信号(OE和RST)不总是可以从Tap Domain 104获得的。例如,硬核(即固定的且不能被修改的核心)的被连接Tap Domain 104可能不提供OE和RST输出信号终端用以连接SPC的OE和RST终端。此外,具有如图4C所示的连接设置的Tap Domain 104可能在SPC 306和Tap Domain 104内连接的Tap之间带来OE和RST信号转换复杂性。因此,SPC 306优选包括TSM电路706以确保在跟踪被连接Tap Domain 104的状态中的简单性。
【0073】MRS电路708输入I/O电路710的IN输出、CLK信号310、来自TSM 706的RST信号以及POR电路712的上电复位输出。MRS电路708将MRST信号输出到Tap Domain 104、TSM 706和更新寄存器704并且将CENA信号输出到控制器700。MRS电路708的作用是:(1)当目标IC在不带有连接到SPC的DIO 308和CLK 310信号的JTAG控制器100和PSC 302的系统中工作正常时,使SPC和被连接Tap Domain 104保持在复位状态,和(2)当JTAG控制器和PSC被连接到SPC的DIO和CLK信号时,使SPC 306的操作与JTAG控制器100和PSC 302的操作同步。对SPC 306的操作与JTAG控制器100和PSC 302的操作加以同步是重要的,因为这使得从PSC输出的串行化的TMS和TDO模式可以作为串行化的TMS和TDO模式正确输入到SPC。MRS电路708的具体描述将关于图9A-9C给出。
【0074】SPC 306的操作示于图7B的时序图中。响应于CLK输入310,控制器700周期性地将UCK信号输出到更新寄存器704并且将TCK信号输出到Tap Domain 104和TSM706。而且,CLK输入310对SIPO 702进行定时以便从I/O电路710的IN输出中移入数据。I/O电路将DIO输入信号传送到IN输出。TCK信号对Tap Domain 104的操作进行定时。UCK信号使更新寄存器704加载SIPO 702的并行TDO和TMS信号模式输出。一旦TDO和TMS信号模式被加载,其就被施加到Tap Domain 104的TDI和TMS输入端。Tap Domain 104响应TDI和TMS信号模式以响应TCK。
【0075】下面描述SPC的重复移入和更新序列。串行的TMS和TDO位流718被移入SIPO 702中以响应CLK信号720和722。被移入的TMS和TDO信号形成从时钟输入的SIPO 702到更新寄存器704的并行TDO和TMS输出模式724,以响应UCK信号726。在更新寄存器704中的TDO和TMS模式724施加到Tap Domain 104的TDI和TMS输入端。TCK信号728对Tap Domain 104进行计时以响应来自更新寄存器704的TDI和TMS模式724。下一个串行TMS和TDO位流730移入SIPO 702中以响应CLK信号732和734。被移入的TMS和TDO信号形成从时钟输入的SIPO 702到更新寄存器704的并行TDO和TMS输出模式736,以响应UCK信号738。在更新寄存器704中的TDO和TMS模式738施加到Tap Domain 104的TDI和TMS输入。TCK信号740对Tap Domain 104进行计时以响应来自更新寄存器704的TDI和TMS模式730。当CLK输入310有效时,重复上述串行模式移入、并行模式更新和Tap Domain计时(时钟)操作。
【0076】当Tap Domain 104接收到TCK输入,Tap Domain的Tap状态机响应TMS输入以执行如图10所示的状态转换。如果Tap状态机处于图10的移位-DR/IR状态,则Tap Domain 104还将输入来自其TDI输入的数据并且将数据输出到其TDO输出上以响应TCK输入。
【0077】图8A说明了控制器700的示例实施。控制器700包括FF 800、FF 802、AND门804和806以及或(OR)门808。在CLK 310的每个上升沿期间FF 800对其更新使能(UPENA)输出进行双态转换。在CLK310的每个下降沿时,FF 802将FF 800的UPENA输出存储在其时钟使能(CKENA)输出。当UPENA为高电平,CLK为低电平并且OR门808的控制器复位(CRST)输出为高电平时,AND门804在其UCK输出上输出高电平。每当CKENA和CRST为高电平时,AND门806被门控打开以使其CLK 310输入传送到其TCK输出端,否则TCK输出被强制为低电平。当来自CS电路708的CENA输入为高和/或来自TSM 706的RST输入为高时,OR门808在CRST上输出高电平,否则CRST输出低电平。在CLK 310的下降沿时CKENA改变状态以使AND门806在CLK 310的上升沿之前被使能,从而在TCK输出提供良好的时钟门控操作。
【0078】控制器700的工作示于图8B的时序图中。当OR门808的CRST输出为高时,控制器700运行工作以周期性地输出UCK和TCK信号以响应CLK输入310。如所述的,TCK信号对Tap Domain 104的操作进行定时并且UCK信号使更新寄存器加载来自SIPO 702的并行TDO和TMS模式。在CLK 310的每个上升沿,FF800的更新使能(UPENA)输出对其状态进行双态转换。在CLK 310的每个下降沿,FF 802的CKENA输出被设定为被输入到FF 802的UPENA的状态。每当LDENA为高和CLK变低时,UCK输出发生。每当CKENA为高和CLK为高时,CKIN输出发生。如果CENA和RST都为低,则OR门808的CRST输出将为低电平以复位控制器700。当CRST为低时,FF 800的UPENA输出被置为高,FF 802的CKENA输出被置为低,AND门804的UCK输出被置为低并且AND门806的TCK输出被置为低。
【0079】图9A说明了MRS电路708的示例实施方式。MRS电路708包括状态机900和FF902。状态机900在CLK 310的上升沿时工作,而FF 902在CLK 310的下降沿工作。状态机900输入来自I/O电路710的IN信号、来自TSM 706的RST信号、来自CLK 310的时钟信号和来自POR 712的上电复位信号。状态机900输出前述的MRST信号和控制器使能(CE)信号。CE信号被连接到FF 902的D输入。FF 902的Q输出驱动前述的CENA信号。FF 902的复位输入被连接到POR 712的上电复位输出。
【0080】如前面所述的,MRS电路708的用途是当SPC的DIO 308信号没有被外部驱动时将SPC和Tap Domain保持在复位状态,并且使SPC的工作与驱动SPC的DIO 308信号的外部电路同步。
【0081】状态机900的工作显示在图9B的状态图中。响应于来自POR 712的低有效上电复位输入或响应于TSM 706的RST输出变低,状态机900将进入“设置MRST为低&查询IN”状态904。在状态904中,状态机将在MRST输出信号上输出低电平。当来自I/O电路710的IN输入为高时,状态机将保持在状态904中。如果IN输入变低,则状态机转向“查询IN”状态906。MRST输出在状态906中保持低电平。如果IN输入变高,则状态机从状态906返回到状态904,否则状态机从状态906转到“查询IN”状态908。MRST输出在状态908中保持低电平。如果IN输入变低,则状态机从状态908返回到状态904,否则状态机从状态908转到“查询IN”状态910。MRST输出在状态910中保持低电平。如果IN输入变低,则状态机从状态910返回到904,否则状态机从状态910转向“设置MRST&CE为高”状态912。
【0082】在状态912中,状态机将MRST和CE信号设置为高。在CLK 310的下降沿,FF 902时钟输入来自状态机900的高CE输出,这将FF 902的CENA输出设置为高。当RST输入为低时,状态机将保持在状态912。当RST输入变高时,状态机将转向“设置CE为低”状态914。在状态914中,状态机将CE信号设置为低。在CLK 310的下降沿,FF 902时钟输入来自状态机900的低CE输出,这将FF 902的CENA输出设置为低。当RST输入为高时状态机将保持在状态914而当RST输入变低时将转向状态904。
【0083】状态机被设计成在其接收来自POR 712的上电复位输入或TSM 706的RST输出上的低输入时进入状态904。只要来自I/O电路710的IN输入为高,则状态机保持在状态904。如后面将关于图11A描述的,当状态机在MRST信号上输出低电平时并且如果至I/O电路710的DIO输入308没有被外部驱动,则I/O电路被设计成在IN信号上输出高电平。IN信号上的高电平使状态机900保持在状态904,其在状态机MRST输出上保持低电平。当MRST为低时,SPC 306电路和Tap Domain 104保持非活动的复位状态,其不会干扰目标IC的正常工作。
【0084】当图5A的JTAG控制器100和PSC电路302首次被连接到图7A的目标IC的SPC电路306的DIO信号时,PSC和SPC电路的操作需要被同步,使得来自PSC的串行化TMS和TDO模式作为串行化TMS和TDO模式正确地输入到SPC。在图9B状态图的916部分中的状态提供如何可以获得这个所需的同步步骤的一个示例。描述这个同步过程的时序图示于图9C中。
【0085】图9C的时间基准918表示时间周期,其中PSC 302未连接到SPC 306,即DIO 308未被外部驱动。在目标IC的SPC 306和TapDomain 104中的电路如前述被初始化,并且状态机900处于状态904,查询IN信号的高输出并在MRST输出上输出低电平。时间918可以是一段时间,在这段时间内SPC 306和Tap Domain 104所在的目标IC在系统中正常工作并且SPC的DIO信号未被外部驱动以执行测试、仿真、调试和/或跟踪操作。在这个时序示例中,假设CLK信号310由目标IC内的时钟源有效地驱动。因此,状态机900状态904在有效CLK信号310的每个上升沿期间查询IN信号的高逻辑电平。值得注意的是如果由于某种未知原因IN信号在CLK周期输入期间瞬时变低,则状态机经状态906返回到状态904。此外,状态机从状态908和910返回到状态904以响应由于某种未知原因而具有其它瞬时低和高信号序列的IN信号。
【0086】图9C的时间基准920表示时间周期,其中PSC 302通过DIO 308和CLK 310信号被外部连接到SPC 306。在物理连接过程中由于在PSC和SPC之间形成的电连接,可能在DIO 308上存在不期望的临时信号序列。这些临时信号序列会阻止PSC和SPC之间的成功同步。图9B的916部分中的状态转化图用以滤出DIO上的以下三种临时信号序列,这样它们不会影响PSC和SPC之间的同步过程。
【0087】如在状态图中所看到的,临时DIO信号序列1-0-1在连接过程中会导致状态机从状态904转向状态906并且返回到状态904。因而,要防止这种临时DIO连接序列影响该同步进程。
【0088】如在状态图中所看到的,临时DIO信号序列1-0-0-1在连接过程中会导致状态机从状态904转向状态906转向状态908并且返回到状态904。因而,要防止这种临时DIO连接序列影响此同步进程。
【0089】如在状态图中所看到的,临时DIO信号序列1-0-0-1-0-1在连接过程中会导致状态机从状态904转向状态906转向状态908转向状态910并且返回到状态904。因而,要防止这种临时DIO连接序列影响该同步进程。
【0090】应当理解虽然示例状态机经设计以滤出以上三种临时DIO序列;但如果需要其可以设计成滤出大量DIO序列。
【0091】图9C时间基准922表示时间周期的开始,其中PSC 302和SPC 306之间的连接已建立并且状态机处在状态904而IN信号由来自连接PSC 302的DIO输入驱动为高。PSC 302通过经DIO 308串行输入两个逻辑0的924模式到SPC的IN信号上而开始同步过程,这使得状态机900从状态904转向906转向908。如在图5A中所看到的,通过利用LD信号向PISO 502加载TMS值0和TDO值0然后用CLK信号310移位PISO以输出两个逻辑0,PSC输出两个逻辑0。接下来PSC 302通过DIO 308在SPC的IN信号上串行输入两个逻辑1的926的模式,这导致状态机900从状态908转向状态910转向状态912。再如在图5A所看到的,通过使用LD信号向PISO 502加载TMS值1和TDO值1然后使用CLK信号310移位PISO以输出两个逻辑1,PSC输出两个逻辑1。正如所看到的,状态机900只能从状态904转向状态912以响应两个逻辑0的串行模式的准确输入,所述两个逻辑0的串行模式后面是两个逻辑1的串行模式。
【0092】如时序图中看到的,在状态912中状态机900的MRST和CE信号输出在时间925时置为高。MRST变高将复位状态从TapDomain 104、TSM 706和更新寄存器704移除。CE变高导致FF 902在时间927将CENA置为高。当CENA变高时,控制器700的CRST信号被置为高,这使能控制器700从而在时间923开始输出UCK和TCK信号。第一UCK信号在时间923将两个逻辑1的模式926载入更新寄存器704。在时间923使能SPC的控制器700,使得SPC的控制器700的UCK和TCK信号分别与PSC的控制器500的LD和CKIN信号同步。通过将UCK信号与LD信号同步并且将TCK信号与CKIN信号同步,SPC 306可以通过DIO 308正确地接收来自PSC 302的后续串行化两位模式。例如,当PISO 502移出两位模式时,SIPO 702移入该两位模式,并且当PISO 502加载将待移位的下两位模式时,SIPO 702将当前的两位模式更新到更新寄存器704中。UCK和LD信号以及TCK和CKIN信号的同步操作将就图14A的描述而更加清楚。
【0093】虽然本公开的状态机900被设计成使用两个串行两位模式924和926的序列进行同步,但是如有需要其可以被设计成使用串行两位模式的更长序列进行同步。使用两位模式的更长序列还会减少PSC和SPC之间由于在时间920期间的前述连接过程而导致同步失败的可能性。当DIO未被外部驱动,结果不希望的信号出现在状态机的IN输入上时,更长的同步模式序列还会提高状态机900返回状态904的能力。虽然示例的两位模式924和926分别使用两个0和两个1,但是两位的模式也可以使用任何所需的或必要的0和1组合。模式序列的最后两位模式的TMS部分是Tap Domain 104和TSM电路706响应的第一TMS输入。在图9C示例中,在同步之后模式926的TMS部分置为逻辑1以使Tap Domain 104和TSM电路706保持在TLR状态。如果模式926的TMS部分置为逻辑0,则在同步之后Tap Domain 104和TSM电路706将转向RTI状态。
【0094】在上述PSC和SPC同步过程之后,PSC开始输入串行化的TDO和TMS模式以将JTAG指令或数据扫描到Tap Domain 104中。下面的示例描述了PSC将串行化的TDO和TMS模式输入到SPC以使Tap Domain 104根据图10的Tap状态图执行指令扫描操作。
【0095】SPC输入来自PSC的第一串行化TDO(X)和TMS(0)模式928,其被输入到SIPO 702并且在UCK 929期间通过更新寄存器704施加到Tap Domain 104的TDI和TMS输入以及TSM 706的TMS输入。模式的TDO部分中的X表示TDO是“随意”信号。输入到TapDomain 104和TSM 706的这个第一TDI和TMS模式使Tap Domain和TSM从测试逻辑复位(TLR)状态转换到运行测试/空闲(RTI)状态(图10)以响应TCK 942。在TCK 942的下降沿时TSM 706将其RST信号设置为高以移除在控制器700的OR门808的输入上的复位状态。响应于RST变高,状态机900在CLK 310的下一个上升沿时转向状态914。在状态914,状态机将CE输出设置为低,这使FF 902在CLK 310的下降沿时在CENA上输出低电平。当RST信号为高时状态机900将保持在状态914。
【0096】SPC输入来自PSC的第二串行化TDO(X)和TMS(1)模式930,其被输入到SIPO 702并且在UCK 931期间通过更新寄存器704施加到Tap Domain 104的TDI和TMS输入以及TSM 706的TMS输入。该第二TDI和TMS模式使Tap Domain 104和TSM从RTI状态转换到选择-DR(SLD)状态以响应TCK 944。
【0097】SPC输入来自PSC的第三串行化TDO(X)和TMS(1)模式932,其被输入到SIPO 702并且在UCK 933期间通过更新寄存器704施加到Tap Domain 104的TDI和TMS输入以及TSM 706的TMS输入。该第三TDI和TMS模式使Tap Domain 104和TSM从SLD状态转换到选择-IR(SLI)状态以响应TCK 946。
【0098】SPC输入来自PSC的第四串行化TDO(X)和TMS(0)模式934,其被输入到SIPO 702并且在UCK 935期间通过更新寄存器704施加到Tap Domain 104的TDI和TMS输入以及TSM 706的TMS输入。这个第四TDI和TMS模式使Tap Domain 104和TSM从SLI状态转换到捕获-IR(CPI)状态以响应TCK 948。
【0099】SPC输入来自PSC的第五串行化TDO(0)和TMS(0)模式936,其被输入到SIPO 702并且在UCK 937期间通过更新寄存器704施加到Tap Domain 104的TDI和TMS输入以及TSM 706的TMS输入。这个第五TDI和TMS模式使Tap Domain 104和TSM从CPI状态转换到移位-IR(SHI)状态以响应TCK 950。当TSM 706转向SHI状态时,其OE输出被设定为使能I/O电路710的输出驱动,使得来自Tap Domain 104的第一TDO输出可以输出到DIO 308上,从而经PSC控制器500的I/O电路504被输入到JTAG控制器的TDI输入。每当TSM(和Tap Domain)处在图10的移位-IR或移位-DR状态时,TSM706设置其OE以使能I/O电路710的输出驱动。
【0100】SPC输入来自PSC的第六串行化TDO(1)和TMS(0)模式938,其被输入到SIPO 702并且在UCK 939期间通过更新寄存器704施加到Tap Domain 104的TDI和TMS输入以及TSM 706的TMS输入。这个第六TDI和TMS模式使Tap Domain 104和TSM保持在SHI状态以响应TCK 952。在模式938中,TDO所示置为1用以表明待移入到Tap Domain 104的第一TDO输入是逻辑1。在TCK 952的上升沿第六模式938的第一TDI输入(1)被移入Tap Domain 104中。在与TCK 952同步的CKIN输入的上升沿,来自Tap Domain 104的第一TDO输出还被输入到JTAG控制器100的TDI输入端。
【0101】由于只要输入串行化模式(940、942、...)以使Tap Domain104(和TMS706)保持在SHI状态(即模式的TMS部分=0),则每个模式的TDI输入部分将被输入到Tap Domain 104,同时来自TapDomain的TDO输出将被输入到JTAG控制器100。当完成TDI和TDO的移入和移出时,PSC将输入串行化模式而将模式的TMS部分设置为将Tap Domain 104和TMS706从移位-IR状态(SHI)转到退出1-IR状态,然后根据图10的Tap状态图转向任何其他状态。
【0102】虽然以上过程描述的是在JTAG控制器和目标IC的TapDomain之间执行指令扫描操作,但可以类似执行数据扫描操作。利用来自JTAG控制器的串行化TDI和TMS输入和来自Tap Domain的TDO输出,指令和数据扫描操作通过PSC和SPC之间的两个信号DIO 308和CLK 310接口可以用来执行测试、仿真、调试、跟踪和/或其它操作。
【0103】当操作完成时,JTAG控制器可以输出一串串行化TDO和TMS模式,而每个模式的TMS部分设置为逻辑1以使Tap Domain104和TSM电路706转向图10的测试逻辑复位状态。如图10中所看到的,Tap状态机被设计成每当其在TMS上接收至少5个逻辑高输入时从其任一状态转向测试逻辑复位状态。因此,每个TMS为高的5个串行化TDO和TMS模式将使Tap Domain 104和TSM 706进入测试逻辑复位状态。
【0104】当TSM 706进入测试逻辑复位状态时,其将RST输出设置为低,这将复位控制器700并且使MRS 708状态机900进入状态904,这将导致在图9C的时序图的时间基准918期间所示的信号电平。在SPC电路被RST信号复位以后,PSC和SPC之间的DIO和CLK连接可以去除。在PSC和SPC未连接阶段期间,临时信号短时脉冲/颤动可能出现在DIO信号上。在图9B的916部分中的前述状态机900状态再次开始运行以过滤至状态机的IN输入,以便继在连接阶段期间可能发生的任何不需要的临时DIO信号之后状态机保持在状态904或返回到状态904。接着未连接阶段,状态机将处于状态904而MRST输出为低,这样在控制器700、TSM 706和Tap Domain 104上保持复位状态。
【0105】图11A说明了JTAG控制器100及PSC 302装置1100的示例,其通过装置1100的I/O电路504和目标IC的I/O电路710之间的DIO 308信号连接与目标IC 300的SPC 306和Tap Domain 104相互作用。为简化起见,伴随DIO信号308的CLK 310信号在这个示例中未示出。同样为了简化和方便描述,所示的I/O电路504和710分别在PSC 302和SPC 306的外部,而不是在如图5A和7A前面所示的内部。I/O电路504通过OUT信号耦合到PSC 302并且通过TDI信号耦合到JTAG控制器100。I/O电路710通过TDO信号耦合到Tap Domain 104并且通过IN和OE信号耦合到SPC。
【0106】I/O电路504包括输入电路1102、输出缓冲器1104和电阻器1106。OUT信号耦合到缓冲器114的输入端和输入电路1102的第一输入端。输出缓冲器1104的输出通过电阻器1106耦合到DIO信号。DIO信号耦合到输入电路1102的第二输入端。输入电路1102的输出耦合到JTAG控制器100的TDI输入。
【0107】I/O电路710包括输入电路1108、输出缓冲器1110、电阻器1112和上拉(PU)电路1114。TDO信号被耦合到缓冲器1110的输入并且耦合到输入电路1108的第一输入。缓冲器1110的输出通过电阻器1112耦合到DIO信号。DIO信号被耦合到输入电路1108的第二输入并耦合到PU电路1112。输入电路1108的输出被耦合到SPC306的IN输入。
【0108】当DIO信号未被缓冲器1104或1110驱动时,PU电路1114用来将输入到输入电路1108的DIO信号设置为高。例如,当JTAG控制器及PSC装置1100未连接到目标IC的DIO并且目标IC的缓冲器1110的输出驱动由OE信号禁用时,PU电路1114将DIO信号设置为高,以便将逻辑1从输入电路1108的IN信号高输出输入到SPC 306。IN信号上的高电平使MRS电路708的状态机900保持在图9B的状态904,如前述所述的。
【0109】I/O电路504的输出缓冲器1104和I/O电路710的输出缓冲器1110将优选被设计成具有大约相同的电流沉(current sink)/电源驱动强度。同样I/O电路504和710的电阻器1106和1112具有大约相同的电阻。
【0110】图11B说明了四种情况A-D的时序波形,其中在I/O电路504和710之间同时的数据通信经过DIO 308发生。每种情况A-D在时序图中由垂直的虚线框指出。图12说明了在四种情况A-D的每种情况期间DIO信号线上的电流。在这些示例中,输入到缓冲器1110的OE被设置为使能缓冲器1110以驱动DIO信号。
【0111】情况A示出了PSC 302将OUT驱动为低以及Tap Domain104将TDO驱动为低。如在图12的情况A所看到的,由于两个缓冲器1104和1110都输出低电平,因此仅有小量的电流流过DIO信号线。这个小电流不会在电阻器1106和1112两端形成显著的电压降。因此,输入到输入电路1102和1108的DIO信号可容易地检测为低信号输入。响应于这个OUT和TDO输出状态,DIO信号被驱动为低。由于OUT和DIO为低,输入电路1102在JTAG控制器100的TDI输入上输入低电平。由于TDO和DIO为低,输入电路1108在SPC 306的IN输入上输入低电平。
【0112】情况B示出了PSC 302将OUT驱动为低以及Tap Domain104将TDO驱动为高。如在图12的情况B所看到的,由于从缓冲器1104输出低电平和从缓冲器1110输出高电平,在缓冲器之间的DIO信号线上流过较大的电流。电阻器1106和1112用于限制这个较大电流并且它们两端的电压降在DIO线上建立中级电压,该电压由输入电路1102和1108可容易地检测为高或低。响应于这个OUT和TDO输出状态,DIO信号被驱动为中电平。由于OUT为低和DIO为中电压,输入电路1102在到JTAG控制器100的TDI输入上输入高电平。由于TDO为高和DIO为中电压,输入电路1108在至SPC 306的IN输入上输入低电平。
【0113】情况C示出了PSC 302将OUT驱动为高以及Tap Domain104将TDO驱动为低。如在图12的情况C所看到的,由于自缓冲器1104输出高电平和自缓冲器1110输出低电平,因此在缓冲器之间的DIO信号线上流过较大的电流。电阻器1106和1112用于限制这个大电流并且它们两端的电压降在DIO线上建立中级电压,该中级电压由输入电路1102和1108可容易地检测为高或低。响应于这个OUT和TDO输出状态,DIO信号被驱动为中电平。由于OUT为低和DIO为中电压,输入电路1102在至JTAG控制器100的TDI输入上输入低电平。由于TDO为高和DIO为中电压,输入电路1108在至SPC 306的IN输入上输入高电平。
【0114】情况D示出了PSC 302将OUT驱动为高以及Tap Domain104将TDO驱动为高。如在图12的情况D所看到的,由于缓冲器1104和缓冲器1110都输出高电平,因此仅有小量的电流流过DIO信号线。这个小电流不会在电阻器1106和1112两端形成显著的电压降。因此,输入到输入电路1102和1108的DIO信号可容易地检测为高信号输入。响应于这个OUT和TDO输出状态,DIO信号被驱动为高电平。由于OUT和DIO为高,输入电路1102在到JTAG控制器100的TDI输入上输入高电平。由于TDO和DIO为高,输入电路1108在至SPC 306的IN输入上输入高电平。
【0115】图13A说明了如何设计可用作输入电路1102或1108的输入电路1300的一个示例。输入电路1300包括电压比较电路1302、多路复用器1304、反相器1306和缓冲器1308。电压比较电路1302输入来自DIO的电压并且将数字控制信号S0和S1输出到多路复用器1304。正如所看到的,电压比较电路1302的第一电压(V)到地(G)支路1310包括串联的P通道晶体管和电流源而第二电压到地支路1312包括串联的N通道晶体管和电流源。正如所看到的,S1被连接在第一支路1310的P通道晶体管和电流源之间的交点上而S0被连接在第二支路1312的P通道晶体管和电流源之间的交点上。晶体管的栅极被连接到DIO,使得DIO上的电压可以导通或关闭晶体管。
【0116】电压比较电路1302和多路复用器1304的操作示于图13B的真值表中并在此描述。如果DIO上的电压为低,则S0和S1输出被置高,这使多路复用器1304选择其低输入1314并且通过缓冲器1308在TDI/IN(电路1102的TDI和电路1108的IN)信号上输出低输入。如果DIO上的电压为中电平,则S0被置低并且S1被置高,这使得多路复用器1304选择其反相的OUT/TDO(电路1102的OUT和电路1108的TDO)输入信号1316并且通过缓冲器1308将反相的OUT/TDO信号输出到TDI/IN信号。如果DIO上的电压为高,则S0和S1输出被置低,这使得多路复用器1304选择其高输入1318并且通过缓冲器1308将高输入输出到TDI/IN信号。
【0117】从上面的描述,显然输入电路1300将:(1)如果DIO信号为低,则在TDI/IN上输入低电平,(2)如果DIO信号为高,则在TDI/IN上输入高电平,和(3)如果DIO信号为在高和低之间的中电平,则在TDI/IN上输入反相的OUT/TDO。
【0118】重新参考图11A并且根据上面输入电路1300的描述,很明显:
【0119】如果DIO为高电平,则输入电路1102和1108分别将高电平输入到JTAG控制器100和SPC 306。
【0120】如果DIO为低电平,则输入电路1102和1108分别将低电平输入到JTAG控制器100和SPC 306。
【0121】如果DIO为中电平并且来自PSC 302的OUT信号为低电平,则输入电路1102会获悉Tap Domain 104在TDO上输出高电平以在DIO上产生中电平。输入电路1102因此将高电平输入到JTAG控制器100的TDI输入。
【0122】如果DIO为中电平并且来自PSC 302的OUT信号为高电平,则输入电路1102会获悉Tap Domain 104在TDO上输出低电平以在DIO上产生中电平。输入电路1102因此将低电平输入到JTAG控制器100的TDI输入。
【0123】如果DIO为中电平并且来自Tap Domain 104的TDO信号为低电平,则输入电路1108会获悉PSC 302在OUT上输出高电平以在DIO上产生中电平。输入电路1108因此将高电平输入到SPC 306的IN输入。
【0124】如果DIO为中电平并且来自Tap Domain 104的TDO信号为高电平,则输入电路1108会获悉PSC302在OUT上输出低电平以在DIO上产生中电平。输入电路1108因此将低电平输入到SPC 306的IN输入。
【0125】图14A示出了完整设置,其中JTAG控制器100和PSC 302通过DIO 308和CLK 301信号连接到SPC 306和目标IC 300的TapDomain 104并与其通信。为了简化,仅示出了涉及通信过程的PSC 302和SPC 306的电路元件。图14B的时序图将通信过程具体化。
【0126】在图14B的时序图中,PSC和SPC的控制器500和700分别按照前述被同步并且有效地操作它们各自的LD和CKIN以及UCK和TCK信号以响应CLK信号310。如所看到的和前述的,PSC的LD信号与SPC的UCK信号操作同步,并且PSC的CKIN信号与SPC的TCK信号同步工作。为了简化,CKIN和TCK信号作为一个时钟信号示出。
【0127】在LD信号1402期间,来自JTAG控制器100的TMS和TDO模式N 1404被载入PISO 502。被加载模式的TMS部分在CLK1406期间从PISO 502移至SIPO 702并且被加载模式的TDO部分在CLK 1408期间从PISO 502移至SIPO 702。CKIN 1410促进JTAG控制器输出下一个TMS和TDO模式N+11412并且输入来自TapDomain的TDO输出1415(如果处于移位-DR或移位-IR状态)。TCK1410使Tap Domain 104响应在UCK1413期间输入到Tap Domain的前面传送的TDI和TMS输入模式N-11414。同样在TCK 1410期间,Tap Domain输出要输入到JTAG控制器的下一个TDO输出(如果处于移位-DR或移位-IR状态)。
【0128】在LD信号1418期间,来自JTAG控制器100的TMS和TDO模式N+1 1412被载入PISO 502。被加载模式的TMS部分在CLK1420期间从PISO 502移至SIPO 702并且被加载模式的TDO部分在CLK1422期间从PISO 502移至SIPO 702。CKIN 1424促进JTAG控制器输出下一个TMS和TDO模式N+2 1416并且输入来自TapDomain的TDO输出1428。TCK 1424使Tap Domain 104响应在UCK1413期间输入到Tap Domain的TDI和TMS输入模式N 1416。同样在TCK 1424期间,Tap Domain输出要输入到JTAG控制器的下一个TDO输出1432。
【0129】当DIO和CLK连接存在于PSC和SPC之间时并且CLK信号310有效时,继续上述的通过PSC和SPC在JTAG控制器100和Tap Domain 104之间通信的时序示例。
【0130】图14C说明了图14A的设置/装置执行JTAG控制器和TapDomain之间的单个数据寄存器移位操作的时序示例。正如所看到的,JTAG控制器输出TMS和TDO模式1440-1454序列,该序列控制TapDomain以从图10的运行测试/空闲(RTI)状态转向选择-DR(SLD)状态、捕获-DR(CPD)状态,选择-DR(SLD)状态、退出1-DR(X1D)状态、更新-DR(UPD)状态并且返回到RTI状态。该Tap状态序列使一位数据寄存器移位操作发生在JTAG控制器和Tap Domain之间。自JTAG控制器输出的模式1440-1454序列被PSC串行化并且被SPC解串行化,以作为TDI和TMS模式序列1454-1468输入到Tap Domain。正如所看到的,对模式串行化和解串行化的过程使输入到Tap Domain的TDI和TMS模式落后于自JTAG控制器输出的TMS和TDO模式。
【0131】如果JTAG控制器如图1所示被常规地连接到TapDomain,则在时间1470时自TDO到TDI在它们之间的数据移位操作发生在CKIN和TCK的上升沿,即当Tap Domain从移位-DR(SFD)状态转向退出-DR(X1D)状态时。然而由于模式延迟,在时间1472时自TDO到TDI在它们之间的数据移位操作发生在CKIN和TCK的上升沿。自JTAG控制器输出到Tap Domain的TDI输入的TDO数据的移入不受模式延迟的影响,因为在串行化和解串行化过程之后TDO数据保持在输入到Tap Domain的TDI和TMS模式中并且在TCK 1472的上升沿被时钟输入到Tap Domain中。然而,JTAG控制器不会在CKIN 1470的上升沿时输入来自Tap Domain的正确TDO输出,原因是由于模式延迟,从Tap Domain的正确TDO输出直到TCK 1470的下降沿才从Tap Domain输出。因此,当来自JTAG控制器的TDO数据作为TDI数据正确地输入到Tap Domain时,来自Tap Domain的TDO输出作为TDI数据不正确地输入到JTAG控制器。
【0132】利用德州仪器SN74/54ACT8990 JTAG总线控制器芯片设计的JTAG控制器可以解决上述模式迟滞问题。SN74/54ACT8990JTAG总线控制器芯片被设计成与JTAG控制器和目标IC之间的电缆一起工作,其可以记录从JTAG控制器到目标IC的TMS和TDI输入的TMS和TDO输出。
【0133】图15说明了一种设置,由此ACT8990 JTAG控制器芯片1502通过电缆1514连接到目标IC 1520,所述电缆1514包括位于ACT8990的TMS和TDO输出与目标IC的TMS和TDI输入之间的通路中的FF 1516-1518。在这个示例中,目标IC向ACT8990发出CKIN并且还对FF1516和1518的操作进行定时。正如所看到的,FF1516和1518使到目标IC的TMS和TDI输入滞后于来自ACT8990的TMS和TDO输出,方式类似于图14A的PSC和SPC电路使到IC300的TMS和TDI输入滞后于图14中的JTAG控制器100的TMS和TDO输出。
【0134】ACT 8990的简化框图示出了其包含用于传送TMS信号的电路1504、用于传送TDO信号的电路1506、用于接收TDI信号的电路1510以及用于将输入到TDI接收器电路1510的TMS信号1512延迟的电路1508。TDI接收电路按照图10的Tap状态图响应TMS信号1512,以获悉何时输入TDI信号。在这个示例中,所有的电路1504-1510都由来自IC 1520的TCK输出的CKIN输入进行定时。
【0135】如果没有FF存在于电缆中,即ACT 8990的TMS和TDO输出直接地被连接到目标IC的TMS和TDI输入,则TMS延迟电路被设置为不延迟输入到TDI接收器的TMS信号。在该情况下,TDI接收器1510与目标IC 1520的Tap同步工作,使得TDI接收器1510输入TDI数据同时IC 1520的Tap输入TDI数据。
【0136】如果FF存在于所示的通路中,则TMS延迟电路被设置为将TDI接收器的操作延迟一个CKIN周期以使TDI接收器的操作与IC 1520的Tap的操作同步。通过延迟TDI接收器的操作,使TDI接收器与目标IC 1520的Tap的被延迟操作同步运行,这样TDI接收器1510输入TDI数据同时IC 1520的Tap输入TDI数据。
【0137】当ACT 8990 JTAG总线控制芯片的延迟电路1508最初被设计为补偿与电缆有关的延迟时,本公开采用延迟电路1508的特征来补偿与图14A中PSC和SPC电路的串行化和解串行化操作有关的延迟。
【0138】例如,如果图14A的JTAG控制器100用ACT8990芯片来控制JTAG总线,则ACT8990的延迟电路1508可被设置为将来自IC 300的Tap Domain的TDI输入延迟一个CKIN周期,这样TDI输入在CKIN1472的上升沿被正确接收,如图14C的时序图所示。因此由于PSC和SPC电路的串行化和解串行化过程,前述的滞后问题通过使用JTAG控制器100加以补救,该JTAG控制器100含有ACT8990 JTAG总线控制芯片或其他芯片/电路,所述芯片/电路可以类似延迟来自图14A的Tap Domain 104的TDI数据输入。
【0139】图16说明第一系统示例,其中JTAG控制器100及PSC 302装置1602通过DIO 308和CLK 310信号线被耦合到目标IC 1604的SPC306和Tap Domain 104。在这个示例中,装置1602内的时钟源1606用于驱动对PSC和SPC电路的操作进行定时的CLK信号。在该示例中,目标IC 1604需要用于DIO和CLK信号的两个专用引脚。
【0140】图17说明了第二系统示例,其中JTAG控制器100及PSC302装置1702通过DIO 308和CLK 310信号线被耦合到目标IC 1704的SPC 306和Tap Domain 104。在这个示例中,目标IC 1704内的时钟源1706用于驱动对PSC和SPC电路的操作进行定时的CLK信号。在这个示例中,目标IC 1704需要用于DIO和CLK信号的两个专用引脚。
【0141】图18说明了第三系统示例,其中JTAG控制器100及PSC302装置1702通过DIO 308信号线被耦合到目标IC 1802的SPC 306和Tap Domain 104。在这个示例中,外部时钟源1804用于通过功能上所需的时钟输入引脚将功能性的时钟信号输入到IC 1802。该外部时钟源还驱动PSC 302的CLK信号。由于SPC 306的CLK输入被连接到IC的功能性时钟并且由IC的功能性时钟驱动,因此在IC 1802上不需要CLK信号310的专用引脚。在这个示例中,目标IC 1802仅需要DIO信号的专用引脚。
【0142】图19说明了第四系统示例,其中JTAG控制器100及PSC302装置1702通过DIO 308信号线被耦合到目标IC 1802的SPC 306和Tap Domain 104。在这个示例中,功能性时钟从IC 1902输出以通过功能上所需的时钟输出引脚对外围电路1904的时钟输入进行驱动。在IC 1902内部,功能性时钟被连接到SPC 306的CLK输入并驱动SPC306的CLK输入。在IC 1902外部,功能性时钟被连接到PSC 302的CLK输入并驱动PSC 302的CLK输入。由于PSC 302的CLK输入被连接到外部功能性时钟,因此在IC 1902上不需要CLK信号310的专用引脚。在这个示例中,目标IC 1902仅需要DIO信号的专用引脚。
【0143】图20说明了第五系统示例,其中JTAG控制器100及PSC302装置1702通过DIO 308和CLK 310信号线被耦合到目标IC 1604的SPC306和Tap Domain 104。在这个示例中,在装置1702和目标IC1604外部的时钟源2002用来驱动对PSC和SPC电路的操作进行定时的CLK信号。在这个示例中,目标IC 1604需要DIO和CLK信号的两个专用引脚。
【0144】上面的图16-20的系统示例示出了将PSC和SPC电路连接在一起的多种方法,这样接口最多需要DIO和CLK的两个专用IC引脚而最少接口仅需要DIO的一个专用引脚。因此,可看出本公开在目标IC上仅需要一个或两个专用引脚。
【0145】后面的图说明了本公开的替代形式,由此SPC 302和PSC306电路分别不用I/O电路504和710。
【0146】图21A说明了连接到替代PSC电路2102的JTAG控制器100。除了I/O电路504不用于PSC电路2102,PSC电路2102与图5A的PSC 302相同。正如所看到的,若没有I/O电路504,来自PISO 502的OUT输出直接从PSC通过输出缓冲器1104输出。同样正如所看到的,若没有I/O电路504,TDO输入通过输入缓冲器1308直接进入JTAG控制器100的TDI输入。如图21B所看到的,替代的PSC 2102和JTAG控制器100的工作时序与图5A中的PSC 302和JTAG控制器100的图5B工作时序相同。
【0147】图22A说明了连接到目标IC 2204的Tap Domain 104的替代SPC电路2202。除了SPC电路2202中未使用I/O电路710,SPC电路2202与图7A的SPC 302相同。正如所看到的,若没有I/O电路710,到SPC 2202的OUT输入通过第二输入缓冲器1308直接输入到MRS 708和SIPO 702电路。同样正如所看到的,若没有I/O电路710,来自Tap Domain 104的TDO输出通过3态缓冲器1110直接从SPC2202输出。缓冲器2206由来自TSM 706的OE信号使能。上拉(PU)元件1114被连接到IN信号以便当其由于上述原因没有被外部驱动时将IN信号上拉为高电平。如图22B所看到的,替代的SPC 2202和TapDomain 104的工作时序与图7A中的SPC 302和Tap Domain 104的图7B的工作时序相同。
【0148】图23A示出了完整设置/装置,其中JTAG控制器100和替代的PSC 2102通过OUT、CLK和TDO信号连接到目标IC 2302的替代SPC 2202和Tap Domain 104并且与其进行通信。为了简化,仅示出了与通信过程相关的替代PSC 2102和SPC 2202的电路元件。正如所看到的,来自PSC 2102的OUT输出直接地输入到SPC 2202的IN输入而来自Tap Domain的TDO输出直接地输入到JTAG控制器100的TDI输入。在图23B中所看到的,图23A的配置的工作时序图与图14A的配置的图14B工作时序图相同。
【0149】图24说明了前述的图16系统的时钟设置。在图24中,采用替代的PSC 2102替换PSC 302并且采用替代的SPC 2202替代SPC306。正如所看到的,IC 2402需要OUT、TDO和CLK的三个专用引脚。
【0150】图25说明了前述的图17系统的时钟设置。在图25中,采用替代的PSC 2102替换PSC 302并且采用替代的SPC 2202替代SPC306。正如所看到的,IC 2502需要OUT、TDO和CLK的三个专用引脚。
【0151】图26说明了前述的图18系统的时钟设置。在图26中,采用替代的PSC 2102替换PSC 302并且采用替代的SPC 2202替代SPC306。正如所看到的,IC 2602需要OUT和TDO的两个专用引脚。
【0152】图27说明了前述的图19系统的时钟设置。在图27中,采用替代的PSC 2102替换PSC 302并且采用替代的SPC 2202替代SPC306。正如所看到的,IC 2702需要OUT和TDO的两个专用引脚。
【0153】图28说明了前述的图20系统的时钟设置。在图28中,采用替代的PSC 2102替换PSC 302并且采用替代的SPC 2202替代SPC306。正如所看到的,IC 2402需要OUT、TDO和CLK的三个专用引脚。
【0154】上面的图24-28系统示例示出了将替代的PSC 2102和SPC2202电路连接在一起的多种方法,这样至多接口需要OUT、TDO和CLK的三个专用IC引脚而至少接口仅需要OUT和TDO的两个专用IC引脚。因此可看出本公开的替代形式在目标IC上仅需要两个或三个专用引脚。
【0155】根据图14A、14B、14C、23A和23B,可看出CKIN和TCK信号的频率是驱动CLK信号的源频率的一半。因此,JTAG控制器和Tap Domain以CLK源频率一半的频率一起工作。例如,如果CLK频率为100Mhz,JTAG工作在50Mhz。因此,实现了背景技术所述的本公开第二优点:提供能够以标准5针JTAG接口的一半频率操作的简化针接口。
【0156】应理解,虽然本公开的SPC 306和2202体现为其用于访问IC内的Tap Domain,但SPC不限于仅仅访问IC内的Tap Domain。当然,随着需要的增加,SPC可用于IC的嵌入式核心电路以允许访问存在于那些嵌入式核心电路中的Tap Domain。关于如何使用IC内的SPC的本公开中的教导被充分地详述以使本领域的技术人员也能使用嵌入式核心内的SPC。
【0157】本发明涉及的领域内的技术人员应理解可以对所描述的示例实施方式做各种增加、删除、替换或其他修改而不偏离本声明的发明范围。

Claims (10)

1.一种集成电路,其包括:
IEEE 1149.1 Tap Domain,其具有TDI输入终端,TCK输入终端,TMS输入终端和TDO输出终端,所述TDO输出终端被耦合到所述集成电路的可外部访问的数据输入/输出引脚,和;
串行输入并行输出电路,其具有被耦合到所述集成电路的所述可外部访问的数据输入/输出引脚的串行输入终端、被耦合到所述TDI输入终端的第一并行输出终端以及被耦合到所述TMS输入终端的第二并行输出终端。
2.如权利要求1所述的集成电路,还包括具有被耦合到所述TCK输入终端的输出的时钟控制器。
3.如权利要求2所述的时钟控制器,还包括被耦合到在所述集成电路内的时钟源的输入端。
4.如权利要求2所述的时钟控制器,还包括被耦合到在所述集成电路外的时钟源的输入端。
5.一种集成电路,其包括:
IEEE1 149.1 Tap Domain,其具有TDI输入终端、TCK输入终端、TMS输入终端和TDO输出终端,所述TDO输出终端被耦合到所述集成电路的可外部访问的数据输出引脚,和;
串行输入并行输出电路,其具有被耦合到所述集成电路的可外部访问的数据输入引脚的串行输入终端、被耦合到所述TDI输入终端的第一并行输出终端以及被耦合到所述TMS输入终端的第二并行输出终端。
6.如权利要求5所述的集成电路,还包括具有被耦合到所述TCK输入终端的输出端的时钟控制器。
7.如权利要求6所述的时钟控制器,还包括被耦合到在所述集成电路内的时钟源的输入端。
8.如权利要求6所述的时钟控制器,还包括被耦合到在所述集成电路外的时钟源的输入端。
9.一种在集成电路内操作IEEE 1149.1 Tap Domain的过程,其包括以下步骤:
将TDI和TMS模式串行地输入到所述集成电路;
将串行输入的TDI和TMS模式并行地输入到所述Tap Domain的TDI和TMS输入端,
将TCK输入施加到Tap Domain,和;
在操作过程期间重复步骤A到C。
10.一种集成电路,其包括:
用于将信号输入到所述集成电路内的第一电路的输入引脚,和
被耦合到所述输入引脚的所述集成电路内的第二电路,所述第二电路只有在某个信号序列已被输入并由所述第二电路识别之后使信号能输入到所述第一电路。
CN2006800176036A 2005-03-21 2006-03-21 优化的jtag接口 Active CN101501646B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US66395305P 2005-03-21 2005-03-21
US60/663,953 2005-03-21
US11/370,017 US7421633B2 (en) 2005-03-21 2006-03-07 Controller receiving combined TMS/TDI and suppyling separate TMS and TDI
US11/370,017 2006-03-07
PCT/US2006/010144 WO2006102284A2 (en) 2005-03-21 2006-03-21 Optimized jtag interface

Publications (2)

Publication Number Publication Date
CN101501646A true CN101501646A (zh) 2009-08-05
CN101501646B CN101501646B (zh) 2012-10-10

Family

ID=37024504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800176036A Active CN101501646B (zh) 2005-03-21 2006-03-21 优化的jtag接口

Country Status (5)

Country Link
US (11) US7421633B2 (zh)
EP (1) EP1866657B1 (zh)
JP (2) JP2008538236A (zh)
CN (1) CN101501646B (zh)
WO (1) WO2006102284A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419415A (zh) * 2011-08-31 2012-04-18 北京时代民芯科技有限公司 一种基于边界扫描电路的tap接口优化电路
CN108226740A (zh) * 2016-12-09 2018-06-29 英业达科技有限公司 提供扩充联合测试工作组接口的扩充电路板

Families Citing this family (32)

* 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
US7417450B2 (en) 2005-12-02 2008-08-26 Texas Instruments Incorporated Testing combinational logic die with bidirectional TDI-TMS/TDO chanel circuit
US7657810B2 (en) 2006-02-03 2010-02-02 Texas Instruments Incorporated Scan testing using scan frames with embedded commands
WO2007021732A2 (en) 2005-08-09 2007-02-22 Texas Instruments Incorporated Selectable jtag or trace access with data store and output
US7543208B2 (en) * 2006-07-26 2009-06-02 Cisco Technology, Inc. JTAG to system bus interface for accessing embedded analysis instruments
US7657805B2 (en) 2007-07-02 2010-02-02 Sun Microsystems, Inc. Integrated circuit with blocking pin to coordinate entry into test mode
US7890824B2 (en) * 2008-07-24 2011-02-15 International Business Machines Corporation Asynchronous communication apparatus using JTAG test data registers
US7949918B2 (en) * 2008-07-24 2011-05-24 International Business Machines Corporation Asynchronous communication using standard boundary architecture cells
JP2011149775A (ja) * 2010-01-20 2011-08-04 Renesas Electronics Corp 半導体集積回路及びコアテスト回路
US9251873B1 (en) * 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
CN104246712B (zh) 2012-03-25 2017-11-10 英特尔公司 用于调试任何片上系统状态、功率模式、重置、时钟和复杂数字逻辑的基于异步可编程jtag的接口
US9063731B2 (en) * 2012-08-27 2015-06-23 Samsung Electronics Co., Ltd. Ultra low power apparatus and method to wake up a main processor
CN103685657B (zh) * 2012-09-17 2018-01-30 腾讯科技(深圳)有限公司 电子终端测试方法及装置
US8675812B1 (en) * 2012-10-04 2014-03-18 Richard C. Warner Serial-in parallel-out shift registers with enhanced functionality
US9223365B2 (en) 2013-03-16 2015-12-29 Intel Corporation Method and apparatus for controlled reset sequences without parallel fuses and PLL'S
US20150106660A1 (en) * 2013-10-16 2015-04-16 Lenovo (Singapore) Pte. Ltd. Controller access to host memory
US9363114B2 (en) 2014-02-28 2016-06-07 Kandou Labs, S.A. Clock-embedded vector signaling codes
CN104765669B (zh) * 2015-04-24 2018-10-12 昆明船舶设备集团有限公司 同步复制aftn报文的新机场信息系统并行测试方法
KR102566994B1 (ko) 2015-12-14 2023-08-14 삼성전자주식회사 멀티 칩 디버깅 방법 및 이를 적용하는 멀티 칩 시스템
DE102016100840B3 (de) * 2016-01-19 2016-12-29 Elmos Semiconductor Aktiengesellschaft Verfahren zur Steuerung von Leuchtmitteln mittels eines JTAG-Protokolls
DE102016100841B3 (de) * 2016-01-19 2016-12-29 Elmos Semiconductor Aktiengesellschaft JTAG-Schnittstellen zur Steuerung der Ansteuerung von Leuchtmitteln einer Leuchtkette
WO2017125440A1 (de) 2016-01-19 2017-07-27 Elmos Semiconductor Aktiengesellschaft Jtag-schnittstellen zur steuerung der ansteuervorrichtung von leuchtmitteln einer leuchtkette
DE102016123400B3 (de) 2016-01-19 2017-04-06 Elmos Semiconductor Aktiengesellschaft Eindrahtlichtsteuerbus mit mehreren Pegeln
DE102016100838B3 (de) * 2016-01-19 2016-12-29 Elmos Semiconductor Aktiengesellschaft JTAG-Schnittstelle eines Busknotens zur Steuerung der Ansteuerung von Leuchtmitteln
US10324955B2 (en) * 2016-09-30 2019-06-18 International Business Machines Corporation Inter-table parallel refresh maximizer
EP3367114A1 (en) * 2017-02-24 2018-08-29 Commsolid GmbH Extended jtag controller and method for functional reset using the extended jtag controller
US10663514B2 (en) * 2017-05-04 2020-05-26 Artisan Electronics, Inc. Virtual probe sequencing
US10083590B1 (en) * 2017-05-05 2018-09-25 Vmware, Inc. Encouraging alert responsiveness
US10467177B2 (en) 2017-12-08 2019-11-05 Kandou Labs, S.A. High speed memory interface
AU2019271195A1 (en) 2018-05-15 2020-11-26 Baxter Healthcare Sa Infusion pump with tube loading guidance and confirmation
US11493553B2 (en) * 2018-08-22 2022-11-08 Commsolid Gmbh Extended JTAG controller and method for functional reset using the extended JTAG controller
CN109710277B (zh) * 2018-12-21 2022-04-01 深圳开阳电子股份有限公司 一种板载SPI Flash存储器的烧写方法和系统

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684721A (en) * 1987-09-04 1997-11-04 Texas Instruments Incorporated Electronic systems and emulation and testing devices, cables, systems and methods
JPH01217274A (ja) * 1988-02-26 1989-08-30 Fujitsu Ltd Lsi回路の試験方法および該試験方法を実施するためのlsi回路
US5463689A (en) * 1988-03-10 1995-10-31 Scientific-Atlanta Interdiction method and apparatus with random mode jamming
US7421633B2 (en) * 2005-03-21 2008-09-02 Texas Instruments Incorporated Controller receiving combined TMS/TDI and suppyling separate TMS and TDI
US5056093A (en) 1989-08-09 1991-10-08 Texas Instruments Incorporated System scan path architecture
US5218680A (en) * 1990-03-15 1993-06-08 International Business Machines Corporation Data link controller with autonomous in tandem pipeline circuit elements relative to network channels for transferring multitasking data in cyclically recurrent time slots
JPH04160378A (ja) * 1990-10-24 1992-06-03 Nec Corp 集積回路と集積回路の信号観測方法
EP0503117B1 (de) * 1991-03-13 1995-06-28 Siemens Aktiengesellschaft Prozessorschaltung
JPH06318123A (ja) * 1993-05-07 1994-11-15 Nec Ic Microcomput Syst Ltd 半導体集積回路
US5828825A (en) 1993-12-22 1998-10-27 Intel Corporation Method and apparatus for pseudo-direct access to embedded memories of a micro-controller integrated circuit via the IEEE test access port
US5553070A (en) * 1994-09-13 1996-09-03 Riley; Robert E. Data link module for time division multiplexing control systems
JPH08204682A (ja) * 1995-01-20 1996-08-09 Fujitsu General Ltd データ伝送回路
US5774545A (en) * 1996-03-28 1998-06-30 Lucent Technologies Inc. Method and apparatus for enhancing security in and discouraging theft of VLSI and ULSI devices
US7590910B2 (en) * 1998-03-27 2009-09-15 Texas Instruments Incorporated Tap and linking module for scan access of multiple cores with IEEE 1149.1 test access ports
JP4020462B2 (ja) * 1996-08-30 2007-12-12 テキサス インスツルメンツ インコーポレイテツド テストインタフェースを含む集積回路及びテストインタフェースを使用する方法
GB9622682D0 (en) * 1996-10-31 1997-01-08 Sgs Thomson Microelectronics An integrated circuit device and method of communication therewith
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
JP2989586B2 (ja) * 1997-07-23 1999-12-13 松下電器産業株式会社 半導体集積回路及びその設計方法並びに半導体集積回路の設計プログラムを記録した記録媒体
US6408413B1 (en) * 1998-02-18 2002-06-18 Texas Instruments Incorporated Hierarchical access of test access ports in embedded core integrated circuits
TW538597B (en) * 1998-03-31 2003-06-21 Fujitsu General Co Ltd Phase lock loop circuit
US6065068A (en) * 1998-04-20 2000-05-16 National Instruments Corporation System for storing and updating configuration information about I/O card and using stored configuration information to configure newly installed I/O card when compatible with old card
US6112272A (en) * 1998-06-02 2000-08-29 Adaptec, Inc. Non-invasive bus master back-off circuit and method for systems having a plurality of bus masters
US7058862B2 (en) 2000-05-26 2006-06-06 Texas Instruments Incorporated Selecting different 1149.1 TAP domains from update-IR state
US6430718B1 (en) * 1999-08-30 2002-08-06 Cypress Semiconductor Corp. Architecture, circuitry and method for testing one or more integrated circuits and/or receiving test information therefrom
US6886121B2 (en) * 2000-01-18 2005-04-26 Cadence Design Systems, Inc. Hierarchical test circuit structure for chips with multiple circuit blocks
US7181705B2 (en) * 2000-01-18 2007-02-20 Cadence Design Systems, Inc. Hierarchical test circuit structure for chips with multiple circuit blocks
US6631504B2 (en) * 2000-01-18 2003-10-07 Cadence Design Systems, Inc Hierarchical test circuit structure for chips with multiple circuit blocks
JP5328000B2 (ja) * 2000-03-02 2013-10-30 テキサス インスツルメンツ インコーポレイテッド オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力
TW440984B (en) * 2000-03-08 2001-06-16 Via Tech Inc Chip testing system and testing method
US6756811B2 (en) * 2000-03-10 2004-06-29 Easic Corporation Customizable and programmable cell array
JP2001296334A (ja) * 2000-04-14 2001-10-26 Nec Microsystems Ltd 集積回路および故障検出方法
JP2002228722A (ja) * 2001-02-02 2002-08-14 Fujitsu Ltd バウンダリ・スキャン・レジスタを有する集積回路装置
JP3751531B2 (ja) * 2001-03-16 2006-03-01 沖電気工業株式会社 Jtagインターフェース回路及びそれを用いたjtag対応半導体装置のテスト方法とデバッグ方法
JP2002368114A (ja) * 2001-06-12 2002-12-20 Mitsubishi Electric Corp スキャンパス内蔵の半導体集積回路
KR20030033047A (ko) * 2001-07-05 2003-04-26 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 비휘발성 메모리를 프로그래밍하는 장치 및 방법
JP2003162456A (ja) * 2001-11-22 2003-06-06 Brother Ind Ltd 半導体集積回路及び電子機器
EP1335210B1 (en) * 2002-02-11 2006-11-22 Texas Instruments Incorporated High speed interconnect circuit test method and apparatus
JP3544203B2 (ja) * 2002-08-30 2004-07-21 沖電気工業株式会社 テスト回路、そのテスト回路を内蔵した半導体集積回路装置、及びそのテスト方法
US7260753B2 (en) * 2003-07-14 2007-08-21 Fulcrum Microsystems, Inc. Methods and apparatus for providing test access to asynchronous circuits and systems
US7278074B2 (en) * 2005-01-26 2007-10-02 Intel Corporation System and shadow circuits with output joining circuit
US7098706B1 (en) * 2004-10-06 2006-08-29 National Semiconductor Corporation High speed synchronizer for simultaneously initializing rising edge triggered and falling edge triggered flip-flops
US7245134B2 (en) * 2005-01-31 2007-07-17 Formfactor, Inc. Probe card assembly including a programmable device to selectively route signals from channels of a test system controller to probes
JP4388903B2 (ja) * 2005-02-09 2009-12-24 富士通マイクロエレクトロニクス株式会社 Jtag試験方式
US7248070B1 (en) * 2005-02-16 2007-07-24 Altera Corporation Method and system for using boundary scan in a programmable logic device
US7560964B2 (en) * 2005-03-18 2009-07-14 International Business Machines Corporation Latch and clock structures for enabling race-reduced MUX scan and LSSD co-compatibility

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419415A (zh) * 2011-08-31 2012-04-18 北京时代民芯科技有限公司 一种基于边界扫描电路的tap接口优化电路
CN102419415B (zh) * 2011-08-31 2014-07-02 北京时代民芯科技有限公司 一种基于边界扫描电路的tap接口优化电路
CN108226740A (zh) * 2016-12-09 2018-06-29 英业达科技有限公司 提供扩充联合测试工作组接口的扩充电路板
CN108226740B (zh) * 2016-12-09 2020-06-02 英业达科技有限公司 提供扩充联合测试工作组接口的扩充电路板

Also Published As

Publication number Publication date
US20080288843A1 (en) 2008-11-20
JP2008538236A (ja) 2008-10-16
EP1866657B1 (en) 2012-06-20
US8880966B2 (en) 2014-11-04
US8250421B2 (en) 2012-08-21
US20110289370A1 (en) 2011-11-24
JP2013029515A (ja) 2013-02-07
US7823037B2 (en) 2010-10-26
US20150012789A1 (en) 2015-01-08
US20060236174A1 (en) 2006-10-19
US20110010595A1 (en) 2011-01-13
US7421633B2 (en) 2008-09-02
US9213061B2 (en) 2015-12-15
US8433962B2 (en) 2013-04-30
WO2006102284A3 (en) 2009-04-16
US20120284579A1 (en) 2012-11-08
JP5687668B2 (ja) 2015-03-18
US8020059B2 (en) 2011-09-13
US20110119540A1 (en) 2011-05-19
US9535122B2 (en) 2017-01-03
US9958503B2 (en) 2018-05-01
EP1866657A2 (en) 2007-12-19
US20100095178A1 (en) 2010-04-15
US7900110B2 (en) 2011-03-01
EP1866657A4 (en) 2010-11-17
US20130227363A1 (en) 2013-08-29
US20160077155A1 (en) 2016-03-17
WO2006102284A2 (en) 2006-09-28
CN101501646B (zh) 2012-10-10
US7669099B2 (en) 2010-02-23
US20170059652A1 (en) 2017-03-02

Similar Documents

Publication Publication Date Title
CN101501646B (zh) 优化的jtag接口
US11262402B2 (en) Selectable JTAG or trace access with data store and output
CN102880536A (zh) 一种多核处理器的jtag调试方法
CN207965049U (zh) 用于将tap信号耦合到集成电路封装中的jtag接口的电路
CN102419415B (zh) 一种基于边界扫描电路的tap接口优化电路
CN102340304B (zh) 一种tap接口优化电路
CN101957429B (zh) 集成电路功能测试中的匹配特定波形的方法
CN102305909B (zh) 分布式测试节点链及其多链系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant