3.2 組み合わせ回路
マイクロプロセッサへの適用例
加算器(
Ripple Carry Adder: RCA)
A B Cin Cout S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 FAの真理値表A+B+Cin
FA(Full Adder)
A B Cin Cout S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 真理値表 論理回路 A + B A + B CI B B減算器
減算器
加算器を用いた減算
B)
(
A
B
A
F
2の補数
1. ビット反転
2. LSBに1を加える
(キャリーに1入力)
0 1 2 3 -4 -3 -2 -1 000 001 010 011 100 101 110 111 3bit 補数表現の例加減算器
(オペコード)
加減算器の応用例
入出力レ ジスタ データ RAM データ ROM 乗算器 ALU 累算レジスタ ALU(算術論 理演算ユニッ ト) Fu ll A dd er Fu ll A dd er Fu ll A dd er F ull A dd er B A SEL Z F0 F1 F30 F31 Cout A0 A1 A30 A31 B0 B1 B30 B3132bit ALU MUX
I0 I1 I2 Cin (参考)減算命令 I0 1 I1 0 I2 0 Cin 1 SUN SPARC
デコーダ
Decoder
I1 I0 D0 D1 D2 D3 I={I1, I0}に対応するD={D3, D2, D1, D0} の要素を1つ選んで1を出力 (一般にバイナリコードから他のコード体系 に変換するものはデコーダと呼ばれる。 例:7セグメント・デコーダなど)I1 I0 Line D3 D2 D1 D0
0 0 D0 0 0 0 1
0 1 D1 0 0 1 0
1 0 D2 0 1 0 0
1 1 D3 1 0 0 0
Truth tableI0
I1
D3
I0
I1
D2
I0
I1
D1
I0
I1
D0
加法標準形デコーダ回路
I0
I1
D3
I0
I1
D2
I0
I1
D1
I0
I1
D0
I1 I0 D0 D1 D211
デコーダの応用例(アドレス・デコーダ)
Intel Mobile Pentium III
Cache
Memory
Di Di W i デコーダ SRAMメモリセル ・・・・ ・・・・ A0 A1 列デコーダ A2 A3 行デ コ ー ダ メモリセル メモリセルアレイ A1 A0 D0 D1 D2 D3シフタの役割
• シフト機能
– 定数倍(シフト+加算)、浮動小数点演算などに使用
• 回路方式
– バレルシフタ(Barrel Shifter)・・・次ページ
– 対数シフタ(Logarithmic Shifter)
その他の基本演算(加算、乗算、比較、除算、Moduloなど)の演算アル ゴリズム及び回路実装については、集積回路工学第2で扱う。定数倍の例:
a * b = a * (b
n・
2
n+ b
n-1・
2
n-1+・・・+ b
0・
2
0)
= b
n・
(a<<n) + b
n-1・
(a<<n-1) +・・・+ b
0・
a
(左シフトと加算に変換)バレルシフタ
Sh3 Sh2 Sh1 Sh0 B3 B2 B1 B0 0 0 0 1 A3 A2 A1 A0 0 0 1 0 A3 A3 A2 A1 0 1 0 0 A3 A3 A3 A2 1 0 0 0 A3 A3 A3 A3 右シフト(桁下げ)の真理値表 n-ch 側のスイッチ・マトリクス ※ 青色は符号拡張(sign-bit extension) Buffer A0 A1 A2 A3 B0 B1 B2 B3(参考)
2の補数による符号拡張
0 1 2 3 -2 -3 -4 -1 000 001 010 011 100 101 110 111 3bit 補数表現 拡張された6bit 補数表現(正) 000 000 000 001 000 010 000 011 111 111 111 110 111 101 111 100 拡張された6bit 補数表現(負) 最上位ビットの値を上位に必要ビット数だけ追加すればよい 円の内側:10進数 円の外側:2進数(2の補数表現)エンコーダ
Encoder
P1 P0 D0 D1 D2 D3 D0~D3のうち論理値が1となったラインに対応するバイナリコードを出力する。 但し、2つ以上のラインが値1のとき、D0 に近いほうを優先する。(一般に任意の コード体系からバイナリコードに変換す るものはエンコーダと呼ばれる)D3 D2 D1 D0 P1 P0
0 0 0 0 (0 0 )
DC DC DC 1 1 1
DC DC 1 0 1 0
DC 1 0 0 0 1
1 0 0 0 0 0
Truth tableエンコーダの実装例
D2)
D1
(
D0
D0
D2
D1
D0
D0
P0
D1
D0
D1
)
D0
D0
(
D0
D1
D0
D1
D0
D0
D1
D0
)
D1
1
(
D0
D1
D0
D0
P1
D3 D2 D1 D0 P0 P1 不要エンコーダの応用例
Lecroy 10GS/s ADC
Vref = 1V Vin = 0V の場合
Vin (V) Thermometer Code Binary Code ~ -0.875 1 1 1 1 1 1 1 1 (1) 0 0 0 -0.875 ~ -0.625 0 1 1 1 1 1 1 1 1 1 1 -0.625 ~ -0.375 0 0 1 1 1 1 1 1 1 1 0 -0.375 ~ -0.125 0 0 0 1 1 1 1 1 1 0 1 -0.125 ~ 0.125 0 0 0 0 1 1 1 1 1 0 0 0.125 ~ 0.375 0 0 0 0 0 1 1 1 0 1 1 0.375 ~ 0.625 0 0 0 0 0 0 1 1 0 1 0 0.625 ~ 0.875 0 0 0 0 0 0 0 1 0 0 1 0.875 ~ 0 0 0 0 0 0 0 0 0 0 0 Encode フラッシュ型ADC Binary Data Clocking Circuit SYS_CLK Comparator +Vref -Vref Vin R/2 R R R R R R/2 Encoder Latch R R -0.875 -0.625 -0.375 -0.125 0.125 0.375 0.625 0.875 0 0 0 0 1 1 1 1 0.125V 0.125V 0.25V 0.25V 0.25V 0.25V 0.25V 0.25V 0.25V ゼロの数で値を表現
回路シミュレーションの準備(1)
1. LTspiceのインストール
– 電子回路第2及び演習の受講者は、既にインストール済み – 電子回路第2及び演習を取っていない人は、下記のサイトでダウンロー ドして、LTspiceをインストールしよう – http://www.linear-tech.co.jp/designtools/software/ – (初期設定) http://jaco.ec.t.kanazawa-u.ac.jp/edu/ より「公開作業日誌」2. MOSFETモデルパラメータのインストール
– http://jaco.ec.t.kanazawa-u.ac.jp/edu/micro1/cgi/ で自分用のMOSFET回路シミュレーションの準備(2)
3. MOSFETシンボルのインストール
– http://jaco.ec.t.kanazawa-u.ac.jp/edu/ より、集積回路工学第1の案内
ページに入り、mosfet_symbols.zip をダウンロードする
– 解凍したフォルダには、N_1u.asy, P_1u.asy, N_50n.asy, P_50n.asyの4 つのファイルが含まれている
– 解凍したフォルダ内の4個のファイルを C:¥Users¥(ユーザ名) ¥Documents¥LTspiceXVII¥lib¥sym/ にコピーしておく
– 保存したシンボルは、Component(その他の部品配置)ボタンにより、 Select Component Symbolフォームで選ぶことができる
21 ドレインとソースの
(重要)
市販半導体部品モデルと
の違い
市販の半導体部品と集積回路の部品ではデバイスパラ
メータの設定方法や目的が大きく異なることに注意
市販半導体のデバイスモデル 集積回路のデバイスモデル モデル名を指定するとパラメータ 値が全て代入される モデル名を指定しても、いくつか のパラメータは代入されない 全ての同じ型番の半導体素子に、 同じパラメータ値が用いられる 各半導体素子毎に、異なるパラ メータ値を設定できる演習3.2
全加算器
(FA)を設計し、回路シミュレータの過渡応答
解析により論理機能の検証を行え。
(1) 回路図、(2)
シミュレーション結果のグラフ、
(3) ネットリスト(スライ
ド
30参照)を添付すること。
(参考) 論理機能の検証は、過渡応答解析の結果と真理値
表を比較することにより行う。あまり高速に動作させると回路
が誤動作する可能性があるので、綺麗な矩形波出力となる程
度のパルス幅で入力波形(入力ベクトル)を作成する。
演習3.2の解説1
FAには、種々の構成法があるが、ここでは、マンチェスタ型と
呼ばれる回路についてシミュレーションを行うことにする。(算
術演算アルゴリズムの詳細は、集積回路工学第
2で扱う)
A B CI S CO 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 真理値表 論理回路 A + B B演習3.2の解説3
25 階層的な回路設計を行う手順について解説する。まず、FAを構成する論 理ゲートである、インバータ、EXOR, クロックトインバータを作成する。各 回路を作成したら、FAの保存先と同じフォルダに置くこと。INV
MOSFETサイズ Param. M1 M2Model N_1u P_1u
L 1u 1u W 5u 15u AD 15p 45p AS 15p 45p PD 11u 21u PS 11u 21u M 1 1 右クリック 右クリック ※ パラメータ値の決定法は4.4節で解説する。
演習3.2の解説4
param. M1 M2 M3 M4
Model N_1u P_1u N_1u P_1u
L 1u 1u 1u 1u
W 5u 15u 5u 15u
AD 15p 45p 15p 45p AS 15p 45p 15p 45p
演習3.2の解説5
param. M1 ,M2 M3, M4
Model N_1u P_1u
L 1u 1u W 5u 15u AD 15p 45p AS 15p 45p PD 11u 21u PS 11u 21u M 2 2
CLKINV
MOSFETサイズ演習3.2の解説6
1. メニュー: [File] - [New Symbol] でシンボルエディタを起動 2. メニュー: [Draw] - [Line] 等でシンボルを描く – 綺麗に書くのは面倒なので、四角のシンボル形状にし、[Draw] - [Text]で、何の回
各論理ゲートのシンボルを作成する。
A Z A Z B A Z F FB演習3.2の解説7
MOSFETのパラメータファイル グローバル配線の宣言
過渡応答解析
作成済みの回路は、通常の部品呼び出し
と同じく、Select Component Symbol フォー
ムで選択する。ただし、Top Directory を回
路とシンボルの保存先に切り替えること。
FAの回路図を作成する。
演習3.2の解説8
• 回路図の貼り付け方法
– 回路図のウインドウを選択し、メニューよりTools > Copy bitmap to Clipboard
– レポートを作成しているアプリケーション上で貼り付け
• グラフの貼り付け方法
– シミュレーションを実行し、グラフを表示させる
– グラフのウインドウを選択し、メニューよりTools > Copy bitmap to Clipboard