《片上网络资源节点存储器的内建自测试结构和自测试方法.pdf》由会员分享,可在线阅读,更多相关《片上网络资源节点存储器的内建自测试结构和自测试方法.pdf(17页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103310850 A (43)申请公布日 2013.09.18 CN 103310850 A *CN103310850A* (21)申请号 201310261284.5 (22)申请日 2013.06.27 G11C 29/12(2006.01) (71)申请人 桂林电子科技大学 地址 541004 广西壮族自治区桂林市金鸡路 1 号 (72)发明人 许川佩 陶意 万春霆 孙义军 梁光发 (74)专利代理机构 桂林市持衡专利商标事务所 有限公司 45107 代理人 欧阳波 (54) 发明名称 片上网络资源节点存储器的内建自测试结构 和自测试方法 (57) 摘要 本发。
2、明为片上网络资源节点存储器的内建自 测试结构和自测试方法, 本内建自测试结构包括 建立于FPGA芯片的BIST控制器, 还有嵌于相应路 由器的资源网络接口和 BIST 接口、 测试图形生成 器和测试响应分析器。BIST 控制器经外设接口和 外部测试设备连接。本方法为 : 外部测试设备向 BIST 控制器发送指令启动测试程序 ; BIST 控制器 按照 March C+ 测试算法程序向各测试模块发送 使能信号和状态选择信号, 在每个测试状态下对 SRAM 各地址进行读写操作, 发现故障立即停止。 测试结果发送给外部测试设备。本发明测试时间 减少一半, 复用 NoC 的路由网络作为测试数据路 径,。
3、 数据传输可靠安全, 芯片面积开销小 ; 故障覆 盖率较高。 (51)Int.Cl. 权利要求书 3 页 说明书 8 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书8页 附图5页 (10)申请公布号 CN 103310850 A CN 103310850 A *CN103310850A* 1/3 页 2 1. 片上网络资源节点存储器的内建自测试结构, 所述片上网络为基于 FPGA 的芯片, 若干路由器由外部通道相互连接, 构成的路由器网络, 其结构为规则的 2 维网格拓扑结构, NoC 中的路由器采用基于虚通道技术的虫洞数据交换机制, 路由。
4、算法采用源路由算法, 各 路由器配有资源网络接口, 资源网络接口为双向的数据流向接口, 各资源网络接口经双向 内部通道分别连接资源节点, 其中一个路由器 R2 经资源网络接口连接的片外通用存储器 SRAM 为待测试的资源节点存储器, 其特征在于 : 资源节点存储器的内建自测试结构包括 BIST 控制器、 BIST 接口、 测试图形生成器和测 试响应分析器, BIST 控制器建立于 FPGA 芯片, 测试图形生成器和测试响应分析器 ; 路由器 R2 的资源网络接口内嵌 BIST 接口, 源路由器 R1 的资源网络节点内嵌测试图形生成器和测 试响应分析器 ; BIST 控制器是一个有限的算法状态机。
5、, 负责测试算法的实现与状态流程的控制, 其使 能信号输出端连接测试图形生成器和 BIST 接口, 测试响应分析器的输出端接入 BIST 控制 器的信号输入端, BIST 控制器配有外设接口, 外部测试设备经该外设接口与 BIST 控制器连 接 ; 测试图形生成器为一个简单的状态机, 负责生成资源节点存储器的测试数据序列 ; 测试响应分析模块是一个异或网络, 由数据背景器与异或比较器组成, 负责相应测试 数据的分析 ; BIST 接口包括 SRAM 地址生成器和 SRAM 控制器, SRAM 地址生成器产生当前资源节点存 储器的读写地址, 并按照测试算法的流程实现地址升序或者降序 ; SRAM。
6、 控制器具备与资源 节点存储器连接的接口, 实现对资源节点存储器的读写控制。 2. 根据权利要求 1 所述的片上网络资源节点存储器的内建自测试结构的片上网络资 源节点存储器的内建自测试方法, 其特征在于主要步骤如下 : 、 在片上网络芯片构建片上网络资源节点存储器的内建自测试结构, 在 FPGA 芯片建 立BIST控制器, 以及相应的路由器的资源网络接口内嵌测试模块, 即目的路由器R2的资源 网络接口接有待测资源节点存储器, R2 的资源网络接口内嵌 BIST 接口, 在源路由器 R1 的 资源网络节点内嵌测试图形生成器和测试响应分析器 ; 、 外部测试设备与BIST控制器的外设接口连接, 外。
7、部测试设备向BIST控制器发送指 令启动测试程序 ; 、 BIST 控制器按照测试算法程序向各测试模块发送使能信号和状态选择信号, 源路由器R1的资源网络接口内嵌的测试图形生成器根据BIST控制器的状态选择指令 和发送指令, 生成当前测试数据并向路由器网络发送测试数据 ; BIST 控制器向目的路由器 R2 的 BIST 接口的 SRAM 控制器发送的切换工作模式使能信 号, 该资源节点存储器切换为测试模式, 接收测试图形生成器产生的测试数据 ; 该 BIST 接 口的 SRAM 地址生成器产生当前资源节点存储器的读写地址, 并按照测试算法的流程实现 待测存储器 SRAM 地址升序或者降序 ;。
8、 、 本测试算法的每个测试状态均有写数据操作和读数据操作, 执行写数据操作时, BIST 控制器对源路由器 R1 的资源网络接口内嵌的测试图形生成 器发送指令, 按测试算法程序生成相应测试状态的测试数据 ; R1 的资源网络接口内嵌的测试图形生成器将测试数据按照路由分组格式进行打包, 送 权 利 要 求 书 CN 103310850 A 2 2/3 页 3 入 R1, 经路由器网络传输, 到达资源节点存储器所在的目的路由器 R2, 经 R2 的资源网络接 口送入其内嵌的 BIST 接口, 由此送到资源节点进行解包处理, 然后将测试数据写入资源节 点存储器 ; 此资源节点存储器工作于测试模式, 。
9、对测试数据给出测试响应信号, 提示完成一 次写数据操作 ; 执行读数据操作时, 上述资源节点存储器的测试响应信号, 在 BIST 接口按照返回路径 的路由分组格式进行打包, 经其所处的资源网络接口送入 R2, 在路由器网络传输, 到达路由 器 R1, 进入 R1 的资源网络接口内嵌的测试响应分析器、 进行解包处理, 测试响应分析器的 异或比较器对资源节点存储器的测试响应数据和数据背景器提供的理想的数据进行异或 操作, 据此判断测试响应数据是否正确, 并将结果送给 BIST 控制器 ; 、 如果本次测试响应数据正确, 测试响应分析器判断是否为最后一个测试状态, 若为 否、 则返回步骤, BIST。
10、 控制器对源路由器 R1 的资源网络接口内嵌的测试图形生成器发送 指令, 按测试算法程序进行下一个测试状态的写数据操作和读数据操作 ; 如果本次测试响应数据正确, 测试响应分析器判断此为最后一个测试状态, 再判断此 测试是否为待测存储器的最后一个 SRAM 地址, 若不是最后的 SRAM 地址, 则返回步骤, 按 SRAM 地址生成器的地址升序或者降序对下一个 SRAM 地址进行测试算法要求的各个测试状 态的测试 ; 当判断此测试为待测存储器的最后一个 SRAM 地址, 结束本次测试, 将该资源节 点存储器的测试结果反馈给 BIST 控制器并发送给芯片外部测试设备进行分析 ; 同时 BIST 。
11、控制器向路由器 R2 的 BIST 接口的 SRAM 控制器发送的切换工作模式使能信号置为无效状 态, 该资源节点存储器恢复正常工作模式 ; 如果本次测试响应数据错误, 即为有故障, 测试响应分析器立即停止对该资源节点存 储器的测试, 测试响应分析器将测试结果传送给 BIST 控制器, BIST 控制器将测试结果发送 给外部测试设备。 3. 根据权利要求 2 所述的片上网络资源节点存储器的内建自测试方法, 其特征在于 : 所述步骤中测试响应分析器传送给 BIST 控制器的测试结果包含理论测试数据、 测 试响应数据、 地址信息、 测试时间。 4. 根据权利要求 2 所述的片上网络资源节点存储器的。
12、内建自测试方法, 其特征在于 : 所述步骤所述的测试算法为改进的 March C+ 算法, 其读写操作以字为测试单元, 字 中的多个数据位合称为数据背景 ; 所述片上网络系统的资源节点存储器位宽为 N 位, 测试 数据序列有 log2N+1 个。 5. 根据权利要求 4 所述的片上网络资源节点存储器的内建自测试方法, 其特征在于 : 所述 BIST 控制器算法状态机中的测试状态个数 n 与算法中 March 元素的个数一致为 M0至Mn, BIST控制器中的算法初始状态为闲置, 启动测试后, 算法状态先取测试状态M0, 若 在该测试状态下资源节点存储器的响应数据没有发现故障, 转移到下一个状态。
13、 M1 进行测 试 ; 以此类推, 测试过程中当未发现故障, 依次执行 M1、 M2至 Mn 的测试状态, 之后返回 初始状态闲置 ; 当测试过程中出现故障, 立即停止测试。 6. 根据权利要求 2 所述的片上网络资源节点存储器的内建自测试方法, 其特征在于 : 在片上网络传输的消息分为固定长度的多个数据包, 每一个完整的数据包有 8 个微 片, 每个数据包具有一个头微片、 6 个数据微片和一个尾微片 ; 头微片包括微片类型、 信息 标志、 路径信息、 目的地址和数据包源地址, 尾微片表示数据包的终结 ; 数据微片是传递的 权 利 要 求 书 CN 103310850 A 3 3/3 页 4 。
14、有效数据, 处于头微片和尾微片之间 ; 每个微片的前两位为微片类型信息 ; 资源网络接口 对经过的数据包的微片加入微片类型信息。 7. 根据权利要求 6 所述的片上网络资源节点存储器的内建自测试方法, 其特征在于 : 所述数据包在片上网络中的传输流程如下 : 首先由资源节点将打包好的数据以及相关 握手信号发送到本地的资源网络接口, 该资源网络接口根据数据信息给数据包的微片添加 微片类型信息, 然后向本地路由器发送申请, 本地路由收到请求信号后反馈给本地资源网 络接口应答信号, 令其将数据存入资源网络接口的数据缓存器中 ; 资源网络接口根据头微 片中携带的目的地址信息将数据从数据缓存器中取出, 。
15、通过资源网络接口的交换开关, 由 目的方向输出端口输出, 进入到下一个路由器中, 如此便完成了从一个路由器到下个路由 器的数据传输。 权 利 要 求 书 CN 103310850 A 4 1/8 页 5 片上网络资源节点存储器的内建自测试结构和自测试方法 技术领域 0001 本发明涉及片上网络 (Network-on-chip, NoC) 测试技术领域, 具体涉及片上网络 资源节点存储器的内建自测试结构和自测试方法。 背景技术 0002 随着半导体工艺的进步和 SoC(System-on-chip, SoC) 技术的不断完善, SoC 技术 已成为本世纪集成电路的主要设计技术。 但是, 其在设。
16、计方法、 体系结构方面已经暴露出局 限性, 尤其当 SoC 中所包含的 IP 核数目增至成千上万的时候, 现有的以总线结构为通信基 础的 SoC 技术面临着在性能、 功耗、 延时和可靠性等方面的巨大挑战。出现的问题具体表现 为以下三个方面 : 0003 1. 总线结构的地址空间有限从而导致其扩展性差的问题。 0004 2. 总线结构采用分时通讯从而导致通信效率较低, 总线上多个用户同时共享总线 资源, 在某一时刻在一条总线上进行通信的用户数量不能超过一对。 0005 3. 总线结构由于采用全局同步的通信机制导致的功耗和面积的问题。 0006 为了解决以上的问题, NoC 的概念在世纪初由瑞典皇。
17、家科学院提出。其核心思 想是借鉴并移植计算机网络中的概念和方法, 用于多个子系统 ( 现有规模的 SoC 或者 IP) 的集成。NoC 采用分组交换技术替代传统的总线通信方式, 实现了计算与通信的分离, 每 一个资源节点都工作在自己的时钟域, 而不同的资源节点之间则通过 OCN(Open Computer Network) 进行异步通讯, 从而解决了庞大的时钟树所带来的功耗、 面积以及片上通信的瓶 颈问题, 并解决了时钟同步问题。 0007 NoC 使用网络替代总线有如下特点 : 0008 1. 具有良好的地址空间可扩展性, 理论上可以集成的资源节点的数目不受限制 ; 0009 2. 提供良好。
18、的并行通讯能力, 从而提高数据吞吐率及整体性能 ; 0010 3.使用全局异步局部同步机制(Globally Asynchronous Locally Synchronous, GALS), 每一个资源节点都工作在自己的时钟域, 而不同的资源节点之间则通过 OCN 进行异 步通讯, 很好的解决了总线结构单一时钟同步的问题, 从而彻底解决了庞大的时钟树所带 来的功耗和面积问题。 0011 自集成电路诞生之日起, 设计方法、 制造方法和测试方法始终是集成电路发展不 可分割的 3 个组成部分。但在集成电路发展的早期, 人们更多的注意力集中在设计和制造 领域, 而且早期的集成电路逻辑设计与工艺技术相对。
19、简单, 因此测试方法学的研究曾一度 处于一个不被重视的地位。随着 NoC 体系结构和设计方法的提出, 基于 NoC 的微系统芯片 测试技术的研究正受到越来越多的重视, 由于存储器 IP 核在 NoC 系统中的大量使用, 如何 对 NoC 系统中存储器进行高速有效的测试也成为了当下的一个热点的问题。 0012 传统的测试技术由于检测过程复杂、 耗时、 费用高、 故障检测率低, 已不能满足日 益复杂的集成电路所需。 0013 内建自测试 (英文为 Built-in Self Test, 其缩写 BIST) 技术克服了上述缺点, 它 说 明 书 CN 103310850 A 5 2/8 页 6 作为。
20、新型可测性设计方法能有效解决传统技术以及边界扫描技术无法解决的问题。由于 BIST 不是在外部测试设备中存储测试矢量, 而是将测试激励电路和响应分析电路加在被测 电路中, 利用被测电路的一部分完成电路本身的测试功能。 BIST具有测试生成过程短、 测试 过程复杂程度低和故障检测率高等优点, 并且能节约测试成本, 缩短测试时间, 提高系统使 用的可靠性。 0014 目前已有大量总线结构芯片 SoC 存储器的内建自测试的设计出现, 但尚未见对 NoC 系统中存储器采用内建自测试方法的报道。 发明内容 0015 本发明所要解决的技术问题是提供一种片上网络系统存储器的内建自测试结构 及自测试方法, 其。
21、具有测试结构简单、 故障覆盖率高、 资源使用率低、 低功耗和扩展性强的 特点。 0016 本发明设计的片上网络资源节点存储器的内建自测试结构, 所述片上网络为基于 FPGA 的芯片, 若干路由器由外部通道相互连接, 构成的路由器网络, 其结构为规则的 2 维网 格拓扑结构, NoC 中的路由器采用基于虚通道技术的虫洞数据交换机制, 路由算法采用源路 由算法, 各路由器配有资源网络接口, 资源网络接口为双向的数据流向接口, 各资源网络接 口经双向内部通道分别连接资源节点, 资源节点为 IP 核, 或片外的通用存储器 SRAM 等。其 中一个路由器 R2 经资源网络接口连接的片外通用存储器 SRA。
22、M 为待测试的资源节点存储 器。 0017 资源节点存储器的内建自测试结构包括 BIST 控制器、 BIST 接口、 测试图形生成器 和测试响应分析器, BIST 控制器建立于 FPGA 芯片, 测试图形生成器和测试响应分析器。路 由器 R2 的资源网络接口内嵌 BIST 接口, 源路由器 R1 的资源网络节点内嵌测试图形生成器 和测试响应分析器。 0018 BIST 控制器是一个有限的算法状态机, 负责测试算法的实现与状态流程的控制, 其使能信号输出端连接测试图形生成器和 BIST 接口, 测试响应分析器的输出端接入 BIST 控制器的信号输入端, BIST 控制器配有外设接口, 外部测试设。
23、备经该外设接口与 BIST 控制 器连接, 向 BIST 控制器发送指令, 启动本内建自测试结构进行测试, BIST 控制器经该接口 向外部测试设备输出本内建自测试结构的测试结果。 0019 测试图形生成器为一个简单的状态机, 负责生成资源节点存储器的测试数据序 列, 测试数据序列由相应的测试数据背景组成, 根据 BIST 控制器当前的数据背景状态确 定。 0020 测试响应分析模块是一个异或网络, 由数据背景器与异或比较器组成, 负责相应 测试数据的分析, 将资源节点存储器的测试响应数据和数据背景器提供的理想的数据进行 异或操作, 据此判断测试响应数据是否正确。 0021 BIST 接口包括。
24、 SRAM 地址生成器和 SRAM 控制器, SRAM 地址生成器产生当前资源节 点存储器的读写地址, 并按照测试算法的流程实现地址升序或者降序。SRAM 控制器具备与 资源节点存储器连接的接口, 实现对资源节点存储器的读写控制。 NoC系统中的某个资源节 点的存储器可工作在正常工作模式或测试模式, 开始测试后, BIST 控制器发出对某个资源 节点的存储器的切换信号到 BIST 接口, BIST 接口的 SRAM 控制器对该资源节点设置切换为 说 明 书 CN 103310850 A 6 3/8 页 7 正常工作模式或测试模式。 0022 根据上述本发明设计的片上网络资源节点存储器的内建自测。
25、试结构的片上网络 资源节点存储器的内建自测试方法, 主要步骤如下 : 0023 、 在片上网络芯片构建片上网络资源节点存储器的内建自测试结构, 在 FPGA 芯 片建立BIST控制器, 以及相应的路由器的资源网络接口内嵌测试模块, 即目的路由器R2的 资源网络接口接有待测资源节点存储器, R2的资源网络接口内嵌BIST接口, 在源路由器R1 的资源网络节点内嵌测试图形生成器和测试响应分析器 ; 0024 、 外部测试设备与BIST控制器的外设接口连接, 外部测试设备向BIST控制器发 送指令启动测试程序 ; 0025 、 BIST 控制器按照测试算法程序向各测试模块发送使能信号和状态选择信号,。
26、 源路由器R1的资源网络接口内嵌的测试图形生成器根据BIST控制器的状态选择指令和发 送指令, 生成当前测试数据并向路由器网络发送测试数据 ; 0026 BIST 控制器向目的路由器 R2 的 BIST 接口的 SRAM 控制器发送的切换工作模式 使能信号, 该资源节点存储器切换为测试模式, 接收测试图形生成器产生的测试数据 ; 该 BIST 接口的 SRAM 地址生成器产生当前资源节点存储器的读写地址, 并按照测试算法的流 程实现待测存储器 SRAM 地址升序或者降序 ; 0027 、 本测试算法的每个测试状态均有写数据操作和读数据操作, 0028 执行写数据操作时, BIST 控制器对源路。
27、由器 R1 的资源网络接口内嵌的测试图形 生成器发送指令, 按测试算法程序生成相应测试状态的测试数据 ; 0029 R1 的资源网络接口内嵌的测试图形生成器将测试数据按照路由分组格式进行打 包, 送入R1, 经路由器网络传输, 到达资源节点存储器所在的目的路由器R2, 经R2的资源网 络接口送入其内嵌的 BIST 接口, 由此送到资源节点进行解包处理, 然后将测试数据写入资 源节点存储器。 此资源节点存储器工作于测试模式, 对测试数据给出测试响应信号, 提示完 成一次写数据操作。 0030 执行读数据操作时, 上述资源节点存储器的测试响应信号, 在 BIST 接口按照返回 路径的路由分组格式进。
28、行打包, 经其所处的资源网络接口送入 R2, 在路由器网络传输, 到达 路由器 R1, 进入 R1 的资源网络接口内嵌的测试响应分析器、 进行解包处理, 测试响应分析 器的异或比较器对资源节点存储器的测试响应数据和数据背景器提供的理想的数据进行 异或操作, 据此判断测试响应数据是否正确, 并将结果送给 BIST 控制器 ; 0031 、 如果本次测试响应数据正确, 测试响应分析器判断是否为最后一个测试状态, 若为否、 则返回步骤, BIST 控制器对源路由器 R1 的资源网络接口内嵌的测试图形生成器 发送指令, 按测试算法程序进行下一个测试状态的写数据操作和读数据操作 ; 0032 如果本次测。
29、试响应数据正确, 测试响应分析器判断此为最后一个测试状态, 再判 断此测试是否为待测存储器的最后一个 SRAM 地址, 若不是最后的 SRAM 地址, 则返回步骤 , 按 SRAM 地址生成器的地址升序或者降序对下一个 SRAM 地址进行测试算法要求的各个 测试状态的测试 ; 当判断此测试为待测存储器的最后一个 SRAM 地址, 结束本次测试, 将该 资源节点存储器的测试结果反馈给 BIST 控制器并发送给芯片外部测试设备进行分析 ; 同 时 BIST 控制器向路由器 R2 的 BIST 接口的 SRAM 控制器发送的切换工作模式使能信号置为 无效状态, 该资源节点存储器恢复正常工作模式。 说。
30、 明 书 CN 103310850 A 7 4/8 页 8 0033 如果本次测试响应数据错误, 即为有故障, 测试响应分析器立即停止对该资源节 点存储器的测试, 测试响应分析器将测试结果传送给 BIST 控制器, BIST 控制器将测试结果 发送给外部测试设备。由外部测试设备进行故障诊断和定位等后续工作。 0034 所述测试结果包含理论测试数据、 测试响应数据、 地址信息、 测试时间等信息。 0035 步骤所述的测试算法为改进的 March C+ 算法, 其读写操作以字为测试单元, 字 中的多个数据位合称为数据背景。所述片上网络系统的资源节点存储器位宽为 N 位, 测试 数据序列有 log2。
31、N+1 个。 0036 这样不仅可以检查资源节点存储器的字间耦合故障, 还可以检查字内耦合故障。 另外在 March C+ 算法的基础上, 增加了检测数据保留故障的测试步骤, 在一定程度上提高 了故障测试的覆盖率。 0037 BIST 控制器算法状态机中的测试状态个数 n 与算法中 March 元素的个数一致为 M0 至 Mn, BIST 控制器中的算法初始状态为闲置 (idle), 启动测试后, 算法状态先取测试状 态 M0, 若在该测试状态下资源节点存储器的响应数据没有发现故障, 即 Sram_Error=0, 转 移到下一个状态 M1 进行测试。以此类推, 测试过程中当未发现故障 Sra。
32、m_Error=0, 依次执 行 M1、 M2至 Mn 的测试状态, 之后返回初始状态闲置。当测试过程中出现故障, 即 Sram_ Error=1, 立即停止测试。 0038 与现有技术相比, 本发明片上网络资源节点存储器的内建自测试结构和自测试方 法的优点如下 : 0039 (1) 芯片上的内建自测试结构, 在 FPGA 芯片内部直接产生测试矢量, 测试完成时 间比外接测试设备进行测试所需时间大大减少, 仅为后者的一半或更少 ; 0040 (2) 复用片上网络的路由器网络作为测试数据存取路径, 数据按照路由分组的形 式进行传输, 数据传输可靠安全, 不需要额外的增加面积的开销, 芯片面积开销。
33、小 ; 0041 (3) 采用优化改进的 March C+ 算法, 故障覆盖率较高, 可检测固定故障、 状态转移 故障、 耦合故障、 寻址故障、 开路故障、 数据保留故障等 ; 0042 (4) 有效节约测试成本, 缩短测试时间, 提高测试的可靠性, 有利于片上网络的开 发应用。 附图说明 0043 图 1 为片上网络资源节点存储器的内建自测试结构实施例的基于 FPGA 的片上网 络路由器网络结构示意图 ; 图中 : R 表示路由器, S 表示资源节点, 表示资源网络接口, IC 表示内部通道, EC 表示外部通道, SRAM 表示资源节点存储器 ; 0044 图 2 为片上网络资源节点存储器。
34、的内建自测试结构实施例的内建自测试结构示 意图 ; 0045 图 3 为片上网络资源节点存储器的内建自测试方法实施例测试流程图 ; 0046 图 4 为片上网络资源节点存储器的内建自测试方法实施例数据包格式及微片 bit 信息结构示意图 ; 0047 图 5 为片上网络资源节点存储器的内建自测试方法实施例 BIST 控制器算法状态 机状态转移示意图 ; 0048 图 6 为片上网络资源节点存储器的内建自测试方法实施例写数据操作框图 ; 说 明 书 CN 103310850 A 8 5/8 页 9 0049 图 7 为片上网络资源节点存储器的内建自测试方法实施例写数据操作框图。 具体实施方式 0。
35、050 片上网络资源节点存储器的内建自测试结构实施例 0051 本片上网络资源节点存储器的内建自测试结构实施例采用的片上网络基于 FPGA 的芯片, 如图 1 所示, 33 路由器 R 由外部通道 EC 相互连接, 构成规则的 2 维网格 (2D-Mesh) 拓扑结构的路由器网络, NoC 中的路由器采用基于虚通道技术的虫洞数据交换机 制, 路由算法采用源路由算法, 各路由器通过资源网络接口连接资源节点, 其中一个路由器 R2 经资源网络接口连接的片外通用存储器 SRAM 为待测试的资源节点存储器, 以下待测试 的资源节点存储器以 SRAM 表示。其中的资源网络接口为双向的数据流向接口。 00。
36、52 本例资源节点存储器的内建自测试结构如图 2 所示, 按照功能分模块, 用 Verilog 硬件描述语言设计, 包括 BIST 控制器、 BIST 接口、 测试图形生成器和测试响应分析器, BIST 控制器建立于 FPGA 芯片, 路由器 R2 的资源网络接口内嵌 BIST 接口 , 源路由器 R1 的资源 网络节点内嵌测试图形生成器和测试响应分析器。 0053 BIST 控制器是一个有限的算法状态机, 负责测试算法的实现与状态流程的控制, 其使能信号输出端连接测试图形生成器和 BIST 接口, 测试响应分析器的输出端接入 BIST 控制器的信号输入端, BIST 控制器配有外设接口, 外。
37、部测试设备经该外设接口与 BIST 控制 器连接, 如图 2 所示, 本例的 BIST 控制器的外设接口有三个端口, 一个端口 in 用于外部测 试设备向BIST控制器发送指令, 启动本内建自测试结构进行测试, 另一个端口re用于BIST 控制器向外部测试设备输出本内建自测试结构的测试结果, 第三个端口 fi 用于 BIST 控制 器向外部测试设备传送测试完成信号。 0054 测试图形生成器为一个简单的状态机, 负责生成 SRAM 的测试数据序列, 测试数据 序列由相应的测试数据背景组成, 根据 BIST 控制器当前的数据背景状态确定。 0055 测试响应分析模块是一个异或网络, 由数据背景器。
38、与异或比较器组成, 负责相应 测试数据的分析, 将 SRAM 的测试响应数据和数据背景器提供的理想的数据进行异或操作, 据此判断测试响应数据是否正确。 0056 BIST 接口包括 SRAM 地址生成器和 SRAM 控制器, SRAM 地址生成器产生当前 SRAM 的读写地址, 并按照测试算法的流程实现地址升序或者降序。SRAM 控制器具备与 SRAM 连 接的接口, 实现对 SRAM 的读写控制。NoC 系统中的某个资源节点的存储器可工作在正常工 作模式或测试模式, 开始测试后, BIST 控制器发出对某个资源节点的存储器的切换信号到 BIST 接口, BIST 接口的 SRAM 控制器对该。
39、资源节点设置切换为正常工作模式或测试模式 0057 根据上述本发明设计的片上网络资源节点存储器的内建自测试结构建立的片上 网络资源节点存储器的内建自测试方法, 其流程如图 3 所示, 主要步骤如下 : 0058 、 在片上网络芯片构建片上网络资源节点存储器的内建自测试结构, 如图 2 所 示, 在 FPGA 芯片建立 BIST 控制器, 相应的路由器的资源网络接口内嵌测试模块, 即目的路 由器 R2 的资源网络接口接有待测资源节点存储器, R2 的资源网络接口内嵌 BIST 接口, 在 源路由器 R1 的资源网络节点内嵌测试图形生成器和测试响应分析器 ; 0059 、 外部测试设备与BIST控。
40、制器的外设接口连接, 外部测试设备向BIST控制器发 送指令启动测试程序 ; 说 明 书 CN 103310850 A 9 6/8 页 10 0060 、 BIST 控制器按照测试算法程序向各测试模块发送使能信号和状态选择信号, 本内建自测试结构初始化。 0061 源路由器 R1 的资源网络接口内嵌的测试图形生成器, 按测试算法生成 SRAM 的测 试数据序列, 测试数据序列由相应的测试数据背景组成。 0062 系统上电后, 测试图形生成器将测试数据背景写入内部寄存器, 本例测试数据背 景共 5 组, 在接收到 BIST 控制器的发送数据使能信号之后, 根据 BIST 控制器选择的当前数 据背。
41、景状态信号确定当前发送的测试数据, 按照路由数据转发的格式将当前测试数据传送 到路由器网络。 0063 本例的测试算法为改进的 March C+ 算法, 其读写操作以字为测试单元, 字中的多 个数据位合称为数据背景。本例片上网络系统的 SRAM 位宽为 N=16 位, 测试数据序列有 log2N+1=5 个。 0064 当测试算法的读写数据是 “1” 时, 相应的测试数据序列扩展为 0065 1 : 1111111111111111、 0066 2 : 1010101010101010、 0067 3 : 1100110011001100、 0068 4 : 1111000011110000、。
42、 0069 5、 1111111100000000。 0070 当测试算法的读写数据是 “0” 时 , 相应的测试数据序列扩展为 0071 1 : 0000000000000000、 0072 2 : 0101010101010101、 0073 3 : 0011001100110011、 0074 4 : 0000111100001111 0075 5 : 0000000011111111。 0076 测试图形生成器发送的数据送入源路由器的资源网络接口, 对测试数据按照路由 分组数据交换的格式进行组包和解包。 0077 片上网络中处理单元产生的数据称为消息 (message), 在 NoC 。
43、中将消息分成固定 长度的数据包 (packet)。数据包的大小根据具体情况设定, 可以是几个字节, 也可以是一 片内存区内的所有信息。在一个时钟周期内, 路由节点之间所交换的信息单元称为微片 (flit)。一个数据包由多个微片构成, 且微片宽度决定了资源节点之间以及路由节点之间 的通道带宽。一般情况下, 一个数据包由多个数据微片组成。如图 4 所示, 本例片上网络中 传输的消息分成固定长度的多个数据包, 每一个数据包有 8 个微片 (flit) , 每个数据包具 有一个头微片、 6 个数据微片和一个尾微片。头微片包括微片类型、 信息标志、 路径信息、 目 的地址和数据包源地址。尾微片表示数据包。
44、的终结。数据微片是传递的有效数据, 处于头 微片和尾微片之间。本例设计的每个微片有 18 位, 前两位为微片类型信息, 微片类型信息 01 表示头微片, 10 表示尾微片, 00 表示数据微片。资源网络接口对经过的数据包的微片加 入微片类型信息, 数据包在资源节点发出时各微片为 16 位。 0078 路径信息标识着数据在片上网络传输的路径, 由4位2进制数表示, 每一位的数字 对应数据经过的相应路由器的传输路径, 当该位的路径信息为1, 表示沿X方向传输, 为0则 沿 Y 方向传输。路由器读取数据包头微片中的路径信息, 确定数据包转发的路径。在数据 说 明 书 CN 103310850 A 1。
45、0 7/8 页 11 传输过程中每经过一个路由器路径信息自动加 1。如源路由器发出的数据包头微片中的路 径信息为 0000, 读取路径信息的第 0 位为 0, 故源路由器发出的该数据包沿 Y 方向传输。数 据传到了下一个路由器时路径信息加 1 变为 0001, 读取路径信息的第 1 位为 0, 此路由器将 该数据包仍沿 Y 方向传输。 0079 数据包在片上网络中的传输流程如下 : 首先由资源节点将打包好的数据以及相关 握手信号发送到本地的资源网络接口, 该资源网络接口根据数据信息给数据包的微片添加 微片类型信息, 然后向本地路由器发送申请, 本地路由收到请求信号后反馈给本地资源网 络接口应答。
46、信号, 令其将数据存入资源网络接口的数据缓存器中 ; 资源网络接口根据头微 片中携带的目的地址信息将数据从数据缓存器中取出, 通过资源网络接口的交换开关, 由 目的方向输出端口输出, 进入到下一个路由器中, 如此便完成了从一个路由器到下个路由 器的数据传输。 0080 BIST控制器向R2的BIST接口的SRAM控制器发送切换工作模式使能信号, 该SRAM 切换为测试模式, 接收测试图形生成器产生的测试数据 ; 该BIST接口的SRAM地址生成器产 生当前 SRAM 的读写地址, 并按照测试算法的流程实现地址升序或者降序 ; 0081 BIST 控制器算法状态机中的状态个数 n 与算法中 Ma。
47、rch 元素的个数一致, 如图 5 所示, BIST 控制器中的算法初始状态为闲置 (idle), 启动测试后, 算法状态先取测试状态 M0, 若在该测试状态下 SRAM 的响应数据没有发现故障, 即 Sram_Error=0, 转移到下一个状 态 M1 进行测试。以此类推, 测试过程中当 Sram_Error=0, 依次执行 M1、 M2Mi至 Mn 的测 试状态, 最后为结束测试 STOP, 返回初始状态闲置。当测试过程中出现 Sram_Error=1, 表示 存在故障, 立即停止测试。BIST 控制器算法状态机中的状态转移示意图如图 5 所示。 0082 、 本测试算法的每个测试状态均有。
48、写数据操作和读数据操作, 0083 执行写数据操作时, BIST 控制器对源路由器 R1 的资源网络接口内嵌的测试图形 生成器发送写数据指令, 按测试算法程序生成相应测试状态的测试数据 ; 0084 R1 的资源网络接口内嵌的测试图形生成器将测试数据按照路由分组格式进行打 包, 送入 R1, 经路由器网络传输, 到达 SRAM 所在的目的路由器 R2, 经 R2 的资源网络接口送 入其内嵌的 BIST 接口, 由此送到资源节点进行解包处理, 然后将测试数据写入 SRAM。此 SRAM 工作于测试模式, 对测试数据给出测试响应信号。 0085 SRAM 写数据结构与握手信号框图如图 6 所示。写。
49、数据操作具体过程如下 : 测试 数据传至目的路由器 R2 时, 首先向资源网络接口 RNI 发送请求信号 Req, 在得到应答信号 Grant有效之后, 路由器将18位宽的数据Data_in17:0写到RNI的输出缓冲器中。 RNI的 应答器发现 RNI 的输出缓冲器中有有效的数据, 就向 SRAM 发送读数据请求信号 Read_ask, 资源节点收到该请求信号后, 则向RNI反馈信号Read_en、 信号有效, 同时提供读时钟Read_ clk, 从RNI的输出缓冲器中读取数据, 资源节点在dataout_flag有效时才开始读数据数据 在写入 SRAM 之前要拆包, 也就是去掉头信息。此时 BIST 控制器将 En_wr 置高, 将还原 16 位宽的测试数据 Data_out15:0 写入 SRAM 中, 如此便完成了一次 SRAM 的写操作。 0086 执行读数据操作时, 。