* 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