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 속성을 다시 사용하라는 뜻.
'하드웨어 설계 > Design Compiler User Guide' 카테고리의 다른 글
Chapter 6 Defining the Design Environment (0) | 2012.09.02 |
---|---|
Chapter 7 Defining Design Constraints - Part 2 (0) | 2012.08.31 |
Chapter 7 Defining Design Constraints - Part 1 (0) | 2012.08.31 |
Chapter5 Working With Desings in Memory Part2 (0) | 2012.08.15 |
Chapter5 Working With Designs in Memory Part1. (0) | 2012.08.15 |
Chapter3 Preparing Design Files for Synthesis. (0) | 2012.08.02 |
Chapter2. Design Compiler Basics (0) | 2012.08.02 |