2011年9月3日 星期六

ATPG再了解(十三)

Fault Class Hierarchy

DT – Detected:
 DS - detected by simulation
 DI - detected by implication
 DR - robustly detected delay fault

PT – Possibly Detected:
 AP - ATPG untestable, possibly detected
 NP - not analyzed, possibly detected

UD – Undetectable:
 UU - undetectable unused
 UT - undetectable tied
 UB - undetectable blocked
 UR - undetectable redundant

AU – ATPG Untestable:
 AN - ATPG untestable, not-detected

ND – Not Detected:
 NC - not controlled
 NO - not observed

PrimeTime再了解(三)

Static Timing Analysis Commands

update_timing
Updates timing for the current design and  prepares the
design for further analysis
Some commands such as report_timing or report_constraint 
automatically call update_timing if needed

report_bottleneck (PT only)
Reports the common point in the design that contributes to
multiple violations

report_constraint (DC可用)
By default will return the synthesis cost function with all costs, weights and weighted costs
Can report all violators for max/min timing and DRC verbose switch is not recommended
  -verbose switch is not recommended 


report_timing
By default shows the worst max path per path group
report_timing -exceptions all (DC可用)
2006.06 feature – The exceptions option names exceptions (mutli-cycle paths, and
min/max delays) that are related to the reported timing path


report_delay_calculation
Shows the delay calculation for a pin-to-pin timing arc
Library needs to be enabled for delay calculation reports

2011年9月2日 星期五

PrimeTime再了解(二)

Recover and Removal











Recover :
Minimum time that the release
of asynchronous control signal
must be stable before clock
active-edge transition.


Removal :
Minimum time that an
asynchronous control input
pin must be stable after the
clock active-edge transition.

TetraMAX Support for BSD Designs



2011年9月1日 星期四

Metor Verification Academy

Metor的驗證開發資料網站

有許多UVM及OVM的各種資料

http://www.verificationacademy.com/





ATPG再了解(十二)

TetraMAX Design Rule Checks

Checked during read netlist, run build_model:
 N rules (netlist) and B rules (build_model)

Checked during run drc:
 S rules (scan chain or shift)
 C rules (clocks or capture)
 Z rules (internal tristate buses and bidi-directional pins)
 X rules (combinational feedback loops)
 V rules (vector statements in the SPF)
 L rules (Logic BIST violation preventing SoCBIST flow)
 T rules (Optional ATE rule checks when Tester STIL
available)

Other rule categories:
 P rules (Path delay checks for DSM Test ATPG)

2011年8月31日 星期三

ATPG再了解(十一)

Memory DFT Strategies

A. Testing RAM/ROM for Internal Faults:
The transistor-level fabric of a RAM/ROM can’t be tested by gate-level
stuck-at-fault techniques. Use direct pin access or memory BIST.


B. Applying a Black-Box Model:
A vendor RAM/ROM primitive in a synthesized design often behaves
as a black box. This casts a low-coverage shadow over nearby logic.


C. Inserting Test Points:
The testability of shadow logic can be improved by automatic insertion
of DFT control-and-observe test points around a black-box RAM/ROM.


D. Writing Functional Models:
Testability of shadow logic can be maximized by replacing the black box
RAM/ROM cell with a user-supplied functional Verilog model.

白安鵬--半導體積體電路測試技術部落格

還不錯的測試技術網站

http://ictesting-tom.blogspot.com/2009/01/blog-post_477.html


2011年8月30日 星期二

set_false_path 與 set_case_analysis 的差別

1. "set_false_path" - 用來設立 Design Compiler 不作此路徑的分析, 將此路徑視為理想
ex. - 如橫跨 Multi-clock 的路徑, 設立之後方可滿足 setup/hold timing constraint
2. "set_case_analysis" - DC 仍會做此路徑的分析, 但會對此路徑設立條件(定值)
ex. A - 正常模擬時, 電路中 mux 的某個選擇(也許用作DFT)永遠不會執行,
則設立之後方可滿足正常模擬的環境
ex. B - 如 SRAM model 的 EMA/RETN port, 若無設立可能導致 setup time
出現極不合理的 violation
參考網址 http://daviddai0219.pixnet.net/blog/post/26580130



另舉一例,對於pulse的分析
set_case_analysis rising  [get_pins OR/B]
set_case_analysis falling [get_pins OR/A]



DC中为什么要用Uniquify?

为了在layout中进行时钟树的综合,网表在DC中必须被 uniquified.所谓uniquified 就是在设计中使子模块的实例和子模块的定义一一对应,消除一个模块的定义被多次引用的现象。因为大部分layout工具以一种flat的方式完成设计的物 理实现。对于多次引用同一定义的各个实例的物理模块的位置是不同的,而这些模块内部的flop都需要各自的时钟,从而时钟树上这些模块的 clock_net名是不同的。如果Non_ uniquified 网表,来自layout 工具的时钟树的信息和DC中原网表无法对应,因为被多次实例化模块在网表中只有一个定义,所以会出现两个不同的net和一个相同的port连结,这是不允 许的。 Uniquify 的方法如下:
dc_shell>remove_attribute find(-hierarchy design,”*”)dont_touch
dc_shell>Uniquify
DC 会认为存储区中的模块都只是被引用一次的,如果各个模块的引用的工作环境各不相同,则使用这种方法可以使得模块的各个引用可以针对他们不同的环境分别进行优化,达到最好的效果。uniquify 命令会将多次引用的模块的个数拷贝需要的数目,然后对他们分别命名而得到不同的模块名。使用的命令如下:
dc_shell-t>current_design TOP
dc_shell-t>uniquify
dc_shell-t>compile


轉貼自 http://hi.baidu.com/rfic_seu/blog/item/2e97ce0cc988a2306159f30e.html





compile-once-dont-touch相比较,uniquify有如下的特征:
要求更大的内存
需要更长的编译时间

2011年8月29日 星期一

ASIC设计流程中常用文件及格式介绍

GDSII:

它是用来描述掩模几何图形的事实标准,是二进制格式,内容包括层和几何图形的基本组成。



CIF:

(caltech intermediate format),叫caltech中介格式,是另一种基本文本的掩模描述语言。



LEF:

(library exchange format),叫库交换格式,它是描述库单元的物理属性,包括端口位置、层定义和通孔定义。它抽象了单元的底层几何细节,提供了足够的信息,以便允许布线器在不对内部单元约束来进行修订的基础上进行单元连接。

包 含了工艺的技术信息,如布线的层数、最小的线宽、线与线之间的最小距离以及每个被选用cell,BLOCK,PAD的大小和pin的实际位置。 cell,PAD的这些信息由厂家提供的LEF文件给出,自己定制的BLOCK的LEF文件描述经ABSTRACT后生成,只要把这两个LEF文件整合起 来就可以了。



DEF:

(design exchange format),叫设计交换格式,它描述的是实际的设计,对库单元及它们的位置和连接关系进行了列表,使用DEF来在不同的设计系统间传递设计,同时又可 以保持设计的内容不变。DEF与只传递几何信息的GDSII不一样。它还给出了器件的物理位置关系和时序限制等信息。

DEF files are ASCII files that contain information that represent the design at any point during the layout process.DEF files can pass both logical information to and physical information fro place-and-route tools.

* logical information includes internal connectivery(represented by a

netlist),grouping information and physical constraints.

* physical information includes the floorplan,placement locations and

orientations, and routing geometry data.





SDF:

(Standard delay format),叫标准延时格式,是IEEE标准,它描述设计中的时序信息,指明了模块管脚和管脚之间的延迟、时钟到数据的延迟和内部连接延迟。



DSPF、RSPF、SBPF和SPEF:

DSPF(detailed standard parasitic format),叫详细标准寄生格式,属于CADENCE公司的文件格式。

RSPF(reduced standard parasitic format),叫精简标准寄生格式,属于CADENCE公司的文件格式。

SBPF(synopsys binary parasitic format),叫新思科技二进制寄生格式,属于SYNOPSYS公司的文件格式。

SPEF(standard parasitic exchange format),叫标准寄生交换格式,属于IEEE国际标准文件格式。

以上四种文件格式都是从网表中提取出来的表示RC值信息,是在提取工具与时序验证工具之间传递RC信息的文件格式。



ALF:

(Advanved library format),叫先进库格式,是一种用于描述基本库单元的格式。它包含电性能参数。



PDEF:

(physical design exchange format)叫物理设计交换格式。它是SYNOPSYS公司用在前端和后端工具之间传递信息的文件格式。描述了与单元层次分组相关的互连信息。这种文件 格式只有在使用SYNOPSYS公司的Physical Compiler工具才会用到,而且.13以下工艺基本都会用到该工具。



TLF

TLF文件是描述cell时序的文件,标准单元的risetime,hold time,fall time都在TLF内定义。时序分析


轉貼自 http://hi.baidu.com/rfic_seu/blog/item/d1067812c5b51adca6ef3f37.html

ATPG再了解(十)

ATPG model error

使用以下兩個指令可以看到Build model的資料與錯誤
TEST-T> report module –summary

TEST-T> report module –errors

Although TetraMAX attempts to translate vendor cell descriptions into ATPG gate equivalent
models, this automatic translation is not always successful. For example, it is quite common to
experience “N” class violations when reading libraries.

In general, this topic is important for library developers, as they have to deliver certified libraries.

TetraMAX users should always look for library problems to make sure TetraMAX does not
generate wrong patterns due to library issues. It is beneficial for TetraMAX users to have at least a basic idea of how to debug library issues, just in case.

The important question is: Did all of the cells translate properly? To casually answer this question, you should use the summary option to the report modules command and look for any X detectors or Errors indicated, either of which will indicate an ATPG model that may not be suitable for use.

To review specific modules on which errors were encountered use the -error option of report
modules. Once a module which had an error or other problem such as N13 or N24 is identified you can report the connectivity information of the module as one way to reveal how the module was translated.


2011年8月28日 星期日

ATPG再了解(九)

Empty Boxes Versus Black Boxes

使用下面指令
set build -reset_boxes # clears black & empty box list
set build -empty_box BUS_SWITCH
set build -black RAM32x8 -empty IRQ_CORE


An “empty box” is similar to a black box with the exception that its output pins are floating.
These can be used for an embedded memory with tristate-able outputs.

Specify an Empty Box module only if its outputs are actually at Z state during test. The empty box can be helpful if multiple modules are connected to a bus, but the module outputs are all at Z state.

Using black boxes in this case would result in bus contention.

Two additional ‘box’ models are supported To make TetraMAX treat a module as a library cell, use the –design_box option:

TetraMAX will then add faults to just the ports of this module, but not inside

To maintain the port connections of a level of hierarchy, use the –portfault_box option:
May be used in SoCBIST flow where scan ports of a module need to be maintained in design

ASIC設計中的可測性

ASIC 設計中的可測性 ASIC設計者總以為提供給IC工廠的測試資料(TEST PATTERN)是用來測試實際IC的功能,事實上這是一個錯誤的認知。站在IC工廠的角度來看,如何確保ASIC功能正確是屬於設計者分析模擬前段工作 的責任,IC工廠所需要的,是一組用延而有效的測試資料,能夠將所有製程失敗的不良IC,在測試過程中分辨出來。對於一顆量產的ASIC而言,設計者確認 它的功能無誤,而IC工廠可以保證生產的流程沒有瑕疵(各盡各的責任),那麼毫無疑問,這個ASIC應該是好的:

(1) FAULT COVERAGE(偵錯率)
如何來衡量一組測試資料(TEST PATTERN)的周延性和效率呢?最常被使用的指標就是FAULT COVERAGE (偵錯率)。計算FAULT COVERAGE,必須先定義FAULT MODEL(故障模式),最常用的是單一永久性的S-A-0(短路到地)和S-A-1(短路到電源)兩個MODELS,假設線路中有100個線路節點,每 個節點都有SA0和SA1兩種可能,那麼線路中共有200個FAULTS,如果設計者提供的測試資料可以使其中120個FAULT出現不同於正常結果的輸 出(這些FAULT是DETECTABLE),偵錯率的計算結果就是60%(120÷ 200)。盡責的設計者應盡可能將偵錯率提高到接近100%。

(2) SCAN PATH DESIGN
要提高線路的可測性(TEEST ABILITY,COMBINA-TIONAL線路不是問題,但對SEQUENTIAL線路則困難極多後者中有D-FF和LATCH之類的記憶性元件,系 統的整體輸出不僅取決於系統的輸入,還與記憶體元件所保存的上一個邏輯狀態有關,所以要提高SEQUENTIAL線路的可測性,最重要的就是提高記憶體元 件的可控制性和可讀性。最有名的方法,就是引進所謂的SCAN PATH DESIGN。

首先將記憶性元件換成SCAN FF(當SE=0時,S-FF有如一個正常的D-FF;當SE=1時,D端被關掉,輸入改由SI端進入)。然後透過SI端將整個系統的SCAN FF-串接在一起。當SE=1時,系統中所有的S-FF事實上是串成一個大型的SHIFTER (SCAN PATH)。設計者可以依靠這個SCAN PATH來控制或讀取任何一個原本D-FF中所保存的邏輯態。如此一來,系統的偵錯率可以很容易提高。



(3) SCAN PATH所帶來的問題
使用SCAN PATH DESIGN會出現一些新問題,這些新問題必須經過設計者的細心考慮,才能令SCAN PATH的效能提到最高。

I. FULL SCAN還是PARTIAL SCAN
FULL SCAN是指將所有D-FF全換成SCAN FF,PARTIAL SCAN則只置換部份影響較大的記憶性元件。前者會增加相當多的閘數(增加晶片成本),後者則需要設計者做深一步的判斷,而且偵錯率會降低。

II. CLOCK SKEW的問題
使用SCAN PATH DESIGN必須是同步設計,而且會在SCAN模式下產生一個極大的SHIFTER線路,必須小心CLOCK SKEW問題造成SCAN PATH出錯。其中一個解決之道,是將SCAN FF在換成有兩個時鐘的LSSD設計,這樣一來,可能又要增加許多的閘數。

III. SCAN DESIGN和IC佈局的關係
假設SCAN FF的連接不能依照佈局結果的遠近來串接(實際上相近的D-FF才串在一起)這不但會使D-FF因負載加大而頻率降低,也會阻礙整體系統的可繞性 (ROUTABILITY)。很可惜,目前的商用軟體都未考慮到此點。增加ASIC的可測性是一個重要而艱難的問題,必須有長足經驗的累積,才能令一個 ASIC設計者在準備測試資料的過程中得心應手。

轉貼自http://hi.baidu.com/qrnujianglin/blog/item/37dfcc0a83f3191b94ca6bc9.html