(微电子学与固体电子学专业论文)jtag边界扫描在fpga中的应用及电路设计.pdf_第1页
(微电子学与固体电子学专业论文)jtag边界扫描在fpga中的应用及电路设计.pdf_第2页
(微电子学与固体电子学专业论文)jtag边界扫描在fpga中的应用及电路设计.pdf_第3页
(微电子学与固体电子学专业论文)jtag边界扫描在fpga中的应用及电路设计.pdf_第4页
(微电子学与固体电子学专业论文)jtag边界扫描在fpga中的应用及电路设计.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(微电子学与固体电子学专业论文)jtag边界扫描在fpga中的应用及电路设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 边界扫描技术是一种应用于数字集成电路器件的标准化可测试性设计方法, 它提供了对电路板上元件的功能、互连及相互间影响进行测试的一种新方案,极 大地方便了系统电路的测试。本文基于i e e e1 1 4 9 1 标准剖析了j t a g 边界扫描 测试的精链,分析了其组成,功能与时序控制等关键技术。 应用在f p g a 芯片中的边界扫描电路侧重于电路板级测试,兼顾芯片功能测 试,同时提供j t a g 下载方式。针对在f p g a 芯片中的应用特点,设计了一种边 界扫描电路,应用于自行设计的f p g a 结构之中。除了基本的测试功能外,加入 了对f p g a 芯片进行配置、回读以及用户自定义测试等功能。 通过仿真验证,所设计的边界扫描电路可实现f p g a 芯片的测试、配置和回 读等功能,并符合i e e e1 1 4 9 1 1 边界扫描标准的规定,达到设计要求。 关键词:i e e e l1 4 9 1 标准边界扫描现场可编程门阵列可测性设计 a b s t r a c t a b s t r a c t b o u n d a r ys c a nt e c h n o l o g ya p p l i e dt ot h ed i 西t a li n t e g r a t e dc i r c u i t si sa ni n t e g r a t e d a n ds t a n d a r d i z e dm e t h o dt ot h ep r o b l e mo ft e s t i tp r o v i d e sas o l u t i o nt ot h et e s to f c o m p o n e n t f u n c t i o n a l i t y , b o a r di n t e r c o u n e c t i o na n di n t e r a c t i o n ,w h i c hf a c i l i t a t e st h e d e b u g g i n go fs y s t e mc i r c u i t r y t h i sp a p e ra n a l y z e st h ej t a gb o u n d a r ys c a nt e s tb a s e d o nt h ei e e es t d 114 9 1 ,w h i c hi n c l u d e st h es t r u c t u r e ,f u n c t i o na n dc o n t r o lo fj t a g 耽eb o u n d a r ys c a nc i r c u i ta p p l i e di nt h ef p g a c h i pf o c u s e so nt h ep c b l e v e lt e s t a n dc a l lp r o v i d ej t a g p r o g r a mm o d ea sw e l la st h ef u n c t i o nt e s to f t h ec h i p i nt h i s p a p e rab o u n d a r y s c a nc i r c u i ti sd e s i g n e db a s e do nt h ec h a r a c t e r i s t i c so ff p g a s t h e c i r c u i ti su s e di nas e l f - d e s i g n e dn e wa r c h i t e c t u r eo ff p g a b e s i d e sb a s i ct e s tf u n c t i o n , d e v i c e - c o n f i g u r a t i o n , d e v i e e - r e a d b a c kf u n c t i o n sa n dt e s tf u n c t i o n sd e f i n e db yu s e i sa r e a l s oa d d e di n t ot h ec i r c u i t a f t e rs t i m u l a t i n ga n dv e r i f i c a t i o n ,t e s tr e s u l t ss h o wt h a tt h ef p g a c h i pc a n r e a l i z e t h ed e s i r e df u n c t i o n so f t e s t ,c o n f i g u r a t i o n , r e a d b a c ka n ds oo ni na c c o r d a n c ew i t l l i e e e114 9 1b o u n d a r ys c a ns t a n d a r d ,a n dm e e t st h er e q u i r e m e n to ft h ed e s i g n k e y w o r d :i e e es t d 1 1 4 9 1b o u n d a r ys e a l l f p g a d e s i g nf o rt e s t 声明 学位论文独创性( 或创新l 生) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处, 本人签名:墓塞。 本人承担一切的法律责任。 日期鱼星:! :签 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后 本人签名:墓垫 导师签名: 适用本授权书。 日期塾墨:! :竺 日期2 1 i 厶塑 第一章绪论 第一章绪论 1 1 课题研究背景 电路测试在电子电气领域是一个永恒的话题,它是电路研发与应用方面的重 要组成部分。在利用电子手段检测印制电路板( p c b ) 的结构缺陷方面,在线测试 ( i c t ) 系统一直处于领先地位。i c t 系统用针床夹具同时连接多达7 0 0 0 个左右电路 节点。但是,随着多层电路板和球栅阵列( b g a ) 封装的广泛应用,电路通路不再 是安装有双列直插式封装( d i p ) 和分立元件的单面p c b 时代了。当9 0 1 0 0 的测 试点可与针床连接时,这样做是行得通的。但是,针床的覆盖范围缩小到1 0 ,或 者更低时,这种情况就是不可以接受的。为了弥补连接电测试点的物理通路的不 足,边界扫描应运而生,它能连接夹具探针不能连接的节点。此外,即使在有通 路时,边界扫描也是一种无夹具的测试方法。 不同于传统的通过探针物理接触而进行测试的方法,边界扫描在芯片“核心 逻辑 的输入输出端口和i o 管脚间插入移位寄存器链。通过这条边界扫描链既可 以监测i o 信号,也可以截断“核心逻辑 和管脚间的信号,用移位寄存器链中的数 据控制“核心逻辑”和芯片的输入输出,从而完成施加测试向量和读取测试相应 的工作,进行测试。 边界扫描逻辑自从1 9 8 5 年被联合测试行动小组j t a g ( j o i n tt e s ta c t i o ng r o u p ) 提出,并于1 9 9 0 年发展成为i e e e1 1 4 9 1 标准u 1 ,至今已有2 0 多年的发展。它也从 最初的简单板级测试,发展到复杂系统级测试,乃至已经发展到数字模拟混合信 号测试和在系统可编程等领域。 边界扫描技术是目前集成电路测试领域主流的测试解决方案,主要应用于数 字集成电路器件的测试性结构设计。所谓“边界是指测试电路被设置在集成电 路器件功能逻辑电路的四周,位于靠近器件输入、输出引脚的边界处。所谓“扫 描 是指连接器件各输入、输出引脚的测试电路实际上是一个串行移位寄存器, 这种串行移位寄存器被叫做“扫描路径,沿着这条路径可输入由“1 和“0 组成的各种编码,对电路进行“扫描 式检测,从输出结果判断其是否正确。含 有边界扫描逻辑的器件通过将数据输出n i o 弓 脚上,以测试板级器件间的互连。 该电路还可用于内部传送信号以测试器件的特定行为。这些测试通常用来检测板 级和器件级的通路和短路。通过边界扫描扫描链i o 的访问,可以消除或极大地减 少对电路板上物理测试点的需要,这就会显著节约成本,因为电路板布局更简单、 测试夹具更廉价、电路中的测试系统耗时更少、标准接口的使用增加、上市时间 2 j t a g 边界扫描在f p g a 中的应用及电路设计 更快。除了可以进行电路板测试之外,边界扫描允许在p c b 贴片之后,在电路板 上对几乎所有类型的c p l d 和闪存进行编程,无论尺寸或封装类型如何。在系统编 程可通过降低设备处理、简化库存管理和在电路板生产线上集成编程步骤来节约 成本并提高产量。 由此可见,边界扫描测试主要优势如下: 方便芯片故障定位,迅速准确地测试各个芯片管脚的连接可靠与否,提高测试 检验效率; 具有j t a g 接口的芯片,内置一些预先定义好的功能模式,通过边界扫描通道 来使芯片处于某个特定的功能模式,以提高系统控制的灵活性和方便系统设 计; 通过对j t a g 功能的扩展,可以方便地应用于p l d 配置验证等多个领域。 边界扫描技术经过多年的推广,已经由最初只为支持测试具有边界扫描结构 的数字电路,到现今在很多方面都有应用,如:板互连“连续性 测试;全系统 级测试;片上测试,包含内部功能块测试,内装自测试b i s t ;编程f p g a 和闪存; 系统诊断和重新配置:嵌入到系统中或通过电话线远程实现。 1 2 课题来源及研究内容 边界扫描电路的设计对于大规模集成电路系统可测性,特别是可编程器件的 现场升级、维护有很大的作用。i e e e1 1 4 9 1 边界电路已在业界成为一种流行的可 测性设计,被众多a s i c 和f p g a 生产商采用。边界扫描的功能相对独立于芯片核心 功能,可以作为p 核用于许多设计应用之中,对边界扫描标准的研究和电路的设计 有较大的理论研究与工程价值。 本课题源自深圳市国微电子股份有限公司设计四部的s m q v l 0 0 项目。此项目 是设计一款基于s r a m 工艺的f p g a 。f p g a 的应用中,需要线测试、在线编程的 功能,并且其测试功能偏重于电路板级测试。针对这样的特点,本文提出了一种 边界扫描与编程电路的设计。此边界扫描电路集成在所设计的f p g a 中,并选择了 针对f p g a 应用特定的边界扫描测试功能,并加入编程功能。 1 3 论文内容及组织 本文共分为六章,每张的内容具体安排如下: 第一章绪论。概述了本课题的来源、背景、研究内容及意义。 第一章绪论3 第二章j t a g 边界扫描原理及其分析。这一章详细阐述了j t a g 边界扫描测试 的基本原理,j t a g 边界扫描系统的结构以及边界扫描的指令集。 第三章j t a g 边界扫描在f p g a 中的应用。这一章介绍了f p g a 芯片中的j t a g 边界扫描的功能和应用。 第四章s m q v l 0 0 d p j t a g 边界扫描电路的设计。这一章是在f p g a 芯片中嵌入 兼容i e e e1 1 4 9 1 标准,且符合项目中规定功能的边界扫描电路的设计介绍。 第五章j t a g 边界扫描电路的调试和仿真。这一章介绍了j t a g 边界扫描电路 仿真平台的建立,对所设计的电路的仿真和调试,使其满足设计要求。 第六章结束语归纳了本论文的主要内容,并展望课题的下一步工作。 第二章m g 边界扫描原理及其分析5 第二章j t a g 边界扫描原理及其分析 2 1j t a g 边界扫描测试的基本原理 边界扫描测试是通过在芯片的每个i o 脚附加一个边界扫描单元 b s c ( b o u n d a r ys c a nc e l l ) 以及一些附加的测试控制逻辑实现的,b s c 主要是由寄存 器组成的。每个i o 管脚都有一个b s c ,每个b s c 有两个数据通道:一个是测试数据 通道,测试数据输入t d i ( t e s td a t ai n p u t ) 、测试数据输出t d o ( t e s td a t ao u t p u t ) ;另 一个是正常数据通道,正常数据输入n d i ( n o r m a ld a t ai n p u t ) 、正常数据输出 n d o ( n o r m a ld a t ao u t p u t ) 。如图2 1 所示。 l 图2 1 边界扫描单元b s c 的连接 在正常工作状态,输入和输出数据可以自由通过每个b s c ,正常工作数据从n d i 进,从n d o 出。在测试状态,可以选择数据流动的通道:对于输入的i c ( 集成电 路,i n t e g r a t e c lc i r c u i t ) 管脚,可以选择从n d i 或从t d i 输入数据;对于输出的i c 管脚, 可以选择从b s c 输出数据至n d o ,也可以选择从b s c 输出数据至t d o 。 图2 2 所示是边界扫描测试应用的示意图。为了测试两个j t a g 设备的连接,首 先将j t a g 设备1 某个输出测试脚的b s c 置为高或低电平,输出至n d o ,然后,让 j t a g 设备2 的输入测试脚来捕获从管脚输入的n d i 值,再通过测试数据通道将捕获 到的数据输出至t d o ,对比测试结果,即可快速准确的判断这两脚是否连接可靠。 除了测试之外,边界扫描为器件提供了很大的灵活性,就是它可以有自己的 用户定义的指令集。所增的一般供应商特定的指令,如配置和验证,大大提高了 边界扫描测试和功能性的普及性。 6 j t a g 边界扫描在f p g a 中的应用及电路设计 图2 2 边界扫描测试应用示意图 2 2j t a g 边界扫描系统的构成 支持边界扫描逻辑的元器件与测试相关的所有外部通信( 指令、测试数据和 测试结果) 都采用串行通信方式,允许测试指令及相关的测试数据串行送给元器 件,然后允许把测试指令的执行结果从元器件串行读出。为完成这样的功能,边 界扫描技术包含了一个与元器件的每个引脚相接、包含在边界扫描寄存器单元中 的寄存器链,这样元器件的边界信号可用扫描测试原理进行控制和观察,这也是 边界扫描的含义。 i e e e1 1 4 9 1 标准的测试接入端口和边界扫描结构完全兼容。该结构中包括了 在i e e e1 1 4 9 1 标准中所定义的所有的j t a g 模块,其中包括测试端口控制器 t a p ( t e s ta c c c s sp o r t ) c 0 n 仃d n e r 模块、指令寄存器i r ( i n s t r u c t i o nr e g i s t e r ) 模块以及数 据寄存器d r ( d a t ar e g i s t e r ) 模块。 t a p 将根据t r s t ( t e s tr e s e ti n p u t ) 、t c k ( t e s tc l o c ki n p u t ) 、t m s ( t e s tm o d es e l e c t i n p u t ) 三个输入信号而产生一组对瓜与d r 的控制信号。它对测试接入端口提供的 控制序列作出响应,并产生t a p 的控制序列( 时钟和控制信号等) ,从而控制其它 的测试模块。瓜模块响应t a p 模块的控制而产生相应的控制信号,然后与t a p 模块 共同控n d r 模块的动作,比如数据从t d i ( t e s td a t ai n p u t ) 移入或从t d o ( t e s td a t a o u t p u t ) 移出等操作。 边界扫描逻辑结构主要由三个模块组成:测试端口控制器t a pc o n t r o l l c r 模块、 指令寄存器m 模块、数据寄存器d r 模块。边界扫描逻辑结构构成以及各个模块间 逻辑控制关系大致如图2 3 所示。 第二章m g 边界扫描原理及其分析 7 图2 3j t a g 边界扫描系统结构 j t a g 边界扫描系统引脚简介: t d i ( t e s td a t ai n p u t ) :数据串行输入引脚。t a p 控制器状态和指令寄存器内容决 定了响应t d i 执行操作的寄存器,t d i 的移入发生在t c k 上升沿; t d o ( t e s td a t ao u t p u t ) :数据串行输出引脚。t a p 控制器状态和指令寄存器内 容决定了哪个寄存器为规定操作响应t d o 。只有一个指令或数据寄存器在t d i 与t d o 间连接,来执行j t a g 操作。在t c k 的下降沿t d o 的状态改变,并 且只有数据在整个器件中移位时t d o 端口才是有效输出,否则t d o 将处于 高阻态。 t m s t a p 控制器的模式选择输入引脚。t a p 控制器是一个1 6 状态的有限状态 机f s m ( f i n i t es t a t em a c h i n e ) 。在t c k _ j 亡升沿,t m s 决定t a p 控制器的状态序 j t a g 边界扫描在f p g a 中的应用及电路设计 列。 t c k ( t e s tc l o c ki n p u t ) :j t a g 边界扫描测试电路的时钟引脚。给t a p 控制器 和寄存器提供时钟信号。有一些操作在时钟的上升沿触发,还有一些操作在时 钟的下降沿触发。 t r s t ( t 鳅r e s e ti n p u t ) :低电平时,异步复位边界扫描电路( 根据i e e e11 4 9 1 标准,此引脚为可选) 。当t a p 控制器被置入r t e s t - l o g i c r e s e t 状态时, i d c o d e 指令被装载为激活指令。另外,在器件不支持d c o d e 指令时 b y p a s s 指令将是缺省激活指令。 2 2 1t a p 控制器 t a p 控制器是j t a g 边界扫描测试核心控制器。标准j t a g 控制器有t c k ( 测 试时钟) 、t m s ( 测试模式选择) 、t d i ( 测试数据输入) 、t d o ( 测试数据输出) 与t r s t ( 测试复位,该端口可自行选择) 端口。t m s 、t c k 、t r s t 引脚管理 t a p 控制器操作,t d i 和t d o 为数据寄存器提供串行通道。t d i 也为指令寄存器 提供数据,然后为数据寄存器产生控制逻辑。寄存器选择、数据装载及数据移出 的控制信号由t c k 和t m s 两个控制信号决定。 t a p 控制器主要由一个有限状态机( f s m ) 构成。图2 4 显示了t a p 状态机 的状态转换序列。一共1 6 个状态,状态间的跳转取决于t c k 时钟上升沿到来时 t m s 的电平状态。j t a g 边界扫描系统在不同的状态下完成不同的逻辑操作。 t a p 控制器状态机的各个状态描述: t e s t l o g i c r e s e t ( t l r ) : 该状态下,测试逻辑被禁用从而使此器件可以正常工作。当器件第一次被打 开的时候,只要边界扫描逻辑含有用户标识i d ( i d e n t i f i c a t i o nd a t a ) 寄存器,那 么指令寄存器就会自动装载d c o d e 指令。否则,j t a g 逻辑会自动引入b y p a s s 寄存器。一般地,测试逻辑复位t l r ( t e s tl o g i cr e s e t ) 在t a p 控制器上电时才开 始工作,测试程序员能够通过给t r s t 施加低电平或使t m s 为高电平并持续至少 5 个t c k 上升沿,来迫使t a p 控制器进入测试逻辑复位的状态。 r u n t e s t i d l e ( r t i ) : 该状态为测试逻辑运行或测试闲置状态。t a p 控制器在t m s 保持低电平的状 态下会保持r t i 的状态,而在t c k 上升沿时若t m s 为高电平则f s m 会跳出l 汀i 状态, 然后移入s e l e c t - d r s c a n 状态。 s e l e c t d r - s c a n : 这个状态扮演一个开关类型的角色,在下一个t c k 的上升沿t a p 控制器会 开始数据寄存器的扫描( t m s = 0 ) 或者移入s e l e c t r - s c a n 状态( t m s = i ) 。 c a p t u r e - d r : 第二章j t a g 边界扫描原理及其分析 9 该状态下,测试夹具上连接到输入引脚的测试针的逻辑值,会替换当前被指 令选中的部分数据寄存器中的逻辑值。并不是所有的指令都在这个状态发生动作, 图2 4i e e e1 1 4 9 1 标准的t a p 控制器的状态机 一些指令可以在数据寄存器现存的数据的基础上工作,t a p 控制器会在一个时钟周 期内保持这种状态,然后再转移至u e x i t l i r 状态或s h i f t i r 状态。 s h i f t - d r : 在s h i f t d r 状态下,指令寄存器中装载的指令将选择某个数据寄存器桥接于 t d i 与t d o 两个测试端口之间,测试数据从t d i 端口移入数据寄存器,然后该数据 寄存器中当前装载的逻辑值会在每一个t c k 的下降沿从t d o 端口移出边界扫描逻 辑。数据寄存器会保持这种状态直到t m s 变为高电平,然后f s m 会转移n e x i t l d r 状态。 e x i t l d r : 1 0j t a g 边界扫描在f p g a 中的应用及电路设计 这是t a p 的f s m 的数据移位后的退出状态。一般情况下,在t a p 从s h i f t d r 移 入此状态时,从t d i 端口输入的数据序列的最后一位逻辑值将同时被装载入被选择 的数据寄存器。 p a u s e d r : 在p a u s e d r 状态下,t a p 控制器的状态进程可以暂停,然后通过指令寄存器 来转换数据,此时可以允许测试机调用内存。一般t a p 控制器执行其他的任务时可 以使用此种状态。t a p 控制器会保持这种状态直到t m s 变为高电平,然后t a p 控制 器会转移到e x 讹d r 状态。 e x i t 2 d r : 在到达e x i t 2 d r 状态之后,在下一个t c k 的上升沿到来时时t a p 控制器会转移 到s h i m d r 状态或u p d a t e d r 状态。转移到s l l i m d r 状态时会重新开始扫描,转移 至u u p d a t e d r 状态时中止扫描的进程。 u p d a t e - d r : 在u p d a t e d r 状态下,边界扫描寄存器所寄存的数据将在在t c k 的下降沿被锁 存到边界扫描寄存器的并行输出。此后,f s m 转移n r u n t e s t i d l e 或状态,一个测 试直接转移n s e l e e t d r s c a n 状态时比经过r t i 状态再转移至u s e l e c t - d r s c a n 状态要 快一个时钟周期。另外,转到i u 肘t e s t i d l e 状态是去压制地弹g r o u n db o u n c e 的好 办法。 s e l e c t i r - s c a n : 这个状态扮演一个开关类型的角色。在下一个t c k 的上升沿t a p 控制器会开始 m 扫描进程( t m s = 0 ) 或者移, k t e s t l o g i c r e s e t 状态而重置t a p 控制器状态 ( t m s = i ) 。 c a p t u r e i r : 在c a p t u r e i r 状态下,在t c k 的上升沿从集成电路板上纳入一个逻辑电平到 指令寄存器。一般都是“0 1 ”样式的信号,用于测试边界扫描电路的完整性。其 它信号被设计员另外再特指标明或把值赋给变量,在c a p t u r e - i r 状态下停留一个 时钟周期后,t a p 控制器转移到e x i t l i r 状态或s h i f t - i r 状态。 s h i f t i r : 在s h i f t - i r 的状态,指令寄存器在t d i 和t d o 之间扮演一个转换寄存器的角色, 在c a p t u r e - i r 状态抓到的数据在t c k 的下降沿时输出n t d o 端口,并且一个新的指 令数据在t c k 上升沿从t d i 端口移入。t a p 控制器直到t m s 变为高电平才会改变状 态至u e x i t l i r 状态。 e x i t l 一i r : 这是f s m 的指令数据移位后的退出状态。一般情况下,在t a p 从s h i f t i r 移入 此状态时,从t d i 端口输入的数据序列的最后一位逻辑值将同时被装载入被选择的 第二章j t a 6 边界扫描原理及其分析 数据寄存器。 p a u s e i r : 在p a u s e - i r 状态下,t a p 控制器的状态进程可以暂停,然后通过指令寄存器来 转换数据。此时可以允许测试机调用内存。一般在t a p 控制器执行其他的任务时可 以使用此种状态。t a p 控制器会保持这种状态直到t m s 变为高电平,然后t a p 控制 器会转移到e x i t 2 一m 状态。 e x i t 2 i r : 在到达e x i t 2 d r 状态之后,在下一个t c k 的上升沿时t a p 控制器会转移到 s h i f t - d r 状态或u p d a t e d r 状态。转移到s h i m d r 状态时会重新开始扫描,转移到 u p d a t e - d r 状态时中止扫描的进程。 u p d a t e - i r : 在u p d a t e i r 状态下,边界扫描寄存器所寄存的数据将在在t c k 的下降沿被 锁存到边界扫描寄存器的并行输出。此后,f s m 转移到r u n t e s t i d l e 状态,一个 测试直接转移到s e l e c t d r - s c a n 状态时比经过r t i 状态再转移到s e l e c t - d r - s c a n 状态要快一个时钟周期。 2 2 2 指令寄存器双模块 指令寄存器取是一个基于移位寄存器的电路,用来决定是否进行测试访问数 据寄存器操作。如图2 3 所示,瓜是串行的下载指令,然后瓜中装载的指令经过指 令译码器而选择一个操作去执行。r 模块所产生的控制信号与t a p 控制器产生的控 制信号共同控制数据寄存器的操作。 i e e e1 1 4 9 1 标准规定指令寄存器瓜的操作必须符合以下约定: t a p 控制器状态中指令寄存器的行为应符合表2 1 的描述; 当不同的指令传输给指令寄存器的并行输出后,基于当前指令的所有操作都要 终止( 也就是说,t a p 控制器处于“指令锁存器刷新一状态或者“测试逻辑复 位状态 ) ; 所有移位寄存器链的操作应发生在t a p 进入相应状态后的t c k 的下降沿; 出现在指令寄存器并行输出的数据是在u p d a t e i r 状态下在t c k 的下降沿锁存 的来自移位寄存器链的数据; t a p 控制器进入t l r 状态后,t a p 控制器将在t c k 下降沿将器件标识 ( d c o d e ) 指令装载到指令寄存器,如果没有器件识别寄存器,则b 协s s 指令将被装载; 如果边界扫描结构中有t r s t 信号,一旦该信号为低电平,锁存的指令会异步 改变为i d c o d e 指令( 或b y p a s s 指令) 。 1 2 j t a g 边界扫描在f p g a 中的应用及电路设计 表2 1t a p 控制器中状态对应的指令寄存器的操作 t a p 状态移位寄存器并行输出 t l r无定义 嘎( 或发y p 拍令i d s ) 辫 对l s b ( 最低位) 装载0 1 , c a p t u r e - i r 囊霉蓠矗茫翡囊妄孝耋嘉提值 保持先前状态 s h i f t i r 向串行输出方向移位 保持先前状态 e x i t l - i r e x i t 2 - 1 r保持先前状态保持先前状态 p a u s e - i r u p d a te 。i r保持先前状态 从移位寄存器装载 o t h e r s 无定义 保持先前状态 2 2 3 数据寄存器d r 模块 数据寄存器是一个行移位寄存器。一个操作所需要的激励被从t d i 端口串行地 装入当前被选择的数据寄存器。随着操作的执行,结果可被从t d o 端口移出而做 校验。测试逻辑结构中至少包含两种测试数据寄存器:旁路寄存器b r ( b y p a s s r e g i s t e r ) 和边界扫描寄存器b s r ( b o u n d a r y - s c a nr e g i s t e r ) ,一般还包含有可选择 的器件标志寄存器d i r ( d e v i c ei d e n t i f i c a t i o nr e g i s t e r ) 。这三种数据寄存器在i e e e 1 1 4 9 1 标准中都有定义。当然用户还可以按照根据j t a g 标准结合测试要求而设计 其他专用数据寄存器,比如配置寄存器、用户寄存器及地址寄存器等。 旁路寄存器b r 旁路寄存器利用一个1b i t 寄存器来获得t d i 和t d o 之间的最短串行通道。这在 板级测试中可以收到大大缩短测试时间等良好效果。 旁路寄存器应遵循以下设计约定: 旁路寄存器只能有一位移位寄存器构成; 当旁路寄存器被当前指令选中而置于t d i 和t d o 之间作为串行路径时,其移位 寄存器应该在c a p t u r e d r 状态下的t c k 上升沿时被置为逻辑0 : 旁路寄存器所用的移位寄存器是专用的; 旁路寄存器的操作不应影响片上系统逻辑的操作。 第二章j t a g 边界扫描原理及其分析 1 3 边界扫描寄存器b s r 边界扫描寄存器由器件引脚上的所有边界扫描单元构成。它是边界扫描设计 中最重要也最复杂的寄存器,它既允许器件内测试数据的输入输出等操作,也允 许对器件外部电路的测试,例如外部器件间互连测试和外部器件测试。也可以增 加选择的测试功能,例如支持片内系统逻辑的测试。 每一个边界扫描寄存器单元至少有两个数据寄存器、一定数目的时钟输入和 控制输入,每一个单元内部包含一个单级的移位寄存器,移位寄存器提供一个并 行输入和一个并行锁存输出。移位寄存器同时还把两个数据的连接端作为串行输 入和串行输出,通过边界扫描寄存器单元的首尾连接,就形成边界扫描寄存器链。 器件标志寄存器i d r 器件标志寄存器是一个i e e e1 1 4 9 1 标准定义的、可选的3 2 位数据寄存器, 包含了器件的版本号、器件型号、制造厂商等信息。大多数兼容j t a g 的器件都 具有这个寄存器,以便用来识别器件属性信息。 2 3j t a g 边界扫描系统指令集 边界扫描逻辑是由t a p 控制器数据寄存器以及指令寄存器共同控制的逻辑 系统,因此指令在边界扫描逻辑系统中占据了极其重要的地位,不同的指令约束 了边界扫描逻辑的不同操作。j t a g 指令以二进制编码的形式出现,指令宽度可 以根据需要自行选择。指令数据在t a p 控制器处于s h i f t i r 状态下的t c k 的上 升沿从t d i 端口串行地移入指令寄存器。 i e e el1 4 9 1 标准对j t a g 指令的约束如下: 每一个现行指令应完全定义“可能操作与片上系统逻辑间相互作用的测试 d r 的设置; 未被现行指令选择的d r 应被控制,使得它们不干涉片上系统逻辑和所选择d r 的操作; 每条指令都应导致一条单串行d r 路径可以使用,以便在s h i f t d r 状态下在t d i 和t d o 间形成串行数据通道; 一个测试d r 的操作可以由现行指令和含在d r 中的深层控制信息共同定义。 装载入i r 的指令被解码,以完成以下两种主要功能: 每一个指令定义了该指令为现行指令时可能操作的d r 的设置。其他d r 被控制 不干涉当前系统操作。但一些寄存器可能被设置为测试模式( 同步地) 。 一个指令定义一条用来在t d i 和t d o 之间移动数据的串行测试数据寄存器路 1 4j t a g 边界扫描在f p g a 中的应用及电路设计 径。它可能导致t d i 与t d o 间的单个d r 的选通路径,或者t d i 与t d o 间的多个 d r 的串联选通路径。 若离散的几个指令满足标准对指令的设计约定,且他们各自的特性不互相排 斥时,混合指令可以在一个单二进制代码下操作( 即多个指令享用一个指令编码) 。 最突出的一个例子是采样指令s a m p l e 和预装载指令p r e l o a d 这两个指令。 j t a g 指令集分为两大类:公共指令( p u b l i ci n s t r u c i t o n ) 、私有指令( p r i v a t e i n s t r u c t i o n ) 。其中,公共指令是j t a g 结构所必需具备的指令,因此也称为强制指 令( m a n d a t o r yi n s t r u c t i o n ) ;私有指令是基于j t a g 标准实现的某种j t a g 结构所特 有的指令,这些指令并非每一个j t a g 结构都具备,因此又称为可选指令( o p t i o n a l i n s t r u c t i o n ) 。下面就基于此分类对j t a g 的指令集作相关论述。 2 3 1 强制指令 强制指令间接地规定了j t a g 的最基本的功能特性,它提供了兼容j t a g 结构的 元件购买者获取边界扫描测试特性的途径。指令的二进制代码就是在s h i f t i r 状 态下从t d i 串行地移入i r 的数据位序列,一般地,最先移入的数据位是指令的最右 边的l s b 位。 i e e e11 4 9 1 标准对强制指令的主要约定如下: j t a g 强制指令包含四个:b y p a s s 、s a m p l e 、p r e l o a d 、e x t e s t ; 可选的器件识别寄存器包含在元件中时,i d c o d e 指令应被提供; 若可选择的器件识别寄存器被包含在不允许通过f l 了j t a g 标准所定义的测试逻 辑编程的一个用户可编程元件时,还应提供u s e c o d e 指令; 建议兼容j t a g 标准的器件同时提供i n t e x t 或者r u n b i s t 指令,或者两者都提 供,以覆盖更多的测试应用。 以下简要分析强制指令的约定与操作方式。 b y p a s s 指令: 在测试逻辑复位状态下,当不存在器件标识寄存器时,b y p a s s 指令将被迫移 入瓜并行输出的锁存器中。 当t a p 控制器处于u p d a t e d r 状态时,b y p a s s 寄存器被初始化为逻辑0 。当器 件不需要进行测试操作的时候,b r 提供了t d i 至t d o 的最短串行路径,这使得需 要执行测试操作的板上器件可以有更快的数据移动。 b y p a s s 指令在s h i f t d r 状态下应选择b r 连接于t d i 至t d o 之间。当 b y p a s s 指令被选择时,测试系统中可以工作在系统或者测试模式的所有d r 应执 行它们自己的系统功能。但对于执行b y p a s s 指令的器件,测试逻辑的工作对片上 系统逻辑的正常工作没有影响。 可以通过保持t d i 为高电平且完成一个指令扫描周期而进入b y p a s s 指令。值 第二章j t a g 边界扫描原理及其分析 得注意的是,t d i 的输入设计使得当它终止时它表现得仿佛一个高电平信号被驱 动。因此串联板级测试路径上的开路错误会导致一个指令扫描周期之后旁路寄存 器b r 会被选择,这也避免了不想要的突发事件与片上系统逻辑的干扰的发生。 板级器件互连时,若b y p a s s 在一些器件中执行的同时,测试模式指令在其 它器件上执行,那么执行b y p a s s 的元件的标准系统逻辑操作可能与其它的测试操 作相抵触,故而需要注意到互相作用的分析是很有必要的。 s a m p l e 指令: s a m p l e 指令允许器件的标准操作可以被快照( 在c a p t u r e d r 状态下且在t c k 的上升沿对器件的输入输出信号采样) ,并且可以被检测。 i e e e1 1 4 9 1 标准对s a m p l e 指令的主要约定如下: 在s h i i l - d r 状态下,s a m p l e 指令只选择b s r 连接于t d i 与t d o 之间,以形成串 行通道; 在s a m p l e 指令作用下,测试逻辑的操作对片上系统逻辑操作、系统引脚与片 上系统逻辑间信号流动没有影响; 在s a m p l e 指令作用下,从片上系统逻辑或通过系统引脚( 输入输出) 的所有 信号状态都可以在c a p t u r e d r 状态下的t c k 上升沿被装载入b s r ; 在s a m p l e 指令作用下,在u p d a t e - d r 状态下在t c k 下降沿将保存在移位寄存 器件中的数据装载入b s r 的并行输出寄存器内; s a m p l e 指令可由设计者自行定义其二进制代码值。 p r e l o a d 指令: i e e e1 1 4 9 1 标准对p r e l o a d 指令的主要约定与对s a m p l e 指令的约定相 同。 该指令允许在其它边界扫描测试指令被选择前将数据装载至u b s r 的锁存并行 输出。在s h i f td r 状态下,它只选择b s r 在t d i 至t d o 之间形成串行数据移动通 路。 p r e l o a d 指令应满足b s r 的扫描不会对片上系统逻辑的操作带来干扰。因此 它允许在另一个边界扫描测试操作选择前,使一个初始化样式数据被放置在b s r 的并行输出。这可以使得其它指令被传送到瓜的并行输出时,p r e l o a d 指令预置 的数据已经从系统输出引脚被驱动,这保证了已知数据在当其它指令进入时可以 立即被驱动。若不采用p r e l o a d 指令进行预处理,那么在第一个扫描序列完成前 会驱动出不确定的数据。 设计j t a g 逻辑时,s a m p l e 和p r e l o a d 这两个指令可合并用一个指令代码。 当s a m p l e 捕获数据而将其移入b s r 、且它被允许从t d o 移出而做检验时,在t d i 移入的数据的特定使用并非强行的。相比之下,p r e l o a d 通过t d i 将数据移入 b s r ,以至于它可以提前于选择一个可将保存在寄存器或锁存器中的数据输出到元 1 6 j t a g 边界扫描在f p g a 中的应用及电路设计 件输出引脚的指令而将数据装入寄存器的并行输出寄存器。在移位之前被捕获入 b s r 的数据并没有定义。由于这两个指令的动作具有相互不干涉的排斥性,因此可 以将此两个指令合并进行指令编码。 当s a m p l 聊r e l o a d 被选择时通过状态序列c a p n 瓜e d r 到e x i t l d r 到 u p d a t e d r 间移动t a p 控制器,在采样时刻流入流出片上系统逻辑的信号状态会 被装载入b s r 的并行锁存输出。 e x t e s t 指令: e x t e s t 指令支持片外电路和板极互连的测试。在选择e x t e s t 指令之前,可 用p r e l o a d 指令将数据装载n b s r 的并行输出。e x t e s t 指令使用后,片上系统 逻辑可能处于一个不确定状态,此状态会持续到系统被复位后才终止。因此,在 片上系统逻辑返回到标准状态时可能需要系统复位。 i e e e1 1 4 9 1 标准对e x t e s t 指令的主要约定如下: 当e x t e s t 指令被选择时,片上系统逻辑应被控制,从而使得系统状态不会因 为系统输入引脚和系统时钟输入引脚接收的信号而变得不确定。在e x t e s t 下 可以通过把片上系统逻辑放置于复位状态或保持状态来达到此目的; 在e x t e s t 指令作用下,从系统输出引脚被驱动的所有信号的状态都由保持在 b s r 中的数据完全定义,且信号状态只在u p d a t e - d r 状态下i 拘t c k 下降沿改变; 当e x t e s t 指令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论