春のプロジェクト2009/第3回
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[春のプロジェクト2009]]
*第3回 マルチプレクサと算術論理演算回路[#g7714398]
#contents
**0. 概要[#mb9210bb]
今回やること
+マルチプレクサの設計
+算術論理演算回路(ALU)の設計
+シミュレーションで動作確認
**1. マルチプレクサの設計[#m70f9bbe]
-マルチプレクサとは?
-case文の使い方
-default文はなぜ必要か?
**2. 算術論理演算回路(ALU)の設計[#pe7851e3]
-ALUの仕様が表1(資料)に記載されています。
-Verilogの主な演算子が表2(資料)に記載されています。(第2回の表と同じです。)
-define文の使い方
-Verilogの数値表現
--4'b0000や16'h0000のbとhの意味、他には何があるか知っておくと便利かも?
-大小比較
--なぜxとyに16'h8000を加算しているのか?(ヒント:2の補数表現など)
**3. シミュレーションで動作確認[#wcf280cf]
-テストベンチの作成
`timescale 1ns/1ps
`include "alu.v"
module alu_tb;
reg [15:0] a, b;
reg [4:0] f;
wire [15:0] s;
alu alu0(.a(a), .b(b), .f(f), .s(s));
initial begin
$dumpfile("alu_tb_wf.vcd");
$dumpvars("0, alu_tb");
a = -3; b = -3; f = 5'b01100; //change the value of "a", "b", "f"
#100 a = -2;
//write other input signals
$finish;
end
endmodule
~入力を変えて色々試してください。
----------------------------------------
提案、質問などあればお願いします。
#comment
終了行:
[[春のプロジェクト2009]]
*第3回 マルチプレクサと算術論理演算回路[#g7714398]
#contents
**0. 概要[#mb9210bb]
今回やること
+マルチプレクサの設計
+算術論理演算回路(ALU)の設計
+シミュレーションで動作確認
**1. マルチプレクサの設計[#m70f9bbe]
-マルチプレクサとは?
-case文の使い方
-default文はなぜ必要か?
**2. 算術論理演算回路(ALU)の設計[#pe7851e3]
-ALUの仕様が表1(資料)に記載されています。
-Verilogの主な演算子が表2(資料)に記載されています。(第2回の表と同じです。)
-define文の使い方
-Verilogの数値表現
--4'b0000や16'h0000のbとhの意味、他には何があるか知っておくと便利かも?
-大小比較
--なぜxとyに16'h8000を加算しているのか?(ヒント:2の補数表現など)
**3. シミュレーションで動作確認[#wcf280cf]
-テストベンチの作成
`timescale 1ns/1ps
`include "alu.v"
module alu_tb;
reg [15:0] a, b;
reg [4:0] f;
wire [15:0] s;
alu alu0(.a(a), .b(b), .f(f), .s(s));
initial begin
$dumpfile("alu_tb_wf.vcd");
$dumpvars("0, alu_tb");
a = -3; b = -3; f = 5'b01100; //change the value of "a", "b", "f"
#100 a = -2;
//write other input signals
$finish;
end
endmodule
~入力を変えて色々試してください。
----------------------------------------
提案、質問などあればお願いします。
#comment
ページ名: