- 追加された行はこの色です。
- 削除された行はこの色です。
(2015/1/18:akita)
(2016/7/9:akita追記)
#pcomment(reply)
※※ここにおいてあるファイルは、GitHubにも置いてあります→https://github.com/akita11/mklsi/tree/master/Bitmap
WGexで設計するレイアウト図は、長方形のあつまりで、その通りの図形としてLSI上につくられます。
ということは、レイアウト図が「絵」なら、そのまま「LSI上の絵」になる、ということですよね。
というわけで、一番上の層でつくるので見やすいML2レイヤをつかって絵を描いてみましょう。もちろんドット絵職人
というわけで、一番上の層でつくるので見やすいML2レイヤをつかって絵を描いてみましょう。
もちろんドット絵職人として、正方形のドットで絵をかいてもいいわけですが、ビットマップ画像から一気に作成してみましょう。
ただしLSI上のパターンは、材料(この場合はアルミ)があるか/ないか、の二値ですので、ビットマップ画像も二値画像のみ、ということになります。中間調は残念ながら出せません(誤差拡散などで擬似的に中間調は出せますね)
まず、変換プログラムを準備しておきましょう。いまはC言語のプログラムしか用意していませんので、なんとかしてコンパイルしてください。(WindowsならCygwin、MacならXCodeを入れればgccが使えます)(誰かperlとかRubyとかのスクリプトをつくってくれるとうれしいなあ)
(2016/79:akita追記)pgm2gex.cをバージョンアップしました。対角にドットが存在する箇所でDRCエラーが出るので、そこを1ドット埋めるようにしました。
#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)