第7回分

リプルキャリー加算器

伝搬というものがいまいちよくわからない

桁上げ信号が伝搬していく場合、を考えてみましょう。

「伝播」は「でんぱ」?「でんぱん」?

どちらでもよいようです。 ちなみに「伝搬」と書いてもよいようです。

桁上げ先見加算器

生成項の「生成」とは何を生成するもの?

その桁の加算対象の2つの数であるAnとBnだけから、次の桁への 桁上げ信号が1となることが決まってしまう場合、という理解でよいと思います。

リプルキャリー加算器は、具体的にはどの程度遅いのか?

桁上げ先見加算器の実用性は?リプルキャリーよりどの程度速い?

基本的には演算時間が桁数に比例します。 桁数や、用いる論理素子のライブラリ、配線の複雑度などにもよりますので、 一概にはいえません。 例えば、Xilinx ISEで、シミュレーションしてみると面白いかもしれませんね。

桁上げ先見で、Cnをカルノー図から求める方法の方がすっきりしているのではないか?

その方法でも設計できますが、例えばC3などは8入力になりますので、 かなり大きな真理値表になりますね。

なぜ多入力ゲートは遅くなるのか?

論理ゲートを構成するMOSトランジスタが直列になるため、 出力についている負荷容量を充放電する経路の抵抗成分が、 MOSトランジスタ数=入力数に比例し、その充放電に要する時間が 負荷容量と抵抗の積(時定数)に比例するため、という理解でよいと思います。

多入力ゲートは、例えば3入力ORを2入力ORの2段のように分解すればよいのではないか?

そうすると、論理ゲートの段数が増えますので、 伝搬時間が短くなる、とはいえませんね。

なぜCLAは4ビット程度が限界なのか?

回路が複雑になりすぎるのと、仮にがんばって回路をつくったとしても、 多入力ゲートのために演算時間が速くならないため、です。

桁上げ先見加算器がよくわからなかった

ぜひもう一度式を追ってみてください。

回路が簡単で高速な加算器、というものは作れないのだろうか?

5ビット以上の加算を高速に行う方法はないのだろうか?

授業では触れませんでしたが、二進桁上げ先見加算器、というものは、 比較的回路が単純で、かなり高速にできます。 興味のある方は、金沢大での過去の「集積回路工学第2」の講義資料などをどうぞ。

CLAとは何?

Carry Look-ahead Adder=桁上げ先見加算器、ですね。

CLAでは、桁上げを使わないのでCn-1がいらない、という理解でよいか?

そのような理解でよいと思います。

C-1は最初から与えられるのか?

CLAを2段つないだ8ビット加算器の図で、C-1が示されていなかったのはなぜ?

一番下の桁では、一般には、「前の桁」はありませんので、C-1 = 0 とすればOKです。

A0, A1, B0, B1などは、それぞれ異なる値が与えられるのか?

加算したい値の各桁の数、ですね。

加算器の主流は何でしょう?

4ビットCLAの組み合わせ、あたりでしょうか。

加算器の高速化の手法に感心した

それはすばらしい。

加算器の高速化の手法は、減算器の高速化にも使えるのだろうか?

減算器は、基本的には負の数=2の補数の加算、として、加算器を用いて行いますので、 加算器の高速化の手法はそのまま流用できます。

乗算回路

部分積の部分がよくわからなかった

筆算の途中の部分、と考えるとよいかと思います。 1桁の2進数の積は、AND演算と同じですので、実は簡単ですよ。

教科書の8ビット乗算器の回路は複雑だったが、例えば電卓でもあのような回路が入っているのか?

あの並列乗算回路をそのまま使う場合はあまりないようです。 ブースのアルゴリズム等で部分積の段数を減らすか、 あるいは、それほど速度が必要でない場合は、加算器を繰り返して行う、 という構成が一般的のようです。

2の補数を用いた負の小数の乗算の方法がいまいちよくわからないです

授業では扱っていない内容ですね。 固定小数点の演算、でしょうか。 ブースのアルゴリズムとあわせて、 金沢大での過去の「集積回路工学第2」の講義資料などはいかがでしょうか。

ブースのアルゴリズム

ブースのアルゴリズムがどのようなものか気になる(多数)

興味のある方は、金沢大での過去の「集積回路工学第2」の講義資料などをどうぞ。

部分積を減らす以外に乗算器の高速化の手法はあるのだろうか?

基本的には、部分積の加算部分の高速化、がカギで、 その方法として、キャリー保存加算器やワレスの木、などが知られています。 興味のある方は、金沢大での過去の「集積回路工学第2」の講義資料(第8回)(第10回) などをどうぞ。

その他

除算回路はどのようにつくるのだろう?

減算回路を、余りが被除数より小さくなるまで繰り返す、という構成が一般的のようです。

加算器や乗算器をこれ以上速くすることに意味があるのだろうか?

量子計算機などののような、全く新しい計算機の構成方法にシフトする方向もあると思いますが、 現在の、MOSトランジスタ→論理ゲート+ブール代数、に基づく計算機が なくなるとは考えにくいので、十分に意義はあると思います。

計算機で扱える数値の範囲が決まっているのは、演算器の速度が制限要因なんだろうか?

速度というより、演算器の扱えるビット数、でしょうか。

VHDLで記述した回路のシミュレーションはできたが、論理回路図では見られないのか?

論理合成の結果の論理回路は見られますよ。 View RTL Schematicというような名前のメニューがあるはずです。

中間テストはどのような勉強をすればよいでしょう?(多数)

まだ問題を作っていないので、なんとも・・・ 基本的には、教科書・手書きノート持ち込み可とする予定ですので、 「丸暗記もの」は出さないです。

板書をもう少しきれいに書いてほしい/ななめにならないように書いてほしい

板書の添え字が、たまに見にくかった

すいません、気をつけるようにします。

わからないことが多すぎた

今日はわかりやすかった

授業のレベル設定が難しいところですが、 このような、両者のご意見をいただけるのが、妥当な点なのかな、と考えています。

授業終了のベルが鳴るまでは教室にいてほしい

すいません、高専ではそのような風習なのですね・・・ 知りませんでした、失礼しました。 そのように気をつけます。

過去の質問票を提出していない/疑問なしで提出してしまったが、欠席扱いになりますか?

出席簿上の欠席扱いにはしませんが、成績評定の時に、 合否のぎりぎりのラインのときには考慮する予定でいます。 最初の3回あたりまでは、大目に見るつもりですが、今後は気をつけてください。

演習の時も、講義のように説明しながら進めてほしい

たしかにそうですね。今後の演習ではそのようにしたいと思います。

しゃべるのが早いです

またご指摘をいただいてしまいました。 気をつけるようにします。

MacBookAirのエッジ部分で腕を切った人がいるらしいので気をつけてください

そうらしいですね。気をつけようと思います。

JTAGを使ったことはありますか?

FPGAの書き込みでよく使いますよ。
戻る