Nazcaで画像をGDSファイルに変換【Python】
Nazcaを使って画像をGDSフォーマット(レイアウトデータ)に変換する方法を紹介します。
はじめに
NazcaはフォトニックIC(光集積回路)設計用のPythonライブラリです。 画像をGDSフォーマットに変換する機能が実装されており、通常の集積回路設計でも利用できます。
Nazcaのインストール
Step1からStep5までの手順がありますが、画像の変換はStep2まで行えば利用できます。
画像の変換
以下の3行で変換できます。
code:Python
import nazca as nd # Nazcaのインポート
nd.image('hoge.jpg', threshold=0.5, size=100, pixelsize=1.0, layer=12).put(0) # 画像の取り込み
nd.export_gds() # GDSファイルを出力
nd.imageの第一引数に変換したい画像を指定します。画像はPythonスクリプトと同じディレクトリに保存しておきます。
png、jpg、gif、bpm、eps等の形式に対応しているようです。
thresholdは画像を2値化する際のしきい値で、0から1までの値を指定します。sizeは出力レイアウトの大きさ(通常はμm単位)です。100~200μm程度が良いと思います。pixelsizeは出力レイアウトのポリゴンの大きさです。デザインルールに依存しますが、OpenRule1umの場合はpixelsize=1.0とします。layerにはレイヤ番号を指定します。OpenRule1umの場合は最上位メタル(ML3)のレイヤ番号である「12」とします。
実行例
元画像
https://gyazo.com/90e14092d9f917de6e28dac5a4a16b04
出力結果
https://gyazo.com/fd90eb44587a37d0e60588e2aa96a74c
既知の問題点
元画像によっては以下のように角と角が繋がったレイアウトが出力されることがあるようです。
このレイアウトはDRCエラーとなるため現時点では手動で修正する必要があります。
https://gyazo.com/f8880688c9af56cf537c2169744c8c8a
History