リファレンス

デジタル論理を正確に理解する

論理ゲートやブール代数から、フリップフロップ、ALU、CPU アーキテクチャまで、回路設計で用いる専門用語を収録しています。各項目では簡潔な定義を示し、詳しい解説へ案内します。

用語 63 件 · カテゴリ 8 件

基礎

用語 5 件
2進数#binary

2進数は基数2の数体系で、すべての値を0と1の列で表し、デジタル回路では通常LOWとHIGHの2つの電圧レベルで扱います。

詳しく読む →
ビット#bit

ビットは0または1を取るデジタル情報の最小単位で、8ビットで1バイトを構成します。

デジタル信号#digital-signal

デジタル信号は通常0(LOW)と1(HIGH)として解釈される2つの有効な電圧範囲だけを使用します。

コンポーネント仕様 →
真理値表#truth-table

真理値表はデジタル関数の全入力組合せと対応する出力を列挙した表で、n入力のゲートには2ⁿ行があります。

詳しく読む →
アクティブHigh / アクティブLow#active-high-active-low

アクティブHigh信号は論理1で機能を有効にし、アクティブLow信号は論理0で機能を有効にします。

論理ゲート

用語 12 件
論理ゲート#logic-gate

論理ゲートは入力からブール関数を計算するデジタル素子で、代表例はAND、OR、NOT、NAND、NOR、XOR、XNORです。

詳しく読む →
ANDゲート#and-gate

ANDゲートはすべての入力が1のときだけ1を出力し、それ以外は0を出力します。式は Y = A · B です。

詳しく読む →コンポーネント仕様 →
ORゲート#or-gate

ORゲートは少なくとも1つの入力が1なら1を出力し、すべて0のときだけ0を出力します。式は Y = A + B です。

詳しく読む →コンポーネント仕様 →
NOTゲート#not-gate

NOTゲート(インバータ)は1つの入力を反転し、0を1に、1を0に変えます。式は Y = A̅ です。

詳しく読む →コンポーネント仕様 →
NANDゲート#nand-gate

NANDゲートはANDの出力を反転し、全入力が1のときだけ0を出力する機能完全なゲートです。

詳しく読む →コンポーネント仕様 →
NORゲート#nor-gate

NORゲートはORの出力を反転し、全入力が0のときだけ1を出力する機能完全なゲートです。

詳しく読む →コンポーネント仕様 →
XORゲート#xor-gate

XORゲートは入力が異なると1、一致すると0を出力し、加算器の和ビットやパリティ検査に使われます。

詳しく読む →コンポーネント仕様 →
XNORゲート#xnor-gate

XNORゲートはXORの反転で、入力が等しいとき1を出力するため、等価比較の基本素子になります。

詳しく読む →コンポーネント仕様 →
バッファ#buffer

バッファは論理値を変えずに入力を出力へ渡し、信号強度の回復、負荷駆動、回路の分離に使います。

詳しく読む →コンポーネント仕様 →
3ステートバッファ#tri-state-buffer

3ステートバッファは0、1、高インピーダンスZを出力でき、無効時にバスから切り離されるため複数機器で配線を共有できます。

コンポーネント仕様 →
万能ゲート#universal-gate

万能ゲートは単独で任意のブール関数を構成できるゲートで、2入力NANDとNORが該当します。

詳しく読む →
機能完全性#functional-completeness

あるゲート集合だけで任意のブール関数を表現できる性質を機能完全性といい、{AND, OR, NOT}、{NAND}、{NOR}がその例です。

ブール代数

用語 7 件
ブール代数#boolean-algebra

ブール代数はAND、OR、NOTと各種法則を用いて2値論理式を表現・変形・簡略化する数学体系です。

詳しく読む →
ド・モルガンの法則#de-morgans-laws

ド・モルガンの法則は (A · B)̅ = A̅ + B̅ および (A + B)̅ = A̅ · B̅ を示し、論理回路の等価変換に使います。

詳しく読む →
積和形(SOP)SOP#sum-of-products

積和形は複数の積項をORで結ぶ標準形で、真理値表で出力が1になる各行を最小項として表します。

詳しく読む →
和積形(POS)POS#product-of-sums

和積形は複数の和項をANDで結ぶ標準形で、真理値表で出力が0になる各行を最大項として表します。

詳しく読む →
カルノー図#karnaugh-map

カルノー図は隣接する1を2の累乗個ずつまとめ、通常約6変数までのブール式を図式的に簡略化する方法です。

詳しく読む →
最小項#minterm

最小項は真理値表のちょうど1行だけで1になる積項で、出力1の最小項をORすると標準SOPが得られます。

最大項#maxterm

最大項は真理値表のちょうど1行だけで0になる和項で、出力0の最大項をANDすると標準POSが得られます。

組み合わせ回路

用語 5 件
組合せ論理#combinational-logic

組合せ論理は出力が現在の入力だけで決まり、過去の状態を保持しない回路で、加算器、デコーダ、MUX、ALUなどが該当します。

マルチプレクサ(MUX)MUX#multiplexer

マルチプレクサはn本の選択線に従い、2ⁿ個のデータ入力から1つを選んで単一出力へ送ります。

詳しく読む →コンポーネント仕様 →
デマルチプレクサ(DEMUX)DEMUX#demultiplexer

デマルチプレクサはMUXの逆で、n本の選択線に従って1つの入力を2ⁿ個の出力のいずれかへ送ります。

コンポーネント仕様 →
デコーダ#decoder

デコーダはnビット入力を2ⁿ本のワンホット出力へ変換し、一度に1本だけを有効にします。

詳しく読む →コンポーネント仕様 →
エンコーダ#encoder

エンコーダは2ⁿ本のワンホット入力をnビット出力へ変換し、優先エンコーダは複数入力が有効な場合も扱えます。

詳しく読む →コンポーネント仕様 →

順序回路

用語 12 件
順序論理#sequential-logic

順序論理は出力が現在の入力と内部状態の両方に依存し、ラッチ、フリップフロップ、レジスタ、カウンタ、CPUで使われます。

ラッチ#latch

ラッチはレベル感応型の1ビット記憶素子で、Enable中は出力が入力に追従し、無効になると最後の値を保持します。

SRラッチ#sr-latch

SRラッチはSetとResetで1ビットを保存し、Setで1、Resetで0、どちらも無効なら以前の状態を保持します。

詳しく読む →コンポーネント仕様 →
Dラッチ#d-latch

DラッチはEnableがHIGHの間は出力がDに追従し、EnableがLOWになるとその時点の値を保持します。

詳しく読む →コンポーネント仕様 →
フリップフロップ#flip-flop

フリップフロップは指定されたクロックエッジだけで入力を取り込む1ビット記憶素子で、同期設計の基礎です。

Dフリップフロップ#d-flip-flop

Dフリップフロップは有効クロックエッジでDを取り込み、次の有効エッジまで保持します。関係は Q(t+1) = D です。

詳しく読む →コンポーネント仕様 →
JKフリップフロップ#jk-flip-flop

JKフリップフロップは保持、セット、リセット、反転ができ、J=K=1を反転動作としてSRの禁止状態を解消します。

詳しく読む →コンポーネント仕様 →
Tフリップフロップ#t-flip-flop

TフリップフロップはT=1なら各クロックエッジで反転し、T=0なら保持するため、カウンタや2分周器に使われます。

詳しく読む →コンポーネント仕様 →
レジスタ#register

レジスタは共通クロックを持つ複数のフリップフロップでnビット語を保存する、CPU内の基本的な記憶単位です。

詳しく読む →コンポーネント仕様 →
シフトレジスタ#shift-register

シフトレジスタはフリップフロップを直列に接続し、各クロックエッジで保存ビットを1位置ずつ移動して直並列変換を行います。

詳しく読む →コンポーネント仕様 →
カウンタ#counter

カウンタはクロックエッジごとに定められた2進状態列を進む順序回路です。

詳しく読む →コンポーネント仕様 →
有限状態機械(FSM)FSM#finite-state-machine

有限状態機械は現在状態と入力から次状態が決まる順序回路で、有限の状態遷移表によって定義されます。

詳しく読む →

算術回路

用語 4 件
半加算器#half-adder

半加算器は2つの1ビットを加え、和(XOR)と桁上がり(AND)を出力しますが、桁上がり入力は受け取れません。

詳しく読む →コンポーネント仕様 →
全加算器#full-adder

全加算器は2つの被加数ビットと桁上がり入力を加え、和と桁上がり出力を生成し、直列接続で多ビット加算器を構成します。

詳しく読む →コンポーネント仕様 →
リップルキャリー加算器#ripple-carry-adder

リップルキャリー加算器は全加算器を直列に接続して桁上がりを次段へ渡す単純な構成ですが、遅延はビット数に比例します。

詳しく読む →
算術論理演算装置(ALU)ALU#alu

ALUはCPU内で整数演算とビット論理演算を行う組合せ回路で、通常はゼロ、キャリー、負数、オーバーフローの各フラグも出力します。

コンポーネント仕様 →

CPU とメモリ

用語 7 件
プログラムカウンタ(PC)PC#program-counter

プログラムカウンタは次にフェッチする命令のメモリアドレスを保持し、通常は増加しますが分岐やジャンプで書き換えられます。

詳しく読む →コンポーネント仕様 →
命令レジスタ(IR)IR#instruction-register

命令レジスタは現在デコード・実行中の命令を保持し、制御装置がオペコードやオペランド欄を読み取ります。

コンポーネント仕様 →
制御装置#control-unit

制御装置は命令をデコードして制御信号を生成し、レジスタ、ALU、メモリ、命令フェッチを連携させます。

コンポーネント仕様 →
フェッチ・デコード・実行サイクル#fetch-decode-execute-cycle

フェッチ・デコード・実行サイクルは、CPUが命令をメモリから取得し、処理内容を判定し、実行する反復手順です。

詳しく読む →
RAM#ram

RAMは各アドレスへほぼ同じ時間でアクセスできる揮発性の読み書きメモリで、電源を切ると内容を失います。

コンポーネント仕様 →
ROM#rom

ROMは電源を切っても内容を保持する不揮発性メモリで、起動コード、マイクロコード、参照表などに使われます。

コンポーネント仕様 →
バス#bus

バスは複数の部品間でデータ、アドレス、制御信号を運ぶ共有配線で、3ステートバッファが同時駆動を防ぎます。

コンポーネント仕様 →

タイミングと物理

用語 11 件
クロック信号#clock-signal

クロック信号はデジタルシステムを同期する周期的な方形波で、エッジが状態更新の時点を、周波数が動作速度を決めます。

詳しく読む →コンポーネント仕様 →
エッジトリガ#edge-triggered

エッジトリガ素子は通常立上りなど特定のクロック遷移でだけ状態を変えるため、同期設計を予測可能にします。

セットアップ時間(t_su)#setup-time

セットアップ時間は有効クロックエッジの前にデータ入力が安定していなければならない最小時間で、違反するとメタステーブル状態を招きます。

詳しく読む →
ホールド時間(t_hold)#hold-time

ホールド時間は有効クロックエッジの後もデータ入力を安定させる必要がある最小時間で、違反すると誤取込みやメタステーブル状態を招きます。

詳しく読む →
伝搬遅延#propagation-delay

伝搬遅延は入力変化から出力変化までの時間で、最長クリティカルパスの累積遅延が最大クロック周波数を制限します。

詳しく読む →
メタステーブル状態#metastability

メタステーブル状態はセットアップまたはホールド違反でフリップフロップが0と1の中間に一時停止する状態で、通常は2段同期器でリスクを下げます。

詳しく読む →
同期器#synchronizer

同期器は通常2段のフリップフロップで信号を別のクロックドメインへ安全に移し、メタステーブル状態の伝播確率を下げます。

詳しく読む →
クロックドメイン間転送(CDC)CDC#clock-domain-crossing

クロックドメイン間転送は非同期のクロック領域間で信号を渡す処理で、同期器、非同期FIFO、ハンドシェイクなどを用います。

ファンアウト#fan-out

ファンアウトは1つの出力が駆動するゲート入力数で、負荷が多すぎると容量が増えて信号とタイミングが劣化します。

CMOS#cmos

CMOSはNMOSとPMOSを相補的に組み合わせて定常時電流を小さくする、現代の集積回路で主流の技術です。

分周#frequency-division

分周は高速クロックから低速クロックを作る処理で、Tフリップフロップは2分周、nビットカウンタは2ⁿ分周を行えます。

詳しく読む →