デジタル回路
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/11/14 07:11 UTC 版)
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2024年3月) |
デジタル回路(デジタルかいろ、英: digital circuit - ディジタル回路)は、アナログ回路に対比してデジタル表現された電気信号の論理演算、相互変換、蓄積及び伝達などを行う[1]、離散的な電位範囲など[注釈 1]を情報の表現に用いる電子回路で、論理回路の実現法のひとつである。信号レベルが公差、減衰、ノイズなどで若干変動したとしても、しきい値[注釈 2]の範囲内ならば無視され、いずれかの状態として扱われる。許される範囲に間隔が設定されていて、「いずれの状態でもない」という異常として検出されるといった場合もある。
まず2状態を前提として説明する。2000年代の多くの機器では、0Vに近い電圧と、5Vや3V、1.2Vといった電圧を、2種類の状態に対応させている。これらはそれぞれ「Low」「High」、「L」「H」などと表現される。Lowを0や偽、Highを1や真に対応させる正論理と、逆に対応させる負論理は、相互接続などではどちらかに決めないといけないが、内部的には適宜使い分ける(回路的にはANDやORよりもNANDやNORのほうが作りやすいといったこともあり、適宜使い分けないと非常に効率が悪い)。かつては15V程度までは使われることもあった。以上は集積回路ベースの現在広く使われている回路の場合で、いわゆるディスクリート部品の時代や、真空管による回路の時代にはもっと高い電圧が使われていた。また、2010年代に増えてきたMLCのフラッシュメモリなどのように、多値論理に相当する、2よりも多くの状態を利用している素子や機器といったものもそれなりにある。
概要
正確に連続な値の変化を再現する必要がなく、いくつかの既知の状態だけを扱えばよいので、アナログ回路よりも扱いが容易なことも多い。一方、電流の合計などとして加算を扱うことができる、といったように、アナログ的なほうが扱いが簡単な場合もある。デジタル回路は、その機能に応じて様々な回路が考案されている。以下の代表的なデジタル回路については、それぞれの項目に詳細な説明があり汎用ロジックICにこれらの製品に関する説明がある。
利点
アナログ回路と比較したときのデジタル回路の利点は[2]、伝送された信号がノイズによって劣化しても、あらかじめ見込んだ許容範囲内ならば、ディジタル的に表現された情報は劣化することなく伝送できるという点である。例えば、連続な音響信号も1と0の並びとして伝送すれば、ノイズが1と0を区別できなくするほど大きくない限り、誤りなしで元の音響信号を再現することができる。アナログ記憶されているLPレコードが直径12インチ (30cm) で収録時間30分に対し、直径12cmのコンパクトディスクには約1時間分の音楽を録音でき、その記録は約60億個の1と0で構成されている。
デジタルシステムでは、より正確に信号を表そうとするとより多くのビット数を必要とする。すると信号を処理するのにより多くのデジタル回路が必要となるが、個々のビットの処理に必要なハードウェアは同種のものである。アナログシステムで分解能を上げようとすれば、回路の線形性やノイズ特性といった根本的な改善が必要となる。
コンピュータ制御のデジタルシステムはソフトウェアで制御され、ハードウェアを改造しなくとも機能を追加できる。この場合の機能追加は工場の外で行われ、製品のソフトウェアをアップデートすることで行われる。製品設計に問題があったとしても、顧客が自分の手で後から修正することも可能となる。
情報の格納はアナログよりもデジタル回路の方が容易である。デジタルシステムのノイズ耐性により、格納して取り出す際にもデータが劣化しない。アナログシステムでは、経年劣化や磨耗によってノイズが蓄積し、格納されている情報が劣化する。デジタルシステムでは、そのようなノイズが一定のレベル未満であれば、情報を完璧に復元できる。
欠点
場合によっては同じことをするアナログ回路よりもエネルギーを多く消費することがあり、結果として発熱も多くなる。携帯型のバッテリー駆動のシステムでは、このことがデジタルシステム利用の制約になることがある。
例えば、携帯電話は基地局との無線通信のフロントエンド部(増幅や同調[注釈 3])に低消費電力のアナログ回路を使うことが多い。一方、基地局は通常の電力網から電力供給されるので、電力消費が大きいが非常に柔軟なソフトウェア無線を利用できる。その場合、無線の規格変更にもプログラムの変更で柔軟に対応可能である。
デジタルシステムの多くは連続なアナログ信号を離散的なデジタル信号に変換する必要がある。このとき量子化誤差を生じる。量子化誤差を低減するには、必要な忠実度にあわせて信号を表すデジタルデータの量を増やせばよい。標本化定理は、アナログ信号を正確に表すのに必要なデジタルデータの量について重要な指針を与える。
システムによっては、デジタルデータのごく一部が失われたり壊れたりしただけで関連する大きなデータブロックの意味が完全に変わってしまう。例えばアナログのテレビは信号(電波)が弱くなると徐々にノイズが多くなるが、デジタルテレビではノイズがあるしきい値を越えると突然映像の再現が全くできなくなる。
デジタルの脆さはシステムの頑健性を高める設計によって改善できる。例えば、パリティビットや誤り検出訂正といった手法を信号経路に挿入する。それらは誤りを検出して、さらにその誤りを訂正できるものであり、あるいは少なくともデータの新たなコピーの再送を要求できる。状態機械では、未使用状態を捉えるとリセットシーケンスのトリガーとしたり、誤り訂正処理を開始したりするよう状態遷移ロジックを設計できる。
デジタルのメモリシステムや通信システムは、誤り検出訂正の技法として追加のデータを使って訂正するという方法を採用することができる。 一方で、1ビットの誤りにも無防備なデジタルシステムもある。これは、より下のレイヤで誤りを検出して訂正するか、訂正不能な場合は破棄・再送するなどしていて、誤りが入り込まないことを前提にできる場合である。たとえば、FTPには通常、誤り訂正などは無いが、それはTCPにチェックサムによるチェックがあるためであり、さらに良く使われているイーサネットでCRCによるチェックが入るため、誤りはまず無いとして良いからである。
電圧レベル
デジタル回路では2つの電圧レベルを、二進数または論理レベルの「0」と「1」を表すために使う。正論理(アクティブ・ハイ)では、Lowは二進数「0」、Highは二進数「1」を表し、負論理(アクティブ・ロー)では逆の意味に使われる。たとえば、0から1.5ボルトは論理0、3.5から5ボルトは論理1というようになる。1.5から3.5ボルトの間はスレッショルド・レベルと呼ばれる論理遷移時以外では禁止された電圧領域であり、HighとLowの入力の区別がつかないために動作の保証が得られなくなる。論理遷移の期間というのは、通常は過渡的な現象であり、ほとんどの回路は純粋な抵抗回路ではないので電圧レベルがすぐに変化しないことによって起こる。このような異常状態を検知できる論理回路もあるが、多くの場合、後段の回路では前段の回路での遷移によって出力を変化させる前に前段の遷移が終了しHigh又はLowに安定するが、前段の回路での遷移に時間が掛かれば、後段回路では入力をHigh又はLowのいずれかとして解釈する。
CMOSによるデジタル回路の場合、その内部構造の都合上、この異常状態にある間は回路が大量の電力を消費してしまう。このため、異常状態を長く継続させてしまうと発熱により素子が破壊されるため、異常状態の継続を避ける回路上の工夫が必要となる。
一方、波形の立ち上がりと立ち下がりで論理遷移の値を意図的に異なる値とすること(ヒステリシス、履歴現象)で異常状態を回避する方法があり、シュミットトリガと呼ばれる。抵抗器の接続により容易に実現可能であるほか、専用の汎用ロジックICもある。
回路素子 | Lowの電圧 | Highの電圧 |
---|---|---|
CMOS | 0 - 0.3Vdd | 0.7Vdd - Vdd |
TTL | 0 - 0.8V | 2V - Vcc |
VddとVccは電源電圧を意味する。TTLの電源電圧の許容範囲は4.75-5.25Vである。
電源電圧が同じCMOSとTTLが同一回路上に混在している場合、CMOSの出力をTTLに入力することは問題ないが、その逆はTTLのHレベル出力電圧の下限がCMOSのHレベル入力電圧の下限を満たさないため、誤動作する可能性がある。このようなときは、TTLの出力をプルアップするなどの処理が必要となる。[注釈 4]
初期のデジタル回路では、シリコン基板上へのトランジスタの形成の制限によりPMOS、又はNMOSにより回路内部を構成していた。この場合、入力がLowの時にはあまり電力を消費しないが入力がHighの時には大きく電力を消費する、又はその逆の特性を持つため、この都合に合わせてアクティブ・ハイで論理回路を設計するか、アクティブ・ローで論理回路を設計するかが消費電力削減には重要な意味を持っていた。
プルアップ・プルダウン
上で述べたように、デジタル回路の電圧レベルは、原則として「High」または「Low」の論理レベルに合致した電圧が印加されていなければならない。「High」と「Low」の中間の電圧の状態になると、内部状態が不安定になり誤動作を起こしたり、消費電力が著しく増加したりする。また、「Low」よりも低い電圧や「High」よりも高い電圧が印加されると、設計外の電流の流れが発生して回路の破壊などが起こりえる。
一般に、デジタル回路の入力端子は内部インピーダンスが高い(電源回路との絶縁性が高い)。そのため、入力端子がどこにも接続されないような状態にあると、近辺の静電気や電磁誘導による電流の侵入によって予期せぬ電圧が印加される場合がある(電圧は電流とインピーダンスを掛け合わせた値で、微弱な電流でも高い電圧としてあらわれる)。このように、入力端子がどこにも接続されていない状態は「浮いている」と表現されることが多く、内部の回路に障害(影響)を受けないよう対策をとらなければならない。
対策としては、電源電圧または接地電圧と、入力端子との間に、数kΩから数百kΩという比較的高い値の抵抗器を挿入する。電源(電源電圧)側に抵抗器を挿入することをプルアップと呼び、しばしば「電源に吊りあげる」などと表現することもある。また、接地(接地電圧、グランド)側に抵抗器を挿入することをプルダウンと呼び、しばしば「グランドに落とす」などと表現される。
プルアップまたはプルダウンされた入力端子は、出力端子が何も接続されていない状態でも、抵抗器(「プルアップ抵抗」、「プルダウン抵抗」という)の効果により、大きな電磁誘導等が起こらない限り電源電圧(High)または接地電圧(Low)のデジタル回路としての電圧が常に保たれる。なお、他のデジタル回路から出力信号を受ける場合、その出力中の回路は内部インピーダンスが極めて低くなるため、プルアップやプルダウンに使われる抵抗値は、回路全体としてはほとんど無視できる状態になる。[注釈 5]
プルアップ抵抗の値は、大きすぎると絶縁とあまり変わらない状態になり、電磁誘導などに弱くなってしまう。しかし、小さすぎるとそこに接続される出力素子に大きな電流を流す要因となり、回路の消費電力の増大や最悪の場合出力素子の破損につながることになる。
入力端子につながる信号線が、通信線などのように比較的長い距離を持つものである場合、その線で電磁誘導が起こって電源電圧や接地電圧の範囲外の異常電圧が加わる可能性が高くなる。こういった場合には、プルアップ抵抗に並列にダイオードを挿入し、異常電圧による電流が電源線のほうに逃げてデジタル回路素子内に流れ込まないように工夫をする。この用途のダイオードは「クランプダイオード」と呼ばれる。デジタル入力の保護目的以外でも、電圧値域を制限する目的のダイオードはクランプダイオードと呼ばれる。
複数の回路数を持つ汎用的な集積回路を使った設計を行うとき、ひとつの集積回路の中に入っている全ての回路を使わずに、一部の回路だけを使うということがよく行われる。この時、使用しない回路の入力端子はその状態が High だろうが Low だろうが動作に全く関係がないため、ともすればどこにも接続されずに放置されてしまうことがある。しかし、入力端子の電位が設計範囲外になったりしきい値付近になると設計外の電流の流れが生じ、周辺の回路を巻き込んで破壊されてしまうことがある。特にTTLでは入力端子が解放されていても破壊の危険性が比較的低かったため、配線省略などを意図して未使用入力端子の処理をしないことも多かった。しかし、CMOSの場合は中間電圧が加わった時に大電流が流れるなど回路破壊の可能性が高く、入力端子の処理を怠ると危険である。また、TTLであっても未使用入力端子を放置すればゲート回路はノイズを入力源としたアンプとして働き、電力をムダに消費しながら周囲の信号の変化に応じて電源とグランドの電位を揺らすため避けなければならない。これらの処理を正しく行っていない回路は、一応は動作するためミスに気付き辛く、量産をしたり長期運用をしたときに故障率が異常に高いことによって発見されるということもある。実際の回路設計では、TTLであるかCMOSであるかを区別せず、未使用回路の入力端子は必ず処理されなければならない。
近年の組み込み用CPUなどの集積回路の場合、外部に付けなければいけない部品点数を削減するために、このプルアップ抵抗を集積回路の中に内蔵しているというものが多くなってきている。また、製品によっては、このプルアップ抵抗を使うか使わないかをソフトウェアで選択できるようになっているものもある。
ファン・アウト
デジタル回路では、ひとつの出力端子に複数の後段回路の入力がつながることはごく普通に行われる。出力端子につながれた入力端子の数のことを、出力端子を扇の要に見立てて、ファン・アウトと呼ぶ。
デジタル回路では電圧値により情報を素子から素子に伝達するが、この際電気回路であるから当然電流の流れが伴う。具体的には、出力側のレベルをLにする為には、出力端子が後ろの回路から電流を吸い込む動作をし、出力側のレベルをHにする為には、出力端子が後ろの回路に電流を吐き出す動作をする。
TTLのように、入力端子に流れ込んだり、入力端子から流れ出したりする電流が比較的大きな素子で回路を組む場合、前段の出力側素子の電流駆動能力によって、ファン・アウトの数が制限されてくる。
TTLの場合、標準タイプ・LSタイプ・ALSタイプなど様々なタイプのシリーズがあるが、そのシリーズ内の規格により出力端子の駆動能力と、入力端子が吸い込む(または吐き出す)電流の最大値が規格化されているため、同じシリーズのIC同士であれば、ファンアウトの制限値は同じになる。
ただし、多数の入力に信号を分配する目的のために、同じ論理回路でもファン・アウト値を大きくした回路素子が用意されている。そういう回路素子は論理的には何もしない、または反転するだけの単純なものである事が多く、バッファ、バスバッファ、ドライバなどと呼ばれる。
違ったタイプのシリーズを組み合わせて使う場合には、それぞれのデータシートを調べて、接続出来る個数を確認する必要がある。
CMOS型ロジックの場合は、入力端子は内部インピーダンスが高くつくられている(電源線や接地線に対する抵抗値が高い)ため、定常状態での電流値は微々たるものであるが、たくさんの入力端子を接続すると、それぞれの端子と配線部分の静電容量が並列接続されることにより、出力側から見た容量性負荷が増大する。このため、出力側素子の駆動能力が足りないと、HからL、LからHの状態遷移に時間が掛かることになり、これが回路動作上の制約となるため、やはり後段につなげられる入力端子の個数は制限される。
ハイ・インピーダンス
1つの信号線に対して、信号を出力する素子を複数接続しているバス構造を用いる場合、信号を出力しようとしている素子とその信号を受信しようとしている素子のみがバスを通じて電気的に接合されていなければならない。回路の制御を誤って、不必要な複数の出力回路が同時に接続されてしまうと、回路間に電流が回り込んでしまい素子の破壊につながる。
この破壊を避けるためには、信号を出力する素子以外の出力回路については、全て電気的に絶縁しなければいけない。このように、出力している信号線以外を電気的に切り離した状態をハイ・インピーダンス[注釈 6]と呼び、HighでもLowもない第三の状態として扱う。ハイ・インピーダンス状態は記号では「Z」で示される事が多い。
しかし、入力端子につながっている全ての出力端子がハイ・インピーダンス状態になった場合、入力端子には電気的に何も接続されていないのと同じになり(「浮いている」状態)、今度は、先に述べたような電磁誘導等による誤動作や素子破壊を伴うような状態におかれてしまう。このため、対策として、ハイ・インピーダンス状態を伴う信号線にはプルアップまたはプルダウンをするのが常套手段となっている。
ハイ・インピーダンス出力と似たものとして、オープンコレクタ出力がある。これは、出力が論理1の時にはLの電圧を出力するが、論理0の時にはHの電圧を出すのではなくハイ・インピーダンス状態になるという出力素子である。(負論理の出力になっている)
論理0の時にハイ・インピーダンスになるので、複数のオープンコレクタ出力の出力信号を単純に接続してしまった上でプルアップしておけば、出力のどれかが論理1になった時にLになる(全ての出力が論理0の時にはHになる)という回路になり、これは(負論理の)論理和を演算していることになる。このように、論理和用のデジタル回路素子を使うこと無く論理和を実現する回路のことを「ワイアードオア」と呼ぶ。
なお、オープンコレクタ出力の端子は、一般の出力端子よりも多く電流を流すことができるという特性も持つため、アナログ回路による電流増幅器を介すること無く、直接LEDを点灯させるなどの周辺装置の駆動ができる。
スリーステート・バッファ
G | X | Y |
---|---|---|
0 | 0 | Z |
0 | 1 | Z |
1 | 0 | 0 |
1 | 1 | 1 |
出力をハイ・インピーダンスにできる出力回路はスリーステート[注釈 7](三状態の意味)と呼ばれる。また、入力信号をそのまま出力する、信号を出力しない、ハイ・インピーダンスにするかの三状態に切り替えることができる回路は「スリーステート・バッファ」と呼ばれる。回路記号では、バッファを示す三角の印の側面にハイ・インピーダンスにするか否かの入力信号線が入る図形で示される。トライステートとも呼ばれるが、ナショナル セミコンダクターの商品名で、米国では"TRI-STATE"は商標登録されている(登録番号0941335・2138646)。なお、日本で「トライステート」「TRISTATE」は他者が登録している(登録番号 第2671297号)。
出力をハイ・インピーダンスにしないことを指示する入力信号線は、ゲート[注釈 8]の意味で「G」と表記されたり、イネーブル[注釈 9]の意味で「E」または「EN」と表記されることが多い。また、データバスなどのバス構造を持つ部分に使われる場合には、アウトプット・イネーブル[注釈 10]の略で「OE」という記号が使われたり、チップ・セレクト[注釈 11]の略で「CS」という記号が使われることも多い。
G | X | Y |
---|---|---|
0 | 0(Out) | 0(In) |
0 | 1(Out) | 1(In) |
1 | 0(In) | 0(Out) |
1 | 1(In) | 1(Out) |
スリーステート・バッファを2つ組み合わせて、データ通信の方向を切り替えることができるようにした回路もよく使われている。この回路は「双方向バッファ」と呼ばれ、入力GがLの時にはYからXの方向にデータが伝わり、入力GがHの時にはXからYの方向にデータが伝わる。 スリーステート・バッファや双方向バッファは、いくつもの回路ブロックが信号線を共用するデータバスやアドレスバスなどに多用される。このため、データバスなどのビット数の単位となりやすい8個のスリーステート・バッファを一つにまとめたICが製造されており、よく利用されている。
S | X1 | X2 | Y |
---|---|---|---|
0 | x | 0 | 0 |
0 | x | 1 | 1 |
1 | 0 | x | 0 |
1 | 1 | x | 1 |
また、同じくスリーステート・バッファを複数組み合わせ、ワイアードオアの原理を利用して複数の入力信号の一つだけを出力に伝えるという回路を構成することもできる。これは「データセレクタ」と呼ばれる。データセレクタは、一般の論理素子だけを用いて構成することもできる (
- R. H. Katz, Contemporary Logic Design, The Benjamin/Cummings Publishing Company, 1994.
- P. K. Lala, Practical Digital Logic Design and Testing, Prentice Hall, 1996.
関連項目
- 集積回路
- 論理回路
- 汎用ロジックIC
- TTL
- CMOS
- ブール論理、ブール代数
- 真理値表
- 二進記数法
- ド・モルガンの法則
- デジタル信号処理
- 有限オートマトン
- 形式的検証
- ハードウェア記述言語
- マイクロエレクトロニクス
- クロード・シャノン
外部リンク
- DIY-Digital Experiments!
- Digital Logic Simulator v0.4 - Brad-Ware Studios のフリーウェア。デジタル論理ゲートのリアルタイム編集とシミュレーションが可能なソフトウェア
- CEDAR Logic Simulator - デジタル論理シミュレーションCADツール
- LogicCircuit – デジタル回路の設計とシミュレーションのフリーな教育ソフト
- Logisim - デジタル回路の設計とシミュレーションの教育ツール
- ディジタル回路コース - 研究人材のためのe-learning(科学技術振興機構)
デジタル回路
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/08 13:38 UTC 版)
ある程度以上の規模の複雑さの集積回路 (IC) は回路各部の遅延伝播での最悪の場合を考慮し、それよりも低い周期で各部分を同期させるのにクロック信号を使うことが多い。所定の動作を完了するまでに複数のクロック周期(英: clock cycle)がかかる場合もある。さらに大規模で複雑なICでは、回路全体に正確に同期したクロックを供給すること自体も難しくなる。その目立った例としてマイクロプロセッサがあり、一般に水晶振動子を利用した発振回路を用いて発生させる。低速動作の機器や精度を要求されない機器では、安価なセラミック発振子を用いることもある。水晶振動子と発振回路を1個のパッケージに内蔵し、電源を接続するだけでクロック信号を出力するクロック・モジュールと呼ばれる電子部品を用いることが多い。例外として非同期回路(英語版)がある。 クロック信号はゲート制御されることもある。すなわち、回路の特定部分へのクロック信号供給の有無を別の信号で制御する。使われていないデジタル回路の一部を停止させて消費電力を低減させるのにこの技法を使うことが多いが、タイミング解析における複雑さが増大する。
※この「デジタル回路」の解説は、「クロック」の解説の一部です。
「デジタル回路」を含む「クロック」の記事については、「クロック」の概要を参照ください。
デジタル回路と同じ種類の言葉
固有名詞の分類
- デジタル回路のページへのリンク