하드웨어 설계/Design Compiler User Guide

Chapter4 Working With Libraries

가카리 2012. 8. 9. 19:48
반응형

Technology Libraries

 

Technology libraries contain information about the characteristics and functions of each cell provided in a semiconductor vendor’s library.

 

Implementing the design function

 

Technology libraries는 최적화할때 target libraries로 매핑을 한다.

target libraries는 넷리스트나 design 동작 조건 같은 cell을 포함한다.

 

 

 

 

Resolving cell references

synthesis 과정 중 linking 할 때 reference link libraries에 연결한다.

Calculationg timing values and path delays

link libraies는 타이밍 값과 path 딜레이를 계산한다.

Calculating power consumed

 

 

Symbol Libraries

Symbol libraries 라이브러리 셀을 나타내기위한 그래픽 심볼을 포함한다.

design schematic Design Vision으로 볼 수 있다.

 

DesignWare library는 재사용 가능한 circuit-design building blocks들이다.

 

Specifying Libraries

 

Library type

variable

default

file extention

Target library

target_library

{“yout_library.db”}

.db

Link library

link_library

{“*”, “your_library.db}

.db

Symbol library

symbol_library

{“your_library.sdb”}

.sdb

DesignWare library

synthetic_library

{}

.sldb

 

 

Specifying Technology Libraries

 

Target Library

Design Compiler target library를 회로를 만들때 사용한다. 매핑할때 DC는 기능적으로 정확한 GATE target library에서 선택한다. 이것으로 타이밍 딜레이 등을 계산한다.

 

use the target_library 변수로 target library를 구체화한다.

 

Link library

linking the design 과정에서 Link library를 쓴다.

 

link_library 변수

이것은 라이브러리 리스트를 명시하고 dc는 이 라이브러리를 linking 과정에서 사용하게 된다.

처음에 라이브러리를 모두 메모리에 올린다.

*의 의미는 dc는 레퍼런스를 메모리에서 찾으라는 뜻이다.

 

local_link_library 특성

 

local_link_library 속성을 쓴 디자인 파일이나 라이브러리를 link_library 맨앞에 붙인다.

 

link_library를 한 곳에서 동작 조건, wire load selection group, wire load mode, net delay calculation을 계산한다.

 

동시에 minimum and maximum timing analysis

 

set link_library “*, maxlib.db” //최대 타이밍 분석 라이브러리

set_min_library maxlib.db –min_version minlib.db//최소 타이밍 분석 라이브러리

 

 

라이브러리 loading

dc_shell > read_file my_lib.db

dc_shell > read_file my_lib.sdb

 

 

Listing Libraries

 

list_libs를 쓰면 현재 사용하고 있는 라이브러리를 볼 수 있다.

 

 

 

 

Reporting Library Contents

 

report_lib로 라이브러리 내용을 리포트 할 수 있다.

1. library units

2. operating conditions

3. wire load models

4. cells(including cell exclusions, preferences, and other attributes)

 

specifying library objects

[file:] library/cell[/pin]

 

file : technology file name, 여러개 라이브러리 쓰면 반드시 써줘야됨

 

library

 

라이브러리 이름

 

cell

라이브버리 셀 이름

 

Example 1)

dc_shell> set_dont_use my_lib/AND4

 

my_lib에서 AND4셀을 쓰지 말라는 뜻

 

Example 2)

dc_shell> set_disable_timing [get_pins my_lib/AND4/Z]

 

my_lib library안에 AND4 Z핀을 사용하지 말라는 뜻

 

 

Excluding Cells From the Target Library

 

Example 1)

dc_shell> set_dont_use MY_LIB/INV_HD

다음 명령어는 MY_LIB라이브러리에 INV_HD를 쓰지 말라는 뜻

 

Example 2)

dc_shell> remove_attribute MY_LIB/INV_HD dont_use

위에 썼던 dont_use 속성을 다시 사용하라는 뜻.