• 検索結果がありません。

組込み向けFPGA設計の教育~PWMオーディオ出力によるゲーム音楽演奏システム設計事例

N/A
N/A
Protected

Academic year: 2021

シェア "組込み向けFPGA設計の教育~PWMオーディオ出力によるゲーム音楽演奏システム設計事例"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)Vol.2016-EMB-42 No.2 2016/8/25. 情報処理学会研究報告 IPSJ SIG Technical Report. 組込み向け FPGA 設計の教育 ~PWM オーディオ出力によるゲーム音楽演奏システム設計事例 大川猛†1. 大津金光†1 横田隆史†1. 概要:FPGA デバイスの高性能化・低消費電力化・実現可能な回路の大規模化が進み,設計ツールの改善が進んでい る.今後は組込みシステムにおいて FPGA を活用することが,製品の差別化につながり競争力を生む源泉になること が期待される.そのため, 「組込み向け FPGA 設計技術者」の育成のために必要な教育内容を検討する.その第 1 歩 として考案した教育プログラム「PWM オーディオ出力によるゲーム音楽演奏システム」を題材とし,学部 4 年生の 研究室配属導入教育において設計を行った事例について紹介する.. キーワード:FPGA,設計,教育,音楽演奏システム,PWM オーディオ, 設計事例. 1. はじめに. FPGA(Field Programmable Gate Array)は,ユーザがディジ. タル論理回路を自由にプログラムすることができる LSI チ ップである.FPGA の性能向上・低消費電力化・低価格化・ プログラム可能な回路の大規模化が進み,現在 FPGA は一 般に,汎用プロセッサ(CPU)とソフトウェアの組み合わ せと比較して,大幅な(数 10 倍以上の)性能向上や消費電. システム製品の差別化につながり競争力を生む源泉になる ことが期待される. 本稿では,以上の背景を鑑み,組込みシステムにおいて. FPGA を導入するための設計技術と設計技術者の教育につ いて議論する.第 2 節では,FPGA 技術と応用の動向につ. いて俯瞰し把握する.続いて第 3 節では,FPGA を活用で きる組込み技術者,すなわち「組込み向け FPGA 設計技術 者」とはどのようなものかを定義する.また,そのような. 力削減を行うことが出来ると考えられている[1].そのため, 技術者の育成・教育はどのように行うべきであるかを議論 多くのシステム開発の場面で,ソフトウェア処理の代わり. に FPGA を用いてハードウェア処理をすることでの性能向. する.第 4 節においては, 「組込み向け FPGA 設計技術者」. の育成の試みとして,本学の学部 4 年生を対象に,研究室. 上が期待されるようになった. 導入教育として行った, 「ゲーム音楽演奏システム」の設計 一方で,FPGA の性能を引き出すためには,(1)ハードウ ェアによる並列処理を設計し,(2)FPGA の各種リソースを. 事例について紹介し,その内容について議論する.第 5 節 で関連研究に触れた後,第 6 節でまとめとする.. グラムする必要がある.近年は,C 言語(特に OpenCL[2]). 2. FPGA 技術と応用の動向. での記述からハードウェアを合成する,高位合成・動作合. 育成を検討するに当たり,まずは FPGA 技術と応用の動向. 成の研究開発が盛んにおこなわれており,各社から高位合. を俯瞰し把握する.. 活用し,(3)アプリケーションに特化した最適な回路をプロ. や Java[3]・Python[4]といったソフトウェア言語・高級言語. 成ツールが製品化されている.現状,画像処理や信号処理. 組込みシステム向けの FPGA を設計開発できる技術者の. 2.1 FPGA デバイスの性能動向. といったアプリケーション処理の記述,ということでは高. 1980 年代に FPGA が実用化された当初は実現できる回. 位合成は非常に有用であると認識されている.一方,ソフ. 路規模が小さく高価であったため,プロトタイプ(試作品・. ずしも FPGA のメリットを完全に活用出来るということで. 検証用システム)やグルーロジック(LSI チップ間のつな. が多くある.そのため,基本的に Verilog-HDL や VHDL と. 性能向上・低消費電力化・低価格化・プログラム可能な回. トウェア記述で FPGA 処理を行うことが出来ることは,必. はなく,依然として HDL を用いた設計・開発が必要な場面 いった HDL(Hardware Description Language)を用いて,クロ. ぎ)のために用いられることが多かった.しかし FPGA の. 路の大規模化が進むにつれ,製品への FPGA 導入が進んで. いる.具体的な回路規模を挙げると,Xilinx 社の Virtex-5. ッ ク単 位 でレ ジ スタに書 き込 む 論理 演 算を 記 述す る,. (2006 年)の最大回路規模は 330K 論理ゲートであったが,. 現状の組込みシステム技術者は,主に組込み向けプロセ. 2000K 論理ゲートと,3 年で 2 倍以上と大幅に伸びている. RTL(Register Transfer Level)の設計を行う必要がある.. ッサ(いわゆるマイコン)を使いこなす技術に長けた技術 者である,という認識が一般的である.すなわち,HDL を. 記述して FPGA を使用することは稀である.しかし,今後 は組込みシステムにおいて FPGA を活用することが組込み. Virtex-6 (2009 年)は 760K 論理ゲート,Virtex-7 (2012 年)は [5][13].今後もこの傾向は続くと考えられている.. 製品に専用 LSI(ASIC)と FPGA のどちらを使ったらよ. いか,については文献[6]において比較検討されている.性. 能面では一般的な傾向として,FPGA は ASIC と比較して,. †1 宇都宮大学 Utsunomiya University. ⓒ2016 Information Processing Society of Japan. 1.

(2) Vol.2016-EMB-42 No.2 2016/8/25. 情報処理学会研究報告 IPSJ SIG Technical Report 単位面積当たり 1/2 のメモリ,1/4 の論理回路しか実装でき. ず,動作周波数も 1/4 程度であり,電力に関しては 6.6 倍の. 満たすとは限らず,数ワット程度の低消費電力で,高機能. 開きがある(90nm/40nm 世代の場合)[6].これに対して, FPGA 利用におけるメリットは,主にコスト的な要因と開. 応用範囲が拡大している.. 発期間短縮である.LSI の製造数が少ない場合,あるいは. [11]と呼ばれる組込み画像処理である.エンベデッドビジ. ョンとは,従来 PC やサーバ上で実現されてきた画像処理・. 先行者利益確保のため早期の製品市場導入が必要な場合に は FPGA の採用が有効である.そのため,性能・消費電力. 面でのデメリットを考慮しても製品への FPGA 導入が拡大 していると考えられる. 2.2 FPGA の応用動向. な処理・高性能な処理を行いたいという要求から FPGA の. 特に最近発展が目覚ましいのは,エンベデッドビジョン. 画像認識機能を,組込みシステム,例えばカメラ直近に組 み込んだプロセッサによる処理を行うことである.画像全 体を PC・サーバやユーザ端末に転送するのではなく,必要. FPGA の現在の主な適用先は,第 1 にネットワークパケ. な情報のみを抽出して転送することで,ネットワーク通信. ット処理を行う機器(大規模ルータ等)である[7].これは. ため,FPGA デバイスベンダーからも,組込みシステム向. ネットークパケット処理の性質として,(1) パケット毎に. 製品群が提案・提供されるようになった.例えば Xilinx の. 並列性があるためスケーラビリティに富む,(2) 数ビット. 量削減や電力消費の観点から大きなメリットがある.その けの消費電力数 W でエンベデッドビジョン処理が可能な. (8 の倍数ですらない)のフィールドを判断して分岐する. Zynq-7000 シリーズは,ARM プロセッサを FPGA と同一の. クプロトコルの進歩が速いため ASIC では開発が追い付か. しつつ FPGA リソースにアクセスし,OpenCV の処理の一. 処理が多いため CPU では処理効率が悪い,(3) ネットワー. ない等が挙げられる.こうしたネットワークパケット処理 のような性質を持つような処理については,FPGA は大変. チップ内に混載することで,Linux 上で OpenCV[26]を動か. 部を加速できる環境を実現した. こうした処理プラットフォームの選択において,FPGA. 効率よく並列処理を行うことが出来る.具体的な応用とし. と比較対象となるのが GPU である[12].消費電力が数 W で. するネットワーク侵入検知システムが挙げられる[8].反対. 主に画像処理に関して性能向上に役立っている.しかしな. の側面からみると,FPGA デバイスの主な市場がネットワ. がら,電気信号レベルでのリアルタイム応答性の確保やア. ては,不正なパケットをワイヤスピードの 10Gbps で処理. あるような組込み向け GPU もベンダから提供されており,. ーク機器であるために,FPGA デバイスがその応用に特化. プリケーションに特化した処理という点では FPGA 採用の. して進歩してきたともいえる.. メリットは依然大きい.. 一 方ネ ッ トワ ー クパ ケ ッ ト 処 理 以 外の 応 用と し て ,. ロボット・車載アプリ等におけるセンサ・アクチュエー. アクセラレータ Catapult における機械学習への応用[9]が. タの駆動・制御[14]は,こうしたチップ端子における電気信. Microsoft 社のデータセンターにおける FPGA 搭載サーバの. 2014 年に脚光を浴びた.これは,1,632 台のサーバに FPGA. 号レベルの操作を,非常に短い遅延時間(クロック単位,. 大 30%の電力増加で達成したもので,データセンターにお. アプリケーションである.その一方,ロボット・車載とい. ける電力効率の向上に貢献する手法であると期待される.. ネント化による設計生産性の向上が必須である.こうした. FPGA による効率的な CNN (Convolutional Neural Network) /. として扱うための技術が提案されている[15][16][17].. を導入することで 95%のスループット向上を 10%程度・最. また,2012 年を契機とする深層学習の発展にともなって,. DNN (Deep Neural Network)の実現[10]が報告されている.. CNN/DNN においては,浮動小数点や 32/16 ビットの精度. が必ずしも必要でないことから,FPGA は GPU と比較して 効率的に CNN/DNN の計算を行うことが期待される. 2.3 組込みシステムにおける FPGA の応用. FPGA の応用は,上記のような高性能処理応用のみに限. らない. PC・サーバではない領域の,組込みシステムにお いても FPGA の導入が期待されている.. 現代的な組込みシステムの設計は,要求にあった ASSP. (Application Specific Standard Product)チップを選定し,OS・ ライブラリ・ミドルウェアを組み合わせることが一般的で ある.しかしながら,必ずしも ASSP が要求性能・機能を. ⓒ2016 Information Processing Society of Japan. 数 ns 程度)で行える,という FPGA のメリットを活用した. った複雑・大規模なシステムにはミドルウェア・コンポー 課題に対し,システム統合の際に FPGA をコンポーネント. 3.. 「組込み向け FPGA 設計技術者」 以 上の 背 景を 鑑 みて , 今 後 は組 込 みシ ス テム お い て. FPGA を導入できる技術者の需要が増えることが予想され. る.そのような技術者を「組込み向け FPGA 設計技術者」. と呼ぶことを提唱する.組込み向け FPGA 設計技術者は, 必要に応じて,ハード開発(FPGA)もソフト開発も行うこ とができ,組込みシステムのチーム開発においてシステム 全体を見通した設計ができる.すなわち,ハードとソフト の境目を超越した技術者である. 3.1 FPGA 設計技術者の教育. FPGA 設計技術者の教育に関しては,大手 FPGA ベンダ. 2.

(3) Vol.2016-EMB-42 No.2 2016/8/25. 情報処理学会研究報告 IPSJ SIG Technical Report である Xilinx[19], ALTERA[20]の両者ともに講習会の開催. 設計とスイッチング理論」および 3 年次の「情報工学実験. を無償で提供するなど普及に努めている.しかしながら,. 設計」 (全員が必修受講)は,2 時間 25 分×3 回の授業時間. や University Program を展開しており,ツールや開発ボード これらは FPGA の使い方に重点を置いたものである. 3.2 ハード技術者とソフト技術者の間の壁. これまでも,ハード技術者とソフト技術者の間の壁の存 在は問題視されてきた.文献[18]では「(両者の間には)高 い壁があるように見えます.それは知識の壁であり,設計 文化の壁であり,コミュニケーションの壁です.」という見 解が示されており,単にソフトウェアからのハードウェア. 2」[21]がある.この実験のうち「HDL によるハードウェア. で,組合せ回路・順序回路の基礎に関する設計実習課題を,. Verilog-HDL の記述により RTL シミュレータおよび FPGA ボード(Digilent 社製 BASYS2)を用いて行う. • 学部3年. 学部2年:論理設計とスイッチング理論. HDLによるハードウェア設計 • 11月:研究室仮配属 組合せ回路・順序回路 • 情報工学実験2. • 学部4年. • 4月:研究室本配属. • 4月~6月:導入教育・英語文献輪講 • 5月:卒業研究グループ配属. 高位合成で片付く問題ではないようである.. • 7月→ここでの教育. この「ハードとソフトの間の壁」の問題に対して,近年. 発展を続ける FPGA を活用した教育を解決の一助とする可. • 8月:大学院入試. • 9月~1月:卒業研究. 能性を検討したい.従来は,ハード技術者は電気に関連す る教育,ソフト技術者は情報に関連する教育を受けた技術 者であった.すなわち大学での専攻(学科)によって属す るコミュニティが決まり,知識・文化が断絶されていた. これに対して,ハードとソフトの境目には「FPGA の設. Figure 1. (1コマ半x3回・30名) FPGAボードで演習・レポート メモリアクセス回路 (1週間・6名) FPGAボードで演習・レポート. ゲーム音楽演奏システム (2週間・2名+4名) FPGAボードで開発 成果をオープンキャンパスで展示. 本学科の FPGA・HDL 関連カリキュラム. 4.2 PBL(Project Based Learning)型教育の必要性. 前提を「受講者の 4 年生は,3 年生の時点で HDL による. 計」がある.FPGA の設計は,すなわちプログラミング言 語(ソフト)でハードを設計するということであり,LSI チッ. FPGA 設計の最も基本的な部分に触れた」として,本 FPGA. プを製造せずにその場で回路(ハード)の動作確認が出来,. 設計教育を設計する.3 年生の情報工学実験2は,学年の. ソフトウェアのような取り扱いが可能である.そのため,. 1/3 ずつ約 30 人を相手にして行う一斉実験であり,ほぼ見. ハードとソフトの双方の技術者が,FPGA の設計を学ぶこ. 本に沿って穴埋めしていく作業がほとんどである.そのた. とが, 「壁」の問題を解決する糸口になると考えられる.. め,開発するシステムの要求に応じて,何を開発しないと. 3.3 「組込み向け FPGA 設計技術者」の需要. いけないのか,を考える機会に乏しい.すなわち, 「要求の. ハードとソフトの間の壁を超越することのできる技術. 仕様化」の訓練を十分に受けていない.ソフトウェアの場. 者は,現在においても多くの開発の現場で,重要な役割を. 合は事前に設計しなくても少しずつ機能をコーディングし. もって活躍しており,様々な開発プロジェクトで引っ張り. ていけば何とか動いてしまう傾向があり「要求の仕様化」. だこになっているように思われる.しかし(具体的な数値. の訓練が不足する.一方,ハードウェアの場合,Verilog-HDL. は持ち合わせていないが)そのような技術者の数は少ない.. のコーディングは少し複雑な機能になるとデバッグが非常. 従来,各個人の熱意による独学での自助努力でそのような. に困難になるため,事前の設計によるモジュール分割など. 技術者がはぐくまれてきたが,体系的に「組込み向け FPGA. が必須である.本教育プログラムにおいては,こうした「要. 設計技術者」を育成することが出来れば,組込みシステム. 求の仕様化」の訓練のために,PBL(Project Based Learning). の開発の現場において,大変有用である.. 型の教育が有効であると考える.. 4. FPGA 設計教育プログラムの事例 ~PWM オーディオ出力による ゲーム音楽演奏システムの設計 これまで論じてきた「組込み向け FPGA 設計技術者」の. 教育には何が必要だろうか.本稿においては本学学部 4 年. 4.3 学習意欲に関する ARCS モデルとの関連. PBL 型の FPGA 設計教育を設計するにあたり,受講生の. 学習意欲を刺激する題材を用意する必要がある.題材の検 討にあたり,学習意欲に関する ARCS モデルを参考にする こととした.ARCS モデル[22]は Keller により提唱された. 個人の動機づけのモデルである.以下の 4 つの因子が学習. 生による「ゲーム音楽演奏システム」の設計プロジェクト を題材として,具体的な FPGA 設計教育を検討する. 4.1 前提:FPGA 設計教育の対象となる受講者. 受講者は,著者らの所属する宇都宮大学の工学部情報工. 学科の 4 年生とした.本学科の入学定員は 1 学年 72 名で. あり,Figure 1 に示すカリキュラムで教育を行っている. FPGA に強い関連のある実験・演習として,2 年次の「論理. ⓒ2016 Information Processing Society of Japan. 意欲に結び付く. . Attention. . Confidence.  . Relevance. Satisfaction. (注意) (関連性) (自信) (満足感). これら 4 つの因子に注意し教育プログラムを設計[23]した.. 3.

(4) Vol.2016-EMB-42 No.2 2016/8/25. 情報処理学会研究報告 IPSJ SIG Technical Report 4.3.1 Attention:面白そう・ゲーム音楽を題材 教育効果を高めるためには,まず受講生の注意(Attention). コンパイルに時間がかかり,TAT(Turn Around Time)が長く なる(おおよそ 10 分以上).一方,ゲーム音楽の演奏のた. を引き付ける必要がある.そこで選んだ題材は「ゲーム音. めの楽音(矩形波・三角波)発生機能等は,非常に少ない. 楽の演奏」である.これは,現代においては国・地域にか. ハードウェア量で実現可能であるため,コンパイル時間は. かわらず親世代ですらゲームに理解があることが多く,ゲ ーム音楽はほぼ全ての大学生が,子供のころから慣れ親し. コンパイル時間を考慮し小さい FPGA デバイス・少ないハ. んでおり興味を持つ内容である.受講生の頭の中に,作成. ードウェア回路規模で行うことが肝要である.. 1 分程度で収まる.そのため,FPGA 設計教育においては,. する前から完成のイメージを抱きやすいという点も良い影 響があると考えられる.. また,Confidence を感じさせるためには,(1)やればでき そうな目標の設定,(2)一歩ずつ進める,(3)自分でコントロ. 以上の観点では,画像・映像・音声といったメディア処. 理は,すべて Attention については良いが,後程述べる Confidence に多少難がある.. 4.3.2 Relevance:やりがい・応用を意識した内容. Relevance とは関連性・やりがいであり,これまでの経験. との関連付けと,今後の受講生自身の卒業研究やエンジニ. ールさせる,という工夫が必要である.これらの具体的な 工夫については,次のサブセクション 4.4 にて説明する. 4.3.4 Satisfaction:やってよかった・発表の場. Satisfaction とは,終わった後に満足感を感じることであ. り, 「より深く学びたい」という動機づけにつながる.この. FPGA 設計教育プログラムは,研究室に配属されて間もな. アとしてのキャリアを意識した関連付けを行い,やる価値. い 4 年生に卒業研究テーマを決める前の導入教育として行. がある,と感じさせる因子である.. った.そのため,やらなければ卒業できない,という性質. 「組込み向け FPGA 設計技術者」の教育に当たっては,. (必修)のものではない.そのため本プログラムの結末の. 電気信号レベルのハードウェアとソフトウェアの両面に触. 場を,開始から 2 週間後のオープンキャンパスにおける展. れることが望ましい.そのため, 「ゲーム音楽の演奏」をな. 示とした.すなわち,作ったものを展示してお客さんに見. るべく生の電気信号レベルで取り扱う,PWM オーディオ. を扱うこととした(Figure 2).PWM オーディオは,音声信. てもらう,という事で,モノづくりの喜びを感じさせる工. 号のアナログ電圧信号を作成するために,FPGA からの出 力を PWM 変調(例えば 200KHz)する.この際,音声信号. また, 「これだけのものを自分たちは作ることが出来たの. のアナログ電圧に応じた DUTY 比を設定して,1/0 のディ. だ」という肯定的な自己評価を高めることにもつながる.. ジタル信号で出力する.その後,FPGA 外部で抵抗・コン. ARCS モデルを参考に設計した FPGA 設計教育プログラ. ムを,受講生 6 名(学部 4 年生)に参加してもらい,約 2. デンサによる LPF(Low Pass Filter)を通過させ高周波成分 (100KHz 以上)をカットすることで,所望の音声信号を生. 夫をした.. 4.4 FPGA 設計教育プログラムの経過. 週間の期間で実施した(Table 1). Table 1. 成するものである. 以上の話は情報工学の学生であっても直感的に理解が. 可能であり,学部 2 年生の「論理設計とスイッチング理論」. 期間. や「電気回路」といった科目とのつながりを感じさせる.. 作るもの. 受講生. また,卒業研究でモータ制御や光の制御を扱う学生にとっ ても今後の研究テーマとのつながりを感じさせる. DUTY比. PWM周波数: 200KHz(周期: 5us). 50%. 出力電圧. LPF (<100KHz). 10% -50%. Figure 2. 2016 年 7 月 7 日~18 日(12 日間). 6 名(学部 4 年生). ゲーム音楽を奏でる FPGA ・3 和音(矩形波×2,三角波×1). 4.4.1 プロジェクトのゴールと要求の明確化(7/7). 50%. 10%. 本 FPGA 設計教育プログラムの概要. プロジェクトの開始に当たって,まずはキックオフミー ティング(7/7(木))にて受講生全員(6名)集合し,教員(大川). 10%. PWM オーディオの概要. 4.3.3 Confidence:やればできる・自分の力で出来る内容. Attention の項目で触れたように,画像・映像・音声とい. からプロジェクトのゴールと,要求と PWM オーディオの 原理,そして全体システム設計についての案を,ホワイト ボードを用いて説明をした(Figure 3). . プロジェクトのゴール 「7/18(月・祝)のオープンキャンパスまでに,ゲーム 音楽を演奏する FPGA を作ろう!」. ったメディア処理は,受講生の興味を惹きやすいものであ るが,画像・映像は取り扱うデータが多いために,必然的 に回路規模が大きくなる問題がある.回路規模が大きいと, ⓒ2016 Information Processing Society of Japan. 4.

(5) Vol.2016-EMB-42 No.2 2016/8/25. 情報処理学会研究報告 IPSJ SIG Technical Report 4.4.3 開発分担体制の相談(7/7). 同キックオフミーティング(7/7(木))において,今後 6 人. の受講生でどのように開発を分担するかを相談した.しか し,現段階ではどのようなシステムを作ればよいかイメー ジがわかない,ということで,まずは直近の目標として, 各人がノコギリ波を発生する,ということを設定し,キッ クオフミーティングを解散し各自作業することとした. これは,Confidence を感じさせるために,各人が自分で 課題を乗り越え,コントロールできる感覚を身に着けるた めの小さな目標である. Figure 3. キックオフミーティングの White Board. 4.4.4 ノコギリ波の発生(~7/11). 7/11(月)に受講生全員集合し,ノコギリ波発生の宿題の確認. 4.4.2 基本的な操作の実演(7/7). をした.スピーカの音色の変化の確認に加えて,オシロス. FPGA に触れるものもいた.そのため,同キックオフミー. 圧を出力する,PWM オーディオの原理を目視で観察した. 受講生の中には 3 年生で行った実験以来,約 1 年ぶりに ティング(7/7(木))にて,FPGA 設計環境(ISE14.7)を用いた. コープを用い,PWM の DUTY を変えることでアナログ電 (Figure 6).. FPGA 設計実演を行った.FPGA ボード(Digilent 社製. BASYS2)に出力アンプモジュール(同社製 PMODAMP1) を接続し PC 用のスピーカから,音声を出力した.. また,Figure 5 に示すカウンタ回路の Verilog-HDL 記述を. その場で入力し 50MHz(20ns 周期)のクロック信号を 2 の. 17 乗で分周すること(counter の 17 ビット目を出力)で, 約 1KHz の音声信号(矩形波)が発生することを確認した. 更に,200KHz の PWM 変調で,音量を変化可能であること. も一緒に確認した.動作確認した FPGA のプロジェクトフ ァイルは,受講生全員に配布した.. Figure 4. PWM オーディオ出力 FPGA システムの構成. always@(posedge CLK) begin if(RESET) counter <= 0; else if(counter == audio_period) counter <= 0; else counter <= counter +1; end Figure 5. Figure 6. オシロスコープによる PWM 波形の観察. 4.4.5 開発タスクと分担の相談(7/11) ノコギリ波の発生をクリアしたところで,今後ゲーム音 楽を演奏するまでに何をする必要があるか,を相談した.. カウンタによる矩形波の発生. まずは三角波発生という意見があった.また,三和音(音. 声の Mix)をどのように実現するかについての意見が出た. この日が,完成期日(7/18)の 1 週間前に当たるため,この. ⓒ2016 Information Processing Society of Japan. 5.

(6) Vol.2016-EMB-42 No.2 2016/8/25. 情報処理学会研究報告 IPSJ SIG Technical Report 段階で受講生自身からシステム全体構成の案が出ることを. チャンネルごとに状態を設け,Tick(1ms 程度.テンポ設定. 期待して待ったが,難しそうであった.完成期日までに動. により変更する)ごとに順番に行うようなステートマシン. くものが出来ない,ということもプロジェクト失敗の事例. を作るのが定石である.しかし,これをハードウェアで作. として経験しても良いかもしれない.しかしながら,やは. 成すると複雑なステートマシンの設計をする必要がある.. り成功の体験をさせるべきであるとこの時点で判断した.. 一方シンプルに考えると,各チャンネルは,音符ごとに. そのため,教員が介入して設計を行うこととし,教員(大川) から全体構成の案を示した(Figure 7).. 全体構成案に従い,前半と後半を 2 グループで分担開発. することとした.グループ分けは研究室が同じメンバー (Gr.1 : 4 人,Gr.2 : 2 人)とした.Gr.1 は後半(音源・ミキ. KEY ON, WAIT, KEY OFF を繰り返せばよいだけなので,非. 常に単純なステートマシンをチャンネルごとに設ければよ いという事がわかる(Figure 10).併せて音符データの形式. を定めた(Figure 11).音符休符の他に,繰り返しのために 次のメモリアドレスを指定する Jump コマンドを設けた.. サー) ,Gr.2 は前半(シーケンサ)の担当とし,7/15 に結合 テストする予定とした.前半と後半の分割点は,音源・ミ キサの入力部分とした.音源の入力は 20bit の period(周期) とし,ミキサの入力は 4bit の volume(音量)とした.. なお,最終的な構成図を Figure 8 に示す.大きな変更点. は,シーケンサ・メモリ(BRAM)を,音声発生器毎に設けて 完全に並列動作可能にしたことと,並列動作間の同期をと るための共通クロック(1ms 程度)を設けたことである.. Figure 9. 音楽シーケンサのデータ構造と状態遷移案 Init. length == 0. ReadMem. Command. Figure 7 9. FPGA ゲーム音楽演奏システムの全体構成案. BRAM #0. Seq 32 #0. BRAM #1. Seq 32 #1. BRAM #2. Seq 32 #2. 9 9. 20 20. 20. Square Wave Gen #0 Square Wave Gen #1 Triangle Wave Gen #2. 8. 4. 8. 4. 8. Mixer. 10. 音符 休符 PWM. 4. Common Clk Tick=1ms@120 BPM. Figure 8. FPGA ゲーム音楽演奏システムの最終構成図. 4.4.6 音楽シーケンサの開発(7/12-13). Note. Jump. Figure 10. コマンド. 31. 31. Figure 11. 0. length != 0. Wait. 音楽シーケンサの状態遷移図 24 23. parameter. note. 16 15 12 11 vol. 16 15 12 11 cmd. length. 0. 0. 0. 楽曲データの形式(音符とコマンド). 4.4.7 音楽シーケンサの単体テスト(7/12-13). FPGA ボードを用いた音楽シーケンサの単体テストを行. った.そのために,BRAM(FPGA 内の SRAM ブロック) 中にデータを書き込む必要がある.しかし,外部からデー. Gr.2 では,音楽シーケンサの開発を 7/13 までに完了する. タを入力する回路を設計するのは追加の工数がかかること. 予定で進めた.7/11 の時点で殆ど仕様が決まっていなかっ. こととした.Xilinx の Core Generator を用いると,COE フ. ァイル形式で BRAM の初期値を与えて FPGA をプログラ. ソフトウェアでこのような音楽シーケンサの開発を行う際 には,シーケンサは 1 つ用意し,各チャンネルの楽曲デー. ム可能である.そのため,COE ファイルを手書きしてテス. タを読み,音符ごとに周波数・強さを設定して発音(KEY. 楽譜を 16 進数のデータ化した Figure 13 を用いた.. 音楽シーケンサ単体の動作確認は,FPGA ボード上の 7. たため,教員と Gr.2 受講者で相談し具体化した(Figure 9).. ON)・音符の長さ待つ(WAIT)・消音(KEY OFF)する. ⓒ2016 Information Processing Society of Japan. から,BRAM の初期値を,FPGA プログラム時に設定する. トを行った.なおテストデータとしては,Figure 12 に示す. 6.

(7) Vol.2016-EMB-42 No.2 2016/8/25. 情報処理学会研究報告 IPSJ SIG Technical Report セグメント LED に,音符のデータ(16 進数数値)を表示. が小さいために,BRAM と乗算器を合わせて 4 つしか使用. することにより行った.当初は,音符のデータがまったく. できない制約があった.そのため,ミキサでの乗算をいっ. 期待通りに表示されなかった.教員(大川)が介入して原因. 究明を RTL シミュレータで行ったところ,BRAM から読. たん削除し,Volume を変更できない状態で結合テストを行. み出す値が期待よりも 1 クロック遅れていることに気付い. うこととした.結果として,期待通りのゲーム音楽演奏が. Verilog-HDL の記述も同様に修正した.これにより,期待通. COE ファイルを記述することで任意の楽曲を演奏可能. た.そのため,Figure 14 のように状態遷移図を修正し,. りに音楽シーケンサが動作することを確認した.. 可能であることを確認した.. 4.4.1 大学院生による自主的な追加タスク(7/13-15). になったが,COE ファイルは 16 進数を直接入力するため,. 入力・修正が困難であるという問題があった.そのため, 独自テキスト形式の音符記述から COE ファイルに変換す るツール(convert2coe.py)および,MIDI ファイルから独自 テキスト形式の音符記述に変換するツール(midi4fpga.py) を,大学院生が自主的に開発した.MIDI ファイルは 3 和音 以上の音符を含むため,一部手作業が必要であるが,これ. Figure 12. テストデータ1の譜面. により,多くの楽曲を簡単に演奏できるようになった.. 4.4.1 振り返りミーティングとオープンキャンパス(7/15,18) 本来 7/15 に結合のためのミーティングを行う予定だっ. たが,既に動作確認済みであったため,受講生全員で本教 育プログラムの振り返りを行った.無事音楽演奏ができた Figure 13. テストデータ1の 16 進数数値 Init. length == 0. ReadMem. Command. WaitMem. ので概ね好評であったが,Gr.1 は 4 人で開発を分担するの が難しかった,という問題があったようである.. 5. 関連研究. FPGA の教育に関しては,文献[25]で概要的な報告がある. が,具体的な教育プログラムに踏み込んだ議論はなされて length != 0 Note. いないように思われる.. また FPGA を用いたコンテストが,FIT2016 情報科学技. 術フォーラムにおいて電子情報通信学会・情報処理学会の Jump. Figure 14. Wait. デバッグ後の状態遷移図. RECONF/CPSY/ARC/GI 研究会合同で行われており,本稿 の教育プログラムよりもハイレベルな PBL が行われてい る.しかしながら,いわゆる L-チカ(LED を点滅させるプ. ログラムを書く組込み開発の Hello World)からハイレベル な設計の間のギャップを埋める PBL 題材としては,本論文 で提案する PWM オーディオは有用だと考えられる.. 6. おわりに. 今後の組込みシステム開発において FPGA を活用して魅. 力的な製品を生み出していくためには,ソフトとハードの 壁を超越した「組込み向け FPGA 設計技術者」の育成が必. 要であり,本稿ではそのために必要な教育内容を検討した. ARCS モデルに基づき考案した教育プログラム「PWM オ. ーディオ出力によるゲーム音楽演奏システム設計」におい Figure 15. て,学部 4 年生の研究室配属導入教育において,オープン テスト時の回路構成と状態遷移図の修正. 4.4.8 音源・ミキサの結合テスト(7/13). Gr.1 により開発された音源・ミキサの結合を, 予定の 7/15. よりも 2 日早い 7/13 に行い,結合テストを行った.ほぼ問. 題なく動作したが,BASYS2 ボードに搭載の FPGA の規模 ⓒ2016 Information Processing Society of Japan. キャンパスを目指して設計を行った.結果として,PWM オ ーディオ出力回路を用いて矩形波 2 音・三角波 1 音の合計. 3 和音でゲーム音楽を演奏可能な,FPGA システムの開発 を完了することが出来た.FPGA 内の回路で 3 音の発生・. 合成を行い, 最終段で PWM 変調および FPGA 外部での LPF. 7.

(8) Vol.2016-EMB-42 No.2 2016/8/25. 情報処理学会研究報告 IPSJ SIG Technical Report により音声出力のためのアナログ電圧出力を行った.また, FPGA 内の BRAM 上に格納した楽譜データを基にしてシー. ケンサで演奏を行うこととした.教育試行回数および受講 生の数が多くないため統計的なデータはまだないが,受講 生の感想はおおむね良好なものであった.一方,期間が短 期間(12 日間)であったことから教員の介入が多くなり, Confidence を育む機会が少なったことは残念だった.. 今後,本教育プログラムもしくは関連する教育プログラ ムに関して,被験者実験を実施することで,アンケートに よる主観評価や客観的指標により有効性を検証したい. なお本教育プログラムで得られた成果のソースコード. 類の一部は GitHub のレポジトリにて公開している[28].. 謝辞. 本稿に記載の FPGA 導入教育プログラムにおいて受講生. として参加してくれた,宇都宮大学オプティクス教育研究 センター山本裕紹研究室の 4 年生(藤井賢吾, 伊藤秀征, 黒 川菜緒, 森田渉吾) ,工学部情報工学科. 横田・大津・大川. 研究室の 4 年生(小林都生, 菅田悠平) ・大学院生(松本拓 也・山科和史)のみなさん,ありがとうございました.. 参考文献 [1]. [2]. [3] [4] [5] [6]. [7]. [8]. [9]. Kentaro Sano, Wang Luzhou, Yoshiaki Hatsuda, Takanori Iizuka and Satoru Yamamoto, “FPGA-Array with Bandwidth-Reduction Mechanism for Scalable and Power-Efficient Numerical Simulations based on Finite Difference Methods,” ACM Transactions on Reconfigurable Technology and Systems (TRETS), Vol.3, No.4, Article No.21, DOI:10.1145/1862648.1862651 (35 pages), 2010 張山昌論, 立見駿介, 生駒哲一, “OpenCL を用いたパーティク ルフィルタ用 FPGA プラットフォームの評価”, 電子情報通信 学会技術報告(信学技報),リコンフィギャラブルシステム研 究会, Vol. 116, No. 53, RECONF2016-22, pp.109-113, 2016 三好健文. “企業における FPGA アプリケーション研究開発 の一例”. 電子情報通信学会技術研究報告. RECONF, リコン フィギャラブルシステム, 114.223, pp.51-56, 2014 高前田伸也. “PyCoRAM による Python を用いたポータブル な FPGA アクセラレータ開発.” 組込みシステムシンポジウ ム 2014 論文集, 2-2, 2014 Xilinx ユーザガイド Large FPGA Methodology Guide, ug872, 2012 中村 祐一,“3-2 ASIC と FPGA どちらを使いますか?(3.システ ム LSI 及び FPGA を用いたシステム設計例,<小特集>転換期 に来たシステム LSI 技術と将来への展望)”,一般社団法人電 子情報通信学会,電子情報通信学会誌,Vol.96, No.2, pp. 85-89, 2013 SONG, Haoyu; LOCKWOOD, John W., “Efficient packet classification for network intrusion detection using FPGA,” Proceedings of the 2005 ACM/SIGDA 13th international symposium on Field-programmable gate arrays. ACM, p. 238-245, 2005 SOURDIS, Ioannis, PNEVMATIKATOS, Dionisios, “Fast, largescale string match for a 10Gbps FPGA-based network intrusion detection system,” International Conference on Field Programmable Logic and Applications. Springer Berlin Heidelberg, p. 880-889, 2003 Putnam, A., Caulfield, A. M., Chung, E. S., Chiou, D., Constantinides, K., Demme, J., Haselman, M., “A reconfigurable. ⓒ2016 Information Processing Society of Japan. fabric for accelerating large-scale datacenter services,” 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA). IEEE, p. 13-24, 2014 [10] H. Nakahara and T. Sasao, “A deep convolutional neural network based on nested residue number system,” 25th International Conference on Field-Programmable Logic and Applications (FPL 2015), pp.1-6, 2015 [11] MACLEAN, W. James, “An evaluation of the suitability of FPGAs for embedded vision systems,” 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05)-Workshops. IEEE, p. 131-131. 2005 [12]Asano, S., Maruyama, T., and Yamaguchi, Y., “Performance comparison of FPGA, GPU and CPU in image processing”, In Proceedings of International Conference on Field Programmable Logic and Applications, FPL2009, pp. 126-131, 2009. [13] 高前田伸也, “FPGA・リコンフィギャラブルシステム研究の 最新動向”,(2015 年 3 月 11 日 電子情報通信学会総合大会@ 立命館大学 BKC チュートリアル「若手による高性能コンピ ュータシステムの最新動向解説」にて), 2015 [14] Piltan, F., Rahmani, M., Esmaeili, M., Tayebi, M. A., Cheraghi, M. P. H., Rashidian, M. R., and Khajeh, A., “Research on FPGA-Based Controller for Nonlinear System”, International Journal of U-& EService, Science and Technology, Vol.8, No.3, pp. 11-28, 2015. [15] Kazushi Yamashina, Takeshi Ohkawa, Kanemitsu Ootsu, Takashi Yokota, “Proposal of ROS-compliant FPGA Component for LowPower Robotic Systems - case study on image processing application -”, Proceedings of 2nd International Workshop on FPGAs for Software Programmers, FSP2015, pp.62-67, 2015. [16] Kazushi Yamashina, Hitomi Kimura, Takeshi Ohkawa, Kanemitsu Ootsu, Takashi Yokota, "cReComp: Automated Design Tool for ROS-Compliant FPGA Component," To appear in IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC-16), Sep. 21-23, 2016 [17] Takeshi Ohkawa, Kazushi Yamashina, Takuya Matsumoto, Kanemitsu Ootsu, Takashi Yokota, "Architecture Exploration of Robot System using ROS-Compliant FPGA Component," To appear in 27th IEEE International Symposium on Rapid System Prototyping (RSP) collocated with ESWEEK, Oct. 6-7, 2016 [18] Design Wave 編集部, “ソフトウェア・ハードウェア・ ボーダ レス技術者の時代へ”, Design Wave Magazine 2000 November, 特集・ソフト&ハード 両方知ってて当たりまえ!, pp.28-29, 2000 [19] http://www.virtual-event.jp/xilinx/introduction.html [20] https://www.altera.co.jp/products/fpga/new-to-fpgas/beginner.html [21] 大川猛, “実験資料:情報工学実験 II HDL によるハードウェア 設計”, 2016 http://www.ced.is.utsunomiya-u.ac.jp/lecture/2016/jikken2/hdl/ [22] KELLER, John M. How to integrate learner motivation planning into lesson planning: The ARCS model approach. VII Semanario, Santiago, Cuba, 1-13, 2000 [23] 鈴木 克明, “教材設計マニュアル―独学を支援するために”, 2002 [24] キットで学ぶ教材研究委員会, “キットで学ぶ FPGA チャレ ンジャー Xilinx Spartan 3E 版,” 株式会社アドウィン, 2013 [25] CHANG, Yu-Tsang, et al. FPGA education and research activities in Taiwan. In: Field-Programmable Technology (FPT), Proceedings. 2002 IEEE International Conference on. IEEE, p. 445-448, 2002 [26] http://opencv.org/ [27] 青山 義弘, 川崎 基輝, 藪原 由貴, “FPGA を用いた組込み システム設計によるアーキテクチャ教育の提案”, 福井工業 高等専門学校 研究紀要 自然科学・工学, 巻: 45, 2011 [28] https://github.com/Kumikomi/. 8.

(9)

Figure 3 キ ックオフミ ーティングの White Board

参照

関連したドキュメント

活用のエキスパート教員による学力向上を意 図した授業設計・学習環境設計,日本教育工

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.

※ログイン後最初に表示 される申込メニュー画面 の「ユーザ情報変更」ボタ ンより事前にメールアド レスをご登録いただきま

工場設備の計測装置(燃料ガス発熱量計)と表示装置(新たに設置した燃料ガス 発熱量計)における燃料ガス発熱量を比較した結果を図 4-2-1-5 に示す。図

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.

小学校における環境教育の中で、子供たちに家庭 における省エネなど環境に配慮した行動の実践を させることにより、CO 2

実効性 評価 方法. ○全社員を対象としたアンケート において,下記設問に関する回答

 ①技術者の行動が社会的に大き    な影響を及ぼすことについて    の理解度.  ②「安全性確保」および「社会