SIMetrixのnetファイルをHSPICE等で走るspファイルへ!

2006-12-15 | CMOS
現在、オブジェクト指向プログラミングを初歩から学習中ですが、実際に応用がいきなり難しそう・・・でも、いい加減下記のようなプログラムを書いていると、もう嫌になりますね、ベタで書くのは・・・限度があります。

netからspへのテキスト変換のコード

これは、次のパワーポイントで示した階層構造のデバッグ用回路のSIMetrixで実行時生成されるTEST_H_CELL.netをTEST_H_CELL.spに変換するプログラムです。
テキスト変換実施例.pptファイル
尚、本回路図はあくまでも変換コードのパフォーマンステスト用に適当に書かれたものであり、実際上の機能や意味は特にありません。

下記のjarファイルのあるフォルダごとダウンロードして実験可能です。

JavaApplication21.jar

TEST_H_CELL.net

これと、"lib"という名のフォルダを作って
swing-layout-1.0.jar
を入れたものをdist_netTosp(他なんでもOK)と言う名前のフォルダを作って入れて階層化ください。実行はそのフォルダの階層で可能です。

テキストウィンドウに.netを省いたファイル名を打ち込んで実行します。
すると、
TEST_H_CELL.sp
が生成されます。

クラスのうまい作り方をお分かりの方からのアドバイス等、大歓迎です。
今度からはもう、クラス分けをしないとやってられないので如何にかする予定ですが・・・ベタで書くことは、一般の入力内容への対応を拒絶しています。

なぜ、こんな長い行のものになってしまったのか?
それは、テキスト変換プログラミングは昨年まではPerlを使って書いていたためと思われますね。Javaに切り替えたのは、無償のプログラム開発環境が進化して、GUIを簡単に書けるようになったし、正規表現はJavaも使えると知ったからです。

有限オートマトンあるいはチューリングマシンで正規表現をつかって計算実行するには、状態数のもっとも小さいものを求めることもできるようですが、それがもっとも効率的かどうか、計算時間が早いかどうか?メモリを無駄に消費しないかどうか?は容易に分かりません。

このプログラムも、SIMetrix等用のパラメータ編集プログラムも、
もっと、状態数を最小にできるのだろうし、
あるいは、メモリは贅沢に使って、データをより高速に計算することもできるだろう・・・・
それをしっかり達成するには、アルゴリズムの勉強と、PCのハードウェアの知識を組み合わせた努力が必要です。

みんな、アルゴリズムを勉強しましょう!!

MITのインターネットレクチャー:アルゴリズム入門

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。