CN109426671A - 一种边界扫描链的生成方法及装置、计算机可读存储介质 - Google Patents

一种边界扫描链的生成方法及装置、计算机可读存储介质 Download PDF

Info

Publication number
CN109426671A
CN109426671A CN201710720248.9A CN201710720248A CN109426671A CN 109426671 A CN109426671 A CN 109426671A CN 201710720248 A CN201710720248 A CN 201710720248A CN 109426671 A CN109426671 A CN 109426671A
Authority
CN
China
Prior art keywords
boundary scan
input
output unit
cell
chip
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
CN201710720248.9A
Other languages
English (en)
Other versions
CN109426671B (zh
Inventor
吕强
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.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology Co Ltd
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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201710720248.9A priority Critical patent/CN109426671B/zh
Publication of CN109426671A publication Critical patent/CN109426671A/zh
Application granted granted Critical
Publication of CN109426671B publication Critical patent/CN109426671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种边界扫描链的生成方法及装置、计算机可读存储介质,包括获取芯片中例化的输入输出单元列表及例化的输入输出单元的物理位置信息,将芯片的同一子模块内例化的输入输出单元划分为一组;为每个例化的输入输出单元例化边界扫描单元;根据例化的输入输出单元的物理位置信息在相邻的边界扫描单元之间插入连接缓冲单元,将同一组的例化的输入输出单元对应的边界扫描单元串成一条边界扫描子链;根据各个子模块的物理布局信息,将各条边界扫描子链串成一条边界扫描链。本发明通过例化边界扫描单元、插入连接缓冲单元进而在全芯片生成一条边界扫描链,降低了片上系统边界扫描电路的冗余程度,减小了芯片面积,优化了全芯片的时序和性能。

Description

一种边界扫描链的生成方法及装置、计算机可读存储介质
技术领域
本发明涉及数字集成电路技术领域,尤其涉及一种边界扫描(Boundary Scan)链的生成方法及装置、计算机可读存储介质。
背景技术
为了满足数字系统越来越复杂的功能需求,芯片需要越来越多的管脚与系统其它组件进行连接。为了确保这些管脚所对应的输入输出(Input Output,IO)单元能正常工作,需要对芯片进行完备的IO测试。目前,业界针对IO测试通常都采用IEEE 1149.1协议,把待测的所有IO单元串成扫描链,通过联合测试行动组(Join Test Access Group,JTAG)接口把测试数据移位输入扫描链,同时把测试结果移位输出。
虽然业界大部分的可测试性设计(Design for Testability,DFT)工具都能自动完成边界扫描(Boundary Scan)电路的设计,但是,现有的基于DFT工具设计的边界扫描电路存在以下缺陷:
(1)如图1所示,在子模块例化的IO单元无法与顶层例化的IO单元串成一条链,多条边界扫描链同时存在,因此全芯片会有多个测试访问端口(Test Access Port,TAP)控制器和JTAG接口,造成了设计的冗余和面积的损失,使得芯片管脚复用变得更加复杂,芯片的测试和应用同时也会变得更加复杂,最终增加了芯片的成本并且降低了芯片的易用性;
(2)对于存在例化IO单元的模块,一些DFT工具(例如明导(Mentor Graphics)公司的边界扫描电路生成工具BSDArchitect)只能在网表阶段实现边界扫描,工具运行时间会远远大于在寄存器传输级(Register Transfer Level,RTL)阶段实现,从而增加了设计迭代时间;
(3)图2为基于DFT工具实现的边界扫描单元的顺序调整示意图,如图2所示,在项目后期,对调了IO2、IO3的物理位置,受限于迭代周期太长,不能重新运行DFT工具生成边界扫描电路,导致芯片IO单元附近的物理绕线变长,从而使芯片的时序和性能变差;
(4)DFT工具实现边界扫描设计需要额外的许可付费,从而增加了设计成本。
发明内容
为了解决上述技术问题,本发明提供了一种边界扫描链的生成方法及装置、计算机可读存储介质,能够降低片上系统(System On Chip,SOC)边界扫描电路的冗余程度并减小芯片面积。
为了达到本发明目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种边界扫描链的生成方法,包括:
获取芯片中例化的输入输出单元列表及所述例化的输入输出单元的物理位置信息,将芯片的同一子模块内例化的输入输出单元划分为一组;
为每个例化的输入输出单元例化边界扫描单元;
根据所述例化的输入输出单元的物理位置信息在相邻的边界扫描单元之间插入连接缓冲单元,所述连接缓冲单元用于将同一组的例化的输入输出单元对应的边界扫描单元串成一条边界扫描子链;
根据各个子模块的物理布局信息,将各条边界扫描子链串成一条边界扫描链。
进一步地,所述生成方法还包括:
对每个例化的输入输出单元及其对应的边界扫描单元进行打包。
进一步地,所述为每个例化的输入输出单元例化边界扫描单元的步骤之后,所述生成方法还包括:
读取芯片的顶层寄存器传输级代码以及芯片中有例化的输入输出单元的子模块的寄存器传输级代码,根据读取的寄存器传输级代码获取所述例化的输入输出单元的控制路径和数据路径的连接信息;
根据所述控制路径和数据路径的连接信息,完成所述各个边界扫描单元与其对应的输入输出单元之间的连接。
进一步地,所述生成方法通过实用抽取与报表语言Perl实现。
进一步地,所述连接缓冲单元包括连接相邻的边界扫描单元的移位路径的连接缓冲器和连接相邻的边界扫描单元的时钟路径的连接缓冲器。
进一步地,所述生成方法还包括:
当所述例化的输入输出单元的物理位置发生变化时,根据新的物理位置调整同一组的例化的输入输出单元所对应的边界扫描单元之间连接缓冲单元的连接顺序。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有边界扫描链的生成程序,所述边界扫描链的生成程序被处理器执行时实现如以上任一项所述的边界扫描链的生成方法的步骤。
本发明实施例还提供了一种边界扫描链的生成装置,包括分组模块、例化模块、连接模块和生成模块,其中:
分组模块,用于获取芯片中例化的输入输出单元列表及所述例化的输入输出单元的物理位置信息,将芯片的同一子模块内例化的输入输出单元划分为一组,将获取的例化的输入输出单元列表输出至例化模块,将所述例化的输入输出单元的物理位置信息输出至连接模块;
例化模块,用于接收所述分组模块的例化的输入输出单元列表,为每个例化的输入输出单元例化边界扫描单元,将所述例化的边界扫描单元信息输出至连接模块;
连接模块,用于接收所述分组模块的例化的输入输出单元的物理位置信息以及所述例化模块的边界扫描单元信息,根据所述例化的输入输出单元的物理位置信息在相邻的边界扫描单元之间插入连接缓冲单元,所述连接缓冲单元用于将同一组的例化的输入输出单元对应的边界扫描单元串成一条边界扫描子链,将各条边界扫描子链的信息输出至生成模块;
生成模块,用于接收所述连接模块的各条边界扫描子链的信息,根据各个子模块的物理布局信息,将各条边界扫描子链串成一条边界扫描链。
进一步地,所述例化模块还用于,对每个所述例化的输入输出单元及其对应的所述边界扫描单元进行打包。
进一步地,所述分组模块还用于,获取芯片的生产工艺所对应的标准单元库信息,根据所述标准单元库信息确定每个所述例化的输入输出单元的控制路径和数据路径所对应的端口名称以及每个所述例化的输入输出单元被实例化使用为单向输入或者单向输出或者双向输入输出;将所述每个例化的输入输出单元的端口名称和实例化的信息输出至连接模块;
所述连接模块,还用于读取芯片的顶层寄存器传输级代码以及芯片中有例化的输入输出单元的子模块的寄存器传输级代码,根据所述每个例化的输入输出单元的端口名称获取寄存器传输级代码中所述例化的输入输出单元的控制路径和数据路径的连接信息;根据所述控制路径和数据路径的连接信息以及所述实例化使用的信息,完成所述各个边界扫描单元与其对应的输入输出单元之间的连接。
本发明的技术方案,具有如下有益效果:
本发明提供的边界扫描链的生成方法及装置、计算机可读存储介质,通过为每个例化的输入输出单元例化边界扫描单元,在同一组的边界扫描单元之间插入连接缓冲单元并在全芯片生成一条边界扫描链,降低了片上系统边界扫描电路的冗余程度,减小了芯片面积,简化了芯片的管脚复用,增加了芯片的易用性,有效降低了芯片物理边界的绕线长度,优化了芯片的时序和性能;
进一步地,通过获取寄存器传输级代码中的逻辑连接信息为每个例化的输入输出单元例化边界扫描单元,在RTL阶段生成了边界扫描电路,大大降低了开发流程上的迭代时间,加快了项目的进度;
进一步地,通过采用开源的实用抽取与报表语言(Practical Extraction andReporting Language,Perl)脚本语言实现,节省了DFT工具边界扫描电路设计的许可收费带来的成本,满足了大规模数字SOC电路设计的需求。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为基于DFT工具的边界扫描电路的结构示意图;
图2为当调整输入输出单元的物理位置时,基于DFT工具实现的边界扫描电路部分绕线结构示意图;
图3为本发明实施例的一种边界扫描链的生成方法的流程示意图;
图4为本发明实施例的一种边界扫描链的生成装置的结构示意图;
图5为基于本发明实现的边界扫描电路的结构示意图;
图6为当调整输入输出单元的物理位置时,基于本发明实现的边界扫描电路部分绕线结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图3所示,根据本发明的一种边界扫描链的生成方法,包括如下步骤:
步骤301:获取芯片中例化的输入输出单元列表及所述例化的输入输出单元的物理位置信息,将芯片的同一子模块内例化的输入输出单元划分为一组;
值得说明的是,本发明强调的是根据例化的输入输出单元的物理位置信息在相邻的边界扫描单元之间插入连接缓冲单元并灵活调整连接缓冲单元的连接顺序,并根据各个子模块的物理布局信息,将各条边界扫描子链串成一条边界扫描链,步骤301中如何获取芯片中例化的输入输出单元列表及所述例化的输入输出单元的物理位置信息,可以通过读取芯片的SOC信息表(所述SOC信息表可以为Excel表格或txt文本文件,其中包含但不限于输入输出单元的实例化层次名和输入输出单元的PAD次序)实现,本发明对此并不做限制。
进一步地,所述获取芯片中的例化的输入输出单元列表及所述例化的输入输出单元的物理位置信息的步骤之后,所述生成方法还包括:
获取芯片的生产工艺所对应的标准单元库信息,根据所述标准单元库信息确定每个所述例化的输入输出单元的控制路径和数据路径所对应的端口名称以及每个所述例化的输入输出单元被实例化使用为单向输入或者单向输出或者双向输入输出。
步骤302:为每个例化的输入输出单元例化边界扫描单元;
进一步地,在所述为每个例化的输入输出单元例化边界扫描单元的步骤之后,所述方法还包括:
对每个例化的输入输出单元及其对应的边界扫描单元进行打包。
进一步地,所述为每个例化的输入输出单元例化边界扫描单元的步骤之后,所述方法还包括:
读取芯片的顶层寄存器传输级代码以及芯片中有例化的输入输出单元的子模块的寄存器传输级代码,根据所述每个例化的输入输出单元的端口名称获取读取的寄存器传输级代码中所述例化的输入输出单元的控制路径和数据路径的连接信息;
根据所述控制路径和数据路径的连接信息,完成所述各个边界扫描单元与其对应的输入输出单元之间的连接。
进一步地,所述各个边界扫描单元的例化名与所述各个边界扫描单元对应的输入输出单元的例化名一一对应。
步骤303:根据所述例化的输入输出单元的物理位置信息在相邻的边界扫描单元之间插入连接缓冲单元,所述连接缓冲单元用于将同一组的例化的输入输出单元对应的边界扫描单元串成一条边界扫描子链;
进一步地,所述连接缓冲单元包括连接相邻的边界扫描单元的移位路径的连接缓冲器和连接相邻的边界扫描单元的时钟路径的连接缓冲器。
步骤304:根据各个子模块的物理布局信息,将各条边界扫描子链串成一条边界扫描链。
需要说明的是,在串成一条边界扫描链之后,需要连接TAP控制器与各个边界扫描电路的控制通路;并连接TAP控制器与JTAG接口对应的输入输出接口,从而构成全芯片完整的边界扫描测试电路。
进一步地,所述生成方法还包括:
当所述例化的输入输出单元的物理位置发生变化时,根据新的物理位置调整同一组的例化的输入输出单元所对应的边界扫描单元之间的连接缓冲单元的连接顺序。
进一步地,所述边界扫描链的生成方法通过实用抽取与报表语言Perl实现。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有边界扫描链的生成程序,所述边界扫描链的生成程序被处理器执行时实现如以上任一项所述的边界扫描链的生成方法的步骤。
如图4所示,根据本发明的一种边界扫描链的生成装置,包括分组模块、例化模块、连接模块和生成模块,其中:
分组模块,用于获取芯片中的例化的输入输出单元列表及所述例化的输入输出单元的物理位置信息,将芯片的同一子模块的例化的输入输出单元划分为一组,将获取的例化的输入输出单元列表输出至例化模块,将所述例化的输入输出单元的物理位置信息输出至连接模块;
例化模块,用于接收所述分组模块的例化的输入输出单元列表,为每个例化的输入输出单元例化边界扫描单元,将所述例化的边界扫描单元信息输出至连接模块;
连接模块,用于接收所述分组模块的例化的输入输出单元的物理位置信息以及所述例化模块的边界扫描单元信息,根据所述例化的输入输出单元的物理位置信息在相邻的边界扫描单元之间插入连接缓冲单元,所述连接缓冲单元用于将同一组的例化的输入输出单元对应的边界扫描单元串成一条边界扫描子链,将各条边界扫描子链的信息输出至生成模块;
生成模块,用于接收所述连接模块的各条边界扫描子链的信息,根据各个子模块的物理布局信息,将各条边界扫描子链串成一条边界扫描链。
进一步地,所述例化模块还用于,对每个所述例化的输入输出单元及其对应的所述边界扫描单元进行打包。
进一步地,所述分组模块还用于,获取芯片的生产工艺所对应的标准单元库信息,根据所述标准单元库信息确定每个所述例化的输入输出单元的控制路径和数据路径所对应的端口名称以及每个所述例化的输入输出单元被实例化使用为单向输入或者单向输出或者双向输入输出;将所述每个例化的输入输出单元的端口名称和实例化使用的信息输出至连接模块;
所述连接模块,还用于读取芯片的顶层寄存器传输级代码以及芯片中有例化的输入输出单元的子模块的寄存器传输级代码,根据所述每个例化的输入输出单元的端口名称获取寄存器传输级代码中所述例化的输入输出单元的控制路径和数据路径的连接信息;根据所述控制路径和数据路径的连接信息以及所述实例化使用的信息,完成所述各个边界扫描单元与其对应的输入输出单元之间的连接。
进一步地,所述各个边界扫描单元的例化名与所述各个边界扫描单元对应的所述例化的输入输出单元的例化名一一对应。
进一步地,所述连接缓冲单元包括连接相邻的边界扫描单元的移位路径的连接缓冲器和连接相邻的边界扫描单元的时钟路径的连接缓冲器。
本发明实施例还提供了一个优选的实施例对本发明进行进一步解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。
根据本发明的边界扫描链的生成方法,主要包括如下几个步骤:
步骤一:根据芯片的SOC信息表,生成需要进行边界扫描测试的IO单元列表,所述SOC信息表提供了IO输入输出方向和在芯片中的物理位置等信息;
在步骤一中,根据SOC信息表对IO单元进行分组,处在同一个子模块的IO单元划分为一组,这些IO单元所属的边界扫描单元会串成一条子链;不同类型的IO单元需要选择不同的边界扫描单元;
各个边界扫描单元的例化名需要与IO单元的例化名存在一一对应的关系,在物理设计的过程中把IO单元和配对的边界扫描单元进行打包操作,从而减少IO单元与边界扫描单元之间的绕线,改善IO功能路径上的时序和性能。
步骤二:读入并分析顶层的RTL代码以及例化了IO单元的子模块的RTL代码,生成各个部分的边界扫描子链;
如图5所示,所述步骤二生成的各个部分的边界扫描子链主要包括三部分:
第一部分为对应每个IO单元例化的边界扫描单元(Boundary Scan Cell,BSCell);
第二部分为将IO单元与相应的BS Cell进行打包(wrapper)操作后的打包单元,由于每个IO单元与其所属的BS Cell在物理位置上是紧挨着的,从而减少IO单元与BS Cell之间的数据通路的绕线,极大地改善了高速接口IO的时序和性能;
第三部分为用于连接BS Cell单元的移位(Shift)路径和时钟路径的连接缓冲单元(Connection Buffer),这些Connection Buffer的串链顺序是可以根据IO单元的物理顺序任意调整的,由于这部分电路是以例化标准单元的方式实现的,无需经过综合(Synthesis)流程,可以直接交付到布局布线流程,因此到了项目后期,仍然可以灵活调整IO单元的顺序,而不需重新迭代综合和预布局布线等流程。
基于DFT工具实现的边界扫描电路灵活性差,在芯片实现的后期,无法根据芯片管脚顺序修改边界扫描单元的串链顺序,导致物理绕线增加,同时恶化了时序和性能。本发明严格根据IO单元的顺序对BS Cell进行连线顺序的调整,如图6所示,在对调了IO2、IO3的物理位置之后,只需重新生成Connection Buffer的电路,就可以实现顺序的调整,大大减少了绕线,从而优化了时序和性能。
步骤三:按照全芯片各个子模块的布局位置,把顶层的边界扫描电路和子模块的边界扫描电路串成一条边界扫描链。
所述步骤三是在SOC的顶层进行集成和连线,把步骤二中生成的各个部分的边界扫描子链,串成一条边界扫描链。需要说明的是,在串成一条边界扫描链之后,需要连接TAP控制器与各个边界扫描电路的控制通路;并连接TAP控制器与JTAG接口对应的输入输出接口,从而生成完整的边界扫描电路。
图5为一个三个边界扫描子链的实现示例,其中顶层输入输出单元TOP IOs、子模块1输入输出单元BLOCK_1IOs以及子模块2输入输出单元BLOCK_2IOs分别为一个例化的输入输出单元分组,BSR为一个分组的各个边界扫描单元串成的边界扫描子链,在芯片顶层把各个边界扫描子链串成一条边界扫描链,实现全芯片只需一条边界扫描链、一个TAP控制器和一组JTAG接口就能实现边界扫描电路的设计。而图1为采用了DFT工具实现的边界扫描电路,需要三个TAP控制器和三组JTAG接口才能实现边界扫描测试电路的设计。
需要说明的是,在生成全芯片的边界扫描链后,需要进行全芯片的布局布线,当IO的排列顺序发生变化时,根据需求重新产生新的边界扫描电路,因此在项目后期可以灵活调整BS Cell的串链顺序。
采用本发明的边界扫描链的生成方法及装置、计算机可读存储介质,通过为每个例化的输入输出单元例化边界扫描单元,在同一组的边界扫描单元之间插入连接缓冲单元并在全芯片生成一条边界扫描链,降低了SOC边界扫描电路的冗余程度,减小了芯片面积;通过本发明实现的边界扫描电路只需一个TAP控制器和一组JTAG接口,简化了芯片的管脚复用,增加了芯片的易用性;在芯片实现的后期可以任意调整通过本发明实现的边界扫描电路的串链顺序,有效降低了芯片物理边界的绕线长度,优化了全芯片的时序和性能;
进一步地,由于在RTL阶段设计电路,大大降低了流程上的迭代时间,加快了项目的进度;
进一步地,由于采用开源Perl脚本语言,节省了DFT工具边界扫描电路设计的许可收费带来的成本,满足了大规模数字SOC电路设计的需求。
本领域普通技术人员可以理解上述方法中的全部或部分步骤,可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种边界扫描链的生成方法,其特征在于,包括:
获取芯片中例化的输入输出单元列表及所述例化的输入输出单元的物理位置信息,将芯片的同一子模块内例化的输入输出单元划分为一组;
为每个例化的输入输出单元例化边界扫描单元;
根据所述例化的输入输出单元的物理位置信息在相邻的边界扫描单元之间插入连接缓冲单元,所述连接缓冲单元用于将同一组的例化的输入输出单元对应的边界扫描单元串成一条边界扫描子链;
根据各个子模块的物理布局信息,将各条边界扫描子链串成一条边界扫描链。
2.根据权利要求1所述的边界扫描链的生成方法,其特征在于,所述生成方法还包括:
对每个例化的输入输出单元及其对应的边界扫描单元进行打包。
3.根据权利要求1所述的边界扫描链的生成方法,其特征在于,所述为每个例化的输入输出单元例化边界扫描单元的步骤之后,所述生成方法还包括:
读取芯片的顶层寄存器传输级代码以及芯片中有例化的输入输出单元的子模块的寄存器传输级代码,根据读取的寄存器传输级代码获取所述例化的输入输出单元的控制路径和数据路径的连接信息;
根据所述控制路径和数据路径的连接信息,完成所述各个边界扫描单元与其对应的输入输出单元之间的连接。
4.根据权利要求1所述的边界扫描链的生成方法,其特征在于,所述生成方法通过实用抽取与报表语言Perl实现。
5.根据权利要求1所述的边界扫描链的生成方法,其特征在于,所述连接缓冲单元包括连接相邻的边界扫描单元的移位路径的连接缓冲器和连接相邻的边界扫描单元的时钟路径的连接缓冲器。
6.根据权利要求1所述的边界扫描链的生成方法,其特征在于,所述生成方法还包括:
当所述例化的输入输出单元的物理位置发生变化时,根据新的物理位置调整同一组的例化的输入输出单元所对应的边界扫描单元之间连接缓冲单元的连接顺序。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有边界扫描链的生成程序,所述边界扫描链的生成程序被处理器执行时实现如权利要求1至6中任一项所述的边界扫描链的生成方法的步骤。
8.一种边界扫描链的生成装置,其特征在于,包括分组模块、例化模块、连接模块和生成模块,其中:
分组模块,用于获取芯片中例化的输入输出单元列表及所述例化的输入输出单元的物理位置信息,将芯片的同一子模块内例化的输入输出单元划分为一组,将获取的例化的输入输出单元列表输出至例化模块,将所述例化的输入输出单元的物理位置信息输出至连接模块;
例化模块,用于接收所述分组模块的例化的输入输出单元列表,为每个例化的输入输出单元例化边界扫描单元,将所述例化的边界扫描单元信息输出至连接模块;
连接模块,用于接收所述分组模块的例化的输入输出单元的物理位置信息以及所述例化模块的边界扫描单元信息,根据所述例化的输入输出单元的物理位置信息在相邻的边界扫描单元之间插入连接缓冲单元,所述连接缓冲单元用于将同一组的例化的输入输出单元对应的边界扫描单元串成一条边界扫描子链,将各条边界扫描子链的信息输出至生成模块;
生成模块,用于接收所述连接模块的各条边界扫描子链的信息,根据各个子模块的物理布局信息,将各条边界扫描子链串成一条边界扫描链。
9.根据权利要求8所述的边界扫描链的生成装置,其特征在于:
所述例化模块还用于,对每个所述例化的输入输出单元及其对应的所述边界扫描单元进行打包。
10.根据权利要求8所述的边界扫描链的生成装置,其特征在于,
所述分组模块还用于,获取芯片的生产工艺所对应的标准单元库信息,根据所述标准单元库信息确定每个所述例化的输入输出单元的控制路径和数据路径所对应的端口名称以及每个所述例化的输入输出单元被实例化使用为单向输入或者单向输出或者双向输入输出;将所述每个例化的输入输出单元的端口名称和实例化使用的信息输出至连接模块;
所述连接模块,还用于读取芯片的顶层寄存器传输级代码以及芯片中有例化的输入输出单元的子模块的寄存器传输级代码,根据所述每个例化的输入输出单元的端口名称获取寄存器传输级代码中所述例化的输入输出单元的控制路径和数据路径的连接信息;根据所述控制路径和数据路径的连接信息以及所述实例化使用的信息,完成所述各个边界扫描单元与其对应的输入输出单元之间的连接。
CN201710720248.9A 2017-08-21 2017-08-21 一种边界扫描链的生成方法及装置、计算机可读存储介质 Active CN109426671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710720248.9A CN109426671B (zh) 2017-08-21 2017-08-21 一种边界扫描链的生成方法及装置、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710720248.9A CN109426671B (zh) 2017-08-21 2017-08-21 一种边界扫描链的生成方法及装置、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109426671A true CN109426671A (zh) 2019-03-05
CN109426671B CN109426671B (zh) 2022-10-14

Family

ID=65498631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710720248.9A Active CN109426671B (zh) 2017-08-21 2017-08-21 一种边界扫描链的生成方法及装置、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109426671B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110007217A (zh) * 2019-05-22 2019-07-12 哈尔滨工业大学(威海) 一种低功耗边界扫描测试方法
CN112859982A (zh) * 2020-12-15 2021-05-28 海光信息技术股份有限公司 用于芯片的自适应电压与频率调节的测试电路的实现方法
CN113702798A (zh) * 2020-05-22 2021-11-26 Oppo广东移动通信有限公司 一种边界扫描测试方法、装置、设备、芯片及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050166109A1 (en) * 2003-12-30 2005-07-28 Stmicroelectronics Pvt. Ltd. Enhanced JTAG interface
US20050210349A1 (en) * 2004-03-22 2005-09-22 Lambert Michael R Scan test tools, models and/or methods
JP2005300217A (ja) * 2004-04-07 2005-10-27 Matsushita Electric Ind Co Ltd 半導体集積回路装置および半導体集積回路装置のテスト回路設計方法
US20080141086A1 (en) * 2006-12-12 2008-06-12 Synopsys, Inc. Chip level scan chain planning for hierarchical design flows
CN103487747A (zh) * 2013-09-30 2014-01-01 桂林电子科技大学 符合边界扫描标准的扫描子链型测试结构及测试方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050166109A1 (en) * 2003-12-30 2005-07-28 Stmicroelectronics Pvt. Ltd. Enhanced JTAG interface
US20050210349A1 (en) * 2004-03-22 2005-09-22 Lambert Michael R Scan test tools, models and/or methods
JP2005300217A (ja) * 2004-04-07 2005-10-27 Matsushita Electric Ind Co Ltd 半導体集積回路装置および半導体集積回路装置のテスト回路設計方法
US20080141086A1 (en) * 2006-12-12 2008-06-12 Synopsys, Inc. Chip level scan chain planning for hierarchical design flows
CN103487747A (zh) * 2013-09-30 2014-01-01 桂林电子科技大学 符合边界扫描标准的扫描子链型测试结构及测试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H B SHASHIDHARA 等: "Board level JTAG/boundary scan test solution", 《 INTERNATIONAL CONFERENCE ON CIRCUITS, COMMUNICATION, CONTROL AND COMPUTING》 *
陈孟东等: "基于边界扫描的测试技术", 《电脑知识与技术》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110007217A (zh) * 2019-05-22 2019-07-12 哈尔滨工业大学(威海) 一种低功耗边界扫描测试方法
CN110007217B (zh) * 2019-05-22 2021-06-25 哈尔滨工业大学(威海) 一种低功耗边界扫描测试方法
CN113702798A (zh) * 2020-05-22 2021-11-26 Oppo广东移动通信有限公司 一种边界扫描测试方法、装置、设备、芯片及存储介质
CN112859982A (zh) * 2020-12-15 2021-05-28 海光信息技术股份有限公司 用于芯片的自适应电压与频率调节的测试电路的实现方法

Also Published As

Publication number Publication date
CN109426671B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
US11720479B2 (en) Real time analysis and control for a multiprocessor system
EP2216722B1 (en) Various methods and apparatus for configurable mapping of address regions onto one or more aggregate targets
US8438320B2 (en) Various methods and apparatus for address tiling and channel interleaving throughout the integrated system
US6182247B1 (en) Embedded logic analyzer for a programmable logic device
US5734581A (en) Method for implementing tri-state nets in a logic emulation system
US7610568B2 (en) Methods and apparatus for making placement sensitive logic modifications
CN106940428A (zh) 芯片验证方法、装置及系统
CN105008943A (zh) 对在fpga块内分组创建加速的测试仪
CN109684755A (zh) 一种数模混合芯片异步电路全定制方法及系统
CN104268078B (zh) 一种基于参数化ip测试用例集合的芯片自动化验证方法
CN103678745A (zh) 一种用于fpga的跨平台多层次集成设计系统
CN105229481A (zh) 具有存储器上的加速以及用于fpga块内自动模式生成的加速的测试器
CN105378494A (zh) 具有用于独立测试多个dut的多个基于fpga的硬件加速器块的测试体系架构
CN112100949A (zh) 集成电路芯片的自动开发方法及装置、电子设备
WO1990004233A1 (en) Method of using electronically reconfigurable gate array logic and apparatus formed thereby
CN109426671A (zh) 一种边界扫描链的生成方法及装置、计算机可读存储介质
CN107992390A (zh) 一种基于片上总线的芯片调试方法
JP2014120155A (ja) 単一のフィールド・プログラマブル・ゲート・アレイ(fpga)のキャパシティを超過するエンベデッド・プロセッサのデザインのタイミング及びソフトウェアデバッグ用検証モジュール装置
CN104903855B (zh) 用于配置多处理器阵列的方法和设备以及开发系统
CN112651207B (zh) 一种异步电路物理实现方法及系统
CN107885517A (zh) 嵌入式系统处理器程序加载电路
CN105956302A (zh) 一种可配置的抗辐射芯片前端网表自动生成方法
US20120192132A1 (en) Method for manipulating and repartitioning a hierarchical integrated circuit design
CN100437513C (zh) 实现自动测试的方法与系统
CN103163450A (zh) 一种应用于对特定结构fpga进行测试的导航映射方法

Legal Events

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