• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 14
    • 下载费用:30 金币  

    网上赚钱重庆时时彩: 一种芯片流水线的测试方法和装置.pdf

    关 键 词:
    一种 芯片 流水线 测试 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201010556895.9

    申请日:

    2010.11.24

    公开号:

    CN102184130A

    公开日:

    2011.09.14

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情: 发明专利申请公布后的视为撤回IPC(主分类):G06F 11/22申请公布日:20110914|||实质审查的生效IPC(主分类):G06F 11/22申请日:20101124|||公开
    IPC分类号: G06F11/22 主分类号: G06F11/22
    申请人: 北京天融信科技有限公司
    发明人: 曾涛
    地址: 100085 北京市海淀区上地东路1号院3号楼3层北侧301室
    优先权:
    专利代理机构: 工业和信息化部电子专利中心 11010 代理人: 梁军
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201010556895.9

    授权公告号:

    ||||||

    法律状态公告日:

    2014.03.12|||2011.11.02|||2011.09.14

    法律状态类型:

    发明专利申请公布后的视为撤回|||实质审查的生效|||公开

    摘要

    本发明公开了一种芯片流水线的测试装置,包括探测器、信号发生器和存储器;所述探测器嵌入芯片电路中,用于对芯片中需要检测的各个??榈氖淙胧涑鍪萁刑讲?,得到探测数据;所述存储器用于保存所述探测数据,供测试人员分析;所述信号发生器嵌入芯片电路中,用于在待检测??榈氖淙攵饲恐剖淙胍桓鲋鞫だ藕?,以检测该??槭欠癯龃?,还用于,在成品芯片的使用过程中,将出错??槭涑龅拇砦笫萏婊晃返氖?。采用本发明装置对芯片流水线进行测试,具有低成本、高效率的优点。本发明还相应公开了一种芯片流水线的测试方法。

    权利要求书

    1: 一种芯片流水线的测试方法, 其特征在于, 包括如下步骤 : 在芯片电路中加入探测器, 使用所述探测器对芯片中各个??榈氖淙胧涑鍪萁刑?测, 并将探测得到的数据中的有用数据保存起来 ; 读取保存的所述有用数据, 分析该芯片中错误出现的位置。
    2: 根据权利要求 1 所述的芯片流水线的测试方法, 其特征在于, 在芯片流水线的每两 个??橹渚幸桓鏊鎏讲馄?。
    3: 根据权利要求 1 或 2 所述的芯片流水线的测试方法, 其特征在于, 还包括步骤 : 在芯片电路中加入信号发生器, 使用该信号发生器在需要测试的??榈氖淙攵饲恐剖?入一个主动激励信号, 并在该??榈氖涑龆瞬捎盟鎏讲馄魈讲馄涫涑鲂藕?, 通过对该输 出信号的分析, 确定该??槭欠癯龃?。
    4: 根据权利要求 3 所述的芯片流水线的测试方法, 其特征在于, 还包括步骤 : 在成品芯片的使用过程中, 使用所述信号发生器将出错??槭涑龅拇砦笮藕盘婊晃?确的信号。
    5: 一种芯片流水线的测试装置, 其特征在于, 包括探测器和存储器 ; 所述探测器嵌入芯片电路中, 用于对芯片中各个??榈氖淙胧涑鍪萁刑讲?, 得到 探测数据 ; 所述存储器用于保存所述探测数据中的有用数据。
    6: 根据权利要求 5 所述的芯片流水线的测试装置, 其特征在于, 在芯片流水线的每两 个??橹渚幸桓鏊鎏讲馄?。
    7: 根据权利要求 5 所述的芯片流水线的测试装置, 其特征在于, 所述存储器指置于芯 片内部的寄存器。
    8: 根据权利要求 5 所述的芯片流水线的测试装置, 其特征在于, 所述存储器指置于芯 片内部的随机存取存储器。
    9: 根据权利要求 5 至 8 中任一项所述的芯片流水线的测试装置, 其特征在于, 还包括信 号发生器, 该信号发生器嵌入芯片电路中, 用于在待检测??榈氖淙攵饲恐剖淙胍桓鲋鞫?激励信号, 以供检测该??槭欠癯龃硎褂?。
    10: 根据权利要求 9 所述的芯片流水线的测试装置, 其特征在于, 所述信号发生器还用 于, 在成品芯片的使用过程中, 将出错??槭涑龅拇砦笫萏婊晃返氖?。

    说明书


    一种芯片流水线的测试方法和装置

        【技术领域】
         本发明属于芯片设计技术领域, 尤其涉及一种芯片流水线的测试方法和装置。背景技术 流水线设计是芯片设计的一种普遍的方法, 就如同工厂里的流水线一样, 把一个 工作分成一个一个的动作, 每个动作完成一个小功能, 走完一个流水线就能完成一个完整 的工作, 这样能提高效率。 芯片内部的流水线也是把一个大的功能分成一个个小功能, 串在 一起, 这样就能提高芯片的工作频率, 增加芯片的性能。随着芯片设计的复杂度日益提高, 流水线设计的应用也更普遍, 动辄几十上百的流水线同时工作, 给芯片的设计和调试带来 很大的困难, 因为一条流水线里只要有一个??槌鑫侍?, 整条流水线工作都不会正常, 同时 现在芯片的规模越来越大, 传统的软件仿真系统验证的方法也越来越复杂, 常常实际环境 里芯片运行几秒钟, 需要耗费软件仿真几周的工时, 工作效率很低。 随着芯片的规模越来越 大, 完全依赖软件仿真进行验证, 需要搭建更复杂的专用的仿真环境, 采用高性能的仿真服 务器, 需要专业的团队, 投入很大, 但是仿真的效率受仿真服务器计算能力的限制, 并没有 质的提高。
         现有的采用软件仿真的方式测试芯片流水线的技术方案如图 1 所示, 主要是采用 计算机仿真的方法模拟实际的应用环境, 在计算机中首先需要建立一个虚拟实际的环境, 包括信号的产生激励、 输出结果的验证、 作为对比的模拟芯片计算的???、 以及芯片工作的 平台, 将芯片的设计放入这个环境中, 产生激励信号, 送到芯片的设计和模拟芯片计算的模 块中分别进行处理, 然后在结果比较??橹斜冉狭礁鼋峁?。这里模拟芯片的工作平台需要 提供芯片工作时的一切条件, 可以配置不同的参数, 如果设计的芯片是工作在 X86 平台上, 就需要搭建一个 X86 的平台, 包括模拟 x86 处理器、 模拟北桥南桥芯片、 存储器、 硬盘等, 非 常复杂。整个仿真环境运行起来需要进行大量的计算。
         上述现有的芯片流水线测试方案具有如下缺陷 :
         1、 效率低下, 实际环境运行几秒钟, 软件仿真需要耗时几周 ;
         2、 成本高, 需要搭建专用的仿真平台, 需要有经验的仿真设计团队 ;
         3、 无法完全模拟实际环境, 需要量化实践环境的参数, 但无法做到 100%接近实际 环境。
         现有的芯片流水线的调试 / 测试方法, 除软件仿真外还有逻辑分析仪和嵌入式逻 辑分析仪方法。
         逻辑分析仪方法 : 占用芯片的管脚作为测试管脚, 连通逻辑分析仪进行调试 / 测 试, 这种方法需要占用芯片的管脚, 同时内部也需要设计电路配合, 一次观察数量受测试管 脚数量限制, 对流水线的调试不太适合, 更适合管脚接口的调试。
         嵌入式逻辑分析仪 : 通过在芯片内部嵌入逻辑分析仪的方式进行调试 / 测试, 这 种方法比用逻辑分析仪灵活, 但要利用芯片内部的 RAM 资源, 并且一次只能观测到数量有 限的数据, 数据的位宽和深度都受限制, 每次观测新的数据都需要重新进行电路布局布线,
         效率较低, 而且只适用于 FPGA 产品。另外如果在量产产品中保留嵌入式逻辑分析仪会给芯 片的破解留下后门, 不太安全。 发明内容
         本发明要解决的技术问题是针对现有技术中存在的上述缺陷, 提出一种低成本、 高效率的芯片流水线测试方法和装置。
         本发明技术方案包括 :
         一种芯片流水线的测试方法, 包括如下步骤 :
         在芯片电路中加入探测器, 使用该探测器对芯片中各个??榈氖淙胧涑鍪萁?探测, 并将探测得到的数据保存起来 ;
         读取保存的所述数据, 分析该芯片中错误出现的位置。
         进一步地, 所述将探测得到的数据保存起来, 指选择有用的数据进行保存。
         进一步地, 所述芯片流水线的测试方法, 还包括步骤 :
         在需要测试的某个??榈氖淙攵饲恐剖淙胍桓鲋鞫だ藕?, 并在该??榈氖涑?端采用所述探测器探测其输出信号, 通过对该输出信号的分析, 确定该??槭欠癯龃?。 进一步地, 所述芯片流水线的测试方法, 还包括步骤 :
         在成品芯片的使用过程中, 将出错??槭涑龅拇砦笮藕盘婊晃返男藕?。
         一种芯片流水线的测试装置, 包括探测器和存储器 ;
         所述探测器嵌入芯片电路中, 用于对芯片中需要检测的各个??榈氖淙胧涑鍪?进行探测, 得到探测数据 ;
         所述存储器用于保存所述探测数据。则测试人员根据存储器保存的所述探测数 据, 能够分析该芯片中错误出现的位置。
         进一步地, 所述探测数据, 指探测得到的各个??榈氖淙胧涑鍪葜械挠杏檬?。
         进一步地, 所述存储器位于芯片内部, 其可以为寄存器, 也可以为随机存取存储 器。
         进一步地, 所述芯片流水线的测试装置还包括信号发生器, 该信号发生器嵌入芯 片电路中, 用于在待检测??榈氖淙攵饲恐剖淙胍桓鲋鞫だ藕?, 以供检测该??槭欠?出错使用。
         更进一步地, 所述信号发生器还用于, 在成品芯片的使用过程中, 将出错??槭涑?的错误数据替换为正确的数据。
         本发明具有以下有益效果 :
         本发明提供的芯片流水线测试方案不需要搭建专用的仿真平台, 直接使用实际环 境的测试平台, 更接近实际环境 ; 减少了对软件仿真的依赖, 不需要有经验的仿真团队, 降 低了成本 ; 同时极大缩短了芯片设计的时间, 提高了效率, 比较传统设计方法可提高效率 20% -40%。
         并且, 本发明提供的芯片流水线测试装置中, 探测器和信号发生器均采用标准化 的???, 直接嵌入到原始设计中, 不会对原设计有破坏, 而且添加删除灵活, 应用到 FPGA 的 设计中, 可以在测试完成后去掉以降低产品成本。并且还可以通过在成品芯片中保留探测 器和信号发生器来增加芯片的可维护性, 既可以监控芯片的工作情况, 还可以纠正芯片的
         一些错误。 附图说明
         图 1 为采用软件仿真方式测试芯片流水线示意图 ; 图 2 为典型的芯片流水线结构示意图 ; 图 3 为本发明芯片流水线的测试装置结构示意图 ; 图 4 为探测器内部结构示意图 ; 图 5 为握手方式 1 的数据传递示意图 ; 图 6 为握手方式 2 的数据传递示意图 ; 图 7 为队列方式的数据传递示意图 ; 图 8 为信号发生器结构示意图 ; 图 9 为数据模板示意图 ; 图 10 为实例一的芯片维护原理示意图 ; 图 11 为实例二的芯片维护原理示意图。具体实施方式
         下面结合附图和具体实施方式对本发明作进一步详细说明。
         图 2 为典型的芯片流水线结构示意图, 如图所示, Input 是数据输入, 经过第一个 ???module0 处理, moudle0 把处理结果输出给第二个???module1 处理, module1 再把处 理结果输出给第三个???module2, 通过一级一级传递最终由最后一个???module3 把结 果输出。在调试过程中, 最关心的就是每个小???module 的输入和输出的结果是否正确, 如果一个小???module 发生问题就会造成错误不断地被传递下去, 直到最终输出, 所以找 到是哪个小 module 的输出出错了, 也就基本找到问题出在哪了。如果 Module1 出错了, Module2 会把这个错误传递下去, Module3 继续传递, 直到最终输出, 流水线设计的芯片的 错误都是以这种方式传递的, 如果能准确知道每个??榈氖涑鼍湍芎芸烊范ǔ龅谝桓龀龃?的???, 从而快速找到错误。
         为了达到该目的, 本发明方法包括如下步骤 : 在芯片电路中的每个??橛肽??之间的连接处均增加一个探测器 Probe, 该探测器能够选择探测???module 的输入输出 数据, 并将数据存入一个芯片内部的存储器, 调试人员能够通过管理接口 (Management Interface) 或者用户接口 (User Interface) 从 Storage 读取该存储器, 分析错误。 同时, 本 发明方法进一步还可以包括在电路中增加信号发生器 Gen, 信号发生器强制给某个 module 一个激励输入, 然后用 Probe 抓出这个 Module 的输出信号, 然后观察它的输出是否正确 来帮助分析问题。Probe 将采集到的数据写入一个芯片内部的存储器, 可以根据需要灵活 选取寄存器、 RAM(random access memory, 随机存取存储器 ) 等作为本发明使用的存储器 Storage。Probe 和 Gen 可以在芯片的设计流程中的 FPGA 验证阶段存在, 如果最终产品是 AISC(Application Specific Integrated Circuit, 专用集成电路 ), 则可以去掉, 也可以 保留。 如果最终产品是 FPGA(Field Programmable Gate Array, 可编程门阵列 ) 的形态, 可 以直接去掉以节省资源。
         图 3 为本发明芯片流水线的测试装置结构示意图, 如图所示, 本发明芯片流水线的测试装置包括探测器 Probe、 信号发生器 Gen 和存储器 Storage, 它们均置于芯片内部。 其 中探测器和信号发生器嵌入芯片电路中。
         其中, 芯片流水线中每两个??橹涞牧哟柚靡桓鎏讲馄?, 用于对前一个 ??榈氖涑鍪菀布词呛笠桓瞿?榈氖淙胧萁刑讲?, 并将探测得到的有用数据存入存 储器 Storage。
         调试人员可以通过用户接口 User Interface 或管理接口 Management Interface 读出存储器 Storage 中的数据进行分析。一般数字芯片都有自己的管理接口或者用户接 口, 直接把 Probe 挂到管理接口或者用户接口下即可。
         控制信号发生器 Gen 修改某个??榈氖涑鍪?, 这个功能通常在芯片维护状态下 使用。
         信号发生器 Gen 实现如下功能 :
         调试人员可以通过用户接口或管理接口控制信号发生器, 强制给某个 module 输 入特定数据, 即输入一个主动激励信号, 然后让 module 工作, 再通过 Probe 对这个 module 的输出进行采样, 检查这个 module 的输出是否正确。 该功能通常在芯片调试 / 测试时使用。
         在芯片维护状态下, 信号发生器 Gen 可以在 Probe 的控制下输出一个更改后的数 据, 代替某个??榈脑涑鍪?, 给芯片提供一种纠错手段。 图 4 为探测器内部结构示意图, 如图所示, 被测试的??槭?module0, 探测器不对 module0 的输出数据进行任何改动, 只是对 module0 的输出数据进行采样, 其中 Filter 模 块对 module0 的输出数据进行过滤, 将不需要的数据过滤掉, 将有用的数据输出给 Probe_ ctrl ??橹?, Probe_Ctrl 用来控制数据写入缓存 Local buffer 中暂存该采样数据, Probe_ Ctrl 还能够控制 Gen 发出特定数据, 特定的数据由软件配置在存储器 Storage 中, Write_ ctrl ??榻裳荽?Local buffer 中拷贝到 Storage 中, 因为可能有多个 Probe 共同工 作, 同时要把采样数据写入 Storage, 这就会造成竞争, 本发明采用 Local buffer 将采样数 据先暂存下来, 如果有别的 Probe 占用 Storage, 则等到 Storage 空闲, 再将数据写入。 这样 保证了多个 Probe 能够共同工作。
         Filter ??橛糜诠耸?, 将 module0 的输出数据根据需要进行过滤, 芯片流水 线的??榧浯菔菀话阃ü帐只蚨恿惺迪?, 如???A 到???B 传输数据, 握手方式 1 如 图 5 所示, ???A 检测到???B 准备好接收数据, 即 B2A_rdy 信号为′ 1′, 是有效的, 同时 ???A 准备好数据, ???A 置 A2B_stb 脉冲信号有效, ???B 检测到 A2B_stb 有效, 将 A2B_ data 寄存, 同时置 B2A_rdy 信号无效, 这样就完成了一次???A 到???B 的数据传输。如果 要知道???A 到???B 的有效的传输数据, Filter ??橹恍枰嗍?A2B_stb 信号, A2B_stb 信号作为 Trigger( 触发 ) 信号, 当这个信号有效时, A2B_data 信号就是有效的, Filter 能 够对 A2B_data 信号进行初步采样。
         图 6 为握手方式 2 的数据传递示意图, 如图所示, ???A 要向???B 发送数据, 先 发出请求信号 A2B_req, ???B 收到???A 的请求, 如果可以接收数据, 就将 A2B_data 信号 上的数据寄存下来, 并同时给出应答脉冲信号 B2A_ack, ???A 收到应答信号, 无效 A2B_req 信号, 这样就完成了一次???A 到???B 的数据传输。如果???B 一直无法接收数据, 就要 保持应答信号 B2A_ack 始终无效。如果想知道???A 到???B 的有效的传输数据, Filter ??橹恍枰嗍?B2A_ack 信号, B2A_ack 信号作为 Trigger 信号, 当这个信号有效时, A2B_
         data 信号就是有效的, Filter 能够将 A2B_data 信号进行初步采样。
         图 7 为队列方式的数据传递示意图, 如图所示, ???A 通过队列的方式向???B 传输数据, ???A 有数据要传输, 直接将数据写入队列, 写信号是 A_queue_wr, 写数据是 A_ queue_data, ???B 要得到数据, 就从队列里将数据读出来, 读信号是 B_queue_rd, 读出的 数据是 B_queue_data。Filter 能够用 A_quque_wr 信号作为 Trigger 信号采样 A_queue_ data 信号的数据, 也可以用 B_quque_rd 信号作为 Trigger 信号采样 B_queue_data 信号的 数据。这是初步采样。
         Filter 对数据做完初步采样还可以进一步进行比较, Filter 内部的 Match 模 块完成这个功能, Match ??楸旧硎且桓霰冉掀?, 将初步采样的数据和预先设定好的数值 Pattern( 模式 ) 进行比较, 相等的叫命中, 最终采样写入 Local buffer。比如 : 对前 16bit 等于 0x5a5a 的数据进行采样。
         Count ??槭且桓鐾臣颇??, 用来对采样来的数据进行统计, 也可以和 Match ???一起使用, 统计满足某种命中的数据的数量。统计值也可以作为最终采样的条件之一。对 满足统计条件的数据进行采样。比如, 对每 10 个数据前 16bit 等于 0x5a5a 的数据进行采 样。 根据 Match 和 Count ??榈慕峁淖楹?, 给出是否要采样的信号即采样时能信号 sample_en。每个 sample_en 都有一个采样索引 id : sample_id。
         Update ??橛美磁卸鲜欠褚薷谋徊裳?榈氖涑鍪?, 给出更新使能信号 Update_en, Probe_ctrl ??橥ü?Sample_id 来和预先设定好的要更改的 Sample_id 值进 行比较, 如果相等就要修改数据, 然后向 Gen 发出修改数据的使能信号 Update_en, 给出修 改后的数据在 Storage 中的存放地址 Update_id, 即 Sample_id。Gen 就可以通过 Update_ id 在 Storage 中读到修改后的数据, 并将数据发出。
         Filter 保证了 Probe 的采样不同于逻辑分析仪的一次性连续采样的方式, Probe 只对有效的数据进行采样, 并且能够多次采样。 这样采样的数据很少, 而且能够看到更多的 历史数据。
         Local Buffer 是一个缓存, 用来暂存采样下来的数据, 宽度等于需要采样的数据 宽度, 深度根据访问 Storage 的速度决定, 作用是为了保证采样数据不丢失。因为可能有 多个 Probe 在同时工作, 同时要求访问 Storage, 为了避免竞争风险, 就先将采样数据写入 Local Buffer。
         Write_ctrl 将数据从 Local Buffer 中读出, 然后写入 Storage 中去。
         Probe_ctrl 处理 Filter 送来的数据, 实现如下两方面的功能 :
         控制数据本地缓存 : 将 Filter 送来的数据直接写入 Local_buffer, 不做任何处 理。
         控制 Gen 发出特定数据 : Filter 送来的采用数据如果满足特定的条件例如满足 统计要求或者等于某个预先设定好的数据 Pattern 时, 控制 Gen 输出特定的数据 ( 即替代 被采样数据的修正数据 ), 特定数据存储在 Storage 中, 这个功能能够用来修改芯片某些错 误。
         图 8 为信号发生器结构示意图, 如图所示, 信号发生器 Gen 给 Module1 提供输入 数据, 通过一个选择开关 Swtich, Gen 可以将自己旁路, 直接将 Module0 输出的数据输入给
         Module1, 也可以将配置在 Storage 中的特定数据输出给 Module1 ???。
         选择开关 Switch 选择 a 时, Gen 工作在旁路状态, 不对被测试的 Module1 产生任何 影响, 当选择 b 时, Gen 工作在激励状态, 作为 Module1 的激励, 给 Module1 产生输入信号, 即一个主动激励信号。
         图中 Read_ctrl 为读控制???, 调试 / 测试人员可以通过软件配置 Read_ctrl 内 部寄存器进行控制, 或者通过 Probe 直接控制。将要给 Module1 生成的数据模版和发送模 式从 Storage 中读出, 传输给 Gen_ctrl ???。软件控制时, 配置寄存器通知 Read_ctrl 从 Storage 的哪个地址读出数据, Probe 控制时, Read_ctrl 根据 Probe 给出的 Update_id 找 到要从 Storage 中读回的数据。
         Gen_ctrl 为数据生成控制???, 根据 Read_ctrl 送来的数据模版生成数据, 根据 发送模式组织好, 将数据发送到 Switch ??榈?b 端。
         假设 Module1 的数据由 4 组数据组成 : A-D。Gen_ctrl 先根据数据模版来生成 要发送给 Module1 的数据。数据模版如图 9 所示, 数据模版存储在 Storage 中, Gen_ctrl 根据它来生成数据, 有 4 种模式 : 即数据递增 Inc ; 数据递减 Dec ; 随机生成 Random ; 常量 Constant。 在图 9 这个例子里, 数据段 A 采用 Inc 模式, B 采用 Dec 模式, C 采用 Random 模式, D 采用 Constant 模式。这里面第四种模式常量 Constant 是最常用的, 用户直接在 Storage 中设置写入常量, 让 Gen 直接输出给 Module1 进行测试。
         数据生成好了, 还需要一个发送模式来确定如何发送这些数据, 一般有如下几种 发送模式可供选择 : 顺序发送 ; 随机发送 ; 手动发送 ; 自动发送一次。
         手动发送的模式是最常用的, 用户直接在 Storage 中设置好数据, 然后通过配置 寄存器控制 Gen 一个一个发送数据, 再用 Probe 在 Module1 的输出端进行采样, 然后分析。
         Gen_ctrl 向 Module1 发送数据的时候等于是代替了 Module0 的位置, 具体的发送 方法可采取上面介绍的握手法和队列法, Gen 相当于是 A 端, Module1 相当于是 B 端。
         Probe 和 Gen 还可以作为芯片维护接口使用 :
         在芯片成为成品后, 可以在芯片内部保留一部分的 Probe 作为监控接口, 配合软 件实现对芯片工作状态的实时监控, 例如软件可以周期性地轮流地读出各个 Probe 的采样 数据, 根据数据来判断芯片的某个??槭欠窆ぷ髡?。如果某个??榈氖涑霾裳菀欢?时间内没有更新, 这个??榫涂赡芄ぷ饕斐?。
         Gen 保留在芯片内部, 可以作为修补芯片错误的一种手段, 如果在芯片成品后发现 芯片内部某个??樵诖硖囟ǖ氖莩鱿执砦?, 可以先用 Probe 对数据采样, 找到什么时 刻这种数据会出现, 然后用 Probe 控制 Gen 发出修改后的数据, 修改好的数据预先存储在 Storage 中。这就是给芯片带来一个很有效的纠正错误的机制。能够降低芯片设计时的风 险, 提高芯片设计的成功率。
         下面举两个具体实例对 Probe 和 Gen 作为芯片维护接口的功能进行说明。
         应用实例一
         在 FPGA 设计中采用了流水线的技术, 有些 Bug 只有在大流量大压力的测试下才会 出现, 例如内存泄露的 Bug。
         图 10 为本发明应用实例一示意图, 如图所示, A-B 代表 FPGA 设计的四个内部???,
         它们串成一条完整的流水线, A 将其输入的数据处理后写入 RAM, 然后将数据在 RAM 中存储 的指针 ptr0 传给 B, 然后 B 将指针传给 C, C 再传给 D, D 再根据 ptr0 从 RAM 中读出数据, 这 样就完成了一个完整的操作。 但是在测试中发现一个问题, 在大流量和大压力的情况下, 会 发生 ptr0 和数据不对应的情况, 有可能是指针在 A-D 的传递过程中出现了错误, 然后我们 在 A-D 的接口处分别插入一个探测器 Probe, 即共插入四个探测器, 当错误出现了, 将 Probe 探测并存储在 Storage 中的数据读出, 根据 D-A 的顺序挨个排查, 发现指针 ptr0 在经过 B 的时候, B 的入口处还是 ptr0, 但出口就变成了 ptrx, 这样很容易的就确定了出错的??槭?B, 因此这个 Bug 很容易就解决了。
         应用实例二
         图 11 为本发明应用实例二示意图, 如图所示, 在调试初期, 和 FPGA 配合的软件还 没有稳定, 测试仪器也没有到位, 这时我们用 Gen 和 Probe 搭建一个简易的调试环境, 用 Gen 手动发送各种配置好的数据, 然后用 Probe1-3 读出处理结果, 如果和预想的不一致, 就说 明对应的??槁呒形侍?。这个环境虽然简单, 但搭建很容易, 而且不需要仪器的支持, 能 够高效率完成芯片的功能调试, 同时还能够调试软件, 如果软件对芯片的配置有问题, 通过 这个调试环境也能够很容易地测试出来。比如, 软件对???C 的配置出现问题, 可以通过 Probe2 的采样数据判断出来, 很容易确定软件的错误。
         在进行大压力测试时, 这个环境也能派上用场, Gen 是集成在芯片内部的, 即图中 的 Gen0, 它能够高速输出数据, 能够代替外部的仪器, 我们在压力测试中发现 FPGA 处理某 种类型的数据总是有错误, 通过 Gen0 连续的发出这种类型的数据, 很快就能在 Probe1-3 采 集的数据中发现错误, 然后通过分析就能找出, 在测试过程中出错的???。 这个环境简单有 效并且成本低廉。
         本发明带来了如下一些显著的优点 :
         1、 极大缩短了芯片设计的时间, 提高了效率, 较传统设计方法能够提高效率 20% -40% ;
         2、 本发明利用芯片内部的电路实现芯片的调试 / 测试, 减少了对软件仿真的依 赖, 不需要有经验的仿真团队, 降低了成本 ;
         3、 降低了芯片调试 / 测试的门槛, 可以让测试人员加入到调试过程中来 ;
         4、 有维护功能, 在成品芯片中, 可以监控芯片的状态, 并且能够修改芯片错误, 从 而增强了芯片产品的可靠性 ;
         5、 采用独立的??樯杓?, 即独立的探测器 Probe 和信号发生器 Gen, 探测器和信号 发生器的加入 / 删除不影响原始电路。
         以上所述的具体实施例, 对本发明的目的、 技术方案和有益效果进行了进一步详 细说明, 应注意的是, 以上所述仅为本发明的具体实施例而已, 本领域的技术人员可以对本 发明进行各种改动和变型而不脱离本发明的精神和范围。这样, 倘若本发明的这些修改和 变型属于本发明权利要求记载的技术方案及其等同技术的范围之内, 则本发明也意图包含 这些改动和变型在内。

    关于本文
    本文标题:一种芯片流水线的测试方法和装置.pdf
    链接地址://www.4mum.com.cn/p-5865062.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 夺宝阁计划 上海时时11选5开奖结果走势图 其其准49组七星彩头尾 一个骰子比大小规则 ssc御彩轩计划软件 pk10平投技巧稳赚方法 七乐彩十大专家预测号 内蒙古时时规则介绍 北京pk10官网 北京pk10倍投骗局 pk10最牛稳赚模式8码 北京pk10赚钱方法大全 天津时时是官方开奖号码 极速快三大小单双经验 赛车飞艇计划 飞艇计划app下载