加藤/春のプロジェクト/第3回
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[加藤/春のプロジェクト]]
*第3回 マルチプレクサと算術論理演算回路 [#bf01d2ba]
***1. マルチプレクサの設計 [#f0084ed9]
-マルチプレクサとは?
--3入力マルチプレクサ
---1ビットの入力ポートa,b,cと2ビットの入力ポートf,1ビットの出力ポートsを持つ
---fの値によってa,b,cのどれかの値がsに出力される
例、
f=00のとき->s=a
f=01のとき->s=b
f=10のとき->s=c
-case文の使い方
case (f)
2'b00: s = a; // fが00のとき
2'b01: s = b; // fが01のとき
2'b10: s = c; // fが10のとき
default: s = 1'bx; // xは不定値である
// sに書き込まれる値はどのようなものでも良い
endcase
-default文はなぜ必要か?
--default文がないとsは現在の値を保持し続けることになってしまう
***2. 算術論理演算回路(ALU)の設計 [#ue8ab23a]
-define文の使い方
例、 `define ADD(変数名) 5'b00000(値)
-Verilogの数値表現
b=binary(2進数)
o=octal(8進数)
d=decimal(10進数)
h=hexadecimal(16進数)
-大小比較
--なぜxとyに16'h8000を加算しているのか?
---Verilog HDLのビット列が符合なし2進数表現として扱われることの対策
---16'h8000を加算することによって、負の数を含む2の補数表現を非負整数に変換している
終了行:
[[加藤/春のプロジェクト]]
*第3回 マルチプレクサと算術論理演算回路 [#bf01d2ba]
***1. マルチプレクサの設計 [#f0084ed9]
-マルチプレクサとは?
--3入力マルチプレクサ
---1ビットの入力ポートa,b,cと2ビットの入力ポートf,1ビットの出力ポートsを持つ
---fの値によってa,b,cのどれかの値がsに出力される
例、
f=00のとき->s=a
f=01のとき->s=b
f=10のとき->s=c
-case文の使い方
case (f)
2'b00: s = a; // fが00のとき
2'b01: s = b; // fが01のとき
2'b10: s = c; // fが10のとき
default: s = 1'bx; // xは不定値である
// sに書き込まれる値はどのようなものでも良い
endcase
-default文はなぜ必要か?
--default文がないとsは現在の値を保持し続けることになってしまう
***2. 算術論理演算回路(ALU)の設計 [#ue8ab23a]
-define文の使い方
例、 `define ADD(変数名) 5'b00000(値)
-Verilogの数値表現
b=binary(2進数)
o=octal(8進数)
d=decimal(10進数)
h=hexadecimal(16進数)
-大小比較
--なぜxとyに16'h8000を加算しているのか?
---Verilog HDLのビット列が符合なし2進数表現として扱われることの対策
---16'h8000を加算することによって、負の数を含む2の補数表現を非負整数に変換している
ページ名: