少し涼しくなったのでロジックを考える気力が戻って来た気がします。錯覚でないの、自分?そして回路考えるためには「タイミングチャート描きてぇ~」と考えました。近年、適当な「ドロー系」の画像ソフトでタイミング・チャートもどきを描くことが多かったです。なにかもっと適当なものはないの?今回はツールを調べるところから。
※かえらざるMOS回路 投稿順 INDEX
遥かなる昔は、方眼紙を広げて定規でタイミングチャートを描いてました。その後「日本語ワープロ」ソフトが主流になると、ワープロの外字でタイミングチャート用の「フォントセット」を作った人がいて、それをいただいて描いてました。結構美麗に描けるわりに時間もかからないので重宝してました。その後、日本語ワープロも廃れてしまったので、一般のドロー系のソフトで描いたりしてましたが、自分でタイミングチャートを描くことも稀となって今に至っております。
しかしな、やっぱり回路、とくにインタフェース回路を考えるときにはタイミングチャートを描かないと出来た気がしません。ドロー系の描画ツールで描いてもよいけれど、タイミングチャートにはタイミングチャートなりの良いツールがあるのではと思いました。
機能充実のツールがいくつかあり、ただし商用
ネットを検索すると、美麗なタイミングチャートを素早く描くだけでなく、描いたチャートをテストベクタ化したりなど各種の機能満載のタイミングチャート作成ツールを複数見つけることができます。いいなあと思うのですが、購入の予算なし。今回は見送りね。
「描く」だけのツールであればフリーツールあり
さてタイミングチャートを「描く」ことに限ればフリーツールをいくつか見つけることができました。今回、試用してみますのは以下の3つです。それぞれホームページのリンクへとなっています。その横にはライセンスを記しましたが、詳しいことは各ページを御確認ください。
-
- TimingEditor、GPLv2
- WAVEME、modified Apache License 2.0
- WaveDrom、MIT License
上記3つとも、Windows11上にツールをダウンロードして試用してみました。どのツールも「インストール不要」なEXE形式であったので、お試ししやすいです。なお、最後のWaveDromは、今回ローカル環境で試用してみましたが、Webベースでの運用(レンダリング)も可能なようです。
3つのツールそれぞれにクセが強いので、自分に向いていそうなツールを調べたいと思います。
TimingEditor
このツールは上記のホームページへ行っても大した使い方の説明もないのです。しかしマウスでクリクリしていたらテキトーにタイミングチャートが描けてしまうお手軽ツールじゃないかと思います。以下はサンプルのSPIのタイミングチャートです。
アイコンにカーソルもっていけば何のツールかツールチップが表示されるので、それを見てアイコンを押して後は編集領域をクリクリしていくだけでチャートを描いていくことができます。
以下は自分でスクラッチから描いた「いい加減」なチャートですが、この程度を描くなら一撃っす。
なお、右側に設定値のウインドウが並んでますが、グローバルな設定などをするためのものでデフォルトのままか、最初に一度設定すればおしまいでないかと。
本ツールの入出力ですが、
-
- チャート保存用の入出力は .tdg という拡張子のバイナリファイル
- 画像出力は、SVG、PNGなどの画像ファイル
となってます。独自形式のバイナリのようなので、外で作ったデータをレンダリングするとか、描いたチャートからテストベクトルを抽出するとかいった技は使い難いでないかと思われます(個人の意見です。)
WAVEME
やったらとカラフルなタイミングチャートが描けるツールです。以下はサンプルタイミングチャートをロードしたところです。
このツールは「一応」GUIツールであり、信号の選択とかセグメント(ある単位の信号区間)の選択などは勿論マウスでできるのです。しかし実際の描画は以下の自主描画画面にあるように、描画対象毎にウインドウが開いて、名前、数値、ラジオボタン、プルダウンウインドウ等を駆使して「設定」していくスタイルです。
ほぼなんでも設定ウインドウで操作可能なので「所望」の通りの「正確な」図面が描けるであろうことは「たぶん確実」なのです。しかし、正直メンドイっす。操作性という点では、マウスでクリクリだけでほとんど済む前のソフトの方が楽(個人の感想です。)しかし、お仕着せの設定でなく、全てをコントロール下に置きたい場合には、その表現力(デフォルト設定はちょっとカラフル過ぎるけど)と相まってピッタンコなソフトでないかと。
なお本ツールの入出力用のフォーマットは XML であります。他のソフトで自動生成したXMLを食わせるとか、XMLから何かを抽出するなどといった技を使う余地は多いにありそうです。また、画像出力はSVGでもPNGなどでも可能です。
waveDrom
このソフトウエアは、Web上のタイミングチャート生成ツールでもあります。JSONベースのテキストファイルを入力としてそれを解釈してタイミングチャートである画像をレンダリングするツールです。よってWebページにJSONを潜ませておいて、ネットワーク上のサーバでレンダリングして埋め込むなんて技も使えるみたいです(やってないケド。)
今回インストールして起動してみたのは、ローカルインストールのエディタです。サンプル画面は以下のような感じ。
上部にJSONのソースがあり、下部にそれをレンダリングした画像が見えてます。画像の右横の3本線のメニューを使えば、JSONの入出力は勿論、各種画像ファイルとしてのイクスポートにも対応してます。
入力はJSONなので、上記のエディタを使うにはどのようなプロパティが使えるのと言った点を調べておかねば歯が立ちません。見たところではタイミングチャートで使いそうな矢印とか各種の要素を網羅しておるように見えます。これをマスターすればタイミングチャートなど自由自在か。
そして元がJSONなので、他のプログラムでチャートとなるソースを生成したり、JSONファイルから情報抽出をすることも簡単じゃないかと思います。知らんけど。
同じようなツールといえば、みんな大好き Graphviz があります。Graphvizのタイミングチャート版ってな感じでしょうか。なお、タイミングチャートだけでなくデータシートに記載しそうな「ありがちな図面」、をいろいろ描くこともできそうな気がします。次回、も少しいじってみるかと。