* GDSII <-> DXF 양방향 변환 프로그램 *

GDSII -> DXF 파일 변환 시 Arcs(원호/곡선)의 확인 및 변환

 

GDSII 파일 데이터에는 아크(arch)라는 엔티티가 존재하지 않습니다. 대개의 IC 관련 부문에서는 그리 중요한 사항이 아니지만 IC 패키지나 RF/microwave 회로와 같은 영역에서는 심각한 문제가 될 수 있어서 아크란 개념이 없기 때문에 자연스러운 곡선을 정의할 때 어쩔 수 없이 많은 숫자의 세그먼트(segment)로 대신하게 됩니다. 그 예로서 AutoCAD의 DXF 파일 형식에서는 circle/arcs를 지원하고 있지만 문제는 대부분의 데이터 변환 프로그램에서는 GDSII에서 DXF로 변환 할 때 다시 아크를 복원시킬 수 방법을 제공해주지 못합니다.

 

GDSII에서 DXF로 변환 할 때 변환 프로그램이 "arc"를 식별하여 DXF 데이터에도 art로 변환해 줄 수 있다면 가장 유용한 결과가 됩니다. 결과적으로 DXF에서의 레이아웃 자체가 아주 매끄럽고 설계 데이터 될 뿐 아니라 파일 크기가 크게 줄어 들게 됩니다.


Circularize 옵션
ASM 3500 (2013 년 9 월 기준)은 이제 GDSII에서 DXF로 변환 할 때 Circularize라는 옵션 기능이 포함되어 공급됩니다. 사용자는 이 옵션 사용 시 항상 chord error 파라미터의 값을 0이 아닌 값을 함께 설정해 주어야 합니다.


동작 원리
Circularize 옵션을 선택하게 되면 바운드리(bounary) 상에 연속된 3 개의 점을 선택하고 그 중심과 반지름을 찾습니다. 그런 다음 현재 바운드리에서 연속적인 점을 반복적으로 추가하여 하나의 중심과 반지름이 설정된 chord error 값 공차 내에서 동일한 점과 모서리 세트로 귀속되는지 확인합니다. 기준을 충족하지 못하는 각 측면의 포인트가 발견 될 때까지 컬렉션에 포인트를 계속 추가합니다. 이러한 좌표는 아크의 양쪽 끝단 점을 정의해 줍니다.


이 옵션은 사용자가 너비를 갖는 경로를 유지하도록 선택했는지 (lwidening) 또는 너비를 갖는 경로를 윤곽선(outlines)으로 변환되도록 선택했는지에 관계없이 원활하게 동작합니다.


아크가 완전한 360 ° 바운드리를 형성하게 되면 이때는 자동으로 폴리라인 대신 써클로 변환됩니다.

 

 

예제 한가지와 두가지 결과물을 아래의 링크에서 다운로드 가능합니다.

많은 아크가 포함된 GDSII 샘플파일(MMIC)

​표준 DXF

Circularized DXF Output

(Chord error = 0.35 um)

366 KB

1012 KB

319 KB

Configuration 창의 설정

 

윈도 환경에서 Gds2dxf 를 실행여 설정 메뉴에서  아래의 이미지 상의 설정 예와 같이 Circularize 옵션을 제어할 수 있습니다. Chord Error 값은 GDSII의 단위 값입니다.

Linux / Solaris 설정

Linux/Solaris 환경에서 Gds2dxf를 실행하는 경우에는 configuraton파일인 GDS.CFG에서 Circularize 옵션을 제어해야 합니다. 별도의 GUI 형식을 제공하지 않습니다. 

 

CIRCULARIZE

YES

 

CHORD_ERROR

0.1

Scale Multiplier 및 Grid 설정 (단위가 서로 다를 경우)

 

DXF 파일의 단위는 인치(INCH)인데 변환할 GDSII

파일은 UM인 경우 아주 큰 값의 Grid 값(1,000,000)이 필요하며 Scale Multiplier는 25,400이 되어야 합니다. 그렇지 않다면 변환 결과가 정확하지 않을 수 있습니다.

 

DXF 파일의 단위는 MM이고 GDSII의 단위는 UM이라면 Grid의 값은 100,000, Scale Multiplier의 값은 1,000으로 설정 합니다.

Line과 Arc들을 연결하여 Closed 바운드리 생성하기

GDSII의 기본적인 지오메트리 단위는 바운드리(boundary) 입니다. 바운드리 구조는 최소 3면, 대략 최대 8196면으로 이루어진 닫혀진 형태의 폴리곤입니다. 최대 값은 기록이 가능한 한계 값에 따르며 원본 GDSII의 규격은 단지 바운드리 당 200개의 vertice만을 허용합니다.  이 한계 값은 최근의 레이아웃 설계 툴에서는 오래동안

고려되지 않아 왔습니다. 

AutoCAD 설계자와 그 외 기구 캐드 설계자들은 자유롭게 라인과 아크를 그리고 있습니다. 이것들은 독립적인

지오메트리로서 양쪽 끝단이 서로 만나고 있는 것 처럼 보이더라도 실상 안 쪽 또는 바깥쪽으로라도 닫혀진

영역이 되도록 서로 "그룹"화가 되어야 하지만 그렇지가 않습니다. 그러므로 주어진 레이어 상의 모든 라인과

아크를 모아 서로의 끝단을 연결해 주어 GDSII에서 바운드리로 결과를 만들어 주는 기능은 아주 유용하다고

할 수 있습니다. 

 

반호(Radius) 연결하기

많은 설계자들은 "스냅(snapping)" 기능과 같은 방법을 사용하여 라인과 아크의 끝단이 서로 맞닿아 있는지 확인하지 않습니다. 종종 양쪽 끝단 사이에 아주 작은 갭(경우에 따라서는 거의 보이지 않을 정도의 갭)이 존재하는 

경우가 있습니다. 그래서 링커(linker)에 반호검색(a search radius) 설정을 선택해 주면 연결이 불완전한 라인과 호의 끝단을 연결시켜 줍니다.

에러 리포트 (Error Reporting)

연결 알고리즘은 말 그대로 기능으로 동작합니다.  많은 캐드 파일들은 제대로 설계가 이루어지지 않아 사용자의 의도를 이해하기 어려우며 모든 라인과 아크로 부터 바운드리 형성이 불가능하게 됩니다. 이런 경우 GDSII 결과물은 2개의 레이어로 분리가 되는데 - 한개 레이어에는 모든 가능한 경우의 바운드리가 포함되며 다른 하나는 그 외 바운드리 형성이 불가능한 남겨진 라인들과 아크들이 모두 포함이 됩니다. 

이른바 Examining the so called "error layer"의 확인을 통해 설계자에게 라인 아래 라인 또는 분실된 라인과 같은 문제들이 성공적인 바운드리 변환을 어떤 위치에서 방해하고 있는지 확인할 수 있는 좋은 단서를 제공합니다. 이러한 문제들은 스크린 상에서 육안으로 확인이 불가합니다.

Video

Linking 기능이 어떻게 적용되는지 보여주는 비디오 입니다. 라인과 아크로 이루어진 리드프레임을 닫혀진 바운드리로 변환된 GDSII 파일을 생성합니다.

Movie_asm3500_linking_lines_arcs.JPG

De-embedding 옵션

 

Polygon De-Embedding is the ability to take a layer full of polygons that contain other polygons, figure out which surrounds which, and produce a Gerber output that sorts out the changes in polarity due to each boundary. You can think of this as follows: If a polygon is not surrounded by any other it is set to the 0 level. If a polygon is fully surrounded by only one other polygon (it's parent) it is assigned a level of 1. If it's parent is surrounded then it is assigned a level of 2 and so on.

© 2023 BY T-Wave PROUDLY CREATED WITH Wix.com​

연락처: 010-4258-3083 / jayoon@t-wave.co.kr