ディジタル回路 第1回 ガイダンス、CMOSの基本回路

計算機構成 第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。動作周波数、面積、電力、拡張機能をつけた人はその解説
• お楽しみくださいませ。