ども。たです。
昨日、いいかげん Sim. を流す前の準備をいちいち手で
行うのが面倒になったので、仕事中時間を見つけて、
せっせとスクリプト作り。
一応たたき台はあったので、それを自分好みに編集した感じ。
作業としては、フォルダを掘って、そこに入り、さらにフォルダを掘り、
そこに移動して、ネットリストをコピーして来て、それを開き、
電源電圧や温度、Tr のコーナなどを編集し、Sim. を流して、
そのフォルダを抜ける。
その作業を延々と全条件繰り返す。
毎回毎回同じ作業をするのが面倒だというのもあったが、
何より、単純作業を繰り返すことによるヒューマンエラー
の回避が目的だったりもする。
で、半日ほど掛けてスクリプトを作る。もともとあったたたき台的
ファイルは、条件が決め打ちだったので、電源電圧や温度範囲
が変わっても、簡単な編集で済むようにと、全てをパラメータで
宣言し、ものによっては、実行時に指定できるよう @ARGV[*]
や、$* で宣言。
そして、作り終えたところで、テスト。
コマンド "ポン" でウン十条件が自動的に流れて行く様は圧巻。
「スクリプトすげぇ (°O° ;)」
今まで 20 分から 30 分かけてやっていたような作業が、
それこそ 10 秒程度で処理されていく。
しかも、機械の行う作業だから、何らかのエラーで落ちることは
あっても、間違えた条件のまま、それっぽく流れきることもない。
これは良い!こんな便利なものを何で今の今まで知らなかったんだ orz
ただここで問題が発生。テストはスケマのみのネットリストだったから
良かったものの、BA のファイルになると、データ量が多すぎて、
C シェルスクリプトの "sed" コマンドでは、全データを抜きだせず、
今から最も活躍するであろう BA では、このスクリプトは使えないことが判明。
意味ねぇーぢゃん !!!
どうやら、"sed" では、8192 文字までしか抜き出せないらしい。
それじゃ、文字情報のみで 40MB 近い BA のネットリストは
抜き出せるわきゃない。。。
よって、ネットリストの置換は、perl で行うことに決定。
その perl ファイルを本日起こし、それをシェルスクリプトに
食わせ、Sim. の自動実行を遂行可能に。
これで良し。。。なんて思ったのも束の間。
40MB のファイルともなると、自動実行のコピーでは、
2 本に 1 本の割合で、ミスることが発覚。
「結局半分は、手でやるのかよー。」とか軽く辟易していたら、
「リモートディスクに書きに行くから、ミスるんじゃない?」
との神からのご助言w
「ってことは。。。」ということで、local ディスクに勝手にフォルダを
掘って、そこに保存するようにしたところ、一度もしくることなく
スクリプト実行完了!
これで、全体に関しては、コマンド "ポン" で自動実行が可能
になったわけだが、結果まとめはまだまだマニュアル操作なので、
次は、それだな。
ってことで、昨日、今日で、効率という新しい武器を手に入れた
って話でしたw
そんなこんなで。
では。
0 件のコメント:
コメントを投稿