ネットリスト差分ユーティリティ
yfNetDiff v0.20

 yfNetDiffは、ネットリストを比較し、違いを見つけるプログラムです。
 ネットリストとは、電子回路の配線をテキスト(文字)で示したファイル、またはそれを打ち出したリストを言います。
 BSchのネットリストをはじめ、いくつかのネットリストを処理することが出来ます。
 BSchとは、「水魚堂」の回路図エディタ(http://www.suigyodo.com/online/schsoft.htm) です。
 Windowsで開発しましたが、wxWidgetsを使用しておりますので、基本的にプラットホームフリーです。
 Linux、Mac OSでの動作を、「水魚堂」さまの手によって確認して頂きました。

スクリーンショット
(Windows)


(Linux)


(Mac OS)

使い方

 「File 1」、「File 2」へそれぞれ比較したいネットリストを選択してください。
 「Select」ボタンで選択するか、直接ファイル名を打ち込みます。
 「File 1」、「File 2」の付近へ、ファイルをマウスで、ドラッグ&ドロップすることも出来ます。
 コンボボックスで、処理させるネットリストの種類を、それぞれ選んでください。
 「Execute」ボタンを押すと、ふたつのネットリストを比較し、結果を「Difference」へ表示します。
 「File save」ボタンを押すと、「Difference」の内容をファイルにセーブできます。
 ウインドウの大きさは、マウスで自由に変えることが出来ます。
 「OK」ボタンを押すと、設定項目が保存されて終了します。
 「Cancel」ボタンを押すと、設定項目が保存されずに終了します。
 「Convert」ボタンを押すと、違う種類のネットリストに変換することが出来ます。

比較

 含まれる全てのノードが同じ(勿論ノードの数も同じ)配線を「同一」とみなします。
 ひとつでも同じノードが含まれている配線を「似ている」とみなします。
 「配線名」は比較しません。「配線名」が違っても、ノードが同じであれば、同じとみなします。

結果表示

 「同一」の配線、「似ている」配線、「File 1」にしか見つからない配線、「File 2」にしか見つからない配線の順に表示されます。
 同じノードは「(,)<丸カッコ>」で囲まれ て青色で、違うノードは「<,><三角カッコ>」で囲まれて赤色で表示されます。

設定の保存

 設定項目や、ウインドウサイズなどが保存されます。
 Windowsの場合、レジストリ「HKEY_CURRENT_USER\Software\ysfactory\yfNetDiff」に保存されま す。

対応

 Bsch3V+NL3Wが出力するネットリストに対応しています。
 PADS形式に対応しました。
 図研ECF形式に対応しました。

  他形式にも対応しようと思いますが、情報があまりありません。
  書式の仕様や、サンプルを提供頂けると助かります。

苦手

 ●ひとつのネットリスト(ファイル)に、(部分的にでも)重複した配線が現れる場合を苦手とします。
(例)
 N00000;  IC1.1 R1.1 R2.1
 N00001;  IC1.1 R1.1 R3.1

ダウンロード・履歴

Windows用のバイナリーです。
v0.20-1 2005/12/04 yfNetDiff-020-1.lzh パッケージにドキュメントファイルを追加。
プログラムの内容は変わっていません。
v0.20 2005/11/25 yfNetDiff-020.lzh Transfer --> Convert に変更。
その他の内容は変わっていません。
ソースコード公開。
(2005/12/04)ドキュメント追加
v0.18 2005/10/16 yfNetDiff-018.lzh 変換出力を追加。
BSchの解析方式を変更。
出力ファイル名は、設定保存から除外。
v0.16 2005/10/15 yfNetDiff-016.lzh 図研ECF形式に対応。
設定の保存をサポート。
「Execute」ボタンを大きくし、左へ移動しました。
v0.14 2005/10/09 yfNetDiff-014.lzh 似ている配線を判断。違うノードを色別表示。
「Execute」ボタンと「File save」ボタンのタブオーダを逆にしまた。
ドラッグ&ドロップ対応。
v0.12 2005/10/07 yfNetDiff-012.lzh PADS形式を追加。
BSch形式の解釈方式を変更。
複数行にまたがる接続の、行区切り「,」をノードと判断する問題を修正。
入力ファイル選択に、拡張子*.lst *.txtを追加。
v0.10 2005/10/02 yfNetDiff.lzh β評価版

ソースコード

 ソースコードを公開します。
 「MinGW Developer Studio」に対応したソースです。
 他のプラットホームで構築し、公開していただければ嬉しいです。
 その際、私のソースが出処であることを示してください。
 変更を加えて、公開して頂いても結構です。
 その際も、元が私のソースであることと、変更を加えた旨、示していただくとを希望します。

ソースコードです。
v0.20-1 2005/12/04 yfNetDiff-020-Src-1.lzh パッケージにドキュメントファイルを追加。

Linuxへの対応

 上記ソースコードを、Linux上でビルドすると、無修正で動作できる、というレポートを「水魚堂」さまから頂きました。
 確認していただいた環境は、下記のとおりです。
    HDDにインストールしたKnoppix 3.8.1
    GTK + libgtk2.0-dev (Version 2.6.10-1)
    wxWidgets UNIX/GTK 2.6.2
 上記ソースコードに含まれている「yfNetDiff.mdsp」は、「MinGW Developer Studio」のプロジェクトファイルです。
 Linuxでの構築には、適宜Makefileを作成してください。
 wxWidgetsのサンプルプロジェクトに含まれる「makfile.unx」から、ファイルリストを書き直すくらいでOKだそうです。
 上記ソースコードには、日本語コードは含まれていませんので、コード変換等は不要です。

 Linuxで、コンソールから起動すると、いくつかGTK+のメッセージが出ることがあるようですが、特に問題ないと思われます。

Max OSへの対応

 「水魚堂」さまでMac OSでの構築と、動作確認をして頂きました。
     Mac OS X  Tiger 10.4.3
     wxWidgets 2.6.2

 Mac OS用のバイナリです。
v0.20 2005/12/05 yfNetDiff-020-MacBin.tgz

権利・免責

 「yfNetDiff」および関連文書は「ysfactory」の著作物です。
 業務での利用も含めて、自由に使用して頂いて結構です。
 ただし、使用に関して著作者は、一切の責任を負いません。
 販売等、直接利益を生む場合はその権利を放棄しません。ご連絡ください。


Last Modified : 2005/12/06
ホームページ (http://www.fiberbit.net/user/ysfactory/)
Mail to: (ysfactory[atmark]fiberbit.net) (change[atmark]into'@')
迷惑メール防止のため、人間には解読しやすいだろう、暗号化しています。よく見て復元してください。