計算機科学実験及演習3(ハードウェア)

(3回生前期 後半)

─── マイクロコンピュータの作成 ───


実験の概要

本実験では、FPGAと呼ばれるプログラマブルなLSIを用いて、 マイクロコンピュータを作成します。

マイクロコンピュータは、PowerMedusaボードを使用して作成します。 PowerMedusaボード上のFPGAをプロセッサとしてプログラムすることによって、 ボード全体を1つのマイクロコンピュータとして動作させることができるわけです。

実装するプロセッサのアーキテクチャは、SIMPLEアーキテクチャに準拠するものとします。

本実験では、このプロセッサの方式設計から論理設計までを行います。 論理設計には,論理CAD を使用します。

最後に、完成したマイクロコンピュータ上で、応用プログラムを実際に動作させます。 ソート速度コンテストで作成したプロセッサの性能を競います (任意ですが是非参加して下さい)。


連絡


What's New

更新履歴


受講上の注意

計算機科学実験及び演習 受講上の注意および 実験3ハードウェア受講上の注意 をよく読んで受講してください。


カレンダー

実験日 常駐TA イベント 進度の目安
6/3(金)午前初回講義 CADの習熟を兼ねた初回レポート課題の実施
方式設計、機能設計
作業分担の決定、設計期間のスケジューリング
6/3(金)午後谷、廣瀬、藤原、森
6/9(木)午後大畑、廣瀬、藤原、森
6/10(金)午前大畑、谷初回レポート 各機能ブロックの論理設計
6/10(金)午後谷、廣瀬、藤原、森
6/16(木)午後大畑、廣瀬、藤原、森
6/17(金)午前大畑、谷 プロセッサ全体の論理設計、デバッグ
6/17(金)午後谷、廣瀬、藤原、森
6/23(木)午後大畑、廣瀬、藤原、森
6/24(金)午前 大畑、谷 中間報告の準備(命令の実行、表示方法の検討)
+ 拡張したアーキテクチャの機能設計
6/24(金)午後谷、廣瀬、藤原、森
6/30(木)午後大畑、廣瀬、藤原、森中間レポート
7/ 1(金)午前大畑、谷 拡張したアーキテクチャの論理設計、デバッグ
7/ 1(金)午後谷、廣瀬、藤原、森中間デモ
7/ 7(木)午後大畑、廣瀬、藤原、森
7/ 8(金)午前大畑、谷 応用プログラムの作成、デバッグ
7/ 8(金)午後谷、廣瀬、藤原、森
7/14(木)午後大畑、廣瀬、藤原、森
7/15(金)午前大畑、谷 最終報告の準備(応用プログラムの実行)
+ 性能評価、アーキテクチャの洗練
7/15(金)午前谷、廣瀬、藤原、森
7/21(木)午後大畑、廣瀬、藤原、森最終デモ
8/ 4(木)最終レポート

スタッフ

  役職 居室 電話(4桁は内線) E-mail
担当者全員 le3a@lab3.kuis.kyoto-u.ac.jp
高木 一義 准教授 総合研究7号館334号室 5383 ktakagi@lab3.kuis.kyoto-u.ac.jp
高瀬 英希 助教 総合研究7号館335号室 5393 takase@lab3.kuis.kyoto-u.ac.jp
馬場 雪乃 助教 総合研究7号館301号室 5397 baba@i.kyoto-u.ac.jp
加藤 和成 技術職員 総合研究7号館 k_kato@kuis.kyoto-u.ac.jp
大畑 真也 TA:M2 高木研 ohata@lab3.kuis.kyoto-u.ac.jp
谷 祐輔 TA:M2 高木研 tani@lab3.kuis.kyoto-u.ac.jp
廣瀬 秀樹 TA:M1 高木研 hirose@lab3.kuis.kyoto-u.ac.jp
藤原 康史 TA:M1 高木研 fujiwara@lab3.kuis.kyoto-u.ac.jp
森 智也 TA:M1 高木研 mori@lab3.kuis.kyoto-u.ac.jp

[デバッグ相談所] 設計ファイル、プロジェクトのアーカイブ等をアップロードして、「ファイル名、アップロード時刻」を指定して相談 (時間外はメールで)


レポート提出/デモンストレーション

レポート提出/デモンストレーションは、初回レポート、中間報告、最終報告の3回ある。 初回はレポートのみ、中間報告と最終報告は、デモンストレーションとレポート提出からなる。 なお、レポートの様式は「レポートの様式」 として別ページに記す。

最終デモを除き、期限より前のレポートの提出やデモの実施を認める。

初回レポート

締切
6/10(金) 12:00 [実験時間にスタッフへ提出]
レポート
個人単位で7SEG LED駆動回路およびカウンタの設計課題を行い、 その内容をレポートで提出する。 試験の答案ではなく実験レポートであることに注意すること。

プロセッサ設計演習

中間報告

デモンストレーション [プロトタイプの動作実証]
日時: 7/1(金) 13:00-16:15
PowerMedusaボード上に設計したプロセッサをダウンロードしたうえ、何らかの命令が動作していることを示す。 示し方は各自で工夫すること。
レポート [最終的に設計するプロセッサの仕様]
締切: 6/30(木) 17:00 [実験時間にスタッフへ提出]
設計するプロセッサに関して、以下の内容をまとめ提出する。 方式設計と機能設計レベルの仕様書も参照すること。
  1. [各グループ毎に1部] アーキテクチャ検討報告書
    1. 要求仕様、設計目標、方針、特長
      • 実現する機能、性能の目標値、など
    2. 高速化/並列処理の方式
      • 拡張命令、動作周波数、パイプライン化、並列化、など
    3. 性能/コストの予測
      • SIMPLE/Bに比べて性能、ハードウェア量が何倍程度か、ソート速度コンテストでの計算時間、サイクル数の予測、など
    4. 考察等
  2. [各グループ毎に1部] 方式設計仕様書
    • 概要
    • 命令セット・アーキテクチャ
    • 構造と動作
  3. [個人毎に1部] 機能設計仕様書
    • 全体をどのようにコンポーネントに分割したか (方式設計仕様書のブロック図を再掲して説明)
    • 設計を担当するコンポーネントの外部仕様
    • 実装を担当するコンポーネントの内部仕様
[提出前にチェック]
設計データ・性能評価データの提出
レポートと同時に電子ファイルを別途提出 → [中間データ提出] ※ファイル名=[班の番号].XXX (40.tar.gz, 40.zip など) とすること

最終報告

デモンストレーション [完成したプロセッサの動作実証]
日時: 7/21(木) 13:00-16:15
製作したコンピュータの特長などについて発表(セールストーク)を行い、完成したコンピュータ上で応用プログラムを実行するデモンストレーションを行う。
TA用最終デモチェックポイント一覧
レポート [完成したプロセッサに関するドキュメント]
締切: 8/4(木) 17:00
完成したプロセッサに関して、以下の内容をまとめ提出する。
  1. [各グループ毎に1部]
    • 最終成果物のユーザーズマニュアル (説明書、リファレンスマニュアル、またはデータブック)
      • IPコア(ソフトコアプロセッサ)として提供することを想定し、プロセッサを使用するうえで必要十分な情報を記載すること
      • 概要、性能と特長、命令セット・アーキテクチャ、構造と動作、など
      • (SIMPLE/Bを参照せず) これだけで完結した資料とすること
    • SIMPLE/B基本仕様からの拡張および性能評価(以下は例であり、この構成でなくてもよい。必要に応じて結果をデータシートにも記述すること。)
      • 基本アーキテクチャからの拡張の説明
        • どのような拡張を行ったか
        • その拡張を行うとどのように嬉しいかを説明
          • どのようなことが新たにできるようになるか? (サンプル・コードを使って説明)
      • プロセッサの性能評価
        • ゲート数(LUT数)
        • クロック周波数(実動作/CADでの予測値)、クリティカルパス
        • プログラムの命令数/実行命令数/実行サイクル数
      • 拡張の評価
        • ゲート数(LUT数)がどう変わったか
        • クロック周波数やクリティカルパスはどう変わったか(実動作/CADでの予測値)
        • プログラムの命令数/実行命令数/実行サイクル数の変化
    • 分担状況
      • プロセッサを構成する各ブロックの設計を、各グループ構成員がどのように分担したかを記述すること
  2. [個人毎に1部]
    • 設計を担当したコンポーネントの機能設計仕様書 (中間レポートからの追加分がある場合)
    • 設計を担当したコンポーネントのうち主要なものの、単体での性能評価 (LUT数、遅延時間(CADでの予測値)、クリティカルパス、など)
    • 考察および感想
      • 設計全体に関する考察、ならびに、自分が担当した部分に関する特に詳細な考察を行うこと
提出場所: 総合研究7号館3階 334号室。
設計データ・性能評価データの提出
レポートと同時に電子ファイルを別途提出 → [最終データ提出] ※ファイル名=[班@の番号].XXX (40.tar.gz, 40.zip など) とすること

資 料

資源保護のため、印刷するのは最小限にし、また、 将来のため、オンラインで閲覧することに慣れましょう。

設計のための資料

CAD上での設計のために特に注意して見ておいてほしい資料です。

* 設計フロー
随時更新。
* 設計のヒント
多少発展的な内容も含む設計のヒントがあります。 理解できない項目については、無理に利用する必要はありません。
* よくある質問とその答え(FAQ)
困ったらとりあえず見て下さい。随時追加。
* プロセッサの構成に必要となる論理ゲート
最低限覚えておきたいゲートとその真理値表。 (論理回路を履修した皆さんには常識ですよね。)
* プロセッサの構成に必要となる回路
基本的な回路を挙げておきます。 (論理回路を履修した皆さんには常識ですよね。)
* 同期設計
同期設計に関する tips。 (現在とは違う実験機材について書いているが、参考まで)

SIMPLE

* SIMPLE 設計資料
設計するプロセッサのアーキテクチャ、SIMPLEの仕様書。
* 初回講義スライド (PDF)
初回講義のスライドです。

PowerMedusaボード (新)(FPGAボード)

三菱電機マイコン機器ソフトウエア株式会社のFPGAボードです。 なお、載っているFPGAはAltera社のCyclone IVファミリのEP4CE30F23I7Nです。 (RX210 マイコンは本実験では使いません。)

[pdf] MU500-RXセット_ユーザーズマニュアルVer1.1.pdf
PowerMedusaボードMU500-RX/RKの取扱説明書。 なお、学外からはダウンロードできません.
[xls] MU500-RX_ピンアサイン表.xls
PowerMedusaボードMU500-RX/RKのピンアサイン表 なお、学外からはダウンロードできません.
[pdf] MU500-7SEGマニュアルVer2.pdf
PowerMedusaに追加する,7セグメントLEDボードの取扱説明書。 なお、学外からはダウンロードできません。
[xls] マニュアル用RX_7SEGピンアサイン.xls
PowerMedusaに追加する,7セグメントLEDボードのピンアサイン表 なお、学外からはダウンロードできません.

PowerMedusaボード (旧)(FPGAボード)

三菱電機マイコン機器ソフトウエア株式会社のFPGAボードです。 なお、載っているFPGAはAltera社のCycloneファミリのEP1C6Q240C8です。

[pdf] PowerMedusaユーザーズマニュアルMU200-EC6S
PowerMedusaボードの取扱説明書。 なお、学外からはダウンロードできません.
[pdf] PowerMedusaユーザーズマニュアルMU2007SEG
PowerMedusaに追加する,7セグメントLEDボードの取扱説明書。 なお、学外からはダウンロードできません。

CAD

CADはAltera社QuartusIIを使います。外部リンクの項目に新しい資料があります。

* CAD立ち上げからFPGAへのダウンロードまでの操作
CAD立ち上げからFPGAへのダウンロードまでの操作を箇条書きでまとめたものです。

FPGA

FPGAはAltera社のEP1C6Q240C8およびEP4CE30F23I7Nを使用します。 外部リンクの項目に資料があります。


外部リンク

* オンライン資料: Quartus II開発ソフトウェア
日本アルテラ社のQuartusIIのオンライン資料です。 日本語の資料としては、以下の物が役に立つと思います。
  • Introduction to Quartus II マニュアル
  • QuartusIIハンドブック
    多くのファイルに分かれていますが、今回の実験の内容で役に立つのは以下のあたりです。
    • Volume 1, Chapter 17: Quartus IIネットリスト・ビューワによるデザインの解析
    • Volume 2, Chapter 13: 面積&タイミングの最適化
    • Volume 2, Chapter 14: 消費電力の最適化
    • Volume 3, Chapter 6: Quartus II TimeQuestタイミング・アナライザ
    • Volume 3, Chapter 15: FPGAメモリおよび定数のインシステム・アップデート
    • (Volume 1, Chapter 2: 階層およびチームベース・デザインのための Quartus II インクリメンタル・コンパイル)
    • (Volume 2, Chapter 5: I/O管理)
* Cycloneデバイス・ファミリのドキュメント
Altera Cycloneデバイス・ファミリのデバイス・ハンドブックやデータシートがあります。

参考文献

* 富田眞治, 中島浩 共著: コンピュータハードウェア, 昭晃堂, ISBN4-7856-2044-7.
* D.A.パターソン,J.L.ヘネシー著, 成田光彰訳: コンピュータの構成と設計(上) 第3版 ISBN 4-8222-8266-X, 第4版 ISBN 4-8222-8478-6, 日経BP社
* D.A.パターソン,J.L.ヘネシー著, 成田光彰訳: コンピュータの構成と設計(下) 第3版 ISBN 4-8222-8267-8, 第4版 ISBN 4-8222-8479-4, 日経BP社

リンク

* 京都大学
* 工学部
* 情報学科計算機科学コース
* 情報学科計算機科学コース 計算機室(学生実験)
* 情報学研究科
* 工学部シラバス
* 工学部シラバス 計算機科学実験及演習3
* Altera
* 日本アルテラ−QuartusII開発ソフトウェア

質問の宛先は ktakagi@lab3.kuis.kyoto-u.ac.jp.
Last modified: 08/18/16 09:31
このコンテンツは、最初に 嶋田 創 先生が作成されたものをベースにしています。
ここに感謝の意を表します。