TkGate はグラフィカルなエディタを備えた、ロジック回路のシミュレータです。
図面を PostScript で印刷することもできます。
うれしいことに日本語をサポート (他に英語、フランス語、スペイン語) していて、
チュートリアルも (全部ではないけれど) 日本語が用意されています。
またいくつかのサンプル (簡単なCPUを含む) が付いています。
ホームページも日本語が用意されています。
作者のハンセンさんは日本に6年間住んでいたことがあるそうです。
(右図をクリックすると大きく表示します。)
作者: Jeffery P. Hansen さん
ホームページ:
http://www.tkgate.org/
バージョン: 1.6i (2002/01/22, patch3 - 2002/08/08)
ライセンス: GPL
付属ドキュメント README を読む
付属ドキュメント TKGate User Documention
を読む (ご注意:大量のイメージを含みます)
インストールすると LinuxMLD 5, 6 では 「プログラム」→「アプリケーション」にメニューが追加されます。 MLD 7 ではメニューには追加されないので適当なターミナル・エミュレータから
$ tkgate
で起動します。
起動すると自動的にチュートリアルが読み込まれて上のような画面が開きます。 このチュートリアル自身が TkGate で作成できる回路のサンプルになっています。 つまり、チュートリアルの上で実際に回路を作成したりシミュレートしたりできます。
まずはチュートリアルに従って始めてみましょう。 「回路の作成」をクリックすると具体的な回路の作成の説明がはじまります。
最初はこのような簡単な回路です。 右側の枠の中に左側にあるものと同じ回路を作ります。 右側の枠が表示されないときは「回路をこの中に作成して下さい」の部分をクリックしてみてください。 部品を作成するには作成したい場所で右ボタンを押すとメニューが現れます。
メニューバーの「作成」メニューでも同じことができます。
またキーボードショートカットも用意されています。
「作成」メニューには 46 もの部品があります。
機能をまとめてモジュールとすることができます。
部品をつなぐには端子をクリックするとマウスカーソルが「半田ゴテ」になります。
つないだ線をカットするときにはカーソルが「ニッパー」になるなど、
楽しく回路を作ることができます。
ある程度回路が作れたら、シミュレーションしてみましょう。
「シミュレート」メニューから「シミュレーションを開始」を選択します。
「scope」の画面が開きますが、これがオシロスコープです。
シミュレートする回路で信号をトレースしたい場所を左ボタンで
ダブルクリックすると、そこにプローブが接続されます。
準備ができたら「シミュレート」メニューから「ラン」を選択します。
右下にあるゲートが走り出します!
「ラン」するとスイッチなどの状態が実際に信号線に反映され、LED
等がつないであれば反応するようになります。プローブをつないだ信号線の状態が
scope に表示されます。回路にクロックが含まれていればクロックも動き出します。
一時停止やステップ動作、ブレークポイントの設定もできます。
下はチュートリアルの「順序回路のシミュレーション」の回路で シミュレーションを実行したところです。
できた回路は図面として印刷することができます。日本語もちゃんと印刷できます。
下は附属しているサンプルの Menagerie CPU の図面です。 9個のモジュールからなり、TTY 入出力を備えていて、 「Animals」というゲームができるそうです。
LinuxMLD 5,6,7 用の RPM
tkgate-1.6i-3_mlb1.i386.rpm (907,902 bytes)
をインストールします。
rpm コマンドでインストールするにはスーパーユーザになって
# rpm -i tkgate-1.6i-3_mlb1.i386.rpm
とします。
MLD 5,6 では
Gnome の GUI でインストールすることもできます。
~/.tkgaterc
に
option add *font k14
TkGate は C と tcl/tk ライブラリで書かれています。
以前のバージョンでは日本語のサポートには tcl/tk 8.0jp が必要でしたが
1.6h ではメディアラボから提供したパッチが一部取入れられ、
MLD5 で収録している tcl/tk 8.3.1 でも日本語がサポートされるように
なりました。ただし tkgate-1.6g-1_mlb2 のパッチはまだ取入れられていないので
さらに修正を加えています。