【LTspice】インバータ(inv)の作成方法と使い方

スポンサーリンク

LTspiceにはインバータ(inv)の論理回路があります。
インバータ(inv)は、LTspice上では主にICのモデル内に使用されています。
この記事では

  • インバータ(inv)の作成方法・使い方
  • ビヘイビア電源によるインバータ(inv)の作成方法

を説明します。

インバータ(inv)の出し方

【LTspice】「Select Component Symbol」でinvを選択する

  1. LTspiceを開いた後、メニューバーでcomponentボタンを押します。
  2. 「Select Component Symbol」が開くので、[Digital]フォルダからinvを選択し、OKボタンを押します。
  3. インバータ(inv)が回路図上に表示されます。

インバータ(inv)のポイント

【LTspice】インバータ(inv)のポイント

  • インバータ(inv)の左下角にある丸はCOM端子となっています。このCOM端子は通常GNDに接続して使用します。また、入力(S,R)と出力(Q,Q反転)の端子で使用しないものはCOM端子に接続すると、シミュレーション時間を短縮することができます。
  • COM端子やGNDを入力端子(S,R)に接続しても、入力の論理レベルは”L”となりません。”L”にするためには、0V(厳密にはVt以下)の電圧源を入力に接続する必要があります。

インバータ(inv)のシミュレーション例

【LTspice】インバータ(inv)のシミュレーション例
実際にインバータ(inv)を使用してみましょう。上図のシミュレーションでは入力端子INにPWL電圧V1(1sで0Vから5Vになる電圧源)を接続した時の出力端子OUTの電圧を観測しています。上の右がシミュレーション結果となっており、赤が入力端子INの電圧、青が出力端子OUTの電圧となっています。

また、インバータ(inv)はパラメータを設定することができます。インバータ(inv)に記載してある、「Vhigh=5」は「Logic high level(論理"H"レベル)」です。入力端子INの電圧が閾値電圧Vt以下の場合、Vhighで指定した電圧となります。「Vlow=0」は「Logic low level(論理"L"レベル)」です。入力端子INの電圧が閾値電圧Vt以上の場合、Vlowで指定した電圧となります。パラメータはコントロール(Ctrl)を押しながら、部品を右クリックした際に出てくるComponent Attribute Editorメニューの「Value」か「SpiceLine」にパラメータを入力することで設定できます。「Vhigh」は出力の”H”レベルとなっており、デフォルトでは1Vになります。「Vlow」は出力の”L”レベルとなっており、デフォルトでは0Vになります。

その他、インバータ(inv)で使用できるパラメータを以下に示します。

パラメータデフォルト値意味
Vhigh1Logic high level(論理"H"レベル)
Vlow0Logic low level(論理"L"レベル)
Trise0Rise time(立ち上がり時間)
VfallTriseFall time(立ち下がり時間)
Tau0Output RC time constant(RC時定数)
Cout0Output capacitance(出力キャパシタンス)
Rout1Output impedance(出力インピーダンス)
RhighRoutLogic high level impedance(論理"H"レベルインピーダンス)
RlowRoutLogic low level impedance(論理"L"レベルインピーダンス)
Td0Propagation delay(伝搬遅延)
Ref0.5*(Vhigh+Vlow)Input Logic threshold
Vt0.5*(Vhigh+Vlow)Schmitt input trip point(閾値電圧)
Vh0.1Schmitt input hysteresis(ヒステリシス電圧)

ビヘイビア電源でインバータ(inv)を作成する方法

【LTspice】ビヘイビア電源でインバータ(inv)を作成する方法
ビヘイビア電源を用いてもインバータ(inv)を作成することができます。上図のシミュレーションでは入力端子INにPWL電圧V1(1sで0Vから5Vになる電圧源)を接続した時の出力端子OUTの電圧を観測しています。上の右がシミュレーション結果となっており、赤が入力端子INの電圧、青が出力端子OUTの電圧となっています。

ビヘイビア電源B1の式は以下のように記述します。

V=IF(V(IN)>{VTHRESH},{VSS},{VDD})

これは入力端子INの電圧が{VTHRESH}より大きい時は{VSS}となり、入力端子INの電圧が{VTHRESH}より小さい時は{VDD}となるようにしています。

上の回路をネットリストで記述すると以下のようになります。

.SUBCKT NOTnet IN OUT PARAM:VDD=5 VSS=0 VTHRESH=2.5
B1 OUT 0 V=IF(V(IN)>{VTHRESH},{VSS},{VDD})
.ENDS NOTnet

スポンサーリンク