Transistor-transistor logic
Transistor-transistor-logic (TTL) はバイポーラトランジスタと抵抗器で構成されるデジタル回路の一種。論理ゲート段（例えばANDゲート）と増幅段のどちらの機能もトランジスタを使って実装しているので、（RTLやDTLとの対比で）このように呼ばれている。
半導体を用いた論理回路の代表的なもののひとつであり、通常+5V単一電源のモノリシック集積回路 (IC) ファミリとして、コンピュータ、産業用制御機械、測定機器、家電製品、シンセサイザーなど様々な用途で使われている。TTLという略称は、TTL互換の論理レベルの意味で使われることもあり、TTL ICとは直接関係ないところでも使われている。例えば電子機器の入出力のラベルなどに表示することがある。
DTLの改良品であり、さまざまなメーカーによってICが製造されているが、1970年代にテキサス・インスツルメンツ社（以下 TI, Texas Instruments）の汎用ロジックICファミリ（7400シリーズ）が広く普及して業界標準となった。標準シリーズから、高速版、低消費電力版、高速・低消費電力版などのバリエーションを広げ、初期のマイクロプロセッサの応用の広がりとともにさらに普及した。しかし、バイポーラトランジスタを使うため、低消費電力化・高集積化・低電圧化には向かず、CMOS技術の発達に伴いデジタルICの主力の座をCMOSに譲った。
歴史
1961年、TRWの James L. Buie が「新たに開発する集積回路の設計技術に特に適した」ものとして発明。当初は transistor-coupled transistor logic (TCTL) と名付けられていた。最初に製品化されたTTLのICチップは、1963年にシルバニア (en) が製造したもので Sylvania Universal High-Level Logic family (SUHL) と名付けられた。シルバニア製の電子部品はフェニックス・ミサイルの制御に使われた。TIが軍用規格（動作を保証する温度範囲が広い）の5400シリーズICを1964年に発売し、民生用規格でパッケージもプラスチックにした7400シリーズICを1966年に発売すると、TTLは電子システム設計で広く使われるようになっていった。
TIの7400ファミリは業界標準となった。モトローラ、AMD、フェアチャイルド、インテル、Intersil、Signetics、Mullard、シーメンス、SGS-Thomson、ナショナル セミコンダクターといった半導体企業が7400ファミリ互換のICを製造した。単に互換TTL部品を各社が製造しただけではなく、他の回路技術を使った互換部品も製造された。ただしIBMは他とは互換性のないTTL部品を製造し、社内でSystem/38、IBM 4300、IBM 3081といった製品に使用していた。なお、54シリーズと74シリーズの中間的な位置付けの製品として、64シリーズも存在し、数年間は製造されたがその後廃止となっている。
"TTL" という略称はバイポーラ汎用ロジックICのその後の世代にも約20年にわたって使われ続け、速度や消費電力が改善されていった。最近のロジックICファミリである 74AS/ALS（アドバンストショットキー）は1985年に登場した。2008年時点でも、TIは様々な古い技術の汎用ロジックICを供給し続けているが、価格は以前より高くなっている。一般にTTLロジックICは数百個以上のトランジスタを集積していない。チップ当たりに搭載される機能は、数個の論理ゲートからビットスライス式のマイクロプロセッサの範囲である。TTLの重要な特徴はその低価格さであり、そのためにそれまでアナログ回路で実現していた機能が次々とデジタル化されていった。
パーソナルコンピュータの先祖の1つとされる Kenbak-1 はCPUをTTLで構成したもので、1971年当時マイクロプロセッサはまだ入手できなかった。1973年の Xerox Alto と1981年の Star ワークステーションはGUIを導入したことで知られているが、ALUやビットスライス単位のTTLチップを使って構成されていた。1990年代まで、多くのコンピュータはLSIの間をTTL互換ロジックで接続するという形で構成されていた。プログラマブルロジックデバイスなどが登場するまで、TTLに代表されるバイポーラ・ロジックICは開発中のマイクロアーキテクチャのプロトタイピングとエミュレーションに使われていた。
基本的なTTLゲート
TTLはDTL (Diode-transistor logic) を自然に発展させたもので、基本概念は共通である。DTLで入力ダイオードで構成している論理ゲート部分をマルチエミッタ・トランジスタのベース-エミッタ接合を使って実現している。IC上のこの構造は、複数のトランジスタのベースとコレクタをまとめるように接続したのと同等である。単純なTTL論理ゲートの出力はDTLと同様にエミッタ接地回路で増幅される。
全入力にHI電圧 (1) が印加されると、マルチエミッタ・トランジスタのベース-エミッタ接合部に逆バイアスがかかる。このトランジスタは逆方向アクティブモードにあるため（コレクタとエミッタが逆転した状態）、DTLとは対照的に入力から小さい（約10μA）コレクタ電流が流れる。ベース抵抗と供給電圧の組み合わせは実質的に定電流源として機能する。マルチエミッタ・トランジスタのベース-コレクタ接合を通して電流が流れ、出力トランジスタのベース-エミッタ接合がONになる。したがって出力電圧は LO (0) になる。
一方の入力電圧がLO (0) になると、対応するマルチエミッタ・トランジスタのベース-エミッタ接合は2つの直列の接合部（マルチエミッタ・トランジスタのベース-コレクタ接合部と後段のトランジスタのベース-エミッタ接合部）と並列に繋がる。すると入力のベース-エミッタ接合部は出力トランジスタのベース電流を入力ソース（接地）に流れ込ませる。出力トランジスタのベース電流が遮断されることでスイッチが切れた状態になり、出力電圧はHI (1) になる。遷移の間、入力トランジスタはほぼアクティブ領域にある。そのため出力トランジスタのベース電流の大部分を流れなくし、素早くベースの電位を下げる。TTLがDTLに比べて優れているのは、このようにダイオードを使った入力段よりも高速に遷移する点である。
出力段の単純なTTLの短所は、出力がHI (1) のときの出力抵抗が高く、その値が完全に出力トランジスタのコレクタ抵抗で決まる点である。そのために接続可能な入力数（ファン・アウト）が制限される。単純な出力段の長所として、出力に負荷が接続されていないときに出力の "1" に対応する電圧が高い（VCC に近い）という点が挙げられる。
この種のロジックは出力トランジスタのコレクタ抵抗を省略し、オープンコレクタ出力とすることが多い。そうすると、いくつかの論理ゲートの出力を接続して外部に1つのプルアップ抵抗を用意するという設計が可能となり、ワイヤードANDまたはワイヤードORにすることができる。例えば 7401 や 7403 がそのような構成である。
「トーテムポール」出力段のあるTTL
単純な出力段では出力抵抗が高いという問題を解決するには、「トーテムポール」出力（プッシュプル出力）段を追加する。右図のように2つのNPNトランジスタ V₃ と V₄、ダイオード V₅、電流を制限する抵抗器 R₃ で構成される。入力がLOのときの電流の制御の考え方がこの構成でも適用されている。
V₂ がオフのとき V₄ もオフとなり、V₃ がアクティブ状態となってコレクタ接地回路として働き、HI電圧 (1) が出力される。V₂ がオンのとき V₄ もオンとなり、出力はLO電圧 (0) となる。V₂ と V₄ のコレクタ-エミッタ接合は、直列の V₃ のベース-エミッタ と V₅ のアノード-カソード接合をV₄ のベース-エミッタ接合と並列接続する。すると V₃ のベース電流が流れなくなり、このトランジスタはオフになって出力に影響を与えなくなる。この遷移の際に抵抗器 R₃ が直列接続されているトランジスタ V₃ とダイオード V₅、さらにトランジスタ V₄ に流れる電流を制限する。また、出力電圧がHI (1) のときの出力電流も制限し、接地との短絡接続のときの出力電流も制限する。プルアップ抵抗とプルダウン抵抗を出力段から排除することで、消費電力を増大させずにゲートを強化できる。
トーテムポール出力段付きTTLの最大の利点は、HI (1) 出力の際の低出力抵抗である。その値はコレクタ接地回路として動作している上段の出力トランジスタ V₃ によって決まる。抵抗器 R₃ は V₃ のコレクタに接続されており、負帰還によってその影響が補償されるため、出力抵抗にはほとんど影響しない。欠点は出力に負荷が接続されていない場合でも出力のHI電圧が低くなる（3.5V以下）という点である。これは、V₃ のベース-エミッタ間と V₅ のアノード-カソード間で電圧降下があるためである。
インタフェース
論理レベルを0にするには入力に向かって電流が流れなければいけないため、DTLと同様にTTLは「電流シンク・ロジック」といわれる。入力電圧がLOのとき、TTLの入力ソース電流は前段に流れ込むので、そちらで吸収されなければならない。この電流の最大値は基本的TTLゲートで約1.6mAである。入力ソースは、こうして流れ込む電流が無視できるレベル（0.8V未満）の電圧しか発生しないよう抵抗値を小さく（500Ω未満）する必要がある。推奨されない使い方だが、使わない入力を常に論理値 "1" にしておくためにどこにも接続しないままにしておくことがある。
標準TTL回路の電源電圧は5ボルトである。TTLの入力信号は接地に対して0Vから0.8VのときLOと定義され、2.2Vから5VのときHIと定義される（正確な電圧はロジックの種類や温度によっても異なる）。TTLの出力の電圧範囲はそれよりも狭く、0Vから0.4VがLO、2.6Vから5VがHIとなっていて、それぞれ0.4Vのノイズのための余裕がある。TTLの電圧レベルの規格化により、回路基板上に様々なメーカーのTTLチップが混在することが当たり前となった。同じ製品でも製造日が違えば異なるメーカーのTTLチップを使うことがあった。製造後何年も経った回路基板の修理に新たに製造された同型のTTLチップを使うことが可能である。電気的特性が広く統一されていたため、相性などを考慮する必要がなく、理想的な論理デバイスとして扱えた。
TTL論理ゲートの出力をCMOSゲートの入力に使用する場合など、トーテムポール出力段の論理レベル "1" の電圧を VCC に高めるために、出力ピンと VCC の間に外部抵抗器をはさんで接続することがある。ただしこのようにするとトーテムポール型の出力を単純な基本的TTL出力に戻していることになり、大きな出力抵抗が生じる。
パッケージ
1965年から1990年にかけての多くの集積回路と同様にTTLデバイスはスルーホール実装用にパッケージされた14ピンから24ピンのDIPが一般的だった。エポキシ樹脂製 (PDIP) が一般的だが、セラミック製 (CDIP) もある。大規模なハイブリッドIC向けにパッケージされていないビームリードつきのチップダイスも作られている。軍用や航空宇宙用には表面実装パッケージの一種であるフラットパック (en) でパッケージされている。今ではTTL互換デバイスの多くは表面実装型のパッケージであり、様々な種類がある。
TTLは全ての入力が1つのベース領域上に形成されるマルチエミッタ・トランジスタになっているため、構造的に集積回路に向いている。個別部品でTTL回路を構成しようとするとコストが高くつくが、ICで実装すると逆にコストが下がる。
他の汎用ロジックICファミリとの比較
TTLデバイスは一般に等価なCMOSデバイスに比べて消費電力が大きいが、CMOSデバイスがクロック周波数を上げると消費電力が大きくなるのに対して、TTLではそれほど増加しない。ECLに比べると消費電力が少なく設計も容易だが、スイッチング性能は低い。性能と経済性を両立させるためにTTLとECLを混在させてシステムを構築することもあったが、両ファミリの間にレベルを変換するデバイスを必要とした。初期のCMOSデバイスは静電気の放電に対してTTLより弱かった。
TTLデバイスの出力構造により、出力インピーダンスがHI状態とLO状態で異なるため、伝送線の駆動には不向きである。そのため、ケーブルなどで信号を送る際には伝送線駆動のための専用デバイスで出力をバッファリングするのが一般的である。ECLは出力インピーダンスが対称的であり、このような欠点がない。
トーテムポール構造の出力段の場合、上下のトランジスタが同時にONになる瞬間が存在し、電源からの電流がかなりのパルスとなって流れる。このパルスがIC間で影響を及ぼしあい、結果としてノイズマージンが低下し性能も低下する。TTLシステムでは1つか2つのICパッケージ毎にバイパスコンデンサを配置するのが一般的で、それによって電流パルスが他のチップの電源電圧を瞬間的に低下させないようにしている。
いくつかの製造業者は、TTL互換の入出力レベルのCMOSロジックICを販売しており、ピン配置などもTTLと合わせていることが多い。例えば74HCTシリーズはCMOSテクノロジーを使い、バイポーラの74シリーズの部品と置換可能である。
用途
VLSIが登場するまで、TTLのICチップを使ってミニコンピュータやメインフレームのプロセッサを構築するのが標準的技法だった。例えば、DECの初期のVAXやデータゼネラルのEclipseがそのような構成である。他にも数値制御の工作機械、プリンター、ビデオディスプレイ端末などで使われている。マイクロプロセッサが広まるとTTLは「グルーロジック」として重要になり、マザーボード上でVLSIで実装された機能ブロック間を繋ぐ役割を担うようになった。
アナログ回路での利用
元々はデジタル信号を扱うよう設計されているが、TTLのインバータはアナログ増幅器としても使える。出力と入力の間を抵抗器で繋ぐと、負帰還増幅回路として機能する。アナログ信号をデジタルに変換する場合などに使われるが、単にアナログの増幅を行う用途ではTTLインバータを使うことはない。TTLインバータは水晶振動子の信号増幅にも使われる。