Changes between Version 1 and Version 2 of Ex11課題2015
- Timestamp:
- Jun 30, 2015 11:59:35 AM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ex11課題2015
v1 v2 2 2 3 3 = 概要 = 4 これまで設計してきたJR命令とJAL命令の拡張済みのマルチサイクルプロセッサ、32ビット乗算器が含まれていません。 5 そのため、アセンブリコードの演習では、乗算を加算とシフトの組合せで実現する必要がありました。 4 これまで設計してきたJR命令とJAL命令の拡張済みのマルチサイクルプロセッサには、 5 32ビット乗算器が含まれていません。 6 そのため、アセンブリコードの演習では乗算を加算とシフトの組合せで実現する必要がありました。 6 7 7 8 この課題では、以下の説明に従ってALUに乗算器を追加し、乗算命令を実行できるマルチサイクルプロセッサを設計します。 8 9 9 10 == 課題1 == 10 第5回の講義ノート( http://web-int.u-aizu.ac.jp/~miyazaki/comparch-1 4/lecture/comparch-5-alu2.pdf )の説明を参考に、11 第5回の講義ノート( http://web-int.u-aizu.ac.jp/~miyazaki/comparch-15/lecture/comparch-5-alu2.pdf )の説明を参考に、 11 12 Verilog HDLで16ビット乗算器を設計し、その動作をテストベンチにより検証しなさい。 12 13 なお、この乗算器をALUに組み込むため、乗数・被乗数は32ビットとし、乗算はそれぞれの下位16ビット同士の計算を実現すればよい。 13 14 この場合乗算の結果は最大で32ビットになるので、結果の出力も32ビットとすること。 14 15 15 この問題では、 加減算に「+/-」を使って構わないが、乗算に「*」を使ってはいけない。16 この問題では、HDLの既述で加減算に「+/-」を使って構わないが、乗算に「*」を使ってはいけない。 16 17 17 === 乗算器 テンプレート ===18 === 乗算器入出力テンプレート === 18 19 {{{ 19 20 module mul32(x, y, z); … … 30 31 ただし、桁を正しく合わせる必要があることに注意すること。 31 32 32 余裕がある場合にはBoothのアルゴリズムについても検討すること。レポートでこの課題をおこなった場合、ボーナス点を与える。 33 余裕がある場合にはBoothのアルゴリズムについても検討すること。 34 レポートでBoothのアルゴリズムによる実装をおこなった場合、ボーナス点を与える。 33 35 34 36 == 課題2 ==
