他人の回路のコピーとプロービング
琉球大学・工学部・情報工学科 教授 ファイヤー和田
私に用事がある時は、
「ファイヤー先生!」、「ファイヤー和田先生!」、「和田さん!」
と大声で叫ぶか呼んでください!必ず振り向きます!
1)本日の内容
SPWのHDS(Hardware Design System)を用いて、グー、チョキ、パーを適当に出力するじゃんけん・ファイターを設計する
最初に、和田が設計したじゃんけんファイター2種、fire と dynamite を紹介する
また、2つのファイターを実際にじゃんけんさせる回路 gyaiken を紹介する
また、審判を行う審判回路 judge を紹介する。
2)和田の回路ライブラリを使えるようにする
nirai上の ~/spwfiles/cds.lib なるファイルに以下の一行を追加して書き込む
DEFINE diglib /home/teacher/wada/pub/spwlib
以下にファイヤー和田のcds.libを示す
DEFINE digsysの方には各自のディレクトリが書かれているはずである。
3)和田のライブラリを自分のディレクトリへコピーする
SPWを起動して diglib/dynamite.detailをOPENする
そして Save As メニューで digsys/dynamite.detail へSAVEする
以下のファイルに対してどうようなことを繰り返す(diglib から digsys へコピーする)
diglib/dynamite.symbol
diglib/fire.detail
diglib/fire.symbol
diglib/judge.detail
diglib/judge.symbol
diglib/gyanken.system
fireとdynamiteはリニア・フィードバックシフトレジスタによる乱数発生器から2ビットの出力をクロックごとに発生する回路である。
グーは1、チョキは2、パーは3に対応している
judge回路は2人のファイタの出力を見て、1の勝った回数、2の勝った回数、引き分け回数、試合回数を出力する回路である
gyanken.systemはTOPの回路図であり、2人のじゃんけんファイターとジャッジを接続している。
4)シミュレーションの実行
digsys/gyanken.systemの図面を開き、すべてのSINKブロックのファイル名を
digsys/???に変更する (これをやらないと、シミュレーション出力を自分のディレクトリに保存できない)
fireを選択し、Edit>Replace>Instance>Newを実行し、digsys/fire.symbolに置きなおす
DynamiteとJudgeも同様にリプレースし、saveする
Tools>Simulation Managerを起動し、1000サイクルのシミュレーションを行い、波形を観測する
約1000試合後、どちらが勝ったか確認せよ
SigCalcでのコツ
S1ボタンを押して波形をすべて選択して、View>Selected Rangeで全てを表示
波形の好きな部分をドラッグして、View>Selected Rangeでその部分を拡大
S1ボタンを押して、波形をすべて選択して、Edit Propertiesで波形の表示方法を変更
Interporated -> Numericにすると値が表示される等
5)回路のプロービングによるデバッグ
digsys/gyanken.systemを開け、Tools>Simulation Managerを起動する。
PROBEなるタブを選択、右のDefaultの横の…を選択し、現れたDefine Probeウインドウの…を押す
Probe Browserが起動するので、下図のようにReal FIxed-pointを選択する。
これをやらないとプローブがうまくできません。
次に、プローブしたいポイントを選択する。(下図、ひし形が太くなっている)
Simulation Managerのプローブタブのところで、ATTACHを押すとその点の信号がプローブされ、波形を見ることができる。
プローブ後以下のようになる。
シミュレーション実行後、プローブを観測すると以下のようになる。
5)中間レポート課題
2週間後に提出
自分でじゃんけんファイター回路を自分のオリジナルの回路をSPWのHDSを持ちいて設計する。
あなたのファイターをfireとDynamaiteとに10000回のじゃんけん勝負をさせ、成績を調べる
fireとDynamaiteと自分で設計した回路を面積をなるべく小さくなるように回路合成を行い3つの比較をする。
以下の内容を含むレポートを提出する
自分の設計したじゃんけんファイタ回路図
自分のじゃんけんファイターのじゃんけんの出し方のアルゴリズムの説明
fire, Dynamaiteと対戦させたときの成績
fire, Dynamaite, あなたのファイターの合成後の回路面積
あなたのファイターの合成後の回路図
以上
講義のページへのリンク