TkGate

TkGate

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」の画面が開きますが、これがオシロスコープです。 シミュレートする回路で信号をトレースしたい場所を左ボタンで ダブルクリックすると、そこにプローブが接続されます。

シミュレート

RUN 準備ができたら「シミュレート」メニューから「ラン」を選択します。 右下にあるゲートが走り出します!
「ラン」するとスイッチなどの状態が実際に信号線に反映され、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 でインストールすることもできます。

パッケージの更新履歴

[2002/11/04] tkgate-1.6i-3_mlb1.i386.rpm
1.6i-patch3 にアップデート。
MLD6 での使用を考慮して、メニューなどのフォントを k14 に強制するのを止めました。 MLD5 では 12 ポイントの日本語フォントが収録されていないので メニュー等の文字がきれいに表示されませんが、 ~/.tkgaterc

option add *font k14

と書いておくと k14 フォントが使われます。
[2001/09/10] tkgate-1.6h-1_mlb1.i386.rpm
1.6h にアップデート。
変更点については README および TkGate のホームページを参照してください。
[2001/03/24] tkgate-1.6g-1_mlb2.i386.rpm
tkgate-1.6g-1_mlb1.i386.rpm では、コメント、フレームの属性 (プロパティ) ダイアログで日本語の内容が正しく表示されませんでしたが、 改善しました。ただし日本語の入力はできません。 TkGate の作成する *.v ファイルはテキスト・ファイルなので エディタで直接編集 (日本語の文字コードは euc) すれば、コメントを 日本語にできます。

その他

TkGate は C と tcl/tk ライブラリで書かれています。
以前のバージョンでは日本語のサポートには tcl/tk 8.0jp が必要でしたが 1.6h ではメディアラボから提供したパッチが一部取入れられ、 MLD5 で収録している tcl/tk 8.3.1 でも日本語がサポートされるように なりました。ただし tkgate-1.6g-1_mlb2 のパッチはまだ取入れられていないので さらに修正を加えています。

[2001/02/24 作成] [2003/10/30 更新]


このページに関する御意見、御要望を science@mlb.co.jp までお寄せ下さい
Copyright © 2001-2005 Media Lab. All Rights Reserved.