![](https://habrastorage.org/files/39f/300/304/39f3003042b24456b3b450dc9dd361d8.png)
- tkgate.orgプロジェクトの公式サイト
- Bitbucketプロジェクトリポジトリ: bitbucket.org/starling13/tkgate/branch/2.0
cat TKTKのより詳細な分析。
歴史と主な機能
2005年から2006年頃にTKGateを使用しましたが、その中で最もポジティブな思い出があります。 その後、2009年頃にプロジェクトの開発が停止し、モデル化する必要のあるデジタルエレクトロニクスのプロジェクトはありませんでした。 その時以来、私はこのシミュレータを見たことがなく、プロジェクトが死んだと思っていました。 さて、幸いなことに、このプロジェクトを死から救った開発者がいました。 次に、このシミュレーターを詳しく見てみましょう。 シミュレータの主要な機能は次のとおりです。
- インタラクティブなデジタル回路シミュレーション
- 使用可能なコンポーネントの種類:ロジックエレメント、トリガー、レジスタ、カウンター、デコーダー、マルチプレクサー、RAM、ROM、ALU、MOSトランジスターのキー、入力信号シミュレーター、LED、7セグメントインジケーター、スケール、クロックジェネレーター
- カスタムVerilogスクリプトを使用します。
回路図ファイルは通常のVerilogスクリプトであり、そのコメントにはコンポーネントとワイヤの場所に関するデータが含まれています。 たとえば、このVerilogコードは、FPGA合成のためにCADに転送できます。
TKGate GUIはTk / Tclで記述されているため、現代のKDEとGnomeに慣れている人にとっては少し古く見えます。 それにもかかわらず、これはプログラムの機能を害しません。
設置
シミュレータはLinuxでのみ動作します。Windows用のバージョンは、おそらくソースコードから自分でコンパイルできます。
TKGate-1.8の以前のバージョンはDebianリポジトリにあり、それをインストールするには、次のコマンドを実行するだけです:
apt-get install tkgate
最新バージョン用の既製パッケージはないため、自分で組み立てる必要があります。 次の依存関係が必要です。
- Tk / tcl
- Gcc
- オートツール
公式Webサイトからソースアーカイブをダウンロードするか、Bitbucketでプロジェクトリポジトリのクローンを作成できます。
hg clone https://bitbucket.org/starling13/tkgate
公式サイトのソースを使用してアーカイブを取得した場合は、実行するために解凍されたディレクトリで解凍する必要があります。
./configure make make install
リポジトリを複製した場合、ビルドシーケンスはより複雑になります。
./configure aclocal automake make make install
make installをcheckinstallに置き換えると、ディストリビューション用のパッケージがビルドされます。
カスタマイズ
インストール後、プログラムの起動時にロードされるライブラリを構成する必要があります。 すべてのライブラリまたはそれらの一部をダウンロードできます。 これを行うには、メインメニューの[ツール]-> [設定]をクリックし、表示されるダイアログ[ライブラリ]-> [起動]をクリックします。 起動時にロードされるライブラリを選択します。 特に、このプログラムには、第74シリーズ(TTLおよびTTLSh)の集積回路のライブラリが含まれています。 これでセットアップは完了です。
![](https://habrastorage.org/files/899/560/8d0/8995608d0665413e975acc9c7f9e38da.png)
ライブラリは、プログラムウィンドウの左側にあるプロジェクトツリーのライブラリ項目を右クリックし、コンテキストメニューからライブラリマネージャーを選択することにより、動的にロードできます。
プログラムで作業する
小さな例を考えてみましょう。 要素2I-NOTをモデル化します。 これを行うには、新しいファイルを作成します:File-> Create。
空の図が開きます。 メインプログラムウィンドウの中央部分は、回路の実際の入力フィールドです。
次に、コンポーネントを追加する必要があります。 コンポーネントはコンテキストメニューから追加します。
回路図フィールドを右クリックします。 コンポーネント->バルブ-> NANDを選択します。 バルブの入力をスイッチに接続する必要があります。これにより、バルブ2ANDの状態を監視するために、log.0またはlog.1が出力に供給され、LEDが出力に供給されます。 コンテキストメニューの[コンポーネント]-> [入力/出力]-> [スイッチ]からスイッチを再度選択します。 LEDは同じ場所にあります:コンポーネント->入力/出力-> LED。 次に、すべてをワイヤで接続します。 これは次のような図である必要があります。
![](https://habrastorage.org/files/32b/a5f/582/32ba5f5827a8429ca2b6fe46deb3d9a5.png)
これで、回路をモデル化できます。 これを行うには、[シミュレーション]タブに移動します。 [シミュレーション]メニューがアクティブになります。 シミュレーションを実行します:シミュレーション->開始。 たとえば、Qucsでのデジタル回路のモデリングとは異なり、モデリングは完全にインタラクティブです。 TKGateのモデリングアプローチは、MultisimまたはProteusに似ています。 シミュレーション中に、スイッチの状態などを手動で変更できます。 応答回路を監視します。 このスキームでは、スイッチをクリックすると、2AND要素の真理値表に従って、入力の状態に応じて論理要素の出力状態が変化することがわかります。 シミュレーションを停止するには、シミュレーション->シミュレーションの終了コマンドを呼び出す必要があります。 シミュレーション結果を図に示します:
![](https://habrastorage.org/files/466/64d/cf8/46664dcf8737418a880d1f7fe14a5a67.png)
より複雑な回路には、ミッドレンジ集積回路、Verilogモジュール、RAM、およびROMが含まれる場合があります。
したがって、開発の中断と旧式のインターフェースにもかかわらず、TKGateはデジタル回路を分析するためのかなり強力なツールであると結論付けることができます。