当前位置: 首页 > news >正文

DFT面积与性能的权衡:手把手教你根据项目需求选择Shared还是Dedicated Wrapper Cell

DFT面积与性能的权衡:手把手教你根据项目需求选择Shared还是Dedicated Wrapper Cell

在芯片设计的世界里,每个平方微米都弥足珍贵。当项目经理第一次看到后端团队提交的面积报告时,那些标红的区域数字往往让人血压升高。但另一边,测试团队又拿着覆盖率不达标的报告找上门来——这就是现代芯片设计中最经典的矛盾之一:如何在有限的面积预算内,实现最佳的测试覆盖率?Wrapper Cell的选择策略,正是解决这一矛盾的关键钥匙。

上周的架构评审会上,我们的DFT团队就为这个问题争论不休。负责时钟网络的工程师坚持要用Dedicated Wrapper Cell来保证关键路径的测试质量,而负责数据总线设计的同事则主张采用Shared方案来节省宝贵的面积资源。这种技术路线之争,在每个追求高性价比的芯片项目中都会上演。本文将带您深入实战场景,建立一套基于项目实际约束的决策框架,而非教科书式的理论对比。

1. 理解Wrapper Cell的本质作用

在深入技术选型之前,我们需要先建立对Wrapper Cell的立体认知。想象你正在组装一个多层俄罗斯套娃,每个独立模块就像套娃中的一层,而Wrapper Cell就是确保你能单独测试每一层的"检测接口"。这种模块化测试策略,正是现代SoC设计能够管理复杂度的核心所在。

1.1 Internal与External测试模式解析

Wrapper Chain的工作模式可以类比为房屋的水电检测:

  • Internal模式:就像检查房屋内部的水管电路

    • Input链向模块内部发射测试信号(相当于打开水源)
    • Output链从内部捕获响应(相当于检查出水口流量)
    • Shared Cell的SE控制信号是SCAN_ENint_test_en的逻辑或
  • External模式:如同测试房屋与市政管网的接口

    • Input链捕获来自上级模块的信号(相当于检测入户水压)
    • Output链向上级模块发射信号(相当于测试回水情况)
    • 此时Shared Cell的SE由SCAN_ENext_test_en共同控制
// Shared Wrapper Cell的典型控制逻辑示例 assign SE = SCAN_EN & (int_test_en | ext_test_en);

1.2 两种Wrapper Cell的物理实现差异

当我们打开布局图,两种Cell的差异一目了然:

特性Shared Wrapper CellDedicated Wrapper Cell
物理存在复用设计已有触发器额外插入的专用单元
面积影响仅增加控制逻辑,面积优化新增Cell带来直接面积开销
时序影响可能引入额外的逻辑层级提供干净的时序路径
布线复杂度需要整合到现有网络独立布线,减少耦合
功耗特性共享电路带来动态功耗优化额外Cell增加静态功耗

在28nm工艺的一个实测案例中,对同一组32位总线采用不同方案时:

  • Shared方案节省了约142um²的面积
  • 但Dedicated方案将关键路径的测试覆盖率从87%提升到了96%

2. 建立项目驱动的决策框架

面对面积与测试质量的权衡,我们需要将技术选择转化为可量化的决策参数。去年在某5G基带芯片项目中,我们开发了一套评分卡系统,现分享其核心逻辑。

2.1 关键决策维度与权重分配

每个维度按项目优先级赋予不同权重(示例):

  1. 信号关键性(权重30%)

    • 时钟网络、复位信号:5分
    • 数据总线、控制信号:3分
    • 配置寄存器、状态信号:1分
  2. 时序裕量(权重25%)

    • 负裕量路径:5分
    • 零裕量路径:4分
    • 正裕量<10%:3分
    • 正裕量>10%:1分
  3. 面积敏感度(权重20%)

    • 热点区域信号:5分
    • 宽松区域信号:1分
  4. 测试覆盖率需求(权重15%)

    • 安全相关信号:5分
    • 功能核心信号:3分
    • 辅助功能信号:1分
  5. 调试复杂度(权重10%)

    • 早期硅验证关键路径:4分
    • 量产测试专用信号:2分

评分应用实例:某时钟缓冲器信号

  • 信号关键性:5
  • 时序裕量:-2%(负裕量):5
  • 位于存储器阵列附近(热点):5
  • 属于安全启动组件:5
  • 需早期硅调试:4 加权得分=5×0.3+5×0.25+5×0.2+5×0.15+4×0.1=4.9 → 强烈建议Dedicated方案

2.2 高扇出网络的特殊处理

高扇出信号就像城市中心的主干道,Shared方案可能导致:

  1. 测试信号传播不一致性
  2. 故障隔离困难
  3. 测试功耗集中

在我们的经验中,扇出超过16的信号网络,采用Dedicated方案可降低23%的测试误报率。一个实用的判断阈值是:

if (fanout > 12 || is_clock_gating) { recommend_dedicated(); } else if (area_utilization > 85%) { consider_shared(); } else { use_hybrid_approach(); }

3. 混合部署的实战技巧

聪明的工程师永远不会非此即彼。在某AI加速器项目中,我们创新性地采用了混合部署策略,节省了8%的面积同时保证了95%的测试覆盖率。

3.1 总线信号的优化处理

对于32位数据总线这类宽信号:

  1. 将最高两位(通常用于校验)采用Dedicated Cell
  2. 中间28位使用Shared方案
  3. 在测试模式插入特殊的校验逻辑
// 总线混合包装示例 genvar i; generate for (i=0; i<30; i=i+1) begin : bus_wrapper if (i >= 28) begin // 高两位用专用Cell dedicated_wrapper u_dedicated ( .D(bus_in[i]), .Q(bus_out[i]), .SE(scan_en_ext), // 其他专用信号 ); end else begin // 其余用共享方案 shared_wrapper u_shared ( .D(bus_in[i]), .Q(bus_out[i]), .SE(scan_en_shared), // 共享控制信号 ); end end endgenerate

3.2 时序关键路径的折中方案

当时序紧张但面积受限时,可以采用:

  1. 物理级优化:将Dedicated Cell直接布局在目标路径旁
  2. 逻辑级技巧:在Shared Cell前插入专用缓冲器
  3. 测试调度:对关键路径采用更高电压测试

下表比较了三种折中方案的效果:

方案面积增量时序改善覆盖率影响
物理级优化+5%12%+3%
逻辑级技巧+2%8%+1%
测试电压提升0%15%+5%

4. 后端实现中的隐藏成本

很多团队在架构阶段做出了看似合理的选择,却在物理实现时遭遇意外。以下是三个容易忽视的陷阱:

4.1 布线拥塞的蝴蝶效应

在某移动SoC项目中,Shared方案导致:

  1. 模块边界出现密集布线通道
  2. 绕线长度平均增加14%
  3. 最终反而浪费了3%的面积

解决方案是提前进行虚拟布局评估

  1. 用早期版图数据建立拥塞热图
  2. 对高密度区域强制使用Dedicated Cell
  3. 建立布线资源模型验证决策

4.2 测试功耗的连锁反应

Shared Cell的集中控制可能导致:

  • 测试模式下同时翻转率超标
  • 电压降引发误测
  • 需要额外的功耗管理电路

一个实用的功耗评估流程:

  1. 提取所有Wrapper Cell的开关活动因子
  2. 运行向量仿真获取翻转率
  3. 计算峰值电流密度
  4. 对热点区域改用Dedicated方案

4.3 可测性设计的演进成本

随着测试需求变化,早期的选择可能成为负担:

  • Shared方案难以支持后期新增的测试模式
  • Dedicated Cell则更易扩展但占用面积
  • 建议为未来需求预留10-15%的Wrapper资源

在最近的一个物联网芯片项目中,我们采用了可配置Wrapper架构

  • 基础测试模式用Shared Cell
  • 高级诊断功能通过预留的Dedicated Cell实现
  • 面积开销控制在7%以内
http://www.cnnetsun.cn/news/2887409.html

相关文章:

  • 避坑指南:若依多用户登录中Spring Security的Bean冲突与权限隔离陷阱
  • 第十二章 常用类
  • Quickshell技术架构解析:QtQuick桌面环境构建的艺术与工程
  • i.MX6ULL平台libmodbus 3.1.6交叉编译实操资源包(含补丁说明与完整构建脚本)
  • Claude Mythos:AI原生安全引擎如何重构漏洞挖掘范式
  • 别让你的SPI Nor跑飞了!100MHz高频下采样延时到底该怎么配?(附XTX芯片实测)
  • 德国法院裁决:谷歌需为 AI 概述虚假陈述负责,或影响全球 AI 搜索引擎
  • 从Hard Label到Soft Label:深入解析Label Smoothing的数学之美与实战调优
  • 如何5秒解锁百度网盘加密资源:智能提取码解析终极指南
  • 如何降低谷歌广告CPC?中小企业常用的低成本方法
  • League Akari:5个智能功能彻底改变你的英雄联盟游戏体验
  • 拓扑透镜的时间延迟公式严格推导(世毫九IGP框架)
  • 永磁同步电机静止状态下用方波注入法估算转子初始位置的Simulink仿真模型
  • PotPlayer百度翻译插件:5分钟搞定免费字幕实时翻译的终极指南
  • 从TIM1到TIM1.5:芯片封装散热设计的范式转移与技术对比
  • 平衡车项目实战:用STM32F103的EXTI中断实时读取MPU6050数据(附完整工程)
  • Vivado工程版本升级中IP缓存状态异常解析:从“Using cached IP results”到“synth_design Complete!”的实战处理
  • STM32F103 USB开发避坑指南:为什么你的端点数据会“神秘消失”?详解BTABLE与缓冲区地址计算
  • Android NDK原生层黑白滤镜实时预览方案(Camera2+OpenGL FBO)
  • C语言链表实战:从零手搓一个学生信息管理系统(附完整源码与内存管理避坑指南)
  • UniShare框架:社交分享场景下的联合推荐技术解析
  • 从‘显示一张地图’到‘定制你的地图’:OpenLayers 7.x 核心四要素实战拆解
  • 上岸必看!【中药学】必背100题及解析(卷号:06111014_07)
  • 杰理之U盘播放无损格式音频导致杰理之家的文件浏览线程运行加载文件信息很慢【篇】
  • 别再死记硬背了!用Wireshark抓包实战,5分钟搞懂IPSec的AH和ESP到底有啥区别
  • 深入IEEE 802.15.4 MAC层:手把手解析ZigBee低功耗与自组网的底层秘密
  • 面向业务落地的情绪识别七步工作法
  • 3个步骤:轻松掌握猫抓插件,成为网页资源嗅探高手
  • NSK重载静音滚珠丝杠BSS4025详析
  • 从《炉石传说》到在线购物:AgentBench如何用游戏和网页任务‘拷问’大模型的真实智商?