デジタルシミュレーション入門

Qucsは、デジタルシミュレーションを実行するグラフィカルユーザインタフェースでもあります。この文書は、それをどう使うかの短い説明です。

デジタルシミュレーションのためにQucsは、FreeHDL program (http://www.freehdl.seul.org)を使います。そのため、FreeHDLパッケージと、GNU C++ コンパイラがコンピュータにインストールされていなくてはなりません。

アナログかデジタルかシミュレーションを走らせる上では大きな違いはありません。アナログシミュレーション入門を読んでいれば、デジタルシミュレーションを動かすのは簡単です。簡単なロジックのANDセルの真理値表を計算してみましょう。左側にあるcomponentsタブの複合ボックスからdigital componentsを選び、図1に示す回路を組み立てましょう。digital simulationブロックは、そのほかのシミュレーションブロックの中から、見つけてください。

デジタルソースS1S2は入力で、Outputというラベルのついたノードが出力です。シミュレーション実行後、データディスプレイのページが開きます。truth tableという図表をその上に配置して、Outputという変数を挿入しましょう。そうすると、2ポートANDセルの真理値表が表示されます。おめでとうございます、最初のデジタルシミュレーションは終了です。

図1 Qucsのメインウィンドウ

Qucsでできるデジタルシミュレーションは真理値表だけということはありません。回路に任意の信号を印加し、タイミング図に出力信号を観測することもできます。それを行うには、シミュレーションブロックのTypeというパラメータは、TimeListに変更されなくてはなりませんし、次のパラメータとしてシミュレーションの期間が入力されなくてはなりません。デジタルソースは、ここでは別の意味を持ちます:それらは、最初のビット(ローかハイか)と状態が変化する時刻のリストを定義することで、任意のビット系列を出力できます。このリストは、終了後も繰り返すことに注意してください。そのため、パルス比が1:1の1GHzのクロックを作るには、リストは、0.5ns;0.5nsとなります。

この種のシミュレーション結果を表示するために、timing diagramという図表が用意されています。ここで、すべての出力ノードは、1つの図表の行ごとに表示されます。では、どうぞ楽しんでください。

VHDL File Component

より複雑で、より普遍的なシミュレーションは、"VHDL file"という部品を使って実行できます。この部品は、部品のリストビュー("digital components"のセクション)から選択できます。そうはいったものの、お薦めの使い方は以下の通りです:そのVHDLファイルは、プロジェクトのメンバーである必要があります。そのうえで、コンテンツリストビューに移動し、ファイル名をクリックしてください。回路図の領域に入った後、VHDL部品を配置することができます。

VHDLファイルの最後の実体ブロックは、インターフェイスを定義します。すなわち、すべての入力および出力ポートはここで宣言されなければなりません。これらのポートはまた、回路図シンボルで示されており、回路の残りの部分に接続することができます。シミュレーションの最中にVHDLファイルのソースコードは、トップレベルのVHDLファイル内に配置されます。これにはいくつかの制限が 伴うので、考慮に入れなければなりません。例えば、VHDLファイル内のエンティティ名は、すでにサブサーキットに与えられた名前と異なる必要があります。 (シミュレーションの後、完全なソースコードは、F6キーを押すことで見ることができます。この手順の感覚を身につけるために、やってみてください。)

back to the top