Layout/그 밖의 툴

[Calibredrv] layerprops file 작성법

호드맨 2017. 1. 6. 16:10

공정이 내려가 layout grid 가 0.005um에서 0.001um로 내려가면서 gds DB의 용량 또한 무시할 수 없게 커졌다. 이런 DB를 virtuoso로 여닫다 보니 상당히 버거워할 때가 있는데, cadence에서도 fast viewer를 제공하지만, 현재는 calibredrv를 주로 사용하고 있다. 쓰다 보니 간단한 DB 확인이나, 수정에는 virtuoso 보다 효율적으로 활용할 수 있었다. 다만 아직 널리 쓰이는 layout editor가 아니다 보니 PDK 등에 설정이 제대로 돼있지 않다. (아니면 내가 못 찾거나)

PDK 안에 virtuoso 용으로 기본적으로 제공되는 layermap, display.drf 등이 없어서 직접 작성해 주어야 했다. (시간 나면 virtuoso 용 layermap, display.drf를 가지고 layerprops 파일을 만들 수 있는 flow를 짜 볼까 생각 중) 어쨌든 display.drf 와 layermap의 역할을 calibredrv에서는 layerprops 파일 하나로 하고 있으며 layer connection 정보까지 담을 수 있다.

 

Layer 설정
   <LayerNum>.<DataType> <Color> <Pattern> <LayerName> <Visible> <LineWidth>

Connection 정보
   connect <Layer> <Layer> by <Via Layer>


# 예를 들어 LayerNum 1 에 metal1이 있고, LayerNum 2 에 metal2, LayerNum 11에 Via1 이 있어
# Via1 에 의해 metal1, 2 가 연결되어 있다면 다음과 같이 값을 줄 수 있다. dataType은 0 이라 하자.
# (0은 따로 안넣어도 되는 것 같다.)

1 pink speckle m1 1 1
2 yellow speckle m2 1 1
11 green speckle via1 1 1
connect 1 2 by 11

위와 같이 layerprops 파일을 작성하여 저장한 뒤 calibredrv -l <layerprops file> [gds file]로 실행시키면 해당 layer 정보를 불러올 수 있다. 물론 이미 떠 있는 환경에서 load도 가능하다. 이런 식으로 연결 정보까지 입력이 되었으면 아래 영상처럼 필요한 net을 trace 해 볼 수 있다.

hierarchy를 쫓아가지 못할 경우 Options - Nets - Search depth를 Top only -> All levels로 바꿔주자.

 

링크 주소 : https://www.youtube.com/watch?v=13_hZ2x19_A

calibredrv guide 영상