(2015/1/18:akita)
(2016/7/9:akita追記)

#pcomment(reply)

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

WGexで設計するレイアウト図は、長方形のあつまりで、その通りの図形としてLSI上につくられます。
ということは、レイアウト図が「絵」なら、そのまま「LSI上の絵」になる、ということですよね。
というわけで、一番上の層でつくるので見やすい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)

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