計算機構成 第11回 フルスクラッチでVerilogを書く 慶應大学 天野英晴 ハードウェア設計 • 機能面の仕様をきっちりまとめる – まずは入出力を決める – ハードウェアの振る舞いをきちんと定義 • 性能、面積、電力の仕様を満足させる – 論理合成、圧縮してみて評価 – 利用デバイスが決まっていれば大体予想が付く 演習1 • 1から6まで数えて、stop入力で停止するサイ コロdiceを設計せよ(3回目の演習、提出済み の人は演習2をやってよい) • ヒント: 入力はclk, stop,rst_nの3本、出力は 3bitのサイコロの目 • この演習は簡単なのでテストベンチも自分で 作ってみよ • この演習が手も足も出ない人は演習2は無理 なので、早めにTAに助けを求めること 演習2 ピンポンゲーム 仕様 • 横一列に並んだLED8個(led)とスイッチ2個(right,left)、ピン ポン球の移動速度程度のクロック(clk)、リセット入力(rst_n) を想定する。 • LEDの一つが点灯し、これが球を表す。球は1クロックに一 つずつ右方向または左方向に移動する。 • 球が右方向に移動中、led[0]が点灯している時にrightボタン を押すと球が跳ね返り、方向が変わる。ボタンが押されない とゲームは終了する。 • 球が左方向に移動中、led[7]が点灯している時にleftボタンを 押すと球が跳ね返り、方向が変わる。 • ボタンが押されないとゲームが終了する。 仕様の検討 • 問題点:ボタンを押しっぱなしにする人が居たらいつでも跳ね返る→これ を避けるのは簡単だが、今回は面倒なのでボタンは押したら1クロックだ けHになると想定する。(ちなみにこの回路も同期微分ですぐできる。) • 曖昧な点:サーブがどちらから出るか、led[0]、led[7]が点灯しているのを 見て次のクロックで打つのか、それともその前で打つのか、などが決まっ ていない→設計者にお任せする。 • 今回は過保護なことにテストベンチは作っておいた。これはled[0],led[7] に球が居るのを見て次で打つ仕様。細かいところは直して良い。 • 拡張機能は自由 • シミュレーション終了後、論理合成、圧縮をして動作周波数、面積、電力 を求めよ。tclファイルは用意しておくが、変更してよい。 • 提出はpp.v。動作周波数、面積、電力、拡張機能をつけた人はその解説 • お楽しみくださいませ。
© Copyright 2024 ExpyDoc