202_.__.__ 最終報告 TA用チェックポイント一覧 ※ チェックは一覧シートに ◎: 必須 ○: 重要 ☆: いずれか必須 0. 実験体制 ◎ 0.1 各人が回路設計を分担しているか ○ 0.2 動作検証、デバッグ、コード管理等の分担は適切か ○ 0.3 動作の理解や保守が容易な設計記述をしているか ○ 0.4 動作説明やデバッグをしやすくするため、ボードやツールの使い方を工夫しているか ◎ 0.5 各人がデモでの説明を分担したか 1. 命令セットアーキテクチャ ◎ 1.1 SIMPLE 基本命令が全て実現できているか ☆ 1.2 拡張命令を実現できているか - 拡張命令のコスト (回路量,遅延) と効果 (機能,性能) を考察しているか - 拡張命令のコスト (回路量,遅延) と効果 (機能,性能) を定量的に評価しているか - 拡張命令が有効な使用例を示せているか 2. マイクロアーキテクチャ ◎ 2.1 SIMPLE/B 基本マイクロアーキテクチャ (以上のもの) を実現できているか ○ 2.2 クロック同期式で設計できているか - 非同期設計の場合,困難な点を理解しそれを解決しているか [論理ハザードの問題,ホールド違反の問題など] ○ 2.3 (メモリ以外で) クロックの逆エッジを使用していないか - 使用している場合,あえて使用する利点を説明できるか [実質フェーズ数が倍になっていることを理解しているか] ☆ 2.4 (部分的) パイプライン処理を実現しているか - コスト (回路量,遅延) と効果 (機能,性能) を考察しているか - コスト (回路量,遅延) と効果 (機能,性能) を定量的に評価しているか - パイプラインハザードに対処しているか - フォワーティング,遅延分岐などを実現しているか ☆ 2.5 ロード/ストアユニット,演算ユニットなどの多重化を実現しているか - コスト (回路量,遅延) と効果 (機能,性能) を考察しているか - コスト (回路量,遅延) と効果 (機能,性能) を定量的に評価しているか ☆ 2.6 その他 (マルチコア化など) の高性能化を実現しているか - コスト (回路量,遅延) と効果 (機能,性能) を考察しているか - コスト (回路量,遅延) と効果 (機能,性能) を定量的に評価しているか 3. 設計の完成度 ◎ 3.1 全命令のテスト,いくつかの命令列のテストをしているか ◎ 3.2 応用プログラムが動作しているか ○ 3.3 拡張命令がある場合,それが有効な応用プログラムが動作しているか ○ 3.4 パイプライン化等をしている場合,それが有効な応用プログラムが動作しているか 4. 評価,最適化 ◎ 4.1 コンパイルレポートで最大動作周波数を確認しているか - Unconstrained Clocks が残っていないか ○ 4.2 Timing Analyzerでセットアップ違反やホールド違反などのエラーが出ていないか ○ 4.3 コンパイルレポートでクリティカルパスを確認しているか - フォールスパスがある場合,制約として指定しているか ○ 4.4 クリティカルパスを短縮する検討をしているか ◎ 4.5 実機が動作する最大周波数を測定しているか - 40MHz 以上で動作しそうな場合,PLL を使用しているか ◎ 4.6 コンパイルレポートと実機の動作結果を比較しているか