存档

文章标签 ‘IC’

芯片设计(IC)中的验证

2011年2月19日 sigma 5 条评论 564,195 views

通俗的讲,芯片设计的验证(Verification)就是验证所设计的逻辑代码是否符合预期的要求,是否符合原来定义好的规范(如对于一个H264解码芯片,就是验证其是否实现了H264 标准中的某部分规范,不一定是全部,因为H264分为很多profile,可能所要求的仅仅是实现某些profile)。

在现在的集成电路的验证中,主要有两种方法,一种是随机验证,另外一种是形式验证(Formal Verification)。随机验证就是通过大量的随机向量来验证测试是否符合要求(通常是将硬件的结果和软件的结果进行比较,或者通过断言比较)。形式验证的主要思想是通过使用形式证明的方式来验证一个设计的功能是否正确。形式验证可以分为三大类:等价性检查(Equivalence Checking)、模型检查(Model Checking)和定理证明(Theory Prover) 。

随着芯片规模的增大,芯片设计中验证需要的时间越来越长,占整个设计周期的比例越来越大。为了提高验证速度,出现个各种自动化的验证语言(如SystemVerilog等)和验证工具(这些验证工具大部分都支持随机验证)和各种验证方法学,如OVM和VMM。

VMM和OVM都是基于SV(SystemVerilog)的硬件验证的方法学,从本质上来讲,VMM和OVM的方法学是一致的,目的都是实现可重用性(reusable)以提高验证的效率。

VMM是由ARM和Synopsys提出的,OVM则是由Mentor和Candence共同提出的。因此使用Synopsys VCS进行仿真也就选择了VMM的验证方法,支持OVM的仿真工具自然就是Mentor和Candence的工具了。

VMM和OVM都是基于SystemVerilog(SV)的验证方法,而SV相对于传统的HDL语言来说,其最大的好处就是引入了面向对象编程的概念(Object Oriented Programming,OOP),OOP的概念基本上是可以跟{封装(Encapsulation)+继承(Inheritance)+多态(Polymorphism)}相等同的,至于封装、继承和多态,如果学过C++的人自然会明白。引入了OOP之后,SV便可以在更高的抽象层次进行仿真和验证。

在2010年,貌似又出现了一个新的验证方法,叫Universal Verification Methodology(UVM),UVM号称集成了两个验证方法的优点,具体可以看http://www.uvmworld.org/overview.php

以上几种验证方法学的基本结构都差不多,可重用的实现的手段都是通过VIP(verification IP)实现的。这些VIP都是EDA工具提供或者单独购买的,通常是一些常见的协议或者标准的IP,如AXI总线IP,USB协议IP。这样的话,倘若设计一个使用了AXI总线作为输入输出接口的部件,通过验证工具检测待测设计AXI总线上的输入输出,并且和SystemVerilog描述的断言进行比较(只需描述里面出AXI总线接口外的行为,不用自己用SystemVerilog描述复杂AXI的行为,直接使用VIP就可以,节省了大量时间)。

并且这些验证方法学和EDA工具现在都提供了对覆盖率的支持,其基本的验证结构如下(其中灰色部分就是验证方法学所提供的支持):

 

超大规模集成电路(VLSI)可测性设计(DFT)综述

2011年1月6日 sigma 4 条评论 18,685 views

PS:这是我们VLSI可测性的一个课程作业,写完已经交上去了,但想到交上去也没人会认真看,觉得花了的时间不太值,所以贴到这里,希望对想了解可测性设计的同学有点用,也算弥补一下哥的精神损失。强调一下,里面的概念什么的可能不太准确,请以专业的文献为准。

 

1. 背景介绍

随着电子电路集成度的提高,电路愈加复杂,要完成一个电路的测试所需要的人力和时间也变得非常巨大。为了节省测试时间,除了采用先进的测试方法外,另外一个方法就是提高设计本身的可测试性。其中,可测试性包括两个方面:一个是可控制性,即为了能够检测出目的故障(fault)或缺陷(defect),可否方便的施加测试向量;另外一个是可观测性,指的是对电路系统的测试结果是否容易被观测到。

在集成电路(Integrated Circuit,简称IC)进入超大规模集成电路时代,可测试性设计是电路和芯片设计的重要环节,它通过在芯片原始设计中插入各种用于提高芯片可测试性(包括可控制性和可观测性)的硬件逻辑,从而使芯片变得容易测试,大幅度节省芯片测试的成本。

后续章节的组织如下,我们将在第二章分析可测试性设计的几个关键问题;第三章分别介绍三种比较成熟的可测试性设计技术;最后一章对可测性设计技术进行了总结和展望。

2. 关键问题

一个好的可测试性设计技术需要解决以下几个关键问题:

第一,取得较高的可测试性:即要求可测试性设计能够尽可能的提高可控制性和可观测性,这就要求设计中必须尽可能多的给每个部分增加控制电路和观测电路。

第二,取得较低的额外性能和面积消耗(即降低Overhead):由于可测试电路对最终的芯片的实际工作是无益的,因此,必须尽可能的使减少这些逻辑,使之带来的额外的面积,功耗,以及性能消耗最小。

实际的设计中,必须平衡并且最优化上面两个目标,这就要求我们必须设计一种好的逻辑结构或者算法用来输入测试向量以及输出观测结果,并且额外增加的面积和功耗要尽可能小。扫描链(Scan Chain)[4]很好的满足上述特性,因此,无论是在学术界还是工业界的可测性研究中,扫描链都是一种必选的可测性设计基础结构。

基于对上述目标和认识,学术界和工业界提出了几种比较成熟的可测试性设计技术,主要有扫描路径设计、边界扫描设计、内建自测试等。我们将在下一章节分别介绍这三种芯片可测试性设计技术。

3. 几种常见的可测试设计技术

3.1 扫描路径设计(Scan Design)

扫描路径法[1][2](有的地方又译成内部扫描法,扫描设计)是一种针对时序电路芯片的DFT方案.其基本原理是时序电路可以模型化为一个组合电路网络和带触发器(Flip-Flop,简称FF)的时序电路网络的反馈。如图一所示:

clip_image002

图一. 插入可测性逻辑前的时序电路

 

为了控制和观测这些触发器的取值,在扫描设计中,会将这些触发器修改为扫描触发器,并且连接成扫描链(相当于可以移位的寄存器),扫描链的输入可以通过少量的芯片管脚进行输入,观测输出也可以通过少量的芯片管脚进行输出。为了减少输入输出所占用的额外管脚,设计成可以通过扫描输入口把需要的数据通过串行移位的方式输入到扫描链对应的单元;同样,也可以通过扫描输出口串行的观测测试输出(这些扫描寄存器即可以看做输入,也可以看做输出,因此称之为伪输入,伪输出)。

图二是一个扫描设计示例,图二(a)中,将所有的扫描触发器串在了一起,并且通过SE线号进行统一控制,选择是进行输出扫描向量,还是输出观测结果。图二(b)中,是测试的输入输出示例,在第一个测试中,测试向量110在SE=1时,通过3拍输入到扫描链中,同时在SE=0且下一个时钟沿观测结果输出。

clip_image004

图二. 扫描设计示例

由于考虑到扫描设计本身的硬件代价,实际电路和芯片设计中并不会把所有的触发器替换成扫描触发器(全部替换的称之为“全扫描”),此时的设计称之为“部分扫描”设计。对于部分扫描设计,需要解决两个问题:一是如何决定扫描那些触发器,使芯片的可测试性(也即可控制性和可观测性)达到最高,文献[3]就对这一问题进行了研究,并且给出了一个如何设计一个最小化扫描开销(overhead)的部分扫描的方法;二是当电路进行扫描时,非扫描触发器的状态该如何变化,由于要保证电路的执行结果和不测试时一样,因此非扫描触发器必须设计成状态保持不变。

3.2 内建自测试

内建自测试(BIST)设计技术[5][6]通过在芯片的设计中加入一些额外的自测试电路,测试时只需要从外部施加必要的控制信号,通过运行内建的自测试硬件和软件,检查被测电路的缺陷或故障。和扫描设计不同的是,内建自测试的测试向量一般是内部生成的,而不是外部输入的。内建自测试可以简化测试步骤,而且无需昂贵的测试仪器和设备(如ATE设备),但它增加了芯片设计的复杂性。

clip_image006

图三. 一个典型的内建可测试结构

 

图三是一个典型的内建可测试结构,它主要包括四个部分,测试控制部分(BIST Controller),测试向量生成器(Test Pattern Generater,简称TPG),被测电路(Circuit Under Test,简称CUT)以及测试响应分析器(Output Response Analyzer,简称ORA)。

这四部分中,最重要的一个部分就是测试向量生成器TPG,因为这个生成器能够产生的测试向量的数目与质量直接决定着这个测试系统的覆盖率和测试质量;TPG一般是一个有限自动状态机,它除了时钟没有其他的输入。典型的TPG是一个线性反馈移位寄存器(Line Feedback Shift Register,简称LFSR)或者一个细胞自动机(Cellular Automata,简称CA)[7]。

BIST的测试响应分析器ORA是对测试结果进行比较分析,但它通常不会直接对测试响应进行比较,而是先进行压缩,因为对这些测试响应一位一位的进行比较分析会消耗大量额外的片内存储单元。但压缩也会导致混叠(Aliasing)现象,因为对同一个输入,两个不同的电路输出压缩后可能是一样的。

由于BIST做到了芯片的内部,为了减少测试逻辑在整个芯片面积所占的比例,以及减少测试电路(尤其是在线测试电路)带来的额外的性能以及功耗消耗,设计一个好的BIST系统是一个很复杂的系统工程。因此,BIST加大了芯片设计的复杂度。

3.3 边界扫描测试

前述两种测试技术都是针对芯片内部的故障或缺陷进行测试。为了对电路板级的逻辑和连接进行测试,工业界和学术界提出了一种边界扫描的设计,边界扫描主要是指对芯片管脚与核心逻辑之间的连接进行扫描。

由于边界扫描测试涉及不同的芯片的连接,而这些芯片很可能是不同设计者甚至厂家设计的,因此必须对这些测试接口进行标准化,以便不同厂商之间的能够用统一的测试接口。1994年,美国电气电子工程师协会(Institute of Electrical and Electronics Engineers,简称IEEE)制定了一个针对边界扫描测试的标准IEEE 1194.1[8]标准,该标准又称JTAG(Joint Test Action Group)标准。该标准是为了支持板级测试而定义一种国际上通用的芯片边界扫描以及访问端口规范。

clip_image008

图四. JTAG边界扫描设计的基本结构

 

图四是JTAG边界扫描基本结构图,边界扫描设计主要包括测试访问端口(Test Access Port,简称TAP)控制器、指令寄存器、旁路寄存器、以及边界扫描链(由边界扫描单元构成)。

JTAG定义了以下测试访问接口

① TCK(Test Clock):测试时钟输入;

② TDI(Test Data In):测试数据输入,数据通过TDI输入JTAG口;

③ TDO(Test Data Out):测试数据输出,数据通过TDO从JTAG口输出;

④ TMS(Test-Mode Select):测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。

⑤ TRST(Test Reset):可选引脚,用于测试复位,为输入引脚,低电平有效。

JTAG内部有一个状态机,称为TAP控制器。TAP控制器的状态机通过图上的TCK和TMS进行状态的改变,实现数据和指令的输入。

4. 总结和展望

随着各种可测试性设计结构的提出以及实现的成熟,各种EDA工具对可测试性设计设计的支持也越来越好,这加快了可测性设计本身的设计周期以及最终的芯片或系统的测试周期。但是,随着以多核(Multicore)以及片上系统(System On Chip,简称SOC)为代表的芯片复杂度持续提高,迫切需要改进或提出一种新的可测性设计方法,该方法需要符合以下特性:

第一,通用性:由于现在芯片的设计愈加复杂,设计周期也愈加长,因此,为每个电路专门设计一个测试电路已经不太实际。因此需要有一个针对更复杂电路(如多核和SOC)可测性设计的通用结构,其中,IEEE 1500[9]标准是这方面的有益尝试。

第二,可复用性:芯片设计中,除了需要考虑可测性设计DFT以外,还需考虑(硅后)可调试性设计(Design For Debug,简称DFD)[10],由于DFT和DFD有很多的共同点,因此,可以考虑将DFT和DFD部分单元进行复用。

第三,可重构性:通过可重构的设计方法,可以通过不同的配置,可是实现不同的测试功能,测试芯片的不同部分或功能。

参考文献 

[1]. K.-T. Cheng and V. D. Agrawal, “An economical scan design for sequential logic test generation,” inProc. Fault-Tolerant Comput. Symp. (FTCS-19), June 1989, pp. 28-35.

[2]. E. Trischler, “Design for testability using incomplete scan path and testability analysis,”Siemens Forsch.- u. Entwickl.-Ber., vol. 13, no. 2, pp. 56-61, 1984.

[3]. C.-C. Lin, M. Marek-Sadowska, K.-T. Cheng, and M. Lee, “Test point insertion: scan paths through combinational logic,” Proc. of Design Automation Conf., 1996, pp. 268-273.

[4]. Joep Aerts, Erik Jan Marinissen: Scan chain design for test time reduction in core-based ICs. ITC 1998: 448-457

[6]. Vishwani D. Agrawal, Charles R. Kime, Kewal K. Saluja: A Tutorial on Built-In Self-Test, Part 2: Applications. IEEE Design & Test of Computers 10(2): 69-77 (1993)

[7]. S. Wolfram, “Universality and complexity of cellular automata,” Physica, 10D, 1984, pp. 1-35.

[8]. IEEE(1994). “Supplement(B) to IEEE standard test access port and boundary-scan architecture.”

[9]. IEEE(2005). “IEEE 1500:Standard for Embedded Core Test”

Bart Vermeulen , Sandeep Kumar Goel, Design for Debug: Catching Design Errors in Digital Chips, IEEE Design & Test, v.19 n.3, p.37-45, May 2002

忆阻器(Memristor)研究简述

2010年12月21日 sigma 2 条评论 19,069 views

题外话:其实这是VLSI老师布置的一次作业,要求选读一篇VLSI的论文,写读后感,我在PCM和MR徘徊了好久,最终决定读了几篇MR的。

忆阻器的提出

忆阻器的英文 Memristor 来自“Memory(记忆)”和“Resistor(电阻)”两个字的合并。1971年,任教于美国柏克莱大学的华裔科学家蔡少棠(Prof. Leon Chua)提出了忆阻器的概念[1]。

在研究电荷、电流、电压和磁通量之间的关系时,蔡教授推断在电阻、电容和电感器之外,应该还有一种组件(那篇文章称之为“迷失的电子器件”,又称“第四种电子器件”),代表着电荷(q)与磁通量(clip_image002)之间的关系。这种组件的效果,就是它的电阻会随着通过的电流量而改变,而且就算电流停止了,它的电阻仍然会停留在之前的值,直到接受到反向的电流它才会被推回去。电阻,电容,电感以及忆阻器之间的关系为:

clip_image004

图一. 四类基本电子器件,忆阻器的位置在右下角(图引自文献[2])

忆阻器的实现

蔡教授提出忆阻器理论后几十年过去了,工业界一直没有找到能够实现忆阻器的材料。

时间到了2005年,由 HP 的 Phillip J Kuekes 领军的团队,正在进行的一种称为 Crossbar Latch 的技术的研究[2]。Crossbar Latch 的原理是由一排横向和一排纵向的电线组成的网格,在每一个交叉点上,要放一个“开关”连结一条横向和纵向的电线。如果能让这两条电线控制这个开关的状态的话,那网格上的每一个交叉点都能储存一个位的数据。这种系统下数据密度和存取速度都是前所未闻的,问题是,什么样的材料能当这个开关?这种材料必需要能有“开”、“关”两个状态,这两个状态必需要能操纵,更重要的,还有能在不改变状态的前提下,发挥其开关的效果,允许或阻止电流的通过。如何取得这样的材料考倒了 HP 的工程师。

直到2008年(距蔡教授提出忆阻器已经37年过去了)才出现了转机,另一个由 Stanley Williams 领军的 HP 团队在研究二氧化钛的时候,意外地发现了二氧化钛在某些情况的电子特性比较奇特。

Stanley等人发现,一块极薄的二氧化钛被夹在两个电极中间,这些二氧化钛又被分成两个部份,一半是正常的(图二中undoped部分)二氧化钛,另一半进行了“掺杂”(图二中doped部分),少了几个氧原子。当“掺杂”的那一半带正电,因此电流通过时电阻比较小,而且当电流从“掺杂”的一边通向正常的一边时,在电场的影响之下缺氧的“掺杂物”会逐渐往正常的一侧游移,使得以整块材料来言,“掺杂”的部份会占比较高的比重,整体的电阻也就会降低。反之,当电流从正常的一侧流向“掺杂”的一侧时,电场会把缺氧的“掺杂物”从回推,电阻就会跟着增加[2]。因此,整个器件就相当于一个滑动变阻器一样。

clip_image005

图二. HP忆阻器实现原理图,D是夹层宽度,w是“掺杂”部分宽度,掺杂宽度和器件通过的电量的方向和大小有关,可以表征器件的阻抗(resistance),一般来说,阻抗Rw/D正相关,图改自文献[2]

忆阻器的未来

相比于现在的主要电子器件,CMOS器件,忆阻器有以下优点:

A. 忆阻器由于具有“记忆”功能,属于一种不需要能源的存储设备,因此用来做低功耗的RAM很有前景。

B. 用忆阻器实现的Cross Latch系统可以形成立体的内存,并且每个电线的开关大小是3nm x 3nm,其存储密度高达100 gigabit/cm²,立体的高达1 petabit/cm³。因此很有希望用来做高密度的存储部件,有望替换闪存(Flash)。

C. Crossbar Latch的网格状设计,和每个交叉点间都有开关,意味着整组网格在某些程度上是可以逻辑化的。已经有方法模拟 AND、OR 和 NOT 三大逻辑闸,几个网格的组合甚至可以做出加法之类的运算。这为摆脱晶体管进到下一个世代开了一扇窗,很多人认为忆阻器电脑相对于晶体管的跃进,和晶体管相对于真空管的跃进是一样大的。另一方面,也有人在讨论电路自已实时调整自已的状态来符合运算需求的可能性。这点,再搭配上忆阻器的记忆能力,代表着运算电路和记忆电路将可同时共存,而且随需要调整。这已经完全超出了这一代电脑的设计逻辑,可以朝这条路发展下去的话,或许代表着新一代的智慧机器人的诞生[4]。

参考文献:

[1]. Chua, L. O. Memristor – the missing circuit element. IEEE Trans. Circuit Theory 18,507–519 (1971).

[3]. Strukov, D. B., Snider, G. S., Stewart, D. R. & Williams, R. S. The missing memristor found. Nature 453, 80–83 (2008).

[3]. Kuekes, P. J., Stewart, D. R. & Williams, R. S. The crossbar latch: logic value storage, restoration, and inversion in crossbar circuits. J. Appl. Phys. 97, 034301 (2005).

[4]. Mouttet, Blaise L. "Memristor Pattern Recognition Circuit Architecture for Robotics". Proceedings of the 2nd International Multi-Conference on Engineering and Technological Innovation II: 65–70(2009)

[转]东京大学开发出超柔有机晶体管

2010年11月10日 sigma 7 条评论 4,057 views

感言日本人真NB,反观中国的IC领域,基本处于追赶状态。并且即使追赶,貌似差距都是越来越远。前几天和国外同学邮件,聊到他们现在在做PCM(phase change memory),而我这概念之前听都没听过,并且之后有意的问了下实验室做物理和全定制的,貌似也没听过。我们作为国内做芯片的国家队(也许是自封的)尚且如此。另外,在水木看到一个关于美洲豹和天河的比较,下面这个观点很震撼,也许可以解释中国落后的一部分甚至主要原因:

本质上天河和MD的豹子研发目的是不同的
豹子:  计算软件-》提炼计算模型-》设计内部互联架构-》开建
天河:  跑分软件-》分析上一代跑分机瓶颈 -》开发大水管-》开建

以下是转载的正文:      

原文链接:http://china.nikkeibp.com.cn/news/semi/53997-20101109.html 

     东京大学的研究小组开发出了曲率半径仅为0.1~0.3mm、“即使折起来或揉成一团性能也不会劣化的超柔(Ultra-Flexible)”有机 CMOS环形振荡器(Ring Oscillator)和TFT阵列薄膜(Array Sheet),并试制出了医用导管。设想应用于直径2mm左右的血管内部凹凸处的检查和覆盖人体皮肤表面使用的各种医用传感器等。论文已刊登于《Nature Materials》2010年11月7日的在线版上。该产品还将出现在2010年12月发行的杂志封面上。
开发该产品的是东京大学研究生院工学系研究科、电气系工学专业的染谷隆夫教授和关谷毅讲师的研究小组注1)。该研究小组此前曾开发出过安装在柔性有机TFT阵列薄膜上的多种功能器件。
但是,包括染谷及其它研究小组的试制实例在内,原有的高柔性有机晶体管薄膜领域存在以下几个课题。(1)弯曲半径最小只能达到0.5mm,一般情况 下,数mm已经为极限值;(2)驱动电压与弯曲半径之间存在此消彼长的关系,在弯曲半径为0.5mm的情况下,驱动电压高达40V;(3)除了采用转印法 之外,实现CMOS电路较为困难且量产性较低;(4)难以实现微细化,工作性能存在极限,等等。此次染谷等研究人员解决了上面提到的所有课题。
具体来说就是把弯曲半径最小缩小到了0.1mm,为原来的几十分之1~1/5,通过将栅极绝缘膜厚度从原来的500nm大幅降为5~6nm,驱动电压 降低到了2V左右,不到原来的1/10。另外,由于开发出了在室温或100℃以下制造较薄的栅极绝缘膜、半导体和各电极的工艺,因此在不耐热的超柔 (Ultra-Flexible)基板上直接制作CMOS电路便成为可能。另外,由于能够降低驱动电压,有机晶体管按照缩放比例(scaling)实现制 造工艺微细化的效果也令人期待。
事实上,此次制成的5段有机CMOS环形振荡器在低电压驱动的情况下,实现了每段延迟仅为4.5ms的“全球最快速度”(染谷)。通道长为20μm。
CMOS电路中使用的p型有机半导体采用了并五苯。迁移率μ高达0.5cm2/Vs。另一方面,n型有机半导体采用了氟代酞菁铜(F16CuPc)。虽然μ为0.02cm2/Vs,与并五苯有一定差距,但“这种程度的差距可以在电路方进行补偿”(染谷)。
通过在凹凸不平的基板上涂布“粉底”实现平坦化
此次开发的最大要点是,在保证高成品率的同时减小了栅极绝缘膜的厚度,从而降低了驱动电压。同时,这也得益于薄膜基板大幅实现了平坦化。
在厚度为12.5μm、有几十nm凹凸的市售聚酰亚胺基板上,采用旋转涂布法涂布上聚酰亚胺前体,然后加热到180℃,这种前体就变成聚酰亚胺,在遮 盖住基板凹凸不平之处的同时,也与基板融为一体。平坦化后的凹凸处“为0.2~0.3nm左右,平坦程度几乎达到原子级别”(染谷)。因此,凭借可与利用 硅基板时相匹敌的可靠性,有望制造较薄的栅极绝缘膜和更高性能的半导体。(记者:野泽 哲生)
注1)该研究获得了科学技术振兴机构(JST)战略性创造研究推进业务(CREST)课题解决型基础研究的资金援助。

开发的超柔TFT阵列薄膜。聚酰亚胺基板厚度仅为12.5μm。摄影:关谷毅(点击放大)

折成一团的该薄膜。即便如此,其性能也不会劣化。摄影:关谷毅(点击放大)

制成5段CMOS环形振荡器的薄膜。摄影:关谷毅(点击放大)

制成具备压力传感器功能的直径约2mm的导管。照片由东京大学提供(点击放大)

具备压力传感器功能的导管的构造模式图。图片由东京大学提供(点击放大)

在导管上螺旋状缠绕的TFT阵列薄膜示意图。图片由东京大学提供(点击放大)

分类: IT资讯, 评论 标签: , ,

无觅相关文章插件,快速提升流量