반응형


DEF 파일 (Design Exchange Format)

.def file은 Design Exchange Format으로 IC를 Design 할 떄, Layout 정보를 포함합니다. 주요 정보는 Physical Layout 정보(회로 배치, 경로 및 구조), Interconnection(Device 간 전기적 배선 연결), 공정 제약 및 Tech 정보입니다. DEF 파일은 후속단계에서 GDSII 파일로 변환되어 Layout 정보를 포함하고 있는 Design의 Final Data로 사용됩니다. DEF File은 아래와 같이 6개의 구성이 있으며, 각 요소에서 포함하고 있는 정보는 다음과 같습니다.

1. HEADER : 파일의 시작, Version과 같은 메타 정보 포함
2. DATABASE : ASIC 또는 FPGA의 Layout을 정의하는 Data가 포함됨 (Cell의 위치, Size 및 종류)
3. PINS : Chip 내 전반적인 Pin Information이 포함 (Pin name, Pin 위치)
4. TRACKS : 내부 배선 경로 정의
5. STIES : 반도체 설계 시 사용되는 특정 설치 장소 정보
6. END : 파일 종료.

이렇게 보니, 와닿지 않으시죠?. 좀 더 세부적으로 쓰임에 대해서 다루어보겠습니다.

  • DEF File (.def) : Design Exchange Format 
  • DEF 파일은 IC의 Physical Layout 정보를 ASCII Format으로 표현한 Data입니다. DEF 파일은 LEF (Library Exchange Format) 파일과 아주 밀접한 관련이 있죠. (LEF 파일은 이전 게시글 참고!) 따라서, DEF 와 LEF 파일이 있어야만, Physical Design을 정상적으로 구현할 수 있습니다

  • DEF File은 Cadence Design System에서 개발되었으며, 일반적으로 P&R (Place & Route) Tool에 의해서 생성됩니다. 이후 Extraction Tool이나, 전력 분석 Tool과 같은 분석하고자 하는 후속 분석 Tool에 입력 Data로 사용되죠. DEF 파일은 IC에 대한 Design 특화정보가 포함되어 있어, Physical Design의 모든 위치정보를 나타냅니다. 그렇기 때문에 P&R 과정에서 매우 중요한 Data 파일인 것이죠.

  • DEF File은 P&R Tool 간에 Logic 설계 Data와 Physical Design Data를 전달하는 역할을 합니다. Logic 설계 Data는 내부 연결에 대한 정보, Netlist라고 하죠. 그리고 Group 정보 및 물리적 제약 조건들이 포함됩니다. Physical Data는 보통 여러 Components의 배치, 위치, 방향, Routing 등에 대한 정보가 포함되죠.
  • DEF File은 아래와 같이 명령문과 Section을 포함하고있습니다. (순서도 중요함) 

DEF File 내 Section
DEF File 예시

  • [VERSION statement] :
    -. It could be 5.3 to 5.8, Default Version = 5.6
  • [DIVIDERCHAR statement] :
    -. DEF name은 다른 Deatabase와 Mapping 될 때, 계층 구조를 표현하는 데 사용되는 문자 지정함.
    -. Default 값 = "/"
  • [BUSBITCHARS statement]
    -. Specifies a pair of characters used to specify bus bits.
    -. Default 값 = "[ ]"
  • [DESIGN statement]
    -. Design name 정의
  • [DIEAREA statement]
    -. DIEAREA (llx lly) (urx ury) ; #reactangular
    -. DIEAREA (x1 y1) (x2 y2) (x3 y3) (x4 y4) (x5 y5) ; #polygon
  • [UNITS statement]
    -. UNITS DISTANCE MICRONS conversion_factor;

  • [ROW Statement]
    -. rowName : Specifies the row name for this row.
    -. siteName : Specify the LEF site to use for the row.
    -. origX origY : Specify the location of first site in the row.
    -. siteOrientation : Specifies the orientation of all sites in the row.
    -. Do numX BY numY : Specifies the repeating set of sites that create the row. One of value must be 1. 
    If numY is 1, then row will be horizontal.
    -. STEP stepX stepY : Specifes the spacing between sites in Horizontal and Vertical row.

  • {X | Y} start
    -. Specifies the direction and location of first track defined.
    -. X indicates vertical lines and Y indicates horizontal line
    -. Strat is the X or Y coordinate of first line.
  • Do numtracks
    -. Specifies the number of trackes to create for the grid. 
  • STEP space 
    -. Specifies the spacing between the tracks.
  • Layer layerName
    -. Specifies the routing layer used for this track.
    -. We can specify more than one layer. 

Track Image

[GCell Grid]

  • {X | Y} start : 
    Specifies the location of first vertical (x) and first horizontal (y) track.
  • Do numColumns+1 :
  • Do numRows+1 :
    Specifies the number of columns or rows in the grid.
  • STEP space :
    Specifies the spacing between the tracks. 

[VIA Statement]

  • All VIAs consist of shapes on three layers
    -. A Cut Layer
    -. Two routing (or masterslice) layers that connect through that cut layer

[Nondefault Rule Statement (NDR)]

  • NDR Section은 LEF 파일에 명시되지 않은 Design에 사용되는 non-default rules을 정의합니다. 이 Section에는 Default Rule 및 LEF Non-default rule이 포함됩니다. 

[Component Section]

  • Design 구성요소, 위치 및 관련 속성들 정의하는 DEF File의 Main Section 입니다. 

[Pin Section]

  • 외부 Pin을 Define함.
  • 각 Pin의 정의는 외부 Pin에 대한 Pin 이름을 할당하고, 해당 Pin 이름이 대응하는 내부 Net 상 Pin 이름과 연결합니다. Pin 이름과 Net 이름은 동일할 수도 있죠.

[Blockage Section]

  •  설계에서 Place & Routing의 차단 (Blockage)를 정의합니다. 
    PUSH DOWN : Specifies that the blockage was pushed down into the block from the top level of the design. 

[Blockage Section]

[Special net Section]

[Net Section]


DEF File은 다양한 Tool 간에 Design Data를 Transfer 하는데 사용됩니다. P&R Tool에서 Design의 어떤 단계에 있던 DEF 파일로 회로를 출력할 수 있죠. DEF 파일은 LEF 파일과 함께 설계에 대한 완전한 정보를 제공하는 Data 파일이라는 점!

DEF File 생성 예시.
반응형
그리드형(광고전용)
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기