第三章:Planning and Inserting MemoryBIST

本章包括memory BIST逻辑的规划、创建和后续插入,解释了在规划步骤,可以如何影响Tessent MemoryBIST 工具给出DFT计划,即DFT规格,匹配设计意图。展示如何通过各种工具特性修改和进一步编辑DFT规格,,该章节还解释了验证和后续执行DFT规格使Tessent MemoryBIST生成RTL,将测试逻辑插入设计中。

Design and Library Requirements

必须要加载需要插入memory BIST和可修复解决方案的设计,还必须加载memory模型。
在门级设计中,插入memory BIST 和可修复逻辑需要cell lib,除此之外,top_level插入lib必须包含pad cells,或者必须加载pad cell lib。对于RTL级流程,直到测试平台仿真步骤才需要lib。
最后,必须使用set_current_design命令设置当前顶层设计,使用set_design_level命令是指操作层次。

Specifying and Verifying MemoryBIST Requirements

在本节中,将了解如何首先在Tessent Shell中启用MemoryBIST产品、定义时钟、设置全局影响DFT规格的默认值,以及如何检查和修改关键memory选项,除此之外,可以给Tessent MemoryBIST工具布局位置信息(DEF文件)和电源信息(UPF或者CPF文件)。
本节最后将运行DRC检查,能够在设计流程的下一步中继续创建memoryBIST DFT规格。然后利用DFT规格来实现在设计中想要的memoryBIST解决方案。

Enabling Memory BIST and Repair

载入和设置当前llevel之后,首先要告诉Tessent Shell 想要添加Tessent MemoryBIST ,选择memory修复功能。使用set_dft_specification_requitements命令,该命令会自动设置参数,例如,设计载入了可修复的memory,会自动使能可修复特性。

Loading Layout Placement Information

当分配memories到不同控制器时,Tessent MemoryBIST 考虑memories的物理位置。
物理位置时构成控制器memories分区的几个因素之一,几个其他的因素包括功耗、电源域,测试时间评估,可以提供物理布图信息,也可以改变物理簇的尺寸(表示晶圆诊断的百分比,决定Tessent MemoryBIST是否分配当前的memory到新的控制器或已存在的控制器。
在DRC检查之后,初始DFT规格被创建,可以改变选择的簇分配。
Adding Clocks
使用add_clocks命令,告诉工具使用的时钟和时钟频率。这些在DRC检查期和memories分区期间使用。
必须在setup模式添加时钟和他们的特征,可以在set_dft_specification_requirements命令之前或之后发出add_clocks。
Changing Default Settings
使用DefaultsSpecification(用户定义)来改变Tessent MemoryBIST的默认行为和值,规格额变化将会应用到所有的控制器和memories中,在下一节展示如何改变单个memory instance 或者instances的集合。
有两种方式可以更改DefaultsSpecification中条目。第一是编辑文件并载入工具;二是,使用set_defaults_value命令或者更常见的set_config_value命令,set_defaults_value命令是DefaultsSpecification到DftSpecification和PatternsSpecification wrappers的快捷方式,而set_config_value命令,必须显示DefaultsSpecification wrapper和用户模式。

Adding Constraints Before Design Rule Checking

先前的章节展示如何做全局改变应用到所有的控制器和memories上,下面,讨论如何进行只影响一个或一个memory集合的更改,set_memory_instance_options命令用于这些操作。
使用set_memory_instance_options命令的大多数更改,只有在DRC检查之后才可见,因为只有在那时才能评估物理位置信息和电源信息,并且由Tessent MemoryBIST完成第一个分区规划,在做DRC检查期间,还评估了memory特性,例如,修复状态(可修复或不可修复)。

Creating, Modifying, and Validating a MemoryBIST DFT Specification

DRC检查完成后,可以开始创建DftSpecification。
在DRC检查期间,所有载入的设置数据,包括物理位置和电源域信息都会被处理,Tessent MemoryBIST已经完成了初步分析,可以报告并回顾这些信息来分析结果,在创建初始DftSpecification之前做需要的修改。

Adding Constraints Before Creating an Initial DftSpecification

一些约束对DftSpecification有较大的影响。
Parameter Selection Impacts on Performance and area
在DftSpecification和DefaultsSpecification指定的一些参数比其他参数对设计有更多的影响,定量这些影响是困难的,当在设计中插入memory BIST时,考虑某些参数的选择往往时提高或者减弱性能和面积时重要的。

MemoryBIST Partitioning Rules

Tessent MemoryBIST遵循一定的分区规则来分离和分组memory。controller兼容性规则简称为CCRx,step兼容性规则,简称为SCRx。

  • CCR1:不同类型的memory(ram、rom、dram)被分配到不同的controller。每一个controller都专门测试同一类型的memory。
  • CCR2:同一controller上的所有dram必须具有相同的行、列和bank维度。
  • CCR3:Memory被分组,物理区域、时钟域和memory 簇对于同一个group中的memory是一样的。当一个memory被多个时钟驱动时,memory与最快频率的时钟域联系在一起(根据最快的时钟进行分组)。
  • CCR4:分配给不同分区标签的memory会分配给不同的控制器。

memories被进一步划分为兼容性分组,这样在一个分组中的所有mem可以在单个memory controller step中并行测试(所属同一个step的memory可以并行测试)。如果并行测试它们比串行测试花费更长的时间的话,不同尺寸的memory被强制分组(为了减少测试时间)。这种情况通常发生在当一个memory有多个行少许列地址,其他的memories有多个列少许行地址的时候 。

  • SCR1:所有的memories必须使用相同的算法。
  • SCR2:所有的memories必须使用相同的操作集。
  • SCR3:所有的memories必须是相同类型的SRAM、ROM或者DRAM。
  • SCR4:所有的DRAM必须有相同数量的行、列以及空白地址位。
  • SCR5:所有的memories的列段对于CoutRange(?)有相同的低值,此外,行段有相同的要求。
  • SCR7:所有memories的位组必须要么全部是奇数要么全部是偶数,除了有“1”的位slice 的memories。
  • SCR8:所有的memories有相同的bist_data_out_pipelining设置。
  • SCR9:所有的memories有相同的DataOutStage选项设置。
  • SCR10:被分的memroy组,不超过max_power_per_step和max_memories_per_step。
  • SCR11:生成的memory组然后被分配给controller step。这样max_test_time_per_controller(超过该设置时间的memories则会被划分到不同的step)和max_steps_per_controller属性指定的约束不被超出。

不属于相同physical region、相同时钟域、不共享同一个memory cluster的memories不是在相同controller下测试,不同的dram不会被同一个controller测试。

Creating the DftSpecification

流程的下一步是创建初始DftSpecification,在大多数情况下,不需要编辑这个规格,可继续创建和插入Memory BIST硬件。

Review and Basic Edits of the DftSpecification

生成Dftspecification后,可以查看设置信息和约束的Tessent MemoryBIST的分析结果。

Re-Creating the Dftpecification

从DftSpecification的报告和回顾中可以得到一些信息,例如memory分区,如果更改Dftspecification,需要比较大的改变,更容易的方式是改变输入数据,重建DftSpecification。

Additional Editing Options of the DftSpecification

本节对现有的wrapper的值进行进本的编辑和更改的范围。

Processing the DftSpecification

在创建DftSpecification之后,根据规格说明生成memory BIST和可修复逻辑,然后插入到设计中。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值