在DFT(Design for Test,可测试性设计)的原理图(Schematic)中,primitive(基本元件)、design(设计单元)和hierarchical(层次化结构)是描述电路不同抽象层级的关键概念,它们在功能、复杂度和设计流程中的作用存在显著差异。以下从定义、特征及区别三个维度展开分析:
一、Primitive(基本元件)
定义:Primitive是电路设计中最基础的逻辑单元,通常由EDA工具库直接提供,如与门(AND)、或门(OR)、触发器(Flip-Flop)、多路选择器(MUX)等。
特征:
- 不可分割性:Primitive是设计中的最小功能单元,无法进一步分解为更简单的逻辑。
- 标准化接口:具有固定的输入/输出端口,例如触发器包含时钟(CLK)、数据输入(D)、数据输出(Q)等端口。
- 功能单一性:每个Primitive仅实现一种基本逻辑功能,如与门仅执行逻辑与操作。
在DFT中的作用:
- 作为扫描链(Scan Chain)的基础单元,通过替换普通触发器为扫描触发器(Scan Flip-Flop),实现时序电路的可测试性。
- 在边界扫描(Boundary Scan)中,边界扫描单元(Boundary Scan Cell)由基本元件(如寄存器)构成,用于测试芯片引脚间的互连。
二、Design(设计单元)
定义:Design是由多个Primitive或其他设计单元组合而成的功能模块,代表电路中的特定功能或子系统,如加法器、计数器、存储器控制器等。
特征:
- 功能完整性:设计单元实现完整的逻辑功能,例如一个8位加法器由多个全加器(Primitive)级联构成。
- 可复用性:设计单元可在不同项目中重复使用,减少设计工作量。
- 接口抽象性:通过输入/输出端口与外部交互,内部实现细节对上层设计透明。
在DFT中的作用:
- 作为DFT技术的直接应用对象,例如通过内建自测试(MBIST)对设计单元中的存储器(如RAM、ROM)进行测试。
- 在扫描链插入中,设计单元的寄存器被替换为扫描触发器,形成可控制的测试路径。
三、Hierarchical(层次化结构)
定义:Hierarchical是一种设计方法学,通过将复杂电路分解为多个层次化的子模块(即设计单元),形成树状结构,便于管理、验证和测试。
特征:
- 模块化:电路被划分为不同层级的模块,例如顶层(Top Level)包含多个子模块(Sub-Module),子模块可能进一步包含更低层级的模块。
- 抽象层级:高层模块仅关注功能接口,低层模块实现具体逻辑。
- 可维护性:层次化结构便于定位问题、修改设计,并支持并行开发。
在DFT中的作用:
- 层次化DFT:在大型芯片设计中,DFT策略按层次实施。例如,底层模块完成扫描链插入,高层模块进行测试模式复用和时钟控制。
- 测试复用:通过层次化结构,低层模块的测试向量可在高层模块中复用,减少测试生成时间。
- 物理布局优化:在布局阶段,层次化设计允许将相关模块放置在物理邻近区域,缩短互连延迟,提高测试效率。
四、三者的区别与联系
维度 | Primitive | Design | Hierarchical |
---|---|---|---|
抽象层级 | 最低层级(基本元件) | 中间层级(功能模块) | 最高层级(系统结构) |
功能范围 | 单功能逻辑单元 | 完整逻辑功能(如加法器) | 系统级模块组织(如CPU、存储器子系统) |
DFT应用 | 扫描触发器、边界扫描单元基础 | MBIST、扫描链插入对象 | 测试策略分层实施、测试复用 |
设计流程 | 由EDA工具库提供,无需设计 | 通过RTL编码或IP核集成实现 | 通过模块划分和接口定义构建 |
可测试性 | 依赖外部控制信号(如扫描使能) | 通过DFT技术(如MBIST)增强可测性 | 通过层次化策略优化测试覆盖率和效率 |
五、实例说明
以一个包含存储器的SoC设计为例:
- Primitive层级:触发器(用于存储器寄存器)、与门(用于地址解码逻辑)。
- Design层级:存储器控制器(由地址解码器、数据通路等设计单元构成)、MBIST控制器(专门用于存储器测试的设计单元)。
- Hierarchical层级:
- 顶层(SoC)包含存储器子系统、CPU子系统等。
- 存储器子系统包含存储器控制器、MBIST控制器等模块。
- 在DFT实施中,MBIST控制器在存储器子系统层级复用,扫描链在存储器控制器层级插入。