Presentation is loading. Please wait.

Presentation is loading. Please wait.

Handel-C基礎 および 7セグとマウスのハンドリング

Similar presentations


Presentation on theme: "Handel-C基礎 および 7セグとマウスのハンドリング"— Presentation transcript:

1 Handel-C基礎 および 7セグとマウスのハンドリング
プロジェクト演習 CS28  川口 博

2 サウンドヒント C:\proj\Examples\PSL\RC10\RC10.hw 動作を確認したら一度reset
MidiFlashのデモを楽しむ 動作を確認したら一度reset C:\proj\Examples\PSL\RC10\MidiFlash\SamplesにあるデータはフラッシュROM上にあることをFTUで確認 (Index ) サウンドが利用可能なことを覚えておきましょう

3 設計フロー まとめ Handel-Cで回路を記述 DK上でシンセシス、デバッグ、エミュレーション
設計フロー まとめ Handel-Cで回路を記述 DK上でシンセシス、デバッグ、エミュレーション ISEでFPGA上の配置配線(P&R)を決定し、マッピングデータ(.bitファイル)を作成 FTU (File Transfer Utility)で.bitファイルをRC10に転送 RC10で動作確認 エラーがあれば Handel-Cの記述まで戻る Debug/ Emulation Handel-C Xilinx ISE Place & Route Netlist

4 DK まとめ 高位ハードウェア記述Handel-Cから ネットリスト(ゲートレベルの回路記述)を生成する 論理合成(シンセシス) デバッガ
RC10がなくても、エミュレーション可能 (後日やりましょう) Complex state machines produced for free.

5 ネットリストまとめ EDIFファイル(.edfファイル)
ネットリスト:セルの名前とその入出力ポートの接続関係が記述されたリスト Notepad/WordPadで.edfファイルを表示させると… (cell XOR2 (cellType GENERIC) (view view_1 (viewType NETLIST) (interface (port I0 (direction INPUT)) (port I1 (direction INPUT)) (port O (direction OUTPUT)) ) (cell OR4 ……

6 7セグを光らせる 1 C:\proj\Tutorials\General\TutorialSevenSeg2\TutorialSevenSeg2.hw Build>Configurations…

7 7セグを光らせる 2 Add… Configuration name: RC10> Copy setting from:>RC200

8 7セグを光らせる 3 Project Settings (RC10)を 先週のとおりに設定 たとえばRC10にする

9 7セグを光らせる 4 PalSevenSegWriteDigit()と PalSevenSegWriteShape()については のp.26を参照 さまざまな表示を試そう (別紙seven_seg.hcc参照) どのビットが7セグのどこに対応するのか?

10 Handel-C言語仕様 別紙“Handel-C & DK Training”を参照 par ビット演算 その他

11 par C:\proj\Tutorials\General\TutorialHCBasics\TutorialHCBasics.hw
同様にConfiguration: RC10を作る 別紙のとおりSleep(500)を削除・追加 Parをコメントアウトする・しないで挙動を比較

12 マウスのハンドリング 1 C:\proj\Examples\PAL\Examples.hw
Mouse このソースにコードを追加して 7セグに“77”を光らせる ヒント:別紙seven_seg.hccの☑を追加

13 マウスのハンドリング 2 さらにコードを追加して、 左ボタンクリックで7セグを-1減算 右ボタンクリックで7セグを+1加算
ヒント: while(1)ループ if(PalMouseGetButton(MousePtr,0)) //左ボタン if(PalMouseGetButton(MousePtr,2)) //右ボタン 1クリックごとに加減算しているか?(前クロックのボタンの状態を覚える1ビットレジスタを左右それぞれ用意し、そのレジスタが”1”で現在のボタンが”0”ならば,ボタンが離されたということ) カーソルが縞になっていないか?

14 問題 unsigned 7 a; unsigned 3 b; unsigned 4 c; unsigned 1 d; a=0b ; 1クリックごとに以下のサイクルを実行 1: aの下位3ビットをbに代入 2: aの上位4ビットをcに代入 3: bを上位3ビット、cを下位4ビットとしてaに代入 4: aの最下位ビットをdに代入 5: dをcに代入 6: cを上位4ビットにしてaに代入し、下位ビットは全て1

15 問題のヒント? Case マクロadju(variable,width) キャスト(unsigned x)


Download ppt "Handel-C基礎 および 7セグとマウスのハンドリング"

Similar presentations


Ads by Google