ttl.png



標準 CMOS ロジックファミリーのトランジスターモデルが NXP 社から入手でき ます。 このうち 74HCU04, 74HC4066 など、アナログ的な機能を持った素子を特に重視して 取り上げます。 74HC/HCT だけでなく、74LV 等にも応用できます。

 NXP 標準ロジック SPICE Models  HC(T) LV

● ダウンロードしたファイルのうち hc_tmomi.cir が標準スピードのライブラリー で、hct.cir がそのテスト回路です。 Hct.cir の注釈にある通り、内部 機能 (論理演算や FF 機能) はモデル化されていませんし、 伝播遅延もデータシート記載の値とは異なります。 但しインバーター・バッファー・ アナログ SW については内部機能追加の必要はありません。

・ モデルライブラリーは3段階のトップダウン構造になっています。
あえて逆順に見ていくと、第1段階 は .model を使って MOSFET の MHCNEN, MHCPEN を定義します。 実際の使用時には ドレインやソースの幅・長さ・面積・周囲長を指定します。 L, W はチャネルの長さと幅 (m)、AD, AS はドレインとソースの拡散領域の面積 (m^2)、 PD, PS はドレインとソース接合の周囲長 (m) です。
 .Model MHCNEN NMOS ...
 .Model MHCPEN PMOS ...

・ 第2段階の素材です。 類似名で "T" がついているのは HCT 用です。
 .SUBCKT INP0N      入力保護回路
 .SUBCKT INP1N, INP1TN  入力保護回路+インバーター
 .SUBCKT INP2N, INP2TN  同上、インバーターが大型
 .SUBCKT SMT1N, SMTTL1N シュミットトリガー入力段
 .SUBCKT INVN      インバーター
 .SUBCKT NANDN      内部使用 NAND、HC138 で使う
 .SUBCKT LLCN      レベルコンバーター
 .SUBCKT SWITCH1N    アナログスイッチ
 .SUBCKT SWITCH2N    同上、Vee なし
 .SUBCKT SWITCH3     HC4316 で使う
 .SUBCKT BUSOUTPN    3-ステート (TSL) 出力段
 .SUBCKT OUTUN      出力バッファー (インバーター)
 .SUBCKT OUTPN      OUTUN より小型
 .SUBCKT INV4N      INVN よりずっと小型

・ 第3段階です。 前項の素材を利用し、パッケージのリードインダクタンスや浮遊容量も ついています。(HCT 用は省略)
 .SUBCKT INV0    INP0N, OUTUN を使用 (HCU04)
 .SUBCKT INV1    INP1N, INVN, OUTPN
 .SUBCKT INV2    INP2N, INVN, OUTPN
 .SUBCKT INVSMT   SMT1N, INVN, OUTPN
 .SUBCKT NINV1   INP1N, INVN, INVN, OUTPN
 .SUBCKT NANDINV  INP2N, INP2N, NANDN, OUTPN
 .SUBCKT SWI1    INP2N, LLCN, SWITCH1N
 .SUBCKT SWI2    INP2N, INV4N, SWITCH2N
 .SUBCKT SWI3    INP1N, LLCN, SWITCH3N
 .SUBCKT NINV3   INP2N, INVN, BUSOUTPN

・ おなじみの 74HCxx と前項 INV0, INV1, ・・ の関連付けは hct.cir に書いてあります。
 HC00  INV2
 HCT00  INV2T
 HC04  INV1
 HCT04  INV1T
 HCU04  INV0
 HC14  INVSMT
 HCT14  INVSMTT
  ・・・
 HC4051 SWI1
 HC4052 SWI1
 HC4053 SWI1
 HC4066 SWI2
 HC4316 SWI3
  ・・・

● まずは INV0 (HCU04), INV1, INV2 を使ってみます。 負荷が軽いことにご注意下さい。(INV012test.asc)

1.png

伝播遅延は INV0 < INV2 < INV1 の順です。 INP2N のインバーターのほうが大面積 なので、INP1N より高速である効果が現れています。

INV012test.asc をご覧下さい。 ファイル類は sltm.zip にまとめてあります。 展開した後、フォルダー "hier" と同列な位置に NXP のライブラリーフォルダー "hc" を移動あるいはコピーすると、シミュレーションが実行できます。

● 次は SWI2 (HC4066) です。 SWI2test.asc を見てください。

sltm.zip
3.png

X1 ジャンパーをつなぎ替え、.dc を生かしてスイッチ ON 抵抗をシミュレーション測定しました。
4.png
"特異点" があるのですが、なんとかそつなくグラフ化してくれています。

● このやり方でどんどん利用はできるのですが、さて INP0N, INP1N, INP2N ・・・ の中身は どうなっているのか? 人間向けには記述されていないので、回路図に書き直してみま した。 hier/*.asc をご覧下さい。(一部)

5.png

回路図で書き表して View → SPICE Netlist で表示させた結果と、.SUBCKT INP0N 等 の記述の重要部分が一致するなら正しいと言えます。 とは言うものの、やはり実際に試さないと 確実ではありません。 hier/test_SWI2/test_SWI2.asc をシミュレートしてみて下さい。 同じ 結果が得られます。

● SWI1 をテストしました。(SWI1test.asc)

6.png
7.png

この回路を .tran 解析をすると、9μs 付近でハングしてしまいます。 これは未解決です。
その後 .SUBCKT SWI1 中 の L1 .. L4 を 1/20 にし、負荷抵抗は 100kΩ、負荷容量なしにすると 一応 .tran 解析ができることを発見しました。(hier/test_SWI1/test_SWI1.asc 参照)
なお、SWI3 をテストすると hc_tnomi.cir 中の名前の付け間違いでエラーになり ます。ヤツラもけっこういいかげんだな。

● 74HC14 の入力回路に使っている SMT1N を調べました。 74HC14 の内部等価回路はあまり 見かけた記憶がないので、.subckt を階層化回路に書き直しました。(hier/test_SMT1N/SMT1N.asc)

8.png

上記のテスト回路です。(hier/test_SMT1N/test_SMT1N.asc)
9.png
10.png

横軸を V(3) に変えるとヒステリシス特性が見やすくなります。
11.png

実際の HC14 には、この後に INVN, OUTPN が継続接続されています。

 もどる

Valid HTML 4.01!