山本/春のプロジェクト2009/第1回
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[山本/春のプロジェクト2009]]
*第1回 全加算器をHDLで設計してみよう [#acb4e3f7]
#contents
**全加算器 [#w25b9a68]
-a,b,cinの入力とs,coutの出力を持っていて、3つの入力を加算しその結果をsに出力し、桁上がりをcoutに出力している。
a: 加算するもの
b: 加算するもの
cin: 前のビットからの桁上がり
s: 加算した結果
cout:加算したときの桁上がり
**モジュールの記述 [#ea1bafb8]
モジュールは回路をひとまとまりにしたもの。
-モジュールの宣言
>module '''''モジュール名'''''('''''使っているポートをカンマで区切り記述''''');
>...
>...
>
>endmodule
-ポート宣言
>input '''''入力ポートをカンマで区切り記述'''''; // 入力ポート宣言
>output '''''出力ポートをカンマで区切り記述'''''; // 出力ポート宣言
-ネット宣言
>wire '''''信号線をカンマで区切り記述''''';
-回路記述(assign文)
等号の右辺の評価式が左辺に書き込まれる
>assign a = b + c;
-演算子
|>| 算術演算子 |
| + | 加算 |
| - | 減算 |
| * | 乗算 |
| / | 除算 |
| % | 剰余算 |
| - | 2の補数 |
&br();
|>| ビット演算子 |
| ~ |1の補数(ビットごとの反転) |
| & |ビットごとの論理積 |
|||ビットごとの論理和 |
| ^ |ビットごとの排他的論理和 |
| ~^ |ビットごとの排他的論理和否定|
**テストベンチ [#w19cfd2b]
-波形の出力~
$dumpfile("'''''出力ファイル'''''");~
$dumpvars(0, '''''モジュール名''''');
**シミュレーション [#z349bbcc]
-実行~
% ncverilog +ncaccess+rwc fa_tb.v
-波形の表示~
% simvision '''''出力したダンプファイル''''' &
終了行:
[[山本/春のプロジェクト2009]]
*第1回 全加算器をHDLで設計してみよう [#acb4e3f7]
#contents
**全加算器 [#w25b9a68]
-a,b,cinの入力とs,coutの出力を持っていて、3つの入力を加算しその結果をsに出力し、桁上がりをcoutに出力している。
a: 加算するもの
b: 加算するもの
cin: 前のビットからの桁上がり
s: 加算した結果
cout:加算したときの桁上がり
**モジュールの記述 [#ea1bafb8]
モジュールは回路をひとまとまりにしたもの。
-モジュールの宣言
>module '''''モジュール名'''''('''''使っているポートをカンマで区切り記述''''');
>...
>...
>
>endmodule
-ポート宣言
>input '''''入力ポートをカンマで区切り記述'''''; // 入力ポート宣言
>output '''''出力ポートをカンマで区切り記述'''''; // 出力ポート宣言
-ネット宣言
>wire '''''信号線をカンマで区切り記述''''';
-回路記述(assign文)
等号の右辺の評価式が左辺に書き込まれる
>assign a = b + c;
-演算子
|>| 算術演算子 |
| + | 加算 |
| - | 減算 |
| * | 乗算 |
| / | 除算 |
| % | 剰余算 |
| - | 2の補数 |
&br();
|>| ビット演算子 |
| ~ |1の補数(ビットごとの反転) |
| & |ビットごとの論理積 |
|||ビットごとの論理和 |
| ^ |ビットごとの排他的論理和 |
| ~^ |ビットごとの排他的論理和否定|
**テストベンチ [#w19cfd2b]
-波形の出力~
$dumpfile("'''''出力ファイル'''''");~
$dumpvars(0, '''''モジュール名''''');
**シミュレーション [#z349bbcc]
-実行~
% ncverilog +ncaccess+rwc fa_tb.v
-波形の表示~
% simvision '''''出力したダンプファイル''''' &
ページ名: