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

Slides:



Advertisements
Similar presentations
Quartus Ⅱの簡単な使い方 Combinatorial Logic (組み合わせ論理回路)( P.19 ~ 23 ) ① Implementing Boolean Expressions&Equations (ブール表現とブール式の書き方) ② Declaring Nodes (ノードの宣言)
Advertisements

プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
計算機工学特論A 10/17  テキスト内容 1.1~1.4.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
ハードウェア記述言語による 論理回路設計とFPGAへの実装 1
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
計算機システムⅡ 主記憶装置とALU,レジスタの制御
5.3 各種カウンタ 平木.
Verilog HDL 12月21日(月).
コンパイラ 第9回 コード生成 ― スタックマシン ―
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
Fire Tom Wada IE dept. Univ. of the Ryukyus
情報コミュニケーション入門 2016年度版 情報コミュニケーション入門m 総合実習(1).
VLSI設計論第2回 組み合わせ回路の記述と 論理シミュレーション
4.2.2 4to1セレクタ.
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
第7回 2006/6/12.
計算機工学特論A 第4回 論理合成 山越研究室 増山 知東 2007年11月7日 .
VLSI設計論 慶應義塾大学 理工学部 情報工学科 山﨑 信行
データベース設計 第9回 Webインタフェースの作成(1)
ハードウェア記述言語による 論理回路設計とFPGAへの実装 2
Handel-Cを用いた ちょっとレトロ な 「よけゲー」 の設計
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
ICトレーナーの構成 7セグメントLED ブレッドボード XOR OR AND NAND 電源端子 スイッチ端子 LED端子 データLED
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
OpenMPハードウェア動作合成システムの検証(Ⅰ)
ツールの紹介と新規起動 プロジェクト演習 CS28  川口 博.
高速剰余算アルゴリズムとそのハードウェア実装についての研究
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
PCPU物理設計 ~マクロレベルの配置配線~
プログラミング応用 printfと変数.
プログラミング入門 電卓を作ろう・パートIV!!.
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
プログラミング演習Ⅱ 課題4第3週 画像処理 (1) ビット演算子.
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
情報基礎演習I(プログラミング) 第10回 6月29日 水曜5限 江草由佳
TA 高田正法 B10 CPUを作る 3日目 SPIMの改造 TA 高田正法
ディジタル回路の設計と CADによるシステム設計
計算機構成 第2回 ALUと組み合わせ回路の記述
ICトレーナーの構成 7セグメントLED ブレッドボード XOR OR AND NAND 電源端子 スイッチ端子 LED端子 データLED
プロジェクトの エクスポートとインポート 2014/10/7.
4点FFT設計 ファイヤー和田 知久 琉球大学・工学部・情報工学科 教授
コンピュータアーキテクチャ 第 7 回.
コンピュータアーキテクチャ 第 7 回.
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
VLSI設計論第3回 順序回路の記述と論理合成
コンピュータアーキテクチャ 第 10 回.
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
Fire Tom Wada IE dept. Univ. of the Ryukyus
ディジタル回路 9. 演算回路 五島 正裕.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Handel-Cを用いた パックマンの設計
計算機工学特論 スライド 電気電子工学専攻 修士1年 弓仲研究室 河西良介
コンピュータアーキテクチャ 第 10 回.
コンピュータアーキテクチャ 第 4 回.
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 5 回.
コンピュータアーキテクチャ 第 4 回.
コンピュータアーキテクチャ 第 5 回.
プログラムの開発手順 1.プログラム設計(仕様の決定) 2.コーディング(ソースファイルの作成) 3.アセンブル(オブジェクトファイル
Microsoft Excelとは 表の作成 →表の中で計算する グラフ作成 データベース機能 →並べ替え、検索 作業の自動化(マクロ機能)
ca-9. 数の扱い (コンピュータアーキテクチャとプロセッサ)
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
2009年8月18日,新潟大学 「情報」と「ものづくり」 の実践教育3 下保敏和,佐藤亮一.
情報処理 ADコンバータの基礎 アナログ電圧値をディジタル・データとして取 り込む
Presentation transcript:

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

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

設計フロー まとめ 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

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

ネットリストまとめ 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 ……

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

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

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

7セグを光らせる 4 PalSevenSegWriteDigit()と PalSevenSegWriteShape()については http://www28.cs.kobe-u.ac.jp/~kawapy/html/proj/PALManual.pdf のp.26を参照 さまざまな表示を試そう (別紙seven_seg.hcc参照) どのビットが7セグのどこに対応するのか?

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

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

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

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

問題 unsigned 7 a; unsigned 3 b; unsigned 4 c; unsigned 1 d; a=0b1101101; 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

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