用于单路径可逆扫描链的双向扫描单元

文档序号:54730 发布日期:2021-09-28 浏览:31次 >En<

阅读说明:本技术 用于单路径可逆扫描链的双向扫描单元 (Bidirectional scan cell for single path reversible scan chain ) 是由 郑武东 黄宇 于 2020-02-11 设计创作,主要内容包括:电路包括多个扫描链。多个扫描链包括双向扫描单元。每个双向扫描单元包括两个串行输入-输出端口,该串行输入-输出端口基于控制信号用作串行数据输入端口或者串行数据输出端口。多个扫描链中的每一个扫描链被配置为基于控制信号在第一方向或第二方向执行移位操作。第一方向与第二方向相反。(The circuit includes a plurality of scan chains. The plurality of scan chains includes bidirectional scan cells. Each bidirectional scan cell includes two serial input-output ports that function as either a serial data input port or a serial data output port based on a control signal. Each of the plurality of scan chains is configured to perform a shift operation in a first direction or a second direction based on a control signal. The first direction is opposite to the second direction.)

用于单路径可逆扫描链的双向扫描单元

相关申请

本申请要求于2019年2月12日提交的第62/804320号美国临时专利申请和于2019年4月23日提交的第62/837218号美国临时专利申请,这些申请通过引用整体并入本文。

技术领域

目前所公开技术涉及电路测试。所公开技术的各个实施方式可能对于扫描链诊断特别有用。

背景技术

在硅上构建电路作为测试芯片可以提供对新的制造工艺如何工作的深入了解。传统地,半导体制造商主要依赖于SRAM(static random-access memory,静态随机存取存储器)测试芯片来提升、验证和监控新的半导体制造工艺。然而,在SRAM测试芯片上使用的晶体管和电路几何结构,仅代表实际产品中发现的晶体管和电路几何结构的一小部分。近来年,带有逻辑电路部件的测试芯片(以下称为逻辑测试芯片)经常用来补充或替代SRAM测试芯片。虽然更接近地代表具有真实电路设计的芯片,但逻辑测试芯片不如SRAM测试芯片那样容易测试或诊断。

为了检查逻辑测试芯片是否按照设计制造和为了定位潜在缺陷,通常采用扫描测试。在这种技术中,一系列已知的值(测试刺激或测试模式)通过它们的顺序输入被移入(或加载到)被称为扫描单元的状态元件(state element)。这些扫描单元互连成用于扫描测试的扫描链。通过将集成电路置于被称为移位模式的特定模式,并然后施加一系列的被称为“移位脉冲”或“移位时钟脉冲”的时钟脉冲来实现移入。每个移位时钟脉冲将测试刺激位推入每个扫描链中的扫描单元。这持续到扫描链中的所有扫描单元都填入测试模式位为止。然后,被称为“捕获脉冲”或“捕获时钟脉冲”的一个或多个时钟脉冲被应用至电路,就如它们处于正常操作中一样。这被称为捕获模式。在测试模式位被注入至电路中之后,测试结果(测试响应)被“捕获”并存储在扫描单元中。然后,电路返回到移位模式,并且通过每个附加的时钟脉冲,随着新测试模式的每个位被推入或移入,测试响应位被推出或移出。然后,将移出的测试响应与期望结果进行比较以确定和定位任何错误。移位模式和捕获模式被合称为测试模式。

扫描链及其关联的时钟电路自身是电路故障的主要来源。据报道扫描链上出现的缺陷约占所有故障芯片的30%至50%。因此,需要首先测试和诊断扫描链。如以下所详细讨论的,故障的扫描链可以通过相对简单的方法来检测。然而,定位有缺陷的扫描单元是有挑战性的。物理故障分析仪器与测试仪相结合,有时用来沿扫描链搜索有缺陷的响应。这些基于硬件的方法通常依赖于专门设计的扫描链和扫描单元。虽然在隔离扫描链缺陷方面有效,但额外硬件的要求在很多实际产品中可能是无法接受的。而且,在不采用旁通模式的情况下,很难将这些方法应用于带有嵌入式压缩电路的芯片。

基于软件的技术使用算法诊断程序来识别故障扫描单元。其可以使用具有或不具有嵌入式压缩的传统扫描链来运行链诊断。目前基于软件的链诊断技术可以进一步分为两类:基于模型的算法和数据驱动的算法。在基于模型的链诊断过程中,使用故障模型和模式模拟。在数据驱动的链诊断过程中,应用信号分析、过滤和边缘检测。每种算法类型有其自己的优点和缺点。这两者还可以合并起来以提高诊断分辨度和诊断准确度。虽然传统方法对于行为与已建模的故障完全相同(例如,在扫描单元的输出处的固定0故障)的缺陷可以取得满意的结果,但是扫描链中的缺陷通常展示出未建模的故障行为(例如,间歇性故障行为)。对于未建模的故障,诊断准确度和诊断分辨度均可能显著下降。

使用双向扫描链(或可逆扫描链)来提升链诊断准确度和分辨度是由P.Song于“一种用于提升扫描链诊断和延迟故障覆盖率的新的扫描结构”,在第9届IEEE北大西洋测试研讨会(NATW,North Atlantic Test Workshop)会议论文集,2000年,pp.14-18中首次提出的。由Ip.com于2007年11月21日发表的题为“用于数字电路测试的双向扫描链”的论文讨论了类似的技术。第9,222,978号美国专利和第10,156,607号美国专利也公开了通过可逆扫描链进行正向和反向两个方向的扫描测试。所有这些公开文献中的技术有一个共同特征:用于扫描链的两个相反的扫描路径在扫描链上的扫描单元之外部分地分离。

图1示出了根据这些公开的技术的可逆扫描链的两个框图110和120的示例。扫描链包括三个扫描单元130、140和150,以及四个多路复用器135、145、155和165。从端口160提供的控制信号用作用于四个多路复用器135至165的选择信号。在框图110中,如带箭头的实线所示,控制信号启用遵循多路复用器135-扫描单元130-多路复用器145-扫描单元140-多路复用器155-扫描单元150-多路复用器165的顺序的扫描路径。在框图120中,如带箭头的实线所示,控制信号反转并启用不同的扫描路径多路复用器155-扫描单元150-多路复用器145-扫描单元140-多路复用器135-扫描单元130-多路复用器165。两个路径的确共享公共分段,例如多路复用器135和扫描单元130之间的一个分段,但很多其他分段对于正向路径或反向路径是独特的。传统架构在促进链诊断的同时,会引起太多的硅面积开销(siliconarea overhead)和布线堵塞。

发明内容

所公开技术的各个方面涉及可逆扫描架构中的链测试和诊断。在一个方面,存在一种电路,包括:包括有包括双向扫描单元的多个扫描链的电路,所述双向扫描单元中的每个双向扫描单元包括两个串行输入-输出端口,所述串行输入-输出端口基于控制信号用作串行数据输入端口或者串行数据输出端口,所述多个扫描链中的每个扫描链被配置为基于所述控制信号在第一方向或第二方向执行移位操作,所述第一方向与所述第二方向相反。

所述双向扫描单元中的每个双向扫描单元可以还包括两个三态缓冲器,所述两个三态缓冲器的输出分别耦接到所述所述双向扫描单元中的每个双向扫描单元的所述两个串行输入-输出端口,并且所述两个三态缓冲器分别由所述控制信号和所述控制信号的反相控制。所述两个三态缓冲器在解多路复用器中。每个所述扫描单元可以还进一步包括多路复用器,所述多路复用器的两个输入分别耦接到所述两个三态缓冲器的输出。每个所述扫描单元还可以进一步包括常规扫描单元,所述常规扫描单元的串行输出耦接到所述两个三态缓冲器的输入。

可替代地,每个所述扫描单元可以还包括多路复用器和解多路复用器,所述解多路复用器的两个输出分别耦接到所述两个串行输入-输出端口,并且所述多路复用器的两个输入分别耦接到所述两个串行输入-输出端口。

可替代地,每个所述扫描单元还包括分别由所述控制信号和所述控制信号的反相控制的第一对三态缓冲器和第二对三态缓冲器,所述第一对三态缓冲器中的一个三态缓冲器的输出耦接到所述两个串行输入-输出端口中的一个,所述第二对三态缓冲器中的一个三态缓冲器的输出耦接到所述两个串行输入-输出端口中的另一个。

在另一个方面,存在一个或多个计算机可读介质,其存储有用于使计算机执行方法的计算机可执行指令,所述方法包括:在电路设计中创建多个扫描链以测试根据所述电路设计制造的芯片,所述多个扫描链包括:双向扫描单元,所述双向扫描单元中的每个双向扫描单元包括两个串行输入-输出端口,所述串行输入-输出端口基于控制信号用作串行数据输入端口或者串行数据输出端口,所述多个扫描链中的每个扫描链被配置为基于所述控制信号在第一方向或第二方向执行移位操作,所述第一方向与所述第二方向相反。

在又一个方面,存在一种双向扫描单元,包括:两个串行输入-输出端口,所述串行输入-输出端口基于控制信号用作串行数据输入端口或者串行数据输出端口;两个三态缓冲器,所述两个三态缓冲器的输出分别耦接到所述两个串行输入-输出端口,所述两个三态缓冲器分别由所述控制信号和所述控制信号的反相控制;以及状态元件,所述状态元件的输出耦接到所述两个三态缓冲器的输入。

所述两个三态缓冲器可以在解多路复用器中。所述状态元件可以为触发器。

双向扫描单元可以还包括多路复用器,所述多路复用器的两个输入分别耦接到所述两个三态缓冲器的输出。

双向扫描单元可以还包括两个附加三态缓冲器,所述两个附加三态缓冲器的输入分别耦接到所述两个串行输入-输出端口,所述附加的两个三态缓冲器分别由所述控制信号和所述控制信号的反相控制。

某些创造性方面在所附的独立权利要求和从属权利要求中进行阐述。来自从属权利要求的特征可以适当地与独立权利要求中的特征和其他从属权利要求中的特征相结合,而不仅仅如权利要求中明确阐述的那样。

在上文中已经描述了各个创造性方面的某些目的和优点。当然,应当理解,并非所有这些目标或优点均可以根据所公开技术的任何特定实施例来实现。因此,例如,本领域技术人员将认识到,可以以实现或优化如本文所教导的一个优点或一组优点的方式来体现或实施所公开的技术,而无须实现本文所教导的或建议的其他目标或优点。

附图说明

图1示出了分别显示两个不同扫描方向的包括传统的扫描单元的可逆扫描链的两个框图的示例。

图2A示出了根据所公开技术的各个实施例的包括双向扫描单元的可逆扫描链的示例。

图2B示出了根据所公开技术的各个实施例的双向扫描单元的框图的示例。

图3示出了根据所公开技术的各个实施例的分别用于两个不同扫描方向的可逆扫描链的两个框图的示例。

图4示出了根据所公开技术的各个实施例的分别用于两个不同扫描方向的可逆扫描链的两个框图的另一个示例。

图5A示出了根据所公开技术的各个实施例的分别用于两个不同扫描方向的可逆扫描链的两个框图的又一个示例。

图5B示出了根据所公开技术的各个实施例的可以在图5A中的双向扫描单元中使用的解多路复用器的框图的示例。

图6A示出了被插入双向扫描单元中以用于一个扫描方向的管线单元的示例。

图6B示出了被插入到双向扫描单元中以用于二个扫描方向的管线单元的示例。

图7示出了可以采用所公开技术的各个实施例的可编程计算机系统。

具体实施方式

所公开技术的各方面涉及在可逆扫描架构中的链测试和诊断。在以下的描述中,为了解释的目的阐述了许多细节。然而,本领域普通技术人员会认识到,可以在不使用这些特定细节的情况下实践所公开的技术。在其他情况中,所熟知的特征未被详细描述,以避免混淆所公开的技术。

本文所描述的一些技术可以通过存储在计算机可读介质上的软件指令、在计算机上执行的软件指令、或者两者的组合来实现。例如,一些所公开技术可以实现为电子设计自动化(EDA,electronic design automation)工具的一部分。该方法可以在单个计算机或联网计算机上执行。

虽然为了便于表达而以特定顺序描述了所公开方法的操作,但是应当理解,这种描述方式涵盖重新排列,除非由以下阐述的特定语言要求特定的排序。例如,按顺序描述的操作在一些情况下可以被重新排列或同时地执行。此外,为了简单起见,所公开的流程图和框图通常没有显示出其中特定方法可以与其他方法结合使用的各种方式。

方法或设备的详细描述有时使用如“执行”的术语来描述所公开的方法或设备功能/结构。该术语是高层级描述。对应于这些术语的实际操作或功能/结构将根据特定实施方式而变化,并且本领域普通技术人员是容易辨别的。

此外,如本文所使用的,术语“设计”旨在涵盖描述整个集成电路设备的数据。然而,该数据还旨在涵盖描述整个设备的一个或多个部件(例如集成电路设备的一部分)的更小的数据组。

在本申请中使用的单数形式“一”、“一个”和“该”包括复数形式,除非上下文另有明确规定。此外,术语“包含(include)”涵盖“包括(comprise)”。此外,术语“耦接”包括机械的、电的、磁的、光学的、以及将物件耦接或链接在一起的其他实际方式,并且不排除耦接的物件之间存在中间元件。此外,如本文所使用的,术语“和/或”意指该短语中的任何一项或多项的组合。

特征尺寸的减小增加了集成电路中的制造缺陷将导致故障芯片的可能性。非常小的缺陷可以导致故障的晶体管或互连线。即使单个故障的晶体管或连线也可以导致整个芯片不正确地工作。尽管如此,制造缺陷是无法避免的,无论制造过程是处于原型阶段还是大批量制造阶段。因此,有必要在制造过程中测试芯片。还有必要诊断故障芯片来提高和维持制造良率。

测试通常包括将一组测试刺激(测试模式)应用于被测试电路,并然后,分析被测试电路所生成的响应。功能测试试图验证被测试电路是否按照其功能规范运行,而结构测试尝试确定被测试电路是否正确地由结构性网表中指定的一些低级别构建块组装,以及这些低级别构建块和它们的线路连接是否制造得没有缺陷。对于结构测试,假设如果功能性验证已经表明网表的正确性,并且结构测试已经确认结构电路元件的正确组装,那么电路应当正确地运行。结构测试已经被广泛地采用,至少部分地因为其使得测试(测试模式)生成能够专注于测试有限数量的相对简单的电路元件,而无须处理呈指数爆炸式增长的多种功能状态和状态转换。

为了更容易开发和应用测试模式,某些可测试性特征被添加到电路设计中,这被称为测试设计或可测试性设计(DFT,design for testability)。扫描测试是最常见的DFT方法。在基本的扫描测试方案中,电路设计中的所有或大部分内部时序状态元件(锁存器、触发器等)通过串行接口可控制和可观察。这些功能状态元件通常被称为扫描单元的两用状态元件所取代。扫描单元连在一起形成扫描链-用于移入测试模式和移出测试响应的串行移位寄存器。扫描单元可以按照原本意图用于功能性目的那样来运行(功能/任务模式)以及可以作为扫描链中的单元来进行扫描(扫描模式)。广泛使用的扫描单元类型包括带有用于数据输入的双向多路复用器的边缘触发触发器。双向多路复用器通常由被称为扫描_使能的单个控制信号所控制,该控制信号为扫描单元从扫描信号输入端口或系统信号输入端口选择输入信号。扫描信号输入端口通常连接至另一个扫描单元的输出,而系统信号输入端口连接至功能逻辑。扫描单元既可以作为控制点,也可以作为观察点。控制点可以用于在被测试电路的一些位置处设置某些逻辑值,激发(激活)故障并将错误值传播至观察点。扫描测试使得测试设备通过主要输入/输出和/或一些物理测试点访问深度嵌入的门,并且在尝试控制或观察在一些内部电路元件中发生了什么时消除对复杂的状态转换序列的需要。

用于扫描测试的测试模式通常是通过自动化测试模型生成(ATPG,automatictest pattern generation)过程所生成的。ATPG通常聚焦于从门级故障模型得出的一组故障。缺陷是在制造过程中在设备中引起的错误。故障模型是关于缺陷如何改变设计行为的描述。也即是说,缺陷是可能导致故障的毛病或物理瑕疵。对于给定的目标故障,ATPG包括两个阶段:故障激活和故障传播。故障激活在故障位点(site)建立一个与故障产生的信号值相反的信号值。故障传播通过对从故障位点到扫描单元或主输出的路径进行敏感化来向前传播故障效应。如果由扫描单元或主输出所捕获的测试响应值与期望值不同,则称位点处的故障被测试模式检测到。ATPG的目标是发现测试模式,当应用于电路,该测试模式使测试仪能够区分正确电路行为和由一个或多个特别故障引起的故障电路行为。ATPG的有效性通过针对故障模型取得的故障覆盖率和所生成向量的数量(测试模式计数)来衡量,其应当与测试应用时间成正比。此处,故障覆盖率被定义为检测出的故障的数量与故障总数的比率。

实践中使用的最流行的故障模型是单一固定故障模型。在这种模型中,假设电路中的其中一条信号线路被固定在固定逻辑值,而不管提供给电路的输入是什么。固定故障模型是逻辑故障模型,因为没有延迟信息与故障定义相关联。延迟故障导致基于其时序的电路功能出现错误。延迟故障是由门中的信号的有限的上升时间段和下降时间段以及门之间的互连的传播延迟所引起的。转换故障由于其简单性而被用于对影响在门输入处或门输出处的延迟的点缺陷进行建模。在基于扫描的测试下,转换故障与额外延迟相关联,该额外延迟大得足以导致任何通过故障位点的路径的延迟超过时间周期。单元内部故障模型可以使用晶体管级别电路仿真(模拟仿真)来得出。这种方法可以针对各种单元内部缺陷精确定位单元内的缺陷位置。

在电路设计和制造过程中,制造测试筛选出包含有缺陷的芯片(管芯)。然而,测试本身并没有识别出可能观察到的不可接受的低良率或波动良率的原因。物理故障分析(PFA,physical failure analysis)可以检查故障芯片以定位一个或多个缺陷位置并发现根本原因。该过程通常包括蚀刻掉某些层,然后通过扫描电子显微镜或聚焦离子束系统对硅表面进行成像。该PFA过程费力且耗时。为了促进PFA过程,通常采用诊断(也称为扫描诊断)来基于分析失败日志(失败文件、故障文件或故障报告)来缩窄一个或多个可能的缺陷位置。失败日志通常包含关于何时(例如,测试仪周期)、何处(例如,在哪个测试仪通道)、如何(例如,以什么逻辑值)测试失败以及哪个测试模型生成期望的测试响应的信息。还可以使用电路设计的布局信息来进一步减少疑似缺陷的数量。

诊断包括逻辑诊断(有时称为扫描诊断或诊断)和链诊断。逻辑诊断可以使用故障字典或直接检查故障芯片的综合征(例如,效应)来确定可能的缺陷位置(疑似缺陷)。后一种方法可以包括结构修剪(回溯)、故障注入和评估(对失败测试模式和通过测试模式两者的故障仿真)。诊断质量可以通过诊断分辨度(实际缺陷的数量与疑似缺陷的数量的关系)来衡量。诊断分辨度不仅与用于诊断的算法相关,还与用于制造测试的测试模式(制造测试模式)相关。为了提升诊断质量,可以使用诊断测试模式生成过程。该过程生成可以改善疑似缺陷集合的测试模式。

链诊断确定可能有缺陷的扫描单元。在链诊断过程中,可以使用两种类型的测试模式。第一种类型称为链模式。链模式是在包括移入和移出的过程中使用而不需要脉冲时钟捕获的模式。其他类型通常称为扫描模式。扫描模式是在包括移入、一个或多个捕获时钟周期和移出的过程中使用的模式,并且扫描模式包括由ATPG生成的用于测试系统逻辑的模式、仅为了扫描链的诊断目的而生成的特定链诊断模式和一些特定功能模式。链模式可以用于测试扫描链的完整性和/或确定与故障扫描链相关联的故障模型,而扫描模式可以用于将某些值注入到一些扫描单元以用于定位有缺陷的扫描单元。

通常由自动测试设备(ATE,automatic test equipment)(测试仪的一种类型)执行芯片制造测试中的测试应用。基于扫描的测试会在ATE上耗费大量的存储空间和测试时间。数据量随着芯片上的逻辑门的数量而增加,并且同样适用于扫描单元的数量。然而,实际考虑和ATE规范通常限制扫描输入/扫描输出的可用引脚的数量和最大扫描频率两者。非常需要减少需要加载到ATE并最终加载到被测试电路的测试数据量。幸运的是,测试模式是可压缩的,主要是因为仅1%至5%的测试模式位通常是指定位(关注位),而其余的是未指定位(无关位)。未指定位可以采用任何值而不影响故障覆盖率。测试压缩还可以利用测试多维数据集(test cube)往往趋于高度相关的事实。测试多维数据集是确定性的测试模式,其中无关位不由ATPG填充。存在相关性是因为在电路中故障在结构上是相关的。

已开发出各种测试压缩技术。一般来说,在扫描链之前和扫描链之后插入附加的芯片上硬件。在扫描链之前添加的硬件(解压缩器)被配置为对来自ATE的测试刺激进行解压缩,而在扫描链之后添加的硬件(压缩器)被配置为对由扫描链捕获的测试响应进行压缩。解压缩器将来自n个测试通道的数据扩展以填充多于n个扫描链。扫描链数量的增加缩短了每个扫描链,并因此减少了移入每个测试模式所需的时钟周期的数量。因此,测试压缩不仅可以减少存储在测试仪上的数据量,还可以减少用于给定测试数据带宽的测试时间。

所有上述过程、用于测试的设计插入、测试模式生成和逻辑诊断,通常由各种电子设计自动化工具来执行,如那些可从Mentor Graphics Corporation、Wilsonville、Oregon获得的Tessent系列软件工具。

图2A示出了根据所公开技术的各个实施例的可逆扫描链200的示例。可逆扫描链200包括双向扫描单元230、240、…和250。这些双向扫描单元230、240、…和250中的每一个包括两个串行输入-输出端口,所述串行输入-输出端口可配置为基于控制信号210用作串行数据输入或者串行数据输出。因此,可逆扫描链200可以基于控制信号通过相同的扫描路径(而不是通过图1所示的扫描链所使用的不同路径)在从左到右的方向或者在从右到左的方向上执行移位操作。虽然双向扫描单元230、240、…和250可能包括比传统扫描单元更多的部件,但不需要图1所示的多路复用器135、145、155和扫描单元之间的额外布线。而且,双向扫描单元可以被设计和优化为不明显大于传统的扫描单元。总体而言,由根据所公开技术的各个实施例实现的单路径可逆扫描链引起的硅面积开销(与传统的单向扫描链相比)的增加,可以小于由传统的双路径可逆扫描链引起的硅面积开销的增加。

双向扫描单元230、240、…和250中的每一个可以还包括两个三态缓冲器。三态缓冲器是一种设备,其输出端口具有三种状态:高阻抗状态、逻辑1状态、逻辑0状态。呈现高阻抗状态的输出端口有效地从电路中去除三态缓冲器的输出。输出端口是呈现逻辑1状态还是逻辑0状态取决于输入端口处的信号。三态缓冲器的控制端口处的控制信号确定输出端口是否呈现高阻抗状态。图2B示出了根据所公开技术的各个实施例的这种双向扫描单元220的框图的示例。扫描单元220包括两个三态缓冲器260和270。三态缓冲器260由控制信号221控制,以及三态缓冲器270由控制信号221的反相所控制。两个三态缓冲器260和270的输出分别耦接到双向扫描单元220的串行输入-输出端口223和222。当控制信号210有效(asserted)时,三态缓冲器270呈现高阻抗状态,允许串行输入-输出端口222用作双向扫描单元220的串行输入端口;当控制信号210无效时,三态缓冲器260呈现高阻抗状态,允许串行输入-输出端口223用作双向扫描单元220的串行输入端口。双向扫描单元230、240、…和250中的每一个还可以进一步包括常规扫描单元。常规扫描单元的串行输出耦接到两个三态缓冲器的输入。

图3示出了根据所公开技术的各个实施例的分别用于两个不同扫描方向的可逆扫描链的两个框图300和305的示例。可逆扫描链包括三个双向扫描单元310、320、330。每个双向扫描单元310、320、330包括扫描元件(311、321、331)、由控制信号340控制的一对三态缓冲器(312/313、322/323、332/333)和由控制信号340的反相控制的一对三态缓冲器(314/315、324/325、334/335)。此处,扫描元件包括例如触发器的状态元件。

在框图300中,控制信号340有效。三态缓冲器对312/313、322/323、332/333处于允许其输出跟随其输入的状态,而三态缓冲器对314/315、324/325、334/335处于阻挡其输出的高阻抗状态。因此,移位操作中的信号路径遵循三态缓冲器312–扫描元件311–三态缓冲器313–三态缓冲器322–扫描元件321–三态缓冲器323–三态缓冲器332–扫描元件331–三态缓冲器333的顺序。因此,控制信号340有效时,移位操作的方向是从左到右。

在框图305中,控制信号340无效。三态缓冲器对314/315、324/325、334/335处于允许其输出跟随其输入的状态,而三态缓冲器对312/313、322/323、332/333处于阻挡其输出的高阻抗状态。因此,移位操作中的信号路径遵循三态缓冲器333–扫描元件331–三态缓冲器332–三态缓冲器323–扫描元件321–三态缓冲器322–三态缓冲器313–扫描元件331–三态缓冲器312的顺序。因此,当控制信号340无效时,移位操作的方向是从右到左。

图4示出了根据所公开技术的各个实施例的分别用于两个不同扫描方向的可逆扫描链的两个框图400和405的另一个示例。可逆扫描链包括三个双向扫描单元410、420、430。每个双向扫描单元410、420、430包括扫描元件(411、421、431)、由控制信号440控制的三态缓冲器(413、423、433)由控制信号440的反相控制的三态缓冲器(414、424、434)和由控制信号440控制的多路复用器(412、422、432)。此处,扫描元件包括例如触发器的状态元件。

在框图400中,控制信号440有效。三态缓冲器413、423、433处于允许其输出跟随其输入的状态,而三态缓冲器414、424、434处于阻挡其输出的高阻抗状态。多路复用器412、422、432选择其第一输入(图中顶部的输入)用于输出。因此,移位操作中的信号路径遵循多路复用器412–扫描元件411–三态缓冲器413–多路复用器422–扫描元件421–三态缓冲器423–多路复用器432–扫描元件431–三态缓冲器433的顺序。因此,当控制信号440有效时,移位操作的方向是从左到右。

在框图405中,控制信号440无效。三态缓冲器414、424、434处于允许其输出跟随其输入的状态,而三态缓冲器413、423、433处于阻挡其输出的高阻抗状态。多路复用器412、422、432选择第二输入(图中底部的输入)用于输出。因此,移位操作中的信号路径遵循多路复用器432–扫描元件431–三态缓冲器434–多路复用器422–扫描元件421–三态缓冲器424–多路复用器412–扫描元件411–三态缓冲器414的顺序。因此,当控制信号440无效时,移位操作的方向是从右到左。

图5A示出了根据所公开技术的各个实施例的分别用于两个不同扫描方向的可逆扫描链的两个框图500和505的又一个示例。可逆扫描链包括三个双向扫描单元510、520、530。每个双向扫描单元510、520、530包括扫描元件(511、521、531)、多路复用器(512、522、532)和解多路复用器(513、523、533)。多路复用器(512、522、532)和解多路复用器(513、523、533)均由控制信号540控制。此处,扫描元件包括例如触发器的状态元件。

在框图500中,控制信号540有效。多路复用器512、522、532选择其第一输入(图中最顶部的输入)用于输出,并且解多路复用器513、523、533在其第一输出(图中最顶部的输出)上输出其输入信号。因此,移位操作中的信号路径遵循多路复用器512-扫描元件511-解多路复用器513-多路复用器522-扫描元件521-解多路复用器523-多路复用器532-扫描元件531-解多路复用器533的顺序。因此,当控制信号540有效时,移位操作的方向是从左到右。

在框图505中,控制信号540无效。多路复用器512、522、532选择其第二输入(图中底部的输入)用于输出,并且解多路复用器513、523、533在其第二输出(图中底部的输出)上输出其输入信号。因此,移位操作中的信号路径遵循多路复用器532-扫描元件531-解多路复用器533-多路复用器522-扫描元件521-解多路复用器523-多路复用器512-扫描元件511-解多路复用器513的顺序。因此,当控制信号540无效时,移位操作的方向是从左到右。

图5B示出了根据所公开技术的各个实施例的可以在图5A中的双向扫描单元510、520、530中使用的解多路复用器550的框图的示例。解多路复用器550包括两个三态缓冲器551、552和反相器553。解多路复用器550的信号输入555耦接到三态缓冲器551、552的输入;解多路复用器550的第一信号输出557耦接到三态缓冲器551的输出;以及解多路复用器550的第二信号输出556耦接到三态缓冲器552的输出。通过解多路复用器的选择端口554提供的控制信号直接地控制三态缓冲器551以及通过反相器553间接地控制三态缓冲器552。当控制信号有效时,三态缓冲器551处于允许第一输入557跟随输入555的状态,而三态缓冲器552处于阻挡第二输出556的高阻抗状态。当控制信号无效时,三态缓冲器552处于允许第二输入556跟随输入555的状态,而三态缓冲器551处于阻挡第一输出557的高阻抗状态。

图3、图4、图5A所示的每个双向扫描单元的并行数据输入和并行数据输出未示出,以便于说明。多路复用器可以紧接放置在双向扫描单元中的触发器的数据输入之前,以用于选择串行数据输入或并行数据输入,并且触发器的输出可以直接地耦接到功能电路。本领域普通技术人员将理解,图3、图4、图5A所示的双向扫描单元中的扫描元件可以是传统的单向扫描单元。本领域普通技术人员也将理解,虽然在图3、图4、图5A的每一个中仅示出了三个双向扫描单元,但是所公开技术可以适用于包含各种数量的双向扫描单元的扫描链。

管线单元可以被插入双向扫描单元,以用于一个扫描方向或两个扫描方向。图6A示出了插入双向扫描单元600以用于一个扫描方向的管线单元614的示例。双向扫描单元600包括多路复用器612、触发器611和解多路复用器613。管线单元614被插入在解多路复用器613的第二输出和多路复用器612的第二输入之间。因此,管线单元614对从右到左的扫描方向起作用。图6B示出了插入双向扫描单元600以用于两个扫描方向的管线单元615的示例。具体地,管线单元615被插入在多路复用器612的输出和触发器611的输入之间。因此,管线单元615对从右到左的扫描方向和从左到右的扫描方向均起作用。

所公开技术的各种示例可以由计算设备(例如,可编程计算机)通过执行软件指令来实现。例如,可以使计算设备执行用于在电路设计中创建包括双向扫描单元的扫描链的方法,以用于测试根据电路设计制造的芯片。因此,图7示出了计算设备701的说明性示例。如图中所见,计算设备701包括具有处理单元705和系统存储器707的计算单元703。处理单元705可以是用于执行软件指令的任何类型的可编程电子设备,但将通常是微处理器。系统存储器707可以包括只读存储器(ROM)709和随机存取存储器(RAM)711两者。如本领域普通技术人员将理解的,只读存储器(ROM)709和随机存取存储器(RAM)711都可以存储由处理单元705执行的软件指令。

处理单元705和系统存储器707通过总线713或可替代的通信结构直接地或间接地连接到一个或多个外围设备。例如,处理单元705或系统存储器707可以直接地或间接地连接到一个或多个附加存储器存储设备,例如“硬”磁盘驱动器715、可移动磁盘驱动器717、光盘驱动器719、或闪存卡721。处理单元705和系统存储器707可以直接地或间接地连接到一个或多个输入设备723和一个或多个输出设备725。输入设备723可以包括例如键盘、指点设备(例如鼠标、触摸板、触控笔、轨迹球或操纵杆)、扫描仪、相机和麦克风。输出设备725可以包括如监视器显示器、打印机和扬声器。在计算机701的各种示例中,外围设备715-725的一个或多个可以与计算单元703一起被容纳在内部。可替代地,外围设备715-725中的一个或多个外围设备可以在计算单元703的壳体的外部并通过如通用串行总线(USB)连接来连接至总线713。

在一些实施方式中,计算单元703可以直接或间接地连接至网络接口727,用于与构成网络的其他设备通信。网络接口727根据一种或多种通信协议(例如传输控制协议(TCP)和互联网协议(IP)),将来自计算单元703的数据和控制信号转换成网络消息。此外,接口727可以采用任意合适的连接代理(或代理的组合)以连接至网络,包括例如无线收发器、调制解调器、或者以太网连接。这样的网络接口和协议在本领域中是公知的,因此这里将不进行更详细讨论。

应当理解,计算设备701仅作为示例示出,而并非旨在限制。可以利用一个或多个计算设备来实现各个实施例,该计算设备包括图7所示的计算机701的部件,其仅包括图7所示的部件的子集,或包括这些部件的可替代组合,包括图7中未示出的部件。例如,可以使用多处理器计算机、设置在网络中的多个单处理器计算机和/或多处理器计算机、或者两者的某种组合来实现所公开技术的各个实施例。

所公开的技术的原理已经说明和描述,对于本领域技术人员来说明了的是,在不脱离这些原理的情况下,可以在布置和细节上对所公开的实施例进行修改。鉴于可以应用所公开的技术的原理的许多可能的实施例,应当认识到,所示出的实施例仅仅是该技术的优选示例,并不应被视为对所公开的技术的范围的限制。相反,所公开的技术的范围由随后的权利要求及其等效物所限定。因此,我们要求将落入这些权利要求的范围和精神内的所有技术作为我们所公开的技术。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:生物信息处理

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!