Mar 10, 2008

registered output

      最近项目碰到的一个问题,设计时没用寄存器输出,导致接口部分由于时序问题出错。就此问题谈点自己的看法。
      一般来说,我们只是在芯片的接口处考虑寄存器输出,因为内部逻辑都能在EDA工具的控制较好地保证timing,但接口处由于对方的逻辑未知,无法保证timing,在某些case可能会出现timing出错的问题。
      当项目较大时,综合不能完全top-down,此时在IP的顶层最好也用寄存器输出,以简化IP间接口timing的check。
      IP内部的话,不一定非得寄存器输出不可。很多初学者为了简单起见,只要是输出都加上寄存器,这样会浪费面积,而且有时电路的效率也会降低(delay1T)。
      总的来说,是否需要寄存器输出虽是个小问题,但对于高效稳定的设计,任何小问题都不得放过。

Labels:

Jan 17, 2008

How to do Statistical Timing Analysis for a Path that Includes Clock-shaping Circuit

Question:
I have a pulse-shaping circuit similar to the one shown in the following figure.
In the following circuit, only the falling edge from and1/A and rising edge from
and1/B should be used (see waveforms).


How should this be modelled in PrimeTime?
Answer:
This can be done using the set_case_analysis command and assigning values "falling"
to and1/A and "rising" for and1/B. A sample verilog netlist, a set of constraint
and the timing reports are shown below to demonstrate the behaviour.
//Verilog netlist
module clock_shape (in,out);
input in;
output out;
buf1a1 b1 (.A(in), .Y(u1_out));
buf1a1 b2 (.A(u1_out), .Y(u2_out));
buf1a1 b3 (.A(u2_out), .Y(u3_out));
and2a1 and1 (.A(in), .B(u3_out),.Y(out));
endmodule
#Constraints
create_clock -p 1 -name clk
set_input_delay -clock clk 0 [all_inputs]
set_output_delay -clock clk 0 [all_outputs]
set_case_analysis falling [get_pin and1/A]
set_case_analysis rising [get_pin and1/B]
report_timing -input_pins -fall_to out
report_timing -input_pins -rise_to out
report_timing -input_pins -through and1/A -fall_to out
#Reports
pt_shell> report_timing -input_pins -fall_to out
****************************************
Report : timing
-path_type full
-delay_type max
-input_pins
-max_paths 1
Design : clock_shape
Version: Z-2007.06-SP2
Date : Thu Oct 4 16:03:46 2007
****************************************
Startpoint: in (input port clocked by clk)
Endpoint: out (output port clocked by clk)
Path Group: clk
Path Type: max
Point Incr Path
---------------------------------------------------------------
clock clk (rise edge) 0.00 0.00
clock network delay (ideal) 0.00 0.00
input external delay 0.00 0.00 f
in (in) 0.00 0.00 f
and1/A (and2a1) 0.00 0.00 f
and1/Y (and2a1) 0.12 0.12 f
out (out) 0.00 0.12 f
data arrival time 0.12
clock clk (rise edge) 1.00 1.00
clock network delay (ideal) 0.00 1.00
output external delay 0.00 1.00
data required time 1.00
---------------------------------------------------------------
data required time 1.00
data arrival time -0.12
---------------------------------------------------------------
slack (MET) 0.88
1
pt_shell> report_timing -input_pins -rise_to out
****************************************
Report : timing
-path_type full
-delay_type max
-input_pins
-max_paths 1
Design : clock_shape
Version: Z-2007.06-SP2
Date : Thu Oct 4 16:04:25 2007
****************************************
Startpoint: in (input port clocked by clk)
Endpoint: out (output port clocked by clk)
Path Group: clk
Path Type: max
Point Incr Path
---------------------------------------------------------------
clock clk (rise edge) 0.00 0.00
clock network delay (ideal) 0.00 0.00
input external delay 0.00 0.00 r
in (in) 0.00 0.00 r
b1/A (buf1a1) 0.00 0.00 r
b1/Y (buf1a1) 0.14 0.14 r
b2/A (buf1a1) 0.00 0.14 r
b2/Y (buf1a1) 0.18 0.32 r
b3/A (buf1a1) 0.00 0.32 r
b3/Y (buf1a1) 0.18 0.50 r
and1/B (and2a1) 0.00 0.50 r
and1/Y (and2a1) 0.18 0.68 r
out (out) 0.00 0.68 r
data arrival time 0.68
clock clk (rise edge) 1.00 1.00
clock network delay (ideal) 0.00 1.00
output external delay 0.00 1.00
data required time 1.00
---------------------------------------------------------------
data required time 1.00
data arrival time -0.68
---------------------------------------------------------------
slack (MET) 0.32
1
pt_shell> report_timing -input_pins -through and1/A -rise_to out
****************************************
Report : timing
-path_type full
-delay_type max
-input_pins
-max_paths 1
Design : clock_shape
Version: Z-2007.06-SP2
Date : Thu Oct 4 16:04:57 2007
****************************************
No constrained paths.
1

Labels: ,

Dec 13, 2007

IC封装

芯片设计规划时要考虑到一个重要因素---封装。

[转载]来源:PCB 技术  作者:sjb21ic
1
BGA(ball grid array)
球形触点陈列,表面贴装型封装之一。在印刷基板的背面按陈列方式制作出球形凸点用以代替引脚,在印刷基板的正面装配LSI 芯片,然后用模压树脂或灌封方法进行密封。也称为凸 点陈列载体(PAC) 。引脚可超过200,是多引脚LSI 用的一种封装。
封装本体也可做得比QFP(四侧引脚扁平封装)小。例如,引脚中心距为 1.5mm 360 引脚 BGA 仅为 31mm 见方;而引脚中心距为0.5mm 304  引脚QFP 40mm 见方。而且BGA  用担心QFP 那样的引脚变形问题。
该封装是美国 Motorola 公司开发的,首先在便携式电话等设备中被采用,今后在美国有可 能在个人计算机中普及。最初,BGA 的引脚 (凸点)中心距为1.5mm,引脚数为225 。现在也有一些LSI 厂家正在开发500 引脚的BGA
BGA 
的问题是回流焊后的外观检查。现在尚不清楚是否有效的外观检查方法。有的认为, 由于焊接的中心距较大,连接可以看作是稳定的,只能通过功能检查来处理。
美国Motorola 公司把用模压树脂密封的封装称为OMPAC,而把灌封方法密封的封装称为 GPAC(OMPAC GPAC)

2
BQFP(quad flat package with bumper)
带缓冲垫的四侧引脚扁平封装。QFP 封装之一,在封装本体的四个角设置突起 (缓冲垫)以防止在运送过程中引脚发生弯曲变形。美国半导体厂家主要在微处理器和ASIC 等电路中采用 此封装。引脚中心距0.635mm,引脚数从84 196  左右(QFP)

3
、碰焊PGA(butt joint pin grid array)
表面贴装型PGA 的别称( 见表面贴装型PGA)

4
C (ceramic)
表示陶瓷封装的记号。例如,CDIP 表示的是陶瓷DIP 。是在实际中经常使用的记号。

5
Cerdip
用玻璃密封的陶瓷双列直插式封装,用于ECL RAM DSP(数字信号处理器)等电路。带有玻璃窗口的Cerdip  用于紫外线擦除型EPROM 以及内部带有EPROM 的微机电路等。引脚中心距 2.54mm,引脚数从42。在日本,此封装表示为DIP G(G 即玻璃密封的意思)

6
Cerquad
表面贴装型封装之一,即用下密封的陶瓷QFP,用于封装 DSP 等的逻辑LSI 电路。带有窗口的Cerquad 用于封装 EPROM 电路。散热性比塑料QFP 好,在自然空冷条件下可容许1.5 2W 的功率。但封装成本比塑料QFP 3 倍。引脚中心距有1.27mm0.8mm0.65mm0.5mm0.4mm 等多种规格。引脚数从32 368

7
CLCC(ceramic leaded chip carrier)
带引脚的陶瓷芯片载体,表面贴装型封装之一,引脚从封装的四个侧面引出,呈丁字形。带有窗口的用于封装紫外线擦除型EPROM 以及带有EPROM 的微机电路等。此封装也称为 QFJQFJG(QFJ)

8
COB(chip on board)
板上芯片封装,是裸芯片贴装技术之一,半导体芯片交接贴装在印刷线路板上,芯片与基板的电气连接用引线缝合方法实现,芯片与基板的电气连接用引线缝合方法实现,并用树脂覆 盖以确保可靠性。虽然COB 是最简单的裸芯片贴装技术,但它的封装密度远不如TAB 和倒片焊技术。

9
DFP(dual flat package)
双侧引脚扁平封装。是SOP  的别称(SOP)。以前曾有此称法,现在已基本上不用。

10
DIC(dual in-line ceramic package)
陶瓷DIP(含玻璃密封) 的别称(DIP).

11
DIL(dual in-line)
DIP 
的别称(DIP)。欧洲半导体厂家多用此名称。

12
DIP(dual in-line package)
双列直插式封装。插装型封装之一,引脚从封装两侧引出,封装材料有塑料和陶瓷两种。 DIP 是最普及的插装型封装,应用范围包括标准逻辑 IC,存贮器LSI,微机电路等。引脚中心距2.54mm,引脚数从 64。封装宽度通常为15.2mm。有的把宽度为 7.52mm 10.16mm 的封装分别称为 skinny DIP slim DIP(窄体型DIP)。但多数情况下并不加区分, 只简单地统称为DIP。另外,用低熔点玻璃密封的陶瓷DIP 也称为cerdip(cerdip)

13
DSO(dual small out-lint)
双侧引脚小外形封装。SOP 的别称(SOP)。部分半导体厂家采用此名称。

14
DICP(dual tape carrier package)
双侧引脚带载封装。TCP( 带载封装)之一。引脚制作在绝缘带上并从封装两侧引出。由于利用的是TAB(自动带载焊接 )技术,封装外形非常薄。常用于液晶显示驱动LSI,但多数为定制品。另外,0.5mm  厚的存储器LSI 簿形封装正处于开发阶段。在日本,按照EIAJ(日本电子机械工业) 会标准规定,将DICP 命名为DTP

15
DIP(dual tape carrier package)
同上。日本电子机械工业会标准对DTCP 的命名( DTCP)

16
FP(flat package)
扁平封装。表面贴装型封装之一。QFP SOP( QFP SOP)的别称。部分半导体厂家采用此名称。

17
flip-chip
倒焊芯片。裸芯片封装技术之一,在LSI 芯片的电极区制作好金属凸点,然后把金属凸点与印刷基板上的电极区进行压焊连接。封装的占有面积基本上与芯片尺寸相同。是所有封装技
术中体积最小、最薄的一种。但如果基板的热膨胀系数与LSI 芯片不同,就会在接合处产生反应,从而影响连接的可靠性。因此必须用树脂来加固LSI  芯片,并使用热膨胀系数基本相同的基板材料。

18
FQFP(fine pitch quad flat package)
小引脚中心距 QFP。通常指引脚中心距小于0.65mm QFP( QFP)。部分导导体厂家采用此名称。

19
CPAC(globe top pad array carrier)
美国Motorola 公司对BGA 的别称(BGA)

20
CQFP(quad fiat package with guard ring)
带保护环的四侧引脚扁平封装。塑料QFP 之一,引脚用树脂保护环掩蔽,以防止弯曲变形。 在把LSI  组装在印刷基板上之前,从保护环处切断引脚并使其成为海鸥翼状(L 形状)。这种封装在美国Motorola  公司已批量生产。引脚中心距0.5mm,引脚数最多为208 左右。

21
H-(with heat sink)
表示带散热器的标记。例如,HSOP 表示带散热器的SOP

22
pin grid array(surface mount type)
表面贴装型PGA 。通常PGA 为插装型封装,引脚长约3.4mm。表面贴装型PGA  在封装的底面有陈列状的引脚,其长度从1.5mm 2.0mm。贴装采用与印刷基板碰焊的方法,因而也称为碰焊 PGA。因为引脚中心距只有1.27mm,比插装型PGA 小一半,所以封装本体可制作得不怎么大,而引脚数比插装型多 (250528),是大规模逻辑LSI 用的封装。封装的基材有多层陶瓷基板和玻璃环氧树脂印刷基数。以多层陶瓷基材制作封装已经实用化。

23
JLCC(J-leaded chip carrier)
形引脚芯片载体。指带窗口CLCC  和带窗口的陶瓷QFJ 的别称(CLCC QFJ)。部分半 导体厂家采用的名称。

24
LCC(Leadless chip carrier)
无引脚芯片载体。指陶瓷基板的四个侧面只有电极接触而无引脚的表面贴装型封装。是高速和高频IC 用封装,也称为陶瓷QFN  QFNC(QFN)

25
LGA(land grid array)
触点陈列封装。即在底面制作有阵列状态坦电极触点的封装。装配时插入插座即可。现已 实用的有227 触点(1.27mm 中心距) 447 触点(2.54mm 中心距)的陶瓷 LGA,应用于高速逻辑 LSI 电路。LGA QFP  相比,能够以比较小的封装容纳更多的输入输出引脚。另外,由于引线的阻抗小,对于高速LSI 是很适用的。但由于插座制作复杂,成本高,现在基本上不怎么使用。预计今后对其需求会有所增加。

26
LOC(lead on chip)
芯片上引线封装。LSI 封装技术之一,引线框架的前端处于芯片上方的一种结构,芯片的中心附近制作有凸焊点,用引线缝合进行电气连接。与原来把引线框架布置在芯片侧面附近的 结构相比,在相同大小的封装中容纳的芯片达1mm 左右宽度。

27
LQFP(low profile quad flat package)
薄型QFP。指封装本体厚度为1.4mm  QFP,是日本电子机械工业会根据制定的新QFP外形规格所用的名称。

28
LQUAD
陶瓷 QFP 之一。封装基板用氮化铝,基导热率比氧化铝高7倍,具有较好的散热性。封装的框架用氧化铝,芯片用灌封法密封,从而抑制了成本。是为逻辑 LSI 开发的一种封装, 在自然空冷条件下可容许W3的功率。现已开发出了 208 引脚(0.5mm 中心距)160  引脚(0.65mm中心距)LSI  逻辑用封装,并于1993 10 月开始投入批量生产。

29
MCM(multi-chip module)
多芯片组件。将多块半导体裸芯片组装在一块布线基板上的一种封装。根据基板材料可分为MCM LMCMMCM三大类。
MCM
是使用通常的玻璃环氧树脂多层印刷基板的组件。布线密度不怎么高,成本较低。
MCM
是用厚膜技术形成多层布线,以陶瓷(氧化铝或玻璃陶瓷 )作为基板的组件,与使
用多层陶瓷基板的厚膜混合IC  类似。两者无明显差别。布线密度高于MCML
MCM
是用薄膜技术形成多层布线,以陶瓷(氧化铝或氮化铝)SiAl 作为基板的组件。
布线密谋在三种组件中是最高的,但成本也高。

30
MFP(mini flat package)
小形扁平封装。塑料SOP SSOP 的别称(SOP  SSOP)。部分半导体厂家采用的名称。

31
MQFP(metric quad flat package)
按照JEDEC(美国联合电子设备委员会)标准对QFP 进行的一种分类。指引脚中心距为 0.65mm、本体厚度为3.8mm2.0mm  的标准QFP(QFP)

32
MQUAD(metal quad)
美国Olin 公司开发的一种QFP  封装。基板与封盖均采用铝材,用粘合剂密封。在自然空冷 条件下可容许2.5W2.8W 的功率。日本新光电气工业公司于 1993 年获得特许开始生产。

33
MSP(mini square package)
QFI 
的别称(QFI),在开发初期多称为MSPQFI 是日本电子机械工业会规定的名称。

34
OPMAC(over molded pad array carrier)
模压树脂密封凸点陈列载体。美国Motorola 公司对模压树脂密封BGA 采用的名称 ( BGA)

35
P(plastic)
表示塑料封装的记号。如PDIP 表示塑料DIP

36
PAC(pad array carrier)
凸点陈列载体,BGA  的别称(BGA)

37
PCLP(printed circuit board leadless package)
印刷电路板无引线封装。日本富士通公司对塑料QFN(塑料 LCC)采用的名称(QFN)。引脚中心距有0.55mm  0.4mm 两种规格。目前正处于开发阶段。

38
PFPF(plastic flat package)
塑料扁平封装。塑料QFP 的别称(QFP)。部分LSI 厂家采用的名称。

39
PGA(pin grid array)
陈列引脚封装。插装型封装之一,其底面的垂直引脚呈陈列状排列。封装基材基本上都采用多层陶瓷基板。在未专门表示出材料名称的情况下,多数为陶瓷PGA ,用于高速大规模逻辑LSI 电路。成本较高。引脚中心距通常为2.54mm,引脚数从64 447 左右。 了为降低成本,封装基材可用玻璃环氧树脂印刷基板代替。也有64 256 引脚的塑料PGA 另外,还有一种引脚中心距为1.27mm  的短引脚表面贴装型PGA(碰焊PGA)( 见表面贴装型PGA)

40
piggy back
驮载封装。指配有插座的陶瓷封装,形关与DIPQFPQFN  相似。在开发带有微机的设备时用于评价程序确认操作。例如,将EPROM 插入插座进行调试。这种封装基本上都是定制品,市场上不怎么流通。

41
PLCC(plastic leaded chip carrier)
带引线的塑料芯片载体。表面贴装型封装之一。引脚从封装的四个侧面引出,呈丁字形,是塑料制品。美国德克萨斯仪器公司首先在64k DRAM 256kDRAM 中采用,现在已经普及用于逻辑LSIDLD(或程逻辑器件)等电路。引脚中心距1.27mm,引脚数从 18 84 形引脚不易变形,比 QFP 容易操作,但焊接后的外观检查较为困难。
PLCC 
LCC(也称 QFN)相似。以前,两者的区别仅在于前者用塑料,后者用陶瓷。但现在已经出现用陶瓷制作的形引脚封装和用塑料制作的无引脚封装( 标记为塑料LCCPCLPP LCC ),已经无法分辨。为此,日本电子机械工业会于1988 年决定,把从四侧引出形引脚的封装称为QFJ,把在四侧带有电极凸点的封装称为QFN( QFJ QFN)

42
P LCC(plastic teadless chip carrier)(plastic leaded chip currier)
有时候是塑料QFJ  的别称,有时候是QFN(塑料LCC)的别称( QFJ QFN)。部分LSI 厂家用 PLCC 表示带引线封装,用PLCC 表示无引线封装,以示区别。

43
QFH(quad flat high package)
四侧引脚厚体扁平封装。塑料QFP  的一种,为了防止封装本体断裂,QFP 本体制作得
较厚(QFP)。部分半导体厂家采用的名称。

44
QFI(quad flat I-leaded packgac)
四侧形引脚扁平封装。表面贴装型封装之一。引脚从封装四个侧面引出,向下呈字。 也称为MSP(MSP)。贴装与印刷基板进行碰焊连接。由于引脚无突出部分,贴装占有面积小于QFP 。日立制作所为视频模拟IC 开发并使用了这种封装。此外,日本的Motorola 公司的PLL IC 也采用了此种封装。引脚中心距1.27mm,引脚数从18 68

45
QFJ(quad flat J-leaded package)
四侧 形引脚扁平封装。表面贴装封装之一。引脚从封装四个侧面引出,向下呈字形。是日本电子机械工业会规定的名称。引脚中心距1.27mm。材料有塑料和陶瓷两种。塑料 QFJ 多数情况称为PLCC(PLCC),用于微机、门陈列、 DRAMASSPOTP 等电路。引脚数从18  84。陶瓷QFJ 也称为CLCCJLCC(CLCC)。带窗口的封装用于紫外线擦除型EPROM  以及带有EPROM 的微机芯片电路。引脚数从32 84

46
QFN(quad flat non-leaded package)
四侧无引脚扁平封装。表面贴装型封装之一。现在多称为 LCCQFN 是日本电子机械工业会规定的名称。封装四侧配置有电极触点,由于无引脚,贴装占有面积比QFP 小,高度比 QFP 低。但是,当印刷基板与封装之间产生应力时,在电极接触处就不能得到缓解。因此电极触点难于作到QFP 的引脚那样多,一般从14  100 左右。材料有陶瓷和塑料两种。当有LCC 标记时基本上都是陶瓷QFN 。电极触点中心距1.27mm。塑料QFN 是以玻璃环氧树脂印刷基板基材的一种低成本封装。电极触点中心距除 1.27mm 外,还有0.65mm 0.5mm  两种。这种封装也称为塑料LCCPCLC PLCC 等。

47
QFP(quad flat package)
四侧引脚扁平封装。表面贴装型封装之一,引脚从四个侧面引出呈海鸥翼(L)型。基材有陶 瓷、金属和塑料三种。从数量上看,塑料封装占绝大部分。当没有特别表示出材料时,多数情况为塑料 QFP。塑料QFP 是最普及的多引脚LSI 封装。不仅用于微处理器,门陈列等数字逻辑 LSI 电路,而且也用于VTR 信号处理、音响信号处理等模拟LSI  电路。引脚中心距有1.0mm0.8mm0.65mm 0.5mm0.4mm0.3mm  等多种规格。0.65mm 中心距规格中最多引脚数为304。日本将引脚中心距小于0.65mm  QFP 称为QFP(FP)。但现在日本电子机械工业会对 QFP的外形规格进行了重新评价。在引脚中心距上不加区别,而是根据封装本体厚度分为QFP(2.0mm3.6mm  )LQFP(1.4mm )TQFP(1.0mm )三种。 另外,有的LSI  厂家把引脚中心距为0.5mm QFP 专门称为收缩型 QFP SQFPVQFP 但有的厂家把引脚中心距为 0.65mm 0.4mm  QFP 也称为SQFP,至使名称稍有一些混乱。 QFP 的缺点是,当引脚中心距小于 0.65mm 时,引脚容易弯曲。为了防止引脚变形,现已出现了几种改进的QFP 品种。如封装的四个角带有树指缓冲垫的BQFP( BQFP);带树脂保护环覆盖引脚前端的GQFP(GQFP) ;在封装本体里设置测试凸点、放在防止引脚变形的专用夹具里就可进行测试的TPQFP(TPQFP)。在逻辑 LSI 方面,不少开发品和高可靠品都封装在多层陶瓷QFP 里。引脚中心距最小为 0.4mm、引脚数最多为 348 的产品也已问世。此外,也有用玻璃密封的陶瓷QFP(Gerqad)

48
QFP(FP)(QFP fine pitch)
小中心距QFP 。日本电子机械工业会标准所规定的名称。指引脚中心距为0.55mm0.4mm 0.3mm  等小于0.65mm QFP( QFP)

49
QIC(quad in-line ceramic package)
陶瓷QFP 的别称。部分半导体厂家采用的名称(QFP Cerquad)

50
QIP(quad in-line plastic package)
塑料QFP 的别称。部分半导体厂家采用的名称(QFP)

51
QTCP(quad tape carrier package)
四侧引脚带载封装。TCP  封装之一,在绝缘带上形成引脚并从封装四个侧面引出。是利用 TAB 技术的薄型封装( TABTCP)

52
QTP(quad tape carrier package)
四侧引脚带载封装。日本电子机械工业会于1993 月对 QTCP 所制定的外形规格所用的 名称(TCP)

53
QUIL(quad in-line)
QUIP 
的别称(QUIP)

54
QUIP(quad in-line package)
四列引脚直插式封装。引脚从封装两个侧面引出,每隔一根交错向下弯曲成四列。引脚中心距1.27mm,当插入印刷基板时,插入中心距就变成2.5mm。因此可用于标准印刷线路板。是比标准 DIP 更小的一种封装。日本电气公司在台式计算机和家电产品等的微机芯片中采用了些种封装。材料有陶瓷和塑料两种。引脚数64

55
SDIP (shrink dual in-line package)
收缩型DIP。插装型封装之一,形状与 DIP 相同,但引脚中心距(1.778mm)小于DIP(2.54mm) 因而得此称呼。引脚数从14 90。也有称为SH DIP 的。材料有陶瓷和塑料两种。

56
SH DIP(shrink dual in-line package)
SDIP。部分半导体厂家采用的名称。

57
SIL(single in-line)
SIP 
的别称(SIP)。欧洲半导体厂家多采用SIL 这个名称。

58
SIMM(single in-line memory module)
单列存贮器组件。只在印刷基板的一个侧面附近配有电极的存贮器组件。通常指插入插座的组件。标准SIMM 有中心距为 2.54mm 30 电极和中心距为1.27mm  72 电极两种规格。 在印刷基板的单面或双面装有用SOJ  封装的兆位及兆位DRAM  SIMM 已经在个人 计算机、工作站等设备中获得广泛应用。至少有3040 %的DRAM 都装配在SIMM 里。

59
SIP(single in-line package)
单列直插式封装。引脚从封装一个侧面引出,排列成一条直线。当装配到印刷基板上时封 装呈侧立状。引脚中心距通常为2.54mm ,引脚数从23,多数为定制产品。封装的形状各 异。也有的把形状与ZIP 相同的封装称为SIP


60
SKDIP(skinny dual in-line package)
DIP 
的一种。指宽度为7.62mm 、引脚中心距为2.54mm 的窄体DIP。通常统称为DIP(DIP)

61
SL DIP(slim dual in-line package)
DIP 
的一种。指宽度为10.16mm,引脚中心距为2.54mm  的窄体DIP。通常统称为DIP

62
SMD(surface mount devices)
表面贴装器件。偶而,有的半导体厂家把SOP 归为 SMD(SOP)

63
SO(small out-line)
SOP 
的别称。世界上很多半导体厂家都采用此别称。(SOP)

64
SOI(small out-line I-leaded package)
形引脚小外型封装。表面贴装型封装之一。引脚从封装双侧引出向下呈 字形,中心距 1.27mm。贴装占有面积小于SOP。日立公司在模拟 IC(电机驱动用IC)中采用了此封装。引脚数26

65
SOIC(small out-line integrated circuit)
SOP 
的别称(SOP)。国外有许多半导体厂家采用此名称。

66
SOJ(Small Out-Line J-Leaded Package)
形引脚小外型封装。表面贴装型封装之一。引脚从封装两侧引出向下呈字形,故此得名。 通常为塑料制品,多数用于 DRAM SRAM 等存储器LSI 电路,但绝大部分是DRAM 。用SOJ封装的DRAM 器件很多都装配在SIMM  上。引脚中心距1.27mm,引脚数从20 40(SIMM)

67
SQL(Small Out-Line L-leaded package)
按照JEDEC(美国联合电子设备工程委员会)标准对SOP  所采用的名称(SOP)

68
SONF(Small Out-Line Non-Fin)
无散热片的SOP。与通常的SOP  相同。为了在功率IC 封装中表示无散热片的区别,有意增添了NF(non-fin)标记。部分半导体厂家采用的名称 (SOP)

69
SOF(small Out-Line package)
小外形封装。表面贴装型封装之一,引脚从封装两侧引出呈海鸥翼状(L 字形) 。材料有塑料 和陶瓷两种。另外也叫SOL DFPSOP  除了用于存储器LSI 外,也广泛用于规模不太大的ASSP 等电路。在输入输出端子不超过 1040 的领域,SOP 是普及最广的表面贴装封装。引脚中心距 1.27mm,引脚数从844 另外,引脚中心距小于1.27mm SOP 也称为SSOP ;装配高度不到1.27mm SOP 也称为 TSOP(SSOPTSOP)。还有一种带有散热片的SOP

70
SOW (Small Outline Package(Wide-Jype))
宽体SOP 。部分半导体厂家采用的名称。

Labels:

Dec 11, 2007

Ebook--Low Power Methodology Manual[printable]

Ebook share, Thanks to visit my blog!
Low Power MethodologyManual For System-on-Chip Design.
sorry, I can not share this book for some jural reason.
if you are interesting with this book, you can refer http://www.synopsys.com/partners/arm/lpmm/lpmm.html

Labels: ,

Dec 6, 2007

ECO Flow[By Nir Dahan]

    I have posted a blog about ECO some monthes ago, see http://www.yanzhi.org/blog/2007/04/eco.html
    And now it's another eco post from:
Adventures in ASIC Digital Design , just for reference.

ECO Flow    By Nir Dahan

Here is a useful checklist you should use when doing your ECOs.
   1. RTL bug fix
      Correct your bug in RTL, run simulations for the specific test cases and some your general golden tests. See if you corrected the problem and more important didn't destroy any correct behavior.
   2. Implement ECO in Synthesis netlist
      Using your spare cells and/or rewiring, implement the bug fix directly in the synthesis verilog netlist. Remember you do not re-synthesize the entire design, you are patching it locally.
   3. Run equivalence check between synthesis and RTL
      Using your favorite or available formal verification tool, run an equivalence check to see if the code you corrected really translates to the netlist you patched. Putting it simply - the formal verification tool runs through the entire state space and tries to look for an input vector that will create 2 different states in the RTL code and the synthesis netlist. If the two designs are equivalent you are sure that your RTL simulations would also have the same result (logically speaking) as the synthesis netlist.
   4. Implement ECO in layout netlist
      You will now have to patch your layout netlist as well. Notice that this netlist is very different than the synthesis netlist. It usually has extra buffers inserted for edge shaping or hold violation correction or maybe even totally differently logically optimized.
      This is the real thing, a change here has to take into account the actual position of the cells, the actuall names etc. Try to work with the layout expert in close proximity. Make sure you know and understand the floorplan as well - it is very common to connect a logic gate which is on the other side of the chip just because it is logically correct, but in reality it will violate timing requirements.
   5. Run equivalence check between layout and synthesis
      This is to make sure the changes you made in the layout netlist are logically equivalent to the synthesis. Some tools and company internal flows enable a direct comparison of the layout netlist to the RTL. In many it is not so and one has to go through the synthesis netlist change as well
   6. Layout to GDS / gate level simulations / STA runs on layout netlist (all that backend stuff…)
      Let the layout guys do their magic. As a designer you are usually not involved in this step.
      However, depending on your timing closure requirements, run STA on the layout netlist to see if everything is still ok. This step might be the most crucial since even a very small change might create huge timing violations and you would have to redo your work.
      Gate level simulations are also recommended, depending on your application and internal flow.

Labels:

Dec 1, 2007

What is the difference between hard macro, firm macro and soft macro?

 
What are IPs?
  • Hard macro, firm macro and soft macro are all known as IP (Intellectual property). They are optimized for power, area and performance. They can be purchased and used in your ASIC or FPGA design implementation flow. Soft macro is flexible for all type of ASIC implementation. Hard macro can be used in pure ASIC design flow, not in FPGA flow. Before bying any IP it is very important to evaluate its advantages and disadvantages over each other, hardware compatibility such as I/O standards with your design blocks, reusability for other designs.
Soft macros
  • Soft macros are in synthesizable RTL.
  • Soft macros are more flexible than firm or hard macros.
  • Soft macros are not specific to any manufacturing process.
  • Soft macros have the disadvantage of being somewhat unpredictable in terms of performance, timing, area, or power.
  • Soft macros carry greater IP protection risks because RTL source code is more portable and therefore, less easily protected than either a netlist or physical layout data.
  • From the physical design perspective, soft macro is any cell that has been placed and routed in a placement and routing tool such as Astro. (This is the definition given in Astro Rail user manual !)
  • Soft macros are editable and can contain standard cells, hard macros, or other soft macros.
Firm macros
  • Firm macros are in netlist format.
  • Firm macros are optimized for performance/area/power using a specific fabrication technology.
  • Firm macros are more flexible and portable than hard macros.
  • Firm macros are predictive of performance and area than soft macros.
Hard macro
  • Hard macros are generally in the form of hardware IPs (or we termed it as hardwre IPs !).
  • Hard macos are targeted for specific IC manufacturing technology.
  • Hard macros are block level designs which are silicon tested and proved.
  • Hard macros have been optimized for power or area or timing.
  • In physical design you can only access pins of hard macros unlike soft macros which allows us to manipulate in different way.
  • You have freedom to move, rotate, flip but you can't touch anything inside hard macros.
  • Very common example of hard macro is memory. It can be any design which carries dedicated single functionality (in general).. for example it can be a MP4 decoder.
  • Be aware of features and characteristics of hard macro before you use it in your design... other than power, timing and area you also should know pin properties like sync pin, I/O standards etc
  • LEF, GDS2 file format allows easy usage of macros in different tools.
From the physical design (backend) perspective:
  • Hard macro is a block that is generated in a methodology other than place and route (i.e. using full custom design methodology) and is brought into the physical design database (eg. Milkyway in Synopsys; Volcano in Magma) as a GDS2 file.
  • Here is one article published in embedded magazine about IPs. Click here to read.
Synthesis and placement of macros in modern SoC designs are challenging. EDA tools employ different algorithms accomplish this task along with the target of power and area. There are several research papers available on these subjects. Some of them can be downloaded from the given link below. IEEE/Univerity research papers
  • "Local Search for Final Placement in VLSI Design" - download
  • "Consistent Placement of Macro-Blocks Using Floorplanning and standard cell placement" - download
  • "A Timing-Driven Soft-Macro Placement And Resynthesis Method In Interaction with Chip Floorplanning" - download

Labels:

Nov 21, 2007

Physical Design Flow

Labels:

Nov 20, 2007

[转]What is the difference between FPGA and ASIC?

  • This question is very popular in VLSI fresher interviews. It looks simple but a deeper insight into the subject reveals the fact that there are lot of thinks to be understood !! So here is the answer.
FPGA vs. ASIC
  • Difference between ASICs and FPGAs mainly depends on costs, tool availability, performance and design flexibility. They have their own pros and cons but it is designers responsibility to find the advantages of the each and use either FPGA or ASIC for the product. However, recent developments in the FPGA domain are narrowing down the benefits of the ASICs.
FPGA
  • Field Programable Gate Arrays
FPGA Design Advantages
  • Faster time-to-market: No layout, masks or other manufacturing steps are needed for FPGA design. Readymade FPGA is available and burn your HDL code to FPGA ! Done !!
  • No NRE (Non Recurring Expenses): This cost is typically associated with an ASIC design. For FPGA this is not there. FPGA tools are cheap. (sometimes its free ! You need to buy FPGA.... thats all !). ASIC youpay huge NRE and tools are expensive. I would say "very expensive"...Its in crores....!!
  • Simpler design cycle: This is due to software that handles much of the routing, placement, and timing. Manual intervention is less.The FPGA design flow eliminates the complex and time-consuming floorplanning, place and route, timing analysis.
  • More predictable project cycle: The FPGA design flow eliminates potential re-spins, wafer capacities, etc of the project since the design logic is already synthesized and verified in FPGA device.
  • Field Reprogramability: A new bitstream ( i.e. your program) can be uploaded remotely, instantly. FPGA can be reprogrammed in a snap while an ASIC can take $50,000 and more than 4-6 weeks to make the same changes. FPGA costs start from a couple of dollars to several hundreds or more depending on the hardware features.
  • Reusability: Reusability of FPGA is the main advantage. Prototype of the design can be implemented on FPGA which could be verified for almost accurate results so that it can be implemented on an ASIC. Ifdesign has faults change the HDL code, generate bit stream, program to FPGA and test again.Modern FPGAs are reconfigurable both partially and dynamically.
  • FPGAs are good for prototyping and limited production.If you are going to make 100-200 boards it isn't worth to make an ASIC.
  • Generally FPGAs are used for lower speed, lower complexity and lower volume designs.But today's FPGAs even run at 500 MHz with superior performance. With unprecedented logic density increases and a host of other features, such as embedded processors, DSP blocks, clocking, and high-speed serial at ever lower price, FPGAs are suitable for almost any type of design.
  • Unlike ASICs, FPGA's have special hardwares such as Block-RAM, DCM modules, MACs, memories and highspeed I/O, embedded CPU etc inbuilt, which can be used to get better performace. Modern FPGAs are packed with features. Advanced FPGAs usually come with phase-locked loops, low-voltage differential signal, clock data recovery, more internal routing, high speed, hardware multipliers for DSPs, memory,programmable I/O, IP cores and microprocessor cores. Remember Power PC (hardcore) and Microblaze (softcore) in Xilinx and ARM (hardcore) and Nios(softcore) in Altera. There are FPGAs available now with built in ADC ! Using all these features designers can build a system on a chip. Now, dou yo really need an ASIC ?
  • FPGA sythesis is much more easier than ASIC.
  • In FPGA you need not do floor-planning, tool can do it efficiently. In ASIC you have do it.
FPGA Design Disadvantages
  • Powe consumption in FPGA is more. You don't have any control over the power optimization. This is where ASIC wins the race !
  • You have to use the resources available in the FPGA. Thus FPGA limits the design size.
  • Good for low quantity production. As quantity increases cost per product increases compared to the ASIC implementation.
ASIC
  • Application Specific Intergrated Circiut
ASIC Design Advantages
  • Cost....cost....cost....Lower unit costs: For very high volume designs costs comes out to be very less. Larger volumes of ASIC design proves to be cheaper than implementing design using FPGA.
  • Speed...speed...speed....ASICs are faster than FPGA: ASIC gives design flexibility. This gives enoromous opportunity for speed optimizations.
  • Low power....Low power....Low power: ASIC can be optimized for required low power. There are several low power techniques such as power gating, clock gating, multi vt cell libraries, pipelining etc are available to achieve the power target. This is where FPGA fails badly !!! Can you think of a cell phone which has to be charged for every call.....never.....low power ASICs helps battery live longer life !!
  • In ASIC you can implement analog circuit, mixed signal designs. This is generally not possible in FPGA.
  • In ASIC DFT (Design For Test) is inserted. In FPGA DFT is not carried out (rather for FPGA no need of DFT !) .
ASIC Design Diadvantages
  • Time-to-market: Some large ASICs can take a year or more to design. A good way to shorten development time is to make prototypes using FPGAs and then switch to an ASIC.
  • Design Issues: In ASIC you should take care of DFM issues, Signal Integrity isuues and many more. In FPGA you don't have all these because ASIC designer takes care of all these. ( Don't forget FPGA isan IC and designed by ASIC design enginner !!)
  • Expensive Tools: ASIC design tools are very much expensive. You spend a huge amount of NRE.
Structured ASICS
  • Structured ASICs have the bottom metal layers fixed and only the top layers can be designed by the customer.
  • Structured ASICs are custom devices that approach the performance of today's Standard Cell ASIC while dramatically simplifying the design complexity.
  • Structured ASICs offer designers a set of devices with specific, customizable metal layers along with predefined metal layers, which can contain the underlying pattern of logic cells, memory, and I/O.
FPGA vs. ASIC Design Flow Comparison Other links

Labels: ,

Nov 5, 2007

Some Testing Glossary

Black box testing
not based on any knowledge of internal design or code. Tests are based on requirements and functionality.
White box testing
based on knowledge of the internal logic of an application's code. Tests are based on coverage of code statements, branches, paths, conditions.
Unit testing
the most 'micro' scale of testing; to test particular functions or code modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. Not always easily done unless the application has a well-designed architecture with tight code; may require developing test driver modules or test harnesses.
Incremental integration testing
continuous testing of an application as new functionality is added; requires that various aspects of an application's functionality be independent enough to work separately before all parts of the program are completed, or that test drivers be developed as needed; done by programmers or by testers.
Integration testing
testing of combined parts of an application to determine if they function together correctly. The 'parts' can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.
Functional testing
black-box type testing geared to functional requirements of an application; this type of testing should be done by testers. This doesn't mean that the programmers shouldn't check that their code works before releasing it (which of course applies to any stage of testing.)
System testing
black box type testing that is based on overall requirement specifications; covers all combined parts of a system.
End-to-end testing
similar to system testing; the 'macro' end of the test scale; involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
Sanity testing
typically an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort. For example, if the new software is crashing systems every 5 minutes, bogging down systems to a crawl, or de