ディジタル数値演算回路の実用設計

今日先生から頂いた。一昨日読んだ本には演算回路がほとんど載っていなくて、本を買おうとしてたのでまさに棚ぼた(笑)
内容は
第1章:ディジタル回路と数値演算回路の違い
第2章:加算器と減算器
第3章:乗算器
第4章:除算器
第5章:初等超越関数
第6章:浮動小数点演算
第7章:演算回路の最適化
とすごく充実してる。三角関数や対数関数まで載っていて楽しめそう。

今日は第2章まで読んだ。

キャリ・ルックアヘッド・アダーはあまり効率が良くない。

って事実に驚いた。原因は

  1. ファンアウトが高くなってしまう。
    • ICの高集積化が進むと、配線が細くなってくるので配線ディレイの影響が大きくなってくる。それでファンアウトが増えると、電力を供給するゲートが増えるので遅延が大きくなってしまう。
  2. 入力数の多いセルの遅延が大きくなる。
    • キャリ・ルックアヘッド・アダーでは5入力ANDとか9入力ANDとか入力数の多いゲート使う。そうするとゲート構成するp型トランジスタが多数直列に結合される。p型トランジスタの内部では電子ではなく正孔が移動するが、正孔の移動速度は電子に比べ非常に遅い為遅延が大きくなる。

それでAPPNA(Alternative parallel prefix network adder)というアダーがうまくバランスが取れていて良いらしいけど、APPNAはコンパイラによっては生成してくれない事があるので、自分でゲートレベルで作らなければならない場合もあるということだった。
なるほど。