(2015/1/18:akita) #pcomment WGexで設計するレイアウト図は、長方形のあつまりで、その通りの図形としてLSI上につくられます。 ということは、レイアウト図が「絵」なら、そのまま「LSI上の絵」になる、ということですよね。 というわけで、一番上の層でつくるので見やすいML2レイヤをつかって絵を描いてみましょう。 もちろんドット絵職人として、正方形のドットで絵をかいてもいいわけですが、ビットマップ画像から一気に作成してみましょう。 ただしLSI上のパターンは、材料(この場合はアルミ)があるか/ないか、の二値ですので、ビットマップ画像も二値画像のみ、ということになります。中間調は残念ながら出せません(誤差拡散などで擬似的に中間調は出せますね) まず、変換プログラムを準備しておきましょう。いまはC言語のプログラムしか用意していませんので、なんとかしてコンパイルしてください。(WindowsならCygwin、MacならXCodeを入れればgccが使えます)(誰かperlとかRubyとかのスクリプトをつくってくれるとうれしいなあ) #ref(pgm2gex.c) 続いて、レイアウト図に変換するビットマップ画像を用意します。もちろん著作権的に問題がないやつにしてください。 今回は、「いいね!」ボタンをつくってみましょう。自分の手です。 #ref(./like1.png,20%) ML2レイヤを使う場合は、1ドット=LSI上の6um角の正方形、になります。つまり100x100ドットだと、600um x 600um(0.6mm x 0.6mm)ということになります。今回の試作ではチップ面積は実質2x2mmくらいですから、これだけでチップ全体の1/3 x 1/3くらいを占めてしまうことになります。いろんな人で相乗りしますので、そこそこにしておきましょう・・・ (ちなみに下層なので、実際にLSIチップではちょっと見にくくなりますが、POLレイヤを使うと2x2umと、更に小さいドットで絵を描くことができます) ここでは、控えめ(?)に、50x50ドット程度に縮小しておきます。 #ref(./like2.png) これを、いろいろな方法を使って二値化して、PGM形式で保存しましょう。加工は、Photoshopや[[IrfanView>>http://www8.plala.or.jp/kusutaku/iview/]]あたりが便利ですね。 #ref(./like_bin.png) #ref(./like.pgm) こいつを、さきほどコンパイルしたpgm2gexを使って、WGexデータに変換します。 ./pgm2gex like.pgm > like.gex こんな感じになります。もちろんDRCエラーもばっちりです。 #ref(./like.png,20%) #ref(./like.gex)