SFL演習問題/第1回
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[SFL演習問題]]
*加算器の設計 [#x0dd1e77]
Full Adderを4つ繋げた単純なRipple Carry Adderを作成する。
----
#contents
**ダウンロード [#w478a34c]
&ref(ex01.tar.gz);
**目的 [#pb794207]
-declare記述、制御端子(instrin)を使う簡単なSFL記述を使う。
**仕様 [#of250f08]
-ina+inb+cin=sとなるような回路を設計する。
-ファイル名はadd4.sflとする。
declare fadder {
/* 内容を記述 */
}
module add4 {
input ina<4>; /* データ入力 a */
input inb<4>; /* データ入力 b */
input cin; /* キャリー入力 */
output s<4>; /* 出力結果 s */
instrin do; /* 制御端子 */
/* 以下に内容を記述 */
}
module fadder {
/* 内容を記述 */
}
***論理ゲートを用いた設計例 [#c9bf6951]
CENTER:&ref(add4.gif);
**手順 [#ydda1314]
+Full Adderモジュールを作成する。
+Full Adderを4つ宣言しそれぞれを繋げる。
+制御端子doが起動したとき(1になったとき)inaとinbを加算した結果をsに出力する。
**シミュレーション [#g2c423f5]
-seconds用シミュレーションスクリプト(add4.sim)
--このスクリプトは上記の仕様を満たすモジュール用に作成されてます。
-Makefileとadd4.sflとadd4.simを同じディレクトリに置いたことを確認し、そのディレクトリで
% make sim
-回路が正しければ以下のような出力を得ます。
(sflread) Memory M Size
Mem alloc start address 6fe80 end 20efe7f
image load completed.
This prolog image is designed and programmed by Kiyoshi Oguri.
==REF== add4.sfl
Submod_class: fadder defined.
Module: fadder definition start.
Submod_class: fadder defined.
All facilities of module: fadder defined.
Instructs arguments and stages tasks of module: fadder defined.
Instructs behavior of module: fadder defined.
Module: add4 definition start.
Submod_class: fadder defined.
All facilities of module: add4 defined.
Instructs arguments and stages tasks of module: add4 defined.
Instructs behavior of module: add4 defined.
sfl area 99% remained.
atom area 73% remained.
!! local stack 0% used, global stack 0% used, trail stack 0% used !!
ina:0011 inb:0101 cin:0 s:1000
ina:0010 inb:0111 cin:0 s:1001
ina:0111 inb:0111 cin:0 s:1110
ina:0001 inb:0000 cin:1 s:0010
-s=ina+inb+cin正しい値であることを確認してください。
-各信号(ina, inb, cin)の値は自由に変えることが出来ます。スクリプトファイルを参照してください。
**発展問題 [#l3fd6c7b]
-Ripple Carry Adderは遅延が大きいのでCarry Lookahead Adderを設計する。
**設計例 [#w2dcf974]
&ref(ex01_answer.tar.gz);
終了行:
[[SFL演習問題]]
*加算器の設計 [#x0dd1e77]
Full Adderを4つ繋げた単純なRipple Carry Adderを作成する。
----
#contents
**ダウンロード [#w478a34c]
&ref(ex01.tar.gz);
**目的 [#pb794207]
-declare記述、制御端子(instrin)を使う簡単なSFL記述を使う。
**仕様 [#of250f08]
-ina+inb+cin=sとなるような回路を設計する。
-ファイル名はadd4.sflとする。
declare fadder {
/* 内容を記述 */
}
module add4 {
input ina<4>; /* データ入力 a */
input inb<4>; /* データ入力 b */
input cin; /* キャリー入力 */
output s<4>; /* 出力結果 s */
instrin do; /* 制御端子 */
/* 以下に内容を記述 */
}
module fadder {
/* 内容を記述 */
}
***論理ゲートを用いた設計例 [#c9bf6951]
CENTER:&ref(add4.gif);
**手順 [#ydda1314]
+Full Adderモジュールを作成する。
+Full Adderを4つ宣言しそれぞれを繋げる。
+制御端子doが起動したとき(1になったとき)inaとinbを加算した結果をsに出力する。
**シミュレーション [#g2c423f5]
-seconds用シミュレーションスクリプト(add4.sim)
--このスクリプトは上記の仕様を満たすモジュール用に作成されてます。
-Makefileとadd4.sflとadd4.simを同じディレクトリに置いたことを確認し、そのディレクトリで
% make sim
-回路が正しければ以下のような出力を得ます。
(sflread) Memory M Size
Mem alloc start address 6fe80 end 20efe7f
image load completed.
This prolog image is designed and programmed by Kiyoshi Oguri.
==REF== add4.sfl
Submod_class: fadder defined.
Module: fadder definition start.
Submod_class: fadder defined.
All facilities of module: fadder defined.
Instructs arguments and stages tasks of module: fadder defined.
Instructs behavior of module: fadder defined.
Module: add4 definition start.
Submod_class: fadder defined.
All facilities of module: add4 defined.
Instructs arguments and stages tasks of module: add4 defined.
Instructs behavior of module: add4 defined.
sfl area 99% remained.
atom area 73% remained.
!! local stack 0% used, global stack 0% used, trail stack 0% used !!
ina:0011 inb:0101 cin:0 s:1000
ina:0010 inb:0111 cin:0 s:1001
ina:0111 inb:0111 cin:0 s:1110
ina:0001 inb:0000 cin:1 s:0010
-s=ina+inb+cin正しい値であることを確認してください。
-各信号(ina, inb, cin)の値は自由に変えることが出来ます。スクリプトファイルを参照してください。
**発展問題 [#l3fd6c7b]
-Ripple Carry Adderは遅延が大きいのでCarry Lookahead Adderを設計する。
**設計例 [#w2dcf974]
&ref(ex01_answer.tar.gz);
ページ名: