[1] EDA Electronic design automation,缩写:EDA)是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
[2]latency:等待;潜伏期;延迟。主要指时钟延迟,具体指的是输入数据与输出结果(该数据经过一系列处理之后的结果)之间的延时。
[3]delay:延迟;延误。主要指器件延时、布线延时,是时序器件之间的逻辑延时。
[4] Netlist 在电路设计中,网表(netlist)是用于描述电路元件相互之间连接关系的,一般来说是一个遵循某种比较简单的标记语法的文本文件。
[5] Gate-level 门级(gate-level)指的是网表描述的电路综合级别。顾名思义,门级网表中,描述的电路元件基本是门(gate)或与此同级别的元件。
[6]RTL(Register Transfer Level,寄存器传输级)设计。
那么什么是RTL级设计呢?或许大家知道,数字集成电路是由两类基本器件组成的,一类是输出信号只受输入信号当前状态影响的逻辑器件(称之为组合逻辑器件),这类器件没有记忆功能,只要输入信号变化,输出信号随之变化。而另一类是输出信号不仅和输入信号当前时刻的状态有关,还和其前一时刻状态有关的逻辑器件(称之为时序逻辑器件),这类器件具有记忆功能。
RTL设计就是指利用硬件描述语言(一种能够描述逻辑器件的语言,如Verilog HDL语言)对包含这两类器件的电路进行描述,而这种描述是以寄存器之间的传输为基础的,因此称为RTL(寄存器传输级)设计。
[7] GDS 文件类型:Graphic Design System
扩展名为.gds的文件是一个图像文件。
[8] DFT:数字电路(fpga/asic)设计入门之可测试设计与可测性分析,离散傅里叶变换,(DFT)Direct Fouriet Transforme
可测试性技术(Design For Testability-DFT)就是试图增加电路中信号的可控制性和可观测性,以便及时经济地测试芯片是否存在物理缺陷,使用户拿到良好的芯片。其中包括Ad Hoc技术和结构化设计技术。目前,任何高IC设计系统都采用结构化设计技术,其中主要扫描技术和内建自测两种技术。
一个电路的测试性问题应该包括两个方面:
由外部输入信号来控制电路中的各个节点的电平值,称为可控制性。
从外部输出端观测内部故障地难易程度,称为可观测性
扫描技术是指电路中的任一状态移进或移出的能力,其特点使测试数据的串行化。比较常使用的是全扫描技术和边界扫描技术。全扫描技术是将电路中的所有触发器用特殊设计的具有扫描功能的触发器代替,使其在测试时链接成一个或几个移位寄存器,这样,电路分成了可以进行分别测试的纯组合电路和移位寄存器,电路中的所有状态可以直接从原始输入和输出端得到控制和观察。这样子的电路将时序电路的测试生成简化成组合电路的测试生成,由于组合电路的测试生成算法目前已经比较完善,并且在测试自动化生成方面比时序电路的测试生成容易得多,因此大大降低了测试生成的难度。
对于存储器模块的测试一般由生产厂家提供专门的BIST电路,通过BIST电路可以方便地对存储单元地存取功能进行测试,所谓的BIST电路是指把测试电路做到IC里面,利用测试电路固有的能力自行执行一个测试存储器的程序。另外MBIST还可以解决RAM SHADOW的问题提高芯片的可测试性。
为什么要做DFT呢?因为我们的设计,也就是RTL到GDSII交出去的只是一个版图,最后芯片需要生产织造是在foundry做的,也就是厂家根据你提供的数据GDSII做成芯片。这个流程过程中可能出现缺陷,这个缺陷可能是物理存在的,也可能是设计当中的遗留问题导致的,另外一方面在封装的过程也可能出现缺陷。为了保证我们的芯片能够不存在物理上的缺陷,所以就要做DFT。也就是说,你交给foundry一个加法器的GDSII,他在做的过程和封装的时候都可能引入缺陷;拿到这个加法器芯片你怎么知道,里面的一个与门,厂家给你做的就是一个正常工作的与门呢?你怎么知道厂家做好的加法器的dier在封装之后引脚就能正常输入呢?一句话,就是通过DFT!
[9] SOC(System on Chip),指的是片上系统,MCU只是芯片级的芯片,而SOC是系统级的芯片,它既MCU(51,avr)那样有内置RAM,ROM同时又像MPU(arm)那样强大的不单单是放简单的代码,可以放系统级的代码,也就是说可以运行操作系统(将就认为是MCU集成化与MPU强处理力各优点二合一)。
SOC,是个整体的设计方法概念,它指的是一种芯片设计方法,集成了各种功能模块,每一种功能都是由硬件描述语言设计程序,然后在SOC内由电路实现的;每一个模块不是一个已经设计成熟的ASIC“器件”,只是利用芯片的一部分资源去实现某种传统的功能。
这种功能是没有限定的,可以是存储器,当然也可以是处理器,如果这片SOC的系统目标就是处理器,那么做成的SOC就是一个MCU;
[10] Floorplan 布图 place布局 route 布线
[11] PVT process(工艺制程),voltage(工作电压),temperature(工作温度)
[12] lef library exchange format ,是描述单元抽象的, edi用来做place&route用,包含单元大小,blockage ,pin位置等
lef 物理规则文件,定义走线的规则,线宽,标准单元的形状。
[13] def Design exchange format, 是描述设计信息的,比如某个design里面多少cell,pins,nets, 连线等
def 交换格式文件,记录具体走线的位置,标准单元的位置
[14] .lib liberty liberary format 时序库,用于描述物理单元的时序和功耗信息的重要库文件
[15] .db格式 是Synopsys工具专用的格式。由lib文件经过加密转化所得,内容与lib文件一样,但是不可读取,保密性更好
[16] transition time/slew 转换时间
[17] VCC:C=circuit 表示电路的意思, 即接入电路的电压
VDD:D=device 表示器件的意思, 即器件内部的工作电压
VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压
[18] Core utilization: (std cell + hard macro) / 整个面积
Cell utilization: (std cell ) / 整个面积
[19] track: 绕线轨道。最终绕线是走在track上的,两个相邻track的space为一个pitch。
row: 顾名思义横排。就是std cell 放置 的排。std cell放置在row里面。
site: 类似于一种cell的分类。以stdcell为例,site一般情况是最小cell的大小。类似cell的最小size
[20] tapcell:CMOS中用以消除latch up效应加入的n型 or p型阱。
[21] decapcell:去耦单元
[22] placement blockage:用以约束cell摆放
[23] routing blockage:用以金属线是否从此地走过
[24] boundary cell:放置在芯片边缘或者macro边缘,用以防止摆放功能cell,导致功能cell所处环境不一致。
[25] row:用以约束cell摆放,一般是背靠背放置。可以分为site,一个site是cell摆放的最小单元。横向排列的重要网格,一般解释为“排”。
[26] track:用以约束走线器的走线方向。信号线通常必须走在track上。每层track分为pref track和non pref track。pref rack是主流走线方向。non pref track是非主流走线方向。non pref track的走线wire会比较宽,占用较多绕线资源。
1P9M:1层poly,9层metal。其中M1层固定不变,M2~M9可以分为x、y等不同的类别
[27] via:通孔,用以连接上下层金属
[28] halo:keepout margin,即macro外围,用以约束不摆放std cell
[29] spare cell:安插的备用的cell,当其他cell出现问题时,则用此备用cell
[30] filler cell:用以平衡芯片中std cell密度,使其均匀而加入的cell
[31] tie cell:tie high or tie low,钳位单元,起到ESD保护功能,通常在placement之后,route之前添加
[32] net:逻辑意义,指cell之间的连接
[33] wire:实例化的net,具有物理意义,指cell之间的连接
[34] pin:逻辑意义,IO口
[35] port:实例化的pin,IO口
[36] inverter/buffer:缓冲器,用以调节时钟树
[37] power strap:网格状的横的竖的金属层,组成power grid。floorplan阶段要进行分析power grid的密度和power strap的宽度。
[38] power rings:电源环线。为了均匀供电,设置环形供电金属包围在标准单元周围。供电IO通过金属连接到ring,std cell和macro分别通过followpin和strap连接到ring。power ring可以均匀分布电流,缩短电流回路,有效减小IR drop和EM问题。有些模块对电源要求较高,可单独设计power ring进行供电。
[39] pad rings:power plan时加pad ring。IO pad里的power ring
[40] route blockage:设置一块区域,使绕线不走此路。
[41] bounds:界限
[42] route guide:类似于routing blockage,规定什么地方不可以走线
[43] Soft Guide: 没有fixed location 是要求最不严格的一种
Guide:比soft guide 严格一点,但『可进可出』——即:被指定的cell 可能被摆放在guide 之外,没被指定的cell 可能被摆放在guide 之内
Region:比Guide 更严格一点,但 『可进不可出』 ——即:被指定的cell 不可以被摆放在Region 之外,没被指定的cell 可能被摆放在Region 之内
Fence:比Region 更严格一点,但『不可进不可出』——即:被指定的cell 不可以被摆放在Fence 之外,没被指定的cell 不可以被摆放在Fence 之内
[44] Unplaced: 就是没有instance还没有place,还在右下角呢
Placed: 就是该instance已经place好了,但是不稳定,接下来的步骤工具都可以去动它
Fixed: 就是相当于preplace住了,接下来步骤中,工具不能动它了,但是你自己还是可以去动它的
Cover就是cover cell了,在这种状态下,连你自己也不能去动它了,一般做完一些super cmd后,会把整个top cell设定成cover cell. 防止自己的错误操作
SoftFixed: 前面几种状态大家都很熟悉吧,但大家知道softFixed吗?softFixed是介于placed和fixed之间的一种状态,它代表着该状态下的instance在global place中不能被移动。但是在detail place中的legalization可以移动,optDesign中可以被upsize
[45] synthesis:逻辑综合或者物理综合
[46] APR:自动布局布线
[47] STA:静态时序分析
[48] SI:信号完整性分析
[49] OCV: on-chip-variation 是指芯片在制造工艺P、工作电压V、环境温度T 等参数的局部变化情况下导致的 cell &net delay 变化
[50]