scan cell

scan cell有两种不同的input:

1)data input:由电路的combinational logic驱动;

2)scan input:由另一个scan cell驱动,从而形成scan chain;

在normal/capture mode下,data input来驱动output;

在shift mode下,scan input来驱动output;

几种scan_cell:muxed-D scan,clockd-scan,level-sensitive scan design(LSSD);

muxed-D Scan cell:多指edge_triggered muxed-D scan cell,由一个D flip-flop和一个multiplexer组成,

scan enable(SE)用来选择data input和scan input的输入。

一个level-sensitive的muxed-D scan cell,由一个multiplexer,一个D Latch,一个D FF。

来用替代一个普通的latch

Clocked-scan cell:

也主要用来替代D-FF,不过是通过两个独立的clk来进行选择,

一个data clock DCK;一个shift clock SCK;

主要的优势是不会对data path的timing造成影响,但是要求多一个clock的routing。

LSSD scan cell:

主要是应用在level_sensitive,latch-based design中。

cell包含两个latch,一个master latch,一个slave latch。

其中A/B/D均为clock,D为data input,I为scan input。

优点是可以保证race-free,但是同样会增加clock的routing。

scan architecture

1)full-scan design:所有的storage element都转变为scan cell,combinational ATPG来生成test;

主要的优点是将sequential的ATPG转变为简单的combinational ATPG;

almost full-scan design:在某些critical path和insignificant path上不加入scan。

Muxed-D Full-Scan Design:

Clocked Full-Scan Design:与Muxed-D类似,只是不再使用SE,分别使用两个clock。

LSSD Full-Scan Design:两个时钟C1/C2,A/B来控制shift和capture两种mode。

在full-scan的logic中,输入由两种:

primary input(PI),电路的external input;

pseudo primary input(PPI),scan cell的output

两种输出:

primary output(PO),电路的external output;

pseudo primary output(PPO),scan cell的input;

2)partial-scan design:部分的storage element转变为scan cell,combination和sequential ATPG来生成test;

在test的生成过程中,sequential的ATPG必须包含non-scan的FF的control和observe,这会增加test generation的

复杂性,所以一般将逻辑分开,可以根据functional partition,pipeline/feed_forward partial design.

Full-scan,partitial-scan都被定义为serial scan design,优点是routing的成本会比较低,缺点是每一个单独的scan-cell不能

在不影响本scan chain的其他cell的前提下,完成shift mode,造成high switchingde power消耗。

Random-access scan通过类似RAM似的地址寻址的方式来完成一个cell的shift mode。

3)random-access scan design:不用serial scan chain,使用random addressing的机制;

时间: 2024-10-11 16:05:02

scan cell的相关文章

Exadata使用技巧 (-)

1. 概述 Exadata数据库一体机已经经过多年的风雨磨砺修炼为X6版本:在中国Exadata也有着众多的成功案例,基于Oracle原厂和众多服务商的努力,我们对Exadata的使用也越来越成熟. 以下是常用的使用技巧,供大家参考. 2. Exadata管理 2.1 Exadata性能优化 让表使用flash cache ALTER TABLE <object name> storage (CELL_FLASH_CACHE KEEP); 可以使用如下公式计算Exadata特性对IO的优化 [

Oracle性能图表工具:awrcrt.sql

什么是AWRCRT? Awrcrt的全称是 AUTOMATIC WORKLOAD REPOSITORY CHART 是一个oracle性能趋势图表报告工具,它是一个sql脚本:awrct.sql  ,仅仅只有一个sql脚本. Awrcrt report是用图表来展示oracle数据库的性能趋势情况.Awrcrt是基于oracle workload repository中的数据生成,也就是和常用的awrrpt一样的数据源.Awrcrt是Oracle ACS部门的王文杰开发并维护的,免费提供给Ora

全面介绍充满魔性的Placement

相信每个数字后端PR工程师都知道Placement.它是我们设计芯片的两大目的之一--布局布线(Place&Route).这也是最体现EDA工具的实力强大之处.可能大家平时只是简单的运行一个命令,但是对工具来说,要把几千万个标准单元在几个小时之内正确地摆放好,这是一件非常困难的事情.那今天我们就来学习一下这充满魔性的Placement. 笼统划分的话,Floorplan之后,CTS之前的的stage都归为Placement(现在place已经与preCTS合并为place_opt,传统的crea

DFT 问答 I

Q: Boundary Scan是什么?应用场景是什么?实现的方法是什么?挑战是什么? A: Boundary Scan就是边界扫描,是由Joint Test action Group起草的规范,最初是为了解决板级芯片之间的互联测试的问题,实现方法就是在芯片内部的每个I/O上面加上一个Boundary Scan cell 用于控制和观测每个I/O的状态,然后把每个I/O的bscell串连起来交由TAP控制器控制.TAP控制器按照 IEEE1149.1 规范通过5个I/O 串行与外界通讯.虽然Bo

HBase编程 API入门之scan

package zhouls.bigdata.HbaseProject.Test1; import javax.xml.transform.Result; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client

Hbase Scan的方法

public static void main(String[] args) throws IOException { //Scan类常用方法说明 //指定需要的family或column ,如果没有调用任何addFamily或Column,会返回所有的columns: // scan.addFamily(); // scan.addColumn(); // scan.setMaxVersions(); //指定最大的版本个数.如果不带任何参数调用setMaxVersions,表示取所有的版本.

hbase源码系列(十五)终结篇&amp;Scan续集--&gt;如何查询出来下一个KeyValue

这是这个系列的最后一篇了,实在没精力写了,本来还想写一下hbck的,这个东西很常用,当hbase的Meta表出现错误的时候,它能够帮助我们进行修复,无奈看到3000多行的代码时,退却了,原谅我这点自私的想法吧. 在讲<Get.Scan在服务端是如何处理?>当中的nextInternal流程,它的第一步从storeHeap当中取出当前kv,这块其实有点儿小复杂的,因为它存在异构的Scanner(一个MemStoreScanner和多个StoreFileScanner),那怎么保证从storeHe

hbase源码系列(十二)Get、Scan在服务端是如何处理?

继上一篇讲了Put和Delete之后,这一篇我们讲Get和Scan, 因为我发现这两个操作几乎是一样的过程,就像之前的Put和Delete一样,上一篇我本来只打算写Put的,结果发现Delete也可以走这个过程,所以就一起写了. Get 我们打开HRegionServer找到get方法.Get的方法处理分两种,设置了ClosestRowBefore和没有设置的,一般来讲,我们都是知道了明确的rowkey,不太会设置这个参数,它默认是false的. if (get.hasClosestRowBef

hbase查询,scan详解

一.shell 查询 hbase 查询相当简单,提供了get和scan两种方式,也不存在多表联合查询的问题.复杂查询需通过hive创建相应外部表,用sql语句自动生成mapreduce进行.但是这种简单,有时为了达到目的,也不是那么顺手.至少和sql查询方式相差较大. hbase 提供了很多过滤器,可对行键,列,值进行过滤.过滤方式可以是子串,二进制,前缀,正则比较等.条件可以是AND,OR等 组合.所以通过过滤,还是能满足需求,找到正确的结果的. 1.1 过滤器类型 HBase 最新官方文档中