ETRI 0.5um CMOS Std-Cell DK 예제: ALU8 [7]
----------------------------------------------
VII. 표준 셀 병합(Migration)
공정에서 제공하는 표준 셀의 내부 모습은 노출되지 않는다. 자동 배치와 배선을 위해 외형만 제공된다. 공정마다 디자인 킷의 저작권 이기도 하지만 사실 설계자로서 입출력의 물리적 특성을 알면 되지 굳이 속 모습까지 알아야할 필요도 없다. 물론 높은 호기심을 가졌거나 편집과 복제를 하고싶은 경우는 다를 것이다.
마이그레이션은 자동 배치와 배선을 마친 DEF를 가지고 레이아웃(평면 세부 도면)을 생성하는 과정이다. QFlow의 표준 셀 병합 명령은 아래와 같다.
|Magic: Migration <-------- [Std-Cell Layout(Mag/GDS)]
배선을 마친 DEF 는 셀의 배치와 배선의 무수한 좌표들이 기록되어있을 뿐이다. 공정에서 마스크를 제작하려면 실제 평면위에 그려진 도면이 있어야 한다. QFlow는 도면을 그리고 편집하는 레이아웃 도구로 Magic 을 사용한다.
VII-1. Magic: 레이아웃 변환도구
셀 병합을 위해 사용되는 도구는 Magic 이다. Magic[link]은 80년대 초부터 컴퓨터 그래픽 기능을 이용하여 반도체 설계를 시작하던 시절부터 개발되고 공개된 레이아웃 편집 및 공정 변환 소프트웨어다. 2023년 말 현재(최신 안정화 버젼은 8.3)까지 꾸준히 발전하고 있다. 편집 뿐만 아니라 기술파일(Tech. File)을 수정하여 여러 반도체 공정에 맞는 레이아웃 파일 형식으로 변환 할 수 있다.
위의 QFlow 명령은 자동 배선을 마친 DEF를 입력하여 Magic의 레이아웃 파일로 변환한다. 로그 파일을 보면 아래와 같은 작업을 수행한다. 레이아웃 편집 없이 공정에서 제공된 셀을 채워 넣고 배선된 메탈을 그려 넣는다. 굳이 그래픽 화면을 띄울 필요 없이 Magic을 명령 줄로 실행 한다.
Starting magic under Tcl interpreter
Using the terminal as the console.
Using NULL graphics device.
Processing system .magicrc file
Input style lambda=0.30(p): scaleFactor=30, multiplier=1
Contact size value ignored (using GDS generation rules).
Reading LEF data from file .../etri050_stdcells.lef.
Reading DEF data from file ALU_wrapper.def.
VII-2. 레이아웃 생성 티클 스크립트
QFlow가 레이아웃을 생성하면서 Magic을 실행 시킬 때 티클 Tcl 스크립트를 사용한다. 상용 도구들도 대부분 티클의 명령줄 처리(Command-line interpreter)를 활용하여 사용자 인터페이스를 구축한다. 티클은 문법이 단순하며 이식이 쉬워서 여러 도구들의 명령줄 사용자 인터페이스에 접목되어 사용되었고 프로시져(함수)등 컴퓨팅 언어로서 손색없는 강력한 기능을 제공한다[link].
레이아웃 편집 없이 공정에서 제공된 셀을 채워 넣고 배선된 메탈을 그려 넣는다. 굳이 그래픽 화면을 띄울 필요 없이 Magic을 명령 줄로 실행 한다.
레이아웃 생성을 위한 티클 스크립트는 아래와 같다. 대부분 Magic의 명령들만 보인다. 티클의 명령줄 처리를 이식해서 사용하고 있어서 스크립트를 읽어보면 티클의 문법적 특성이 잘 드러나지 않는다.
snap int
lef read /usr/local/share/qflow/tech/etri050/etri050_stdcells.lef
def read ALU_wrapper
load ALU_wrapper
select top cell
<......>
writeall force ALU_wrapper
lef write ALU_wrapper
expand
extract all
<......>
quit
스크립트의 내용은 단순하다. LEF와 DEF를 읽어들여 Magic의 레이아웃 형식의 파일로 저장한다. 끝으로 레이아웃 도면에서 LVS를 위해 SPICE 네트리스트를 추출한다.
----------------------------------------------
댓글 없음:
댓글 쓰기