资源描述
(注:因笔者才疏学浅,所以整理的答案难免出现错误,请读者自行查正,谢谢)
(一)、基本概念
1、 ASIC/IC设计流程与EDA工具
前端设计
1)规格制定(specification)
2)详细设计(idea design)
3)RTL编码(RTL coding)
4)仿真验证(verification)――VCS,NC-Verilog
5)逻辑综合(synthesis)――Design Compiler
6)可测性设计DFT――DFT Compiler
7)静态时序分析(Static Timing Analysis)――Prime Time
8)形式验证(formal verification)――Formality
后端设计
9) 布局规划(floorplanning)——Astro
10)时钟树综合(Clock Tree Synthesis)--Physical Compiler
11)布局布线(Placement&Rout)――Astro
12)寄生参数提取(Parasitic Extraction)――Star-RCXT
13)版图物理验证(Layout Physical Verification)――Hercules
芯片出带(Tape--out)GDS-II
这里列出的流程是主要设计流程,一般笔试写上这么多已经足够了。实际设计中可能还有DFM(可制造性设计),功耗分析,信号完整信分析SIA(Signal Integrity Analysis),ATPG(Auto Test Pattern Generation)――Tetra MAX等等。版图物理验证包括DRC、LVS、ANT、ERC等。
DRC:Design Rule Check,设计规则检查
LVS:Layout Vs Schematic
ANT:Antenna effect,天线效应
ERC:Electric Rule Check,电气规则检查
1、 同步电路与异步电路
同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,它们共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。它比异步时序逻辑电路简单。同步时序电路健壮,并且容易维护,缺点是时钟偏移带来的问题难以处理,并且电路的性能达不到最优。
异步电路主要是组合逻辑电路,没有统一的时钟信号,状态的变化时刻是不固定的。一般用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,其逻辑输出与任何时钟信号都没有关系,译码输出产生的毛刺通常是可以监控的。通常,输入信号只在电路处于稳定状态时才发生变化。也就是说,一个时刻只允许一个输入信号发生变化,以避免输入信号之间造成的竞争冒险。
2、 同步复位和异步复位
同步复位是信号在时钟边沿复位,reset信号对设计来说仅仅是同步输入信号。其优点是容易综合(综合成触发器),基于周期的仿真容易。缺点是需要时钟。
异步复位不需要使用时钟,当复位信号有效就进入复位状态。优点是不需要时钟;使用触发器独立输入端,不影响数据时序。缺点是reset信号是个象时钟信号一样的特殊信号,在布局布线的时候需要插入缓冲树;STA和基于周期的仿真困难。
同步、异步复位都需要reset信号同步于时钟解除,否则,状态机可能复位到一个无效状态。在可重用设计中,通常采用异步复位。
3、 MOORE 与 MEELEY状态机
Moore机中,输出状态仅取决于当前存储电路的状态;mealy机中,输出状态不仅取决于当前存储状态,还和输入状态有关。
4、 竞争冒险
信号在逻辑器件内部经过连线和逻辑单元时,都有一定的延时.延时时间受到连线长度和逻辑单元个数及环境因数有关,所以在门输入的多个信号同时发生变化时会出现尖峰信号,这些尖峰信号称为“glitch”,如果组合逻辑中有glitch,这个电路就存在“冒险”。
所以尽量采用同步电路,信号的变化在时钟的沿,只要出现在时钟沿的毛刺不满setup time和hold time都不会有问题,如果还有问题可以在输出信号的保持时间内加D触发器采样。还有尽量不要让输入信号同时变化,可以采用格雷码输入。(《数字电子技术基础》P171)
5、 “线与”逻辑
线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用OC门来实现。如果不用 OC门,输出端并联以后可能使负载电流过大,而烧坏逻辑门。另外在OC门输出端口应加一个上拉电阻。(《数电》P79)
6、 常用逻辑电平
常用逻辑电平:12V,5V,3.3V;TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的。CMOS输出接到TTL是可以直接互连。TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V。(《数电》P119)
7、 setup time和hold time
Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据需要稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据需要稳定不变的时间。如果hold time 不够,数据同样不能被打入触发器。
如果不满足建立和保持时间的话(即setup/hold time violation),那么DFF将不能正确地采样到数据,将会出现 metastability(亚稳态)的情况,只要亚稳态时间小于时钟周期就可用双reg方法消除。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。
1、 门控时钟
只有在单频率系统中才可以采用门控时钟,并且不能用多个时钟来组合以产生不同频率的时钟。时钟驱动逻辑只包含一个“与门”或“或门”;逻辑门的输入有一个为时钟输入,而逻辑门的所有其他输入必须当成地址或者控制线,它们应遵守相对于时钟的建立和保持时间的约束。
10、时钟偏移(clock skew)
在芯片中,时钟线的扇出很大,其本身的电容电阻相当可观,这时候可以把时钟线看作是分布式的RC线。用时钟信号控制的触发器,由于触发器离时钟源距离不同,因而时钟信号到达的时间不一样,这种效应称为时钟偏移。时钟信号的目标之一是对系统状态的更新进行同步。由于偏移的存在,同步会受到影响,这可能导致竞争现象。
11、亚稳态(metastability)
亚稳态是指触发器无法在规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。
解决方法:
1 降低系统时钟
2 用反应更快的FF
3 引入同步机制,防止亚稳态传播
4 改善时钟质量,用边沿变化快速的时钟信号
关键是使用较好工艺和时钟周期裕量大的器件。
12、跨时钟域的信号处理
跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是防止时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。
当同步的是地址时(多位信号),一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。
如果两个时钟域之间传送大量的数据,可以用异步FIFO,双口RAM,握手信号等来解决问题。
13、静态时序分析和动态时序模拟
静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。
动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径。随着设计规模的增大,设计需要的测试向量以指数增长,使用动态时序模拟,难以保证足够的覆盖率,时间与工作量也难以承受。
14、标准的倒相器中P管的宽长比,大于N管宽长比
宽长比和载流子有关。P管是空穴导电,N管电子导电,电子的迁移率大于空穴,同样的电场下,N管的电流大于P管,因此要增大P管的宽长比,使之对称,这样才能使得两者上升时间下降时间相等、高低电平的噪声容限一样、充电放电的时间相等。
15、触发器(DFF)和锁存器(latch)
latch是电平触发,register是边沿触发,register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。
16、FPGA和ASIC
FPGA是可编程ASIC;ASIC:专用集成电路,它是面向专门用途的电路,专门为一个用户设计和制造的。根据一个用户的特定要求,能以低研制成本,短、交货周期供货的全定制,半定制集成电路。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点。
17、latch-up(闩锁现象)
闩锁效应是指CMOS电路中寄生的固有可控硅被结构外界因素触发导通,在电源和地之间形成低阻通路现象,一旦电流流通,电源电压不降至临界值以下,导通就无法中止,引起器件的烧毁,构成CMOS电路的一个主要的可靠性问题。(《数电》P114)
18、Antenna effect(天线效应)
IC芯片中金属线或者多晶硅(polysilicon)等导体,就象是一根根天线,当有游离的电荷时,这些“天线”便会将它们收集起来,天线越长,收集的电荷也就越多,当电荷足够多时,就会放电。
IC现代工艺中经常使用的一种方法是离子刻蚀(plasma etching),这种方法就是将物质高度电离并保持一定的能量,然后将这种物质刻蚀在晶圆上,从而形成某一层。理论上,打入晶圆的离子总的对外电性应该是呈现中性的,也就是说正离子和负离子是成对出现,但在实际中,打入晶圆的离子并不成对,这样,就产生了游离电荷。另外,离子注入(ion implanting)也可能导致电荷的聚集。可见,这种由工艺带来的影响我们是无法彻底消除的,但是,这种影响却是可以尽量减小的。
在CMOS工艺中,P型衬底是要接地的,如果这些收集了电荷的导体和衬底间有电气通路的话,那么这些电荷就会跑到衬底上去,将不会造成什么影响;如果这条通路不存在,这些电荷还是要放掉的,那么,在哪放电就会对哪里造成不可挽回的后果,一般来讲,最容易遭到伤害的地方就是栅氧化层。
通常情况下,我们用“天线比率”(“antenna ratio”)来衡量一颗芯片能发生天线效应的几率。“天线比率”的定义是:构成所谓“天线”的导体(一般是金属)的面积与所相连的栅氧化层面积的比率。随着工艺技术的发展,栅的尺寸越来越小,金属的层数越来越多,发生天线效应的可能性就越大,所以,在0.4um/DMSP/TMSP以上工艺,我们一般不大会考虑天线效应。而采用0.4um以下的工艺就不得不考虑这个问题了。
可通过插入二极管(NAC Diode)的方法来解决天线效应,这样当金属收集到电荷以后就通过二极管来放电,避免了对栅极的击穿。
注: DMSP——Double Metal Single Poly
TMSP——Three Metal Single Poly
19、存储器 ROM,FLASH,SRAM,DRAM
sram:静态随机存储器,存取速度快,但容量小,掉电后数据会丢失,不像DRAM 需要不停的REFRESH,制造成本较高,通常用来作为快取(CACHE) 记忆体使用。
flash:闪存,存取速度慢,容量大,掉电后数据不会丢失。
dram:动态随机存储器,必须不断的重新的加强(REFRESHED) 电位差量,否则电位差将降低至无法有足够的能量表现每一个记忆单位处于何种状态。价格比sram便宜,但访问速度较慢,耗电量较大,常用作计算机的内存使用。
20、名词解释
IRQ:Interrupt ReQuest
VCO:Voltage Control Oscillator
FIR:Finite Impulse Response
IIR :Infinite Impulse Response
DFT:Discrete Fourier Transform
BIOS:Basic Input Output System
USB:Universal Serial Bus
VHDL:VHIC Hardware Description Language
SDR:Single Data Rate
DDR:Double Data Rate
PCI:Peripheral Component Interconnect
ECC:Error Checking and Correcting
SSI:Synchronous Serial Interface
展开阅读全文