Python gdspy で大きな円を描く

gdspyでgdsデータの作成について書きましたが、gdspy.Round()関数で大きな円を描くと非常に時間がかかります。そこで,numpyとgdspy.Polygon()関数を使って大きな多角形を描こうと思います。今回は円に近い90角形を描いてみること試みます。ほぼ円に近くなります。

コードです。

作図例

ルノアール
GDSiiデータでは点を指示するので、円形にするには、多角形で近似します。

written by gatamix

Python でGDSII データを作成する ウェハー上の配置を計算する

Gatamixです。
GDSII データの作成としてGDSPYを使用してきましたが、ウェハー上の配置の計算をしてみました。
素子パターン(Aパターン)とそれ以外のパターン(Bパターン)を配置するようにしました。

Aパターンが領域内に入っていれば、有効と判断して描画するようにしています。
ウェハーの中心に対して線対称(y軸で対称)になるように配置をすれば、計算で出せます。
色々な方法がありますが、
Aパターンの4点が領域ないのウェハー半径長さより小さければ有効にすれば判定できます。
ちなみにこの描画は違う方法で判定させました。上の方法は計算が多くなるので、PCの能力が必要な場合があります。

written by gatamix

Python でGDSII データを作成する テストスクリプトを動かす

Gatamixです。
前回に続き、gdspyについてです。

リンク先のスクリプトを動かして動作を確認しました。

 gdspy.readthedocs.io 
Maze Found | Read the Docs
http://gdspy.readthedocs.io/en/latest/tutorial.html

  確認結果
モジュールにあるviewerの表示です。

  他のソフトでの表示
LayoutEditorでの表示です。

しっかりとサブセルを使用してgdsファイルが作成されていました。
gdsファイルは論理演算や階層構造などができるため、複雑な構造も簡単に作成できます。
ということでgdsファイルをpythonでプログラミングで作成できるか試してみました。
なんかツールが作れるか考えてみようと思います。

追記 python のモジュールでは、gdsCADもあります。


それぞれのモジュールでは、長所短所があるような記述でした。

written by gatamix

Python でGDSII データを作成する gdspyをインストールする

Gatamixです。
GDSIIのデータをプログラムから記述できるようなので、試してみようと思います。
GDSは半導体などのCADで使用されているレイアウト用のフォーマットです。
詳しくはwiki やリンクを参照してください。



通常はCADソフト(IC関係ではケイデンス社などが有名です。)を使用して作るのですが、pythonでgdspyというモジュールがあったのでとりあえずインストールしてみます。(今回はインストールだけで確認は後日)
インストールは下記リンクによるとMac OSだとpipからのようです。

  インストール
$source activate root
$ pip install gdspy

ipython で確認する。

$ ipython

In [1]: import gdspy

In [2]: gdspy??

"""
gdspy is a Python module that allows the creation of GDSII stream files.

Many features of the GDSII format are implemented, such as cell
references and arrays, but the support for fonts is quite limited.  Text
is only available through polygonal objects.

If the Python Imaging Library is installed, it can be used to output the
geometry created to an image file.
"""

Python Imaging Libraryがあるとイメージファイルを作れるとの記述がある。
確認したところ、Python 3.6.1 |Anaconda 4.4.0 (x86_64)ではPython Imaging Libraryが入っているようです。(Tutorialを確認したが、特に使い方がわからなかった。)
現在はPILで出力する機能は削除されたもよう。

TutorialのExamples

 gdspy.readthedocs.io 
Maze Found | Read the Docs
http://gdspy.readthedocs.io/en/latest/tutorial.html

HAI
pythonでもgdsiiのファイルを作れるんだね。
KURO
CADソフトにお金がだせないところは使ってみてもいいかも?
MIKE
どのくらい実用的かな?
NIKE
gdsiiは半導体以外にも使われているみたいだし、いろいろつかえると思うよ。ただ、近接効果がある場合は補正がむずかしいかも。
KIJI
適切に判断しないといけないね。ということで以上インストールまででした。

written by gatamix