開発環境
- OS X Lion - Apple(OS)
- Emacs、BBEdit - Bare Bones Software, Inc. (Text Editor)
- プログラミング言語: MIT/GNU Scheme
計算機プログラムの構造と解釈(Gerald Jay Sussman(原著)、Julie Sussman(原著)、Harold Abelson(原著)、和田 英一(翻訳)、ピアソンエデュケーション、原書: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の3(標準部品化力, オブジェクトおよび状態)、3.3(可変データでのモデル化)、3.3.4(電子回路のシミュレータ)、基本的な機能箱の問題 3.30を解いてみる。
その他参考書籍
問題3.30
コード(BBEdit)
sample.scm
(define (ripple-carry-adder a-k b-k s-k c) (if (null? a-k) 'ok (let ((c-out (make-wire))) (full-adder (car a-k) (car b-k) (car s-k) c) (ripple-carry-adder (cdr a-k) (cdr b-k) (cdr s-k) c-out))))
このオアゲートの遅延時間はinverter-delay + and-gate-delay + inverter-delay = inverter-delay * 2 + and-gate-delay位。
完全なsyツ力が得られるまでの遅延時間は以下の計算結果くらい。
(n - 1) * ((max(or-gate-delay, and-gate-delay + inverter-delay) + and-gate-delay) + and-gate-delay + or-gate-delay) + 2 * (max(or-gate-delay, and-gate-delay + inverter-delay) + and-gate-delay)
0 コメント:
コメントを投稿