* Inkscapeでレイアウト設計 [#s68158f5]

#pcomment

Inkscapeは、Adobe Illustratorに似たお絵かきツール(フリーウエア!)です。https://inkscape.org/ja/ などからダウンロードできます。Macでも使えますよ。

で、Inkscapeは、本来はお絵かきツールなわけですが、[[WGexの使い方]]を見ていただくとわかるように、LSI設計(レイアウト設計)は、基本的には、四角形を描くだけです。

というわけで、Inkscapeでレイアウト設計をしてみたいと思います。
(実例→ http://www.nicovideo.jp/watch/sm24280073 or https://www.youtube.com/watch?v=NN1wNf66vXw)

※ここにおいてあるファイルは、GitHubにも置いてあります→https://github.com/akita11/mklsi/tree/master/Inkscape

* 準備 [#eea2377b]

Inkscapeをインストールしておきます。
Inkscape形式のデータからWGexで読めるデータ形式に変換するスクリプトをつくりましたが、これを使うためには、awkというツールが必要です。Windowsな方はCygwinあたりか、[[このあたり>https://www.google.co.jp/search?q=awk&oq=awk&aqs=chrome..69i57j69i65j0l4.919j0j7&sourceid=chrome&es_sm=122&ie=UTF-8#q=awk+windows+%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&revid=373283063]]を参考に、Macの方はMacPortあたりをお使いください(もしかしてMacはすでに入っているのかな?)

* 絵を描いてみよう [#tc9b56e9]

こちらのテンプレートをダウンロードしておいてください。

#ref(sample.svg)

こいつをリネームして、この中のML2というところの色(青)だけ残して、ほかは削除しましょう。

#ref(./fig1.png,20%)

あわせて、Inkscapeのグリッド設定を「6mm」にしておきます。

#ref(./grid.png,20%)

これは、今回LSIをつくる製造プロセスでは、ML2(上の層のアルミ)の最小寸法・最小間隔が6umなので、そのサイズの正方形を単位として絵を描くためです。

で、さきほどの正方形を、グリッドに合わせて6mm四方のサイズに変形しておきます。

続いて、描きたい絵を読み込んでおきます。ここでは、「ほげ」という文字を書いてみましょう。中抜きにしておくと見やすいと思います。

#ref(./fig2.png,20%)

あとは地道に、ドット(6mm角の青の正方形)を置いていきます。

#ref(./fig3.png,20%)

まずは「ほ」ができました。

で、こいつをfig.svgとして保存したら、こちらのスクリプトを使ってWGexのレイアウトデータに変換します。

#ref(svg2gex.awk)

使い方はこんな感じ。

 awk -f svg2gex.awk fig.svg > fig.gex

これでできたfig.gexをWGexで開くと、たしかにML2層で描いた絵になっています。

#ref(./fig4.png,20%)

もちろんDRCもばっちりです。

* ビットマップ画像から自動的に変換する [#ge0eef3f]

いちいちドットを置くなんてめんどいよ・・・という方は、ビットマップ画像をInkscape形式に変換するプログラムを使うと便利です。

#ref(pgm2svg.c)

詳しい使い方はおいおい書きますが、白黒二値画像をPGM形式で用意してこいつに吸わせれば、Inkscape形式のデータが出力されます。つまりWGexでも使える、ということですね。
というわけで、LSI上に、あんな絵とかこんな絵とかを描けそうですね!

あるいはビットマップ画像から直接WGexデータへ変換する手順も便利ですね→[[WGexの使い方/ビットマップ画像でお絵かき]] (2015/1/18:akita)

* WGex形式からInkscape SVG形式への変換 [#te202a0e]

(2015/8/13:akita)データ形式を変換するawkスクリプト(gex2svg.awk)を書いてみました。
https://github.com/akita11/mklsi/tree/master/Inkscape


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS