これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドirsimです。
プログラム:
NAME
irsim-MOS回路用のイベント駆動型ロジックレベルシミュレータ
SYNOPSIS
イルシム [-NS] prm_file sim_file ... [+ hist_file] [-cmd_file ...]
DESCRIPTION
IRSIMは、MOS(NとPの両方)トランジスタ回路用のイベント駆動型ロジックレベルシミュレータです。
XNUMXつのシミュレーションモデルが利用可能です。
スイッチ 各トランジスタは、電圧制御スイッチとしてモデル化されています。 初期化に便利
またはネットワークの機能を決定します。
線形 各トランジスタは、電圧制御と直列の抵抗としてモデル化されています
スイッチ; 各ノードには静電容量があります。 ノード値と遷移時間が計算されます
結果として得られたRCネットワークから、Chorng-YeoungChuのモデルを使用します。 クリス・テルマンの
元のモデルはサポートされなくなりました。
Status -s スイッチが指定されている場合、同じタイプのトランジスタが2つ以上直列に接続されている。
それらの共通のソース/ドレインへの他の接続がない場合 積み上げ 化合物に
複数のゲートを備えたトランジスタ。
この prm_file シミュレートするデバイスを構成する電気的パラメータファイルです。
さまざまな層の静電容量、トランジスタの抵抗、しきい値を定義します
電圧など...(を参照) プレシム(1))。
If prm_file 絶対パスを指定しない場合、IRSIMは prm_file as
次の順序で(この順序で):
1) ./ (現在のディレクトリ内)。
2) $ {CAD_ROOT} / irsim /
3) $ {CAD_ROOT} / irsim /.prm
デフォルトの検索ディレクトリ(名目上 / usr / local / lib)を設定することでオーバーライドできます
IRSIMを実行する前に、環境変数CAD_ROOTを適切なディレクトリに移動します(つまり、
setenv CAD_ROOT / cad / lib)。
IRSIMは、最初にコマンドラインで指定されたファイルを処理し、次に(exitコマンドを想定)
処理されていません)ユーザーからのコマンドを受け入れ、前に各コマンドを実行します
次を読んでください。
'-'で始まらないファイル名は、simファイルと見なされます(を参照)。 SIM(5))、注意してください
このバージョンでは、presimを介してsimファイルを実行する必要はありません。 これらのファイルが読み取られます
ネットワークデータベースに追加されます。 ノードの名前空間はXNUMXつしかないため、
異なるネットワークファイル内のノード「A」への参照はすべて同じノードを参照します。 この間
機能により、大規模な回路を複数のネットワークファイルにモジュール化できます。注意が必要です。
名前の不幸な衝突が原因で不要なノードのマージが発生しないようにするために取られました。
'-'で始まるファイル名は、コマンドファイルと見なされます。
通常の方法で処理されるコマンドライン。 これらのファイルは次の行で処理されます
ライン; ファイルの終わりが検出されると、処理は次のファイルから続行されます。 後
すべてのコマンドファイルが処理され、「exit」コマンドが終了していない場合は、
シミュレーションを実行すると、IRSIMはユーザーからの追加コマンドを受け入れ、各コマンドの入力を求めます。
そのようです:
irsim>
この 履歴ファイル で作成されたファイルの名前です ダンプ コマンド(以下を参照)。 もしそれが
現在、IRSIMはネットワークをそのファイルに保存されている状態に初期化します。 このファイルは
">"コマンドで作成されたものとは異なり、すべての状態が保存されます。
保留中のイベントを含む、すべての時間のノード。
このバージョンは、を介したネットワークへの変更をサポートします update 指図。 また、
現在の時刻までネットワークを段階的に再シミュレーションする機能は、
名前
COMMAND 概要
@ ファイル名 コマンドファイルからコマンドを取得します
? wnode..。 ノードのソース/ドレイン接続に関する情報を出力します
! wnode..。 ノードのゲート接続に関する情報を出力する
< ファイル名 ファイルからネットワーク状態を復元する
> ファイル名 現在のネットワーク状態をファイルに書き込む
<< ファイル名 「<」と同じですが、入力も復元します
| コメント... コメント行
アクティビティ from [に] 時間間隔での回路アクティビティのグラフ
ANA wnode..。 アナライザウィンドウにノードを表示する
アナライザ wnode..。 アナライザウィンドウにノードを表示する
アサート wノード [m] ヴァル それを主張する wノード 等しい 値
アサートするとき ノードT 値 ヴァル
条件が満たされたときにアサートする
バック [時間] に戻る 時間
c [n] をシミュレートする n クロックサイクル(デフォルト:1)
変更 from [に] 時間間隔で変更された印刷ノード
クロック [ノード [値]] クロックノードの値シーケンスを定義する
クリア アナライザウィンドウをクリアする(信号を削除する)
d [wnode]..。 ディスプレイリストまたは指定されたノードを印刷します
debug [debug_level ...]
デバッグレベルの設定(デフォルト:オフ)
崩壊 [n] 電荷減衰時間を設定します(0 =>減衰なし)
ディスプレイ [arg]..。 表示される内容を制御する
ダンプ ファイル名... ネット履歴をファイルに書き込む
シーッ [オン|オフ] 履歴をオンまたはオフにします
終了する [状態] システムに戻る
フラッシュ [時間] までの履歴をフラッシュします 時間 (デフォルト:今)
h wnode..。 ノードロジックをハイ(1)入力にする
has_coords トランジスタ座標が利用可能な場合はYESと印刷します
入力 入力ノードの現在のリストを出力します
IRES [n] 増分解像度をに設定します n ns
名前 [ファイル名] 変更フォームを段階的に再シミュレートします ファイル名
l wnode..。 ノードロジックをロー(0)入力にする
ログファイル [ファイル名] ログファイルの開始/停止
[名前] シミュレーションモデルを 名
p ステップクロックXNUMXシミュレーションステップ(フェーズ)
path wnode..。 ノードの最後の遷移のクリティカルパスを表示する
powlogファイル [ファイル名] 電源ログファイルの開始/停止
パワートレース -[ノード]... 指定されたノード/ベクトルのパワートレースを開始/停止します
パウステップ 各タイムステップの電力見積もりの表示を切り替えます
印刷 コメント... 指定されたテキストを印刷する
プリント 保留中のすべてのイベントのリストを印刷します
プリントx すべての未定義(X)ノードを出力します
q 現在のストリームからの入力を終了します
R [n] をシミュレートする n サイクル(デフォルト:最長シーケンス)
リード ファイル名 から履歴を読む ファイル名
レポート[レベル] 減衰イベントのレポートの設定/リセット
s [n] をシミュレートする n ns。 (デフォルト:ステップサイズ)
刻み幅 [n] シミュレーションのステップサイズをに設定します n NS。
セッションに ベクトル 値 割り当てます 値 〜へ ベクトル
セットログ[ファイル|オフ] ネットの変更をファイルに記録する(OFF ->ログなし)
セットパス [道...] cmdファイルの検索パスを設定する
統計情報 イベント統計を印刷する
サムキャップ すべてのノードの静電容量の合計を出力します
t [-]wnode..。 指定されたノードのトレースを開始/停止します
tcap 短絡したトランジスタのリストを印刷
時間 [指図] リソース使用率の概要を印刷する
まで wノード [マスク] 値 カウント
クロックカウントに基づく遅延アサート。
u wnode..。 ノードを未定義(X)入力にする
単位遅延 [n] トランジションを強制的に実行する n ns。 (0は無効になります)
update ファイル名 ファイルから正味の変更を読み取る
V [ノード [価値...]] ノードの入力シーケンスを定義する
ベクトル ラベル ノード... ビットベクトルを定義する
対供給 電圧 電力を計算するための供給電圧を設定します(デフォルトは5V)
w [-]wnode..。 表示リストからノードを追加/削除
すぐ [ファイル名] ネットワークをファイルに書き込む
x wnode..。 入力リストからノードを削除します
Xディスプレイ [ホスト:n] Xディスプレイの設定/表示(アナライザー用)
コマンドの説明
コマンドの構文は次のとおりです。
CMD arg1 arg2 ... 引数
コラボレー CMD 実行するコマンドと アルギ それに対する議論です
指図。 引数はスペース(またはタブ)で区切られ、コマンドは次のように終了します。
a 。
If CMD は以下に記載されている組み込みコマンドのXNUMXつではないため、IRSIMは「.cmd」をに追加します。
コマンド名を指定し、そのファイルをコマンドファイルとして開こうとします(「@"コマンド)。したがって、
コマンド「foo」は「」と同じ効果があります@ foo.cmd」。
表記法:
... 繰り返しがXNUMX回以上であることを示します
[ ] 囲まれた引数はオプションです
ネットワーク内のノードまたはベクトルの名前
wノード ネットワーク内のノードまたはベクトルの名前。 「*」 いずれかに一致するワイルドカード
XNUMX個以上の文字のシーケンス。 文字のペア '{' と '}' を表す
それに囲まれた制限を超える反復。例: 名前{1:10} に拡大します
name1、 name2 ... name10。 3番目のオプションの引数は、ストライドを設定します。次に例を示します。
名前{1:10:2} に拡大します name1、 name3、 ... name7、 name9。
| コメント...
縦棒で始まる行はコメントとして扱われ、無視されます。
コメントするか、コマンドファイル内の特定のコマンドを一時的に無効にします。
ほとんどのコマンドは、引数としてXNUMXつ以上のノード名を取ります。 ノード名が
コマンドラインで受け入れ可能で、ビットベクトルの名前を使用することもできます。 この場合、
コマンドはベクトルの各ノードに適用されます(「t"と"d"ベクトルを扱う
特に、以下を参照してください)。
ベクトル ラベル ノード...
指定されたノードを含む「label」という名前のビットベクトルを定義します。 もし、あんたが
ビットベクトル、古いベクトルの特別な属性を再定義します(たとえば、
表示またはトレースリスト)が失われます。 ノードのリストでワイルドカードは受け入れられません
一致するノードの順序を制御できないため、名前
ベクトルに表示されます。
シミュレーターはほとんどのコマンドをサイレントに実行します。 何が起こったのかを知るためにあなたは使うことができます
ネットワークやシミュレータの状態を調べるための次のコマンドのいずれか。
セッションに ベクトル 値
割り当てます 値 〜へ ベクター。 たとえば、次の一連のコマンド:
ベクトル バスビット.1ビット.2ビット.3
セッションに バス01x
最初のコマンドは定義します バス ノードで構成されるベクトルになる bit.1、 bit.2、
と bit.3。 XNUMX番目のコマンドは、次の値を割り当てます。
bit.1 = 0
bit.2 = 1
bit.3 = X
値は[0,1、h、H、l、L、x、X]の任意のシーケンスにすることができ、と同じ長さである必要があります
ビットベクトル自体。
d [wnode]..。
画面。 引数なしでは、現在すべてのノードとビットベクトルの値が表示されます
ディスプレイリスト(を参照) w 指図)。 引数を使用すると、ノードまたは
指定されたビットベクトル。 を使用したい場合は、「display」コマンドも参照してください。
特定のシミュレーションコマンドの最後に自動的に印刷されるディスプレイリスト。
w [-]wnode..。
XNUMXつ以上のノードを監視/監視解除します。 いつでも"d"コマンドが与えられ、それぞれが監視されます
ノードは次のように表示されます。
node1 = 0 node2 = X ...
監視リストからノードを削除するには、その名前の前に「-」を付けます。 もしも wノード is
ビットベクトルの名前、ベクトルを構成するノードの値は次のようになります
次のように表示されます。
label = 010100
ここで、最初の0はリストの最初のノードの値であり、最初の1は
XNUMX番目のノードなど。
アサート wノード [マスク] 値
ノードまたはベクトルのブール値をアサートします wノード is 値。 もし
比較に失敗すると、エラーメッセージが出力されます。 もしも mask 与えられたのはそれらだけ
のゼロビットに対応するビット mask 比較に参加してください、どんなキャラクターでも
0以外は、そのビットをスキップします。 エラーメッセージの形式は次のとおりです。
(tty、3):'name' 10X10(1010X)でアサーションが失敗しました
場所 名 ベクトルの名前の後に、実際の値と期待値が続きます
括弧で囲まれた値。 もし mask が指定されている場合、そうでなかったビット
比較は「-」として出力されます。
まで wノード [マスク] 値 カウント
追加の引数が必要なことを除いて、assertコマンドと同じように機能します
これは、実行するクロックサイクルの最大数です。 現在のテストだけでなく
アサートのように、trueをテストするまで状態を示し、falseの場合は、次のまでクロックサイクルを実行します。
条件が真になるか、カウントがなくなります。
ANA wnode..。
これは、 アナライザ コマンド(以下で説明)。
アナライザ wnode..。
指定したノード/ベクトルをアナライザーの表示リストに追加します(を参照)。 イルシム-
アナライザ(3)詳細な説明について)。 アナライザウィンドウが存在しない場合は、
作成されます。 引数が指定されておらず、アナライザウィンドウがすでに存在する場合、
何も起こりません。
Xディスプレイ [ホスト:表示]
アナライザーを起動するには、Xサーバーに接続できる必要があります。 まだの場合
を設定する DISPLAY 環境変数が適切である場合、アナライザコマンドは失敗する可能性があります。 もしも
これはあなたが使用できる場合です Xディスプレイ 内から設定するコマンド
シミュレーター。 引数がない場合、現在のXサーバーの名前が出力されます。
クリア アナライザウィンドウからすべてのノードとベクトルを削除します。 このコマンドはほとんどです
表示されている異なる信号を切り替えるためのコマンドスクリプトで役立ちます
アナライザーで。
"?"と"!「ユーザーがネットワークを逆方向と順方向の両方に移動できるようにします。これは
便利なデバッグ支援。
? wnode..。
名前付きノードの現在の値と状態を含む概要を出力します
これらのノードの値に影響を与えるすべてのトランジスタの。 これは最も一般的です
何が悪かったのかを探してネットワークをさまよう方法。
コマンドからの出力 ? でる 見える
out = 0(vl = 0.3 vh = 0.8)(0.100 pf)は、以下から計算されます。
nチャネルphi2=0 out = 0 in = 0 [1.0e + 04、1.3e + 04、8.7e + 03]
(a = 1 b = 1)[1.0e + 04、1.3e + 04、8.8e+03]によってプルダウンされます
引き上げた[4.0e+04、7.4e + 04、4.0e + 04]
最初の行は、ノードの名前と現在の値、そのローロジックとハイロジックを示しています
しきい値、ユーザー指定の低から高、および高から低への伝播遅延
存在し、ゼロ以外の場合はその静電容量。 後続の行はトランジスタをリストします
そのソースまたはドレインがこのノードに接続している:トランジスタタイプ(「プルダウン」は
gndに接続されたnチャネルトランジスタ「プルアップ」は、空乏プルアップまたはp-です。
vddに接続されたチャネルトランジスタ)、ゲート、ソース、およびドレインの値
ノード、およびモデリング抵抗。 同じトランジスタの単純なチェーン
インプラントタイプは、 -s 単一のトランジスタへのオプション
「複合」ゲート; 複合ゲートは、ノードの括弧で囲まれたリストとして表示されます(例:
上に示したプルダウン)。 XNUMXつの抵抗値-静的、動的高、
ダイナミックロー-キロオームで示されます。
最後に、ノードの保留中のイベントが電気情報の後に一覧表示されます。
! wnode..。
引数リストのノードごとに、それによって制御されるトランジスタのリストを出力します。
ノード。
tcap
ソース/ドレインが一緒に短絡されているか、またはそのトランジスタのすべてのトランジスタのリストを印刷します
ソース/ドレインは電源に接続されています。 これらのトランジスタには
ゲート容量負荷以外のシミュレーションへの影響。 それでも
電源に接続されたトランジスタは実際の設計エラーであり、
シミュレーターはそれらについて文句を言いません。
任意のノードを入力にすることができます-シミュレータは、入力ノードの値を変更するまで
リリースされます。 通常、特定のノード(回路への入力)で操作されます
以下のコマンドを使用しますが、内部に値を強制することでサブサーキットをだますことができます
同様に簡単にノード。
h wnode..。
引数リストの各ノードを強制的に上位(1)入力にします。 以前を上書きします
必要に応じてコマンドを入力します。
l wnode..。
お気に入り "h"ただし、ノードを強制的にロー(0)入力にします。
u wnode..。
お気に入り "h"ただし、ノードを強制的に未定義(X)入力にします。
x wnode..。
ノードがたまたま存在する入力リストからノードを削除します。 次のシミュレーション
ステップは、周囲の回路から正しいノード値を決定します。 これは
ほとんどのノードのデフォルト状態。 これはノードに強制されないことに注意してください
「X」値-入力リストからそれらを削除するだけです。
入力 高、低、および未定義の入力リストを出力します。
ノードの値のシーケンスを定義してから、回路を次のように循環させることができます。
各値を入力し、ネットワークをシミュレートするために必要な回数。 同様のメカニズム
各クロックノードが単一の間に通過する値のシーケンスを定義するために使用されます
サイクル。
各値は、以下から選択された文字のリストです(間に空白はありません)。
1、h、Hロジックハイ(1)
0、l、Lロジックロー(0)
u、U未定義(X)
x、X入力リストからノードを削除します
おそらく、文字リストの長さは、ノード/ベクトルのサイズと同じです。
割り当てられます。 ブランク(スペースとタブ)は、
順序。 シーケンスは、左から右に一度にXNUMXつの値で使用されます。 より多くの値がある場合
シーケンスによって提供されるよりも必要な場合、IRSIMはシーケンスを再開するだけです。
V [ノード [価値...]]
ノードの入力のベクトルを定義します。 「R」コマンドの各サイクルの後、ノード
シーケンスで指定された次の値に設定されます。
引数なしで、すべての入力シーケンスをクリアします(クロックシーケンスには影響しません)
しかし)。 「ノード」というXNUMXつの引数を使用すると、その入力シーケンスがすべてクリアされます。
ノード/ベクトル。
クロック [ノード [価値...]]
クロックの位相を定義します。 各サイクル、クロックコマンドで指定された各ノード
それぞれの値を実行する必要があります。 例えば、
クロックphi1 1 0
クロックphi2 0 0
ノードを使用して単純な4相クロックを定義します ファイ1 と phi2。 あるいは、
次のコマンドを発行しました。
ベクトルclkphi1phi2
時計clk10 00 01
引数なしで、すべてのクロックシーケンスをクリアします。 XNUMXつの引数、「ノード」で、クリアします
そのノード/ベクトルのクロックシーケンス。
入力値が確立された後、それらの効果は
次のコマンドでネットワーク。 基本的なシミュレートされた時間単位は0.1nsです。 すべてのイベント
時間は基本的な時間単位に量子化されます。 シミュレーションステップは、 刻み幅 NS。
が経過し、その間隔でスケジュールされたすべてのイベントが処理されます。 可能です
発振する回路を構築する-発振周期がゼロの場合、シミュレーション
コマンドは戻りません。 これが事実であると思われる場合、あなたは打つことができます に戻る
コマンドインタプリタ。 ファイルから入力を取得しているときにこれを行うと、
シミュレーターはトップレベルのインタープリターに移動し、からの保留中の入力をすべて中止します
任意のコマンドファイル。
線形モデルを使用する場合(「 "コマンド)遷移時間は、を使用して推定されます
周囲の回路から計算されたRC時定数。 スイッチモデルを使用する場合、
遷移はユニット遅延でスケジュールされます。 これらの計算は、
時間を決定するために使用されるtplhおよびtphlパラメータを設定することによりノード
移行のため。
s [n] シミュレーションステップ。 ネットワークを介して入力の新しい値を伝播し、戻り値を返します
いつ n (ディフォルト: 刻み幅)ns。 合格しました。 もしも n が指定されている場合、一時的に
上書きする 刻み幅 価値。 以前のバージョンとは異なり、この値は
のデフォルト値として記憶されています 刻み幅 パラメータ。 表示モードが
「自動」、これが完了すると現在の表示リストが印刷されます
コマンド(「display」コマンドを参照)。
c [n] サイクル n 「」で定義されている時計の時間(デフォルト:1)クロック"コマンド。
時計の各フェーズが続きます 刻み幅 ns。 表示モードが「自動」、
このコマンドを完了すると、現在のディスプレイリストが出力されます(を参照)。
"ディスプレイ" 指図)。
p クロックをXNUMXつのフェーズ(またはシミュレーションステップ)にステップスルーします。 たとえば、時計の場合
上記のように定義されます
クロックphi1 1 0
クロックphi2 0 0
それから "p"はphi1を1に、phi2を0に設定し、次にXNUMXつの効果を伝播します。
シミュレーションステップ。 次回 "p"が発行されると、phi1とphi2は両方とも0に設定されます。
効果が伝播し、以下同様に続きます。 「c"コマンドは"の後に発行されますp" もっている
使用された場合、効果は次の4つのフェーズをステップスルーすることです。p"
コマンドは中断しました。
R [n] シミュレータを実行します n サイクル(「c"コマンド)。 n 存在しませんmake
最長のシーケンスと同じ長さの実行。 表示モードが自動の場合(を参照)
"ディスプレイ「コマンド)各サイクルの最後に表示が印刷されます。R"
コマンドは、各ノードに定義されたシーケンスの最初からやり直します。
バック 時間
指定した時間に戻ります。 このコマンドは、現在の回線状態を復元します 時間,
間にある変更を効果的に元に戻します。 通過することはできませんのでご注意ください
以前にフラッシュされた履歴(を参照) フラッシュ 以下のコマンド)履歴メカニズムとして
ネットワーク状態を復元するために使用されます。 このコマンドは、間違いを元に戻すのに役立ちます
入力ベクトルで、または異なるデバッグレベルで回路を再シミュレーションします。
path wnode..。
指定されたノードの最後の遷移のクリティカルパスを表示します。 The
クリティカルパス遷移は、次の形式を使用して報告されます。
-> 値 @ 時間 (デルタ)
コラボレー ノードの名前です。 値 ノードが到達する値です
移行、 時間 遷移が発生した時刻であり、 デルタ は
最後の遷移以降のノードの遅延。 例えば:
Hit_v1の最後の遷移のクリティカルパス:
phi1-> 1 @ 2900.0ns、ノードは入力でした
PC_driver-> 0 @ 2900.4ns(0.4ns)
PC_b_q1-> 1 @ 2904.0ns(3.6ns)
tagDone_b_v1-> 0 @ 2912.8ns(8.8ns)
tagDone1_v1-> 1 @ 2915.3ns(2.5ns)
tagDone1_b_v1-> 0 @ 2916.0ns(0.7ns)
tagDone_v1-> 1 @ 2918.4ns(2.4ns)
tagCmp_b_v1-> 0 @ 2922.1ns(3.7ns)
tagCmp_v1-> 1 @ 2923.0ns(0.9ns)
Vbit_b_v1-> 0 @ 2923.2ns(0.2ns)
Hit_v1-> 1 @ 2923.5ns(0.3ns)
アクティビティ from_time [時間に]
指定された時間間隔での回路アクティビティの量を示すヒストグラムを印刷します。
実際には、最新の遷移があったノードの数のみが表示されます。
間隔。
変更 from_time [時間に]
指定された時間間隔で最後に値を変更したノードのリストを出力します。
プリント 時間でソートされたすべての保留中のイベントのリストを印刷します。 それぞれに関連付けられたノード
イベントと予定時刻が印刷されます。
プリントx 未定義(X)値を持つすべてのノードのリストを出力します。
traceコマンドを使用すると、
特定のノード。 以下で説明する内容の多くは、「ロジック-
KluwerAcademicPressから入手可能なChrisTermanによる「VLSI回路のレベルシミュレーション」。
ノードがトレースされると、シミュレーターはノードの値の各変更を報告します。
[イベント#100]ノードout.1:0-> 1 @ 407.6ns
イベントインデックスは、処理されるイベントごとに増分されます。 移行は
として報告
古い 値 -> 新製品 値 @ レポート 時間
イベントが処理される時間はイベントのレポート時間と異なる場合があることに注意してください。
連続するイベントのレポート時間は厳密には増加しない場合があります。
デバッグレベルによって異なります(「debug"コマンド)トレースされたノードの各計算
値が報告されます:
[イベント#99]ノードclk:0-> 1 @ 400.2ns
final_value(Load)V = [0.00、0.04] => 0
..compute_tau(ロード)
{Rmin = 2.2K Rdom = 2.2K Rmax = 2.2K} {Ca = 0.06 Cd = 0.17}
tauA = 0.1 tauD = 0.4 ns
[イベント#99:clk-> 1]負荷の遷移:1-> 0(tau = 0.5ns、delay = 0.6ns)
この例では、ノードの計算 負荷 報告されています。 計算はによって引き起こされました
ノードclkが99に移行したイベント1(この例のように)線形モデルを使用する場合
レポートは示しています
現在 値 -> ファイナル 値
XNUMX行目には、ノードの最終値(またはDC)分析に関する情報が表示されます。
"ロード"; 最小電圧と最大電圧、および最終的な論理値(この場合は0)
場合)。
次のXNUMX行は、遅延の推定に使用されるタイミング分析情報を示しています。 ザ
表示される変数の意味は、Chuの論文「Switchの改良モデル-
レベルシミュレーション」。
時 ファイナル 値 「D」として報告され、ノードは入力に接続されていない可能性があります
後で現在の値からXに減衰するようにスケジュールされています(「崩壊"
コマンド)。
「タウ」は計算された遷移時定数であり、「デルタ」は
イベントが計算されます。 XNUMXつの時間の違いは、IRSIMが
後続のステージでの遷移波形の形状(詳細については、上記のリファレンスを参照してください)
詳細)。 レポートの中央の線は、テブナンと静電容量のパラメーターを示しています
周囲のネットワークの、すなわち、遷移計算が行われるパラメータ
ベース。
debug [ev dc タウ タウプ tw spk][オフ][すべて]
デバッグレベルを設定します。 さまざまな場所でシミュレータや回路をデバッグするのに便利です
計算のレベル。 さまざまなデバッグレベルの意味は次のとおりです。
ev イベントのエンキューとデキューを表示します。
dc DC計算情報を表示します。
タウ 時定数(タイミング)の計算を表示します。
タウプ XNUMX番目の時定数(タイミング)計算を表示します。
tw ツリーウォークの各段階のネットワークパラメータを表示します。これはに適用されます
dc、 タウ, タウプ。 このレベルのデバッグの詳細は通常、必要なだけです
シミュレータをデバッグするとき。
SPK スパイク分析情報を表示します。
を これは、上記のすべてを指定するための省略形です。
OFF これにより、すべてのデバッグ情報がオフになります。
デバッグスイッチがオンの場合、シミュレーションステップ中に、監視対象ノードがオンになるたびに
あるイベントで遭遇した場合、その事実はあるイベントとともにユーザーに示されます
情報。 ノードがこのprinoutに表示され続ける場合、その値は次のようになります。
振動します。 逆に、回路が安定しない(つまり、振動する)場合は、
「debug"と"t"原因となっているノードを見つけるためのコマンド
問題。
引数がない場合、debugコマンドは現在のデバッグレベルを出力します。
t [-]wnode..。
ノードのトレースフラグを設定します。 上記のさまざまなプリントアウトを有効にします。 はじめに
'-'が付いたノード名は、トレースフラグをクリアします。 「wnode」がベクトルの名前である場合、
そのベクトルのいずれかのノードが値、現在の時刻、および
トレースされたすべてのベクトルが印刷されます。 この機能は、親戚を見るのに便利です
出力ベクトルのノードへの値の到着時間。
システムインターフェイスコマンド:
> ファイル名
各ノードの現在の状態を指定したファイルに書き込みます。 を作るのに便利
シミュレーション実行のブレークポイント。 値を保存するだけなので、あまり役に立ちません
後で使用するために実行を「ダンプ」します。つまり、現在の入力リスト、保留中のイベントなどです。
状態ファイルには保存されません。
< ファイル名
指定されたファイルから読み取り、指示に従って各ノードの値を再初期化します。 ノート
そのネットワークはすでに存在し、作成に使用されたネットワークと同一である必要があります
">"コマンドでファイルをダンプします。 これらの状態保存コマンドは実際に提供されているので
その複雑な初期化シーケンスは一度だけシミュレートする必要があります。
<< ファイル名
と同じ "<"コマンド。ただし、このコマンドは のステータス
ノードも同様です。 ただし、保留中のイベントは復元されません。
ダンプ [ファイル名]
シミュレーションの履歴を指定されたファイルに書き込みます。 すべて
時間=0以降の遷移。結果のファイルはマシンに依存しないバイナリです。
ファイル、およびその時点でシミュレーションを続行するために必要なすべての情報が含まれています
ダンプが行われます。 ファイル名が指定されていない場合は、
(コマンドラインから)sim_fileの名前を取得し、「。hist」をに追加します。
ボーマンは
リード ファイル名
指定された履歴ダンプファイルを現在のネットワークに読み込みます。 このコマンドは
回路の状態をダンプファイルの状態に復元し、現在の状態を上書きします
でのみ停止させることができます。
フラッシュ [時間]
履歴の維持によるメモリ消費が非常に大きくなった場合、このコマンド
指定された時間までの履歴によって消費されたメモリを解放するために使用できます。
引数がない場合、シミュレーションの現在の時点までのすべての履歴が解放されます。
履歴をフラッシュすると、インクリメンタルシミュレーションとその部分が無効になる場合があります
フラッシュされたものは、アナライザーウィンドウに表示されなくなります。
セットパス [道...]
コマンドファイルの検索パスを設定します。 パス 次のディレクトリのシーケンスである必要があります
「.cmd」ファイル「。」を検索します現在のディレクトリを意味します。 eaxmpleの場合:
セットパス 。 / usr / me / rsim / cmds / cad / lib / cmds
引数がない場合は、現在の検索パスが出力されます。 最初はこれはただです
「。」
印刷 文章...
ユーザーのコンソールにテキストを印刷するだけです。 ユーザーの投稿を維持するのに便利です
長いコマンドファイルを進めます。
ログファイル [ファイル名]
指定された名前でログファイルを作成し、現在のログファイルがある場合はそれを閉じます。 いいえの場合
引数、現在のログファイルを閉じるだけです。 ユーザーのコンソールに表示されるすべての出力
ログファイルにも配置されます。 ログファイルへの出力は巧妙にフォーマットされているので
そのログファイル自体がコマンドファイルとして機能できます。
セットログ [ファイル名 | オフ]
すべてのネット変更と結果のエラーメッセージを指定されたファイルに記録します
(見る "update"コマンド)。正味の変更は常にログファイルに追加されます。
現在の日付による変更の各シーケンス。 引数が OFF その後、ネット-
変更はログに記録されません。 引数がない場合、現在のログファイルの名前は次のようになります。
印刷されます。
デフォルトでは、常に正味の変更が記録されます。 ファイル名が指定されていない場合(
"セットログ"コマンド)デフォルトのファイル名 irsim_changes.log 使用されます。 ログ-
ファイルは、ログファイル自体をネット変更ファイルとして使用できるようにフォーマットされています。
すぐ [ファイル名]
現在のネットワークを指定されたファイルに書き込みます。 ファイル名が指定されていない場合は、
sim_fileの名前を(コマンドラインから)取得して作成されます
それに「.inet」を追加します。 結果のファイルは、将来のシミュレーションで使用できます
まるでsimファイルであるかのように実行します。 生成されるファイルは、マシンに依存しないバイナリです
ファイル。通常、simファイルの約1/3のサイズで、約8倍です。
読み込みが速くなります。
時間 [指図]
引数なしで、シミュレーターによって使用された時間の要約が出力されます。 引数の場合
指定されたコマンドのタイミングが与えられ、時間の概要が出力されます。
コマンドが完了します。 時間の概要の形式は次のとおりです。 Uu Ss E P% M, ここで、
U =>秒単位のユーザー時間
S =>システム時間(秒)
E =>経過時間、分:秒
P => CPU時間のパーセンテージ(((U + S)/ E)* 100)
M =>中央値のテキスト、データ、およびスタックサイズの使用
q
現在の入力ストリームを終了します。 これがトップレベルで入力された場合、シミュレーターは
システムに戻ります。 それ以外の場合、入力は前の入力ストリームに戻ります。
終了する [n]
システムに終了し、 n 報告されたステータスです(デフォルト:0)。
シミュレータパラメータは、以下のコマンドで設定します。 引数なしで、それぞれ
コマンドは、パラメータの現在の値を出力するだけです。
崩壊 [n]
減衰パラメータをに設定します n ns。 (デフォルト:0)。 ゼロ以外の場合は、nsの数を示します。
ノードの電荷がXに減衰するのにかかります。値0は、減衰がまったくないことを意味します。
このパラメータをノードごとに個別に指定することはできませんが、これは
問題になる。 見る "レポート"コマンド。
ディスプレイ [-][cmdfile][自動]
表示モードを設定/リセットします。
コマンドファイル コマンドファイルから実行されたコマンドは、以前にユーザーに表示されます
実行中。 デフォルトは コマンドファイル = オフ。
自動 現在のディスプレイリストを印刷します(「d"コマンド)完了後
"s"または"c"コマンド。デフォルトは 自動 = に。
前のコマンドの前に「-」を付けると、その表示オプションがオフになります。
[名前]
シミュレーションモデルを次のいずれかに設定します。
スイッチ トランジスタを電圧制御スイッチとしてモデル化します。 このモデルは間隔を使用します
トランジスタの抵抗を考慮しない論理レベル、つまり回路
ファイティングトランジスタを使用すると、正確にモデル化されない場合があります。 遅延はないかもしれません
反映する true 回路の速度も同様です。
線形 電圧制御スイッチと直列の抵抗としてトランジスタをモデル化します。
このモデルは、結果のRCから計算された単一時定数を使用します
ネットワークを構築し、XNUMXつの時定数モデルを使用して料金共有を分析します。
スパイク。
デフォルトは 線形 モデル。 シミュレーションモデルはいつでも変更できます
-保留中のイベントがある場合でも-新しい計算のみが影響を受けるため。 それなし
引数の場合、このコマンドは現在のモデル名を出力します。
レポート [レベル]
レベルがゼロ以外の場合、電荷の減衰のためにXに設定されているすべてのノードを報告します。
それらがトレースされているかどうかに関係なく。 レベルをゼロに設定すると無効になります
報告しますが、崩壊自体は報告しません(「崩壊" 指図)。
刻み幅 [n]
シミュレーションステップまたはクロックフェーズの期間を指定します。 n is 指定の nsで。
(ナノ秒)。 小数点を超えて最大1桁の浮動小数点数
許可されています。 さらに小数が切り捨てられます(つまり、10.299 == 10.2)。
単位遅延 [n]
ゼロ以外の場合、すべての遷移を強制的に実行します n ns。 パラメータをゼロに設定する
この機能を無効にします。 解像度は「刻み幅"コマンド。
統計情報 次のように、イベント統計を印刷します。
変更=26077
パント(cns)= 208(34)
パント=0.79%、cons_punted = 16.35%
nevents = 28012; 評価=27972
場所 変更 記録されたトランジションの総数です。 パント の数です
パントイベント、 (cns) 連続するパントイベント(パントイベント)の数です。
それは別のイベントをパントしました)。 最後からXNUMX番目の線は、パントされた割合を示しています
イベントの総数に関するイベント、および
パントされたイベントの数に関する連続したパントされたイベント。 最後
線は、イベントの総数(nevents)とネット評価の数を示しています。
インクリメンタルシミュレーションコマンド:
イルシム ネットワークへの増分変更と結果の再シミュレーションをサポートします
通信網。 これは段階的に行われるため、変更の影響を受けるノードのみが
直接的または間接的に、再評価されます。
update ファイル名
指定されたファイルからnet-changeトークンを読み取ります。 次のnet-changeコマンド
利用可能です:
addタイプゲートソースドレイン長さ幅[面積]
deleteタイプゲートソースドレイン長さ幅[面積]
moveタイプゲートソースドレイン長さ幅[面積]gsd
capノード値
N ノードメタルエリアポリエリアdiff-areadiff-perim
M ノードM2AM2PMA MP PA PP DA DP PDA PDP
threshノード低高
Delayノードtplhtphl
このファイルの詳細な説明については、を参照してください。 正味変化(5)。 これは
実験的なインターフェースであり、将来変更される可能性があります。
このコマンドは回路を再シミュレートしないため、回路が離れる可能性があることに注意してください。
一貫性のない状態のネットワーク。 通常、このコマンドの後には 名前
コマンド(以下を参照)、そうでない場合は、初期化するのはユーザー次第です
回路の状態。 このコマンドは歴史的な理由でのみ存在し、
おそらく将来消えるでしょう。 使用はお勧めしません。
名前 [ファイル名]
指定されたファイルからnet-changeトークンを読み取ります(を参照) 正味変化(5))そして段階的に
現在のシミュレーション時間まで回路を再シミュレーションします(まだサポートされていません)。
IRES n インクリメンタルアルゴリズムは、ノードが過去の動作から逸脱していることを追跡します
ネットワーク履歴に記録されます。 再シミュレーション中、ノードは次のように見なされます。
新しい状態が内部で異なることが判明した場合、その履歴から逸脱します n のns
その前の状態。 このコマンドを使用すると、増分解像度を変更できます。
引数がない場合、現在の解像度が出力されます。 デフォルトの解像度は
0ns。
powlogファイル [ファイル名]
開く ファイル名 節点遷移レポートを作成するため。 レポートの形式は次のとおりです。
通常ノードをトレースするときに得られるのと同じです。 引数なしpowlogfileだけ
開いているログファイルを閉じて、消費電力の概要を出力します。 ノード
入力の遷移は 遷移カウントに含まれます。
パワートレース [[-]ノード...]
このコマンドの構文は通常と同じです t (トレース)コマンド。 もし、あんたが
すべてのノードの消費電力をトレースして報告する場合は、powtrace*を使用します。
powtraceを使用する -ノード 一部のノードを除外する場合。
パウステップ
各タイムステップの後に動的電力推定を表示するかどうかを切り替えます。 The
表示される動的電力は、を使用して選択されたノードに対してのみ表示されます。
パワートレース
対供給 電圧
設定します V で使用する変数 P = CV ^ 2 /(2t) ここでの表現 C 静電容量です
切り替え、および t タイムステップです。 vsupplyのデフォルト値は5.0ボルトです。
サムキャップ の合計を与える を 節点容量、 で選択されたものだけ パワートレース
onworks.netサービスを使用してオンラインでirsimを使用する