プリント基板パターン設計の虫 2号店

DREAM-CAD 現在はgenmaiという名前の
CADの紹介 基板設計者の現場の声などを書いています

ソフト手直し

2006-06-19 15:08:25 | Weblog

あくまで自作ソフトの話

今ネットリストの並び替えに自作ソフト netsort5.comを
使っている
経過を書き出すと

1: NET.LSTを並び替えする";
2: DREAMにおいて変更前後のNET.LSTを比較する時に";
COMPARE1.COMを使用する";
COMPARE1.COMにて高速に処理するために";
NET.LSTをソートする時に使う";
3: 同名ネット内に於てABC順に並び替えをする";
4: 同じネット名称が複数箇所にある場合";
集約する";
5: 人の感覚に沿った並び変えを実現";
6: 部品番号が8文字英字のみにも対応した 20000420";
7: 電源ネットを示す '_'が先頭に付くネット名を ";
ネットリストの最初に持ってくる";
8: ネット名に含まれる '- に対応する";
9; ピン数カウント";
11 部品番号7文字制限を8文字へ変更";

10はちょっと省くけど 今日は11の変更
正確に言うと 英字7文字+数字1文字の場合に数字が
読み取れないよいうバグ
95%の組み合わせはだいたい1発で動作できるのだが
込み入った条件の時 それように分岐処理して
ソフトを組まないといけない
perlでうまく作れば 1行で出来るかも知れないけど
とりあえず元がawk言語なので awkのまま手直しした

このソフトの場合 部品番号は英字+数字という前提で処理しているが
英字+数字+英字 という部品番号が今回の仕事に存在した
そこでも引っかかった
単純な並び替えなら問題にしないけど
人が見ても矛盾しないような並び替えをするため 英字と数字を
一旦離している その際 末尾の英字を消してしまっていた
例えば
IC1、IC11、IC2 と並ぶより
IC1、IC2,IC11 と並んだほうが自然でしょ?
それを実現している訳 
ピン番号も同様 -1の次は-2が来ますよ

こんな事は今更陳腐な事だけど 元に戻す事は出来ないので
前進しなきゃと思い 一瞬だけど 頭がくわーーーーと来て
アドレナリンが爆発寸前(大袈裟かな)まで考えて
30分で20行分書き換えた 考えるのに2時間

並び替え前後のネットリストで 比較させてみた
都合の良い事に アルゴリズムの違う比較ソフトがあるので
両方で比較させて問題なし

しかしソフトを作るのは大変だ


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする