[everiPro科目]FPGA設計
IoTデバイス構築基盤となるプロセッサとFPGAの協調処理による設計技術
FPGA設計
科目名 | FPGA設計 |
---|---|
科目名(英名) | Embedded System Technology on an FPGA |
担当講師(氏名・所属) | 久我 守弘(熊本大学) |
分類 | 演習 |
授業形態 |
遠隔 本科目はオンラインにて実施するため、どの地域からも受講が可能です。 実習に使用するPCは、以下の要件を満たすものをご用意ください。 必要機材は貸与します。 |
時数 | 8コマ |
時間数(コマ数✕1.5) | 12時間 |
授業の概要 | 組込みシステムは各種の機器に組み込まれてその制御を行う専用のコンピュータシステムであり、近年の重要なキーワードとなっているIoT(Internet of Things)を実現するための重要技術である。組込みシステムに関する基礎技術を習得するために、本講義および演習では、近年スマートフォン等で広く使用されているARMプロセッサと書き換え可能な集積回路であるFPGA(Field Programmable Gate Array)とがひとつの集積チップ上に混載されているSoC(System on a Chip)をターゲットデバイスとして、それを利用した組込みシステムの開発方法を学ぶ。本講義・演習の受講により、ARMプロセッサで動作するプログラムとFPGA上に実装したハードウェアとの相互連携を図る組込みシステムの設計法について理解を深める。 |
到達目標 | ・組込みシステムに関する基礎知識を習得する。 ・Xilinx社製プログラマブルSoCであるZynqデバイスにおいてARMプロセッサの取り扱いおよびFPGA部へのプロセッサ周辺回路の実装方法等について理解する。 ・簡単なアプリケーションを例として取り上げ、プロセッサ上で動作するプログラムからFPGA部に実装されたハードウェアとのソフトウェア-ハードウェア協調処理に関する技術について理解する。 ・Linuxオペレーティングシステムの実装方法について理解する。 |
難易度 | ★★ |
分野別難易度(前提知識) | 回路:★ HDLプログラミング:★ Cプログラミング :★ |
履修上の注意 (準備学習・前提知識) |
プログラミング言語Cおよびハードウェア記述言語による回路設計を習ったことがあるとよい。特に事前に開講する「ハードウェア記述言語入門」は履修しておくことが望ましい。 |
授業計画・内容 | 2日間8コマ12時間において、始めに簡単な座学講義を行った後、残りを演習として実施する。 講義: ・組込みシステムの概要 ・Xilinx社製プログラマブルSoC Zynqデバイスの概要 演習: Xilinx社製プログラマブルSoCであるZynqデバイスをターゲットとして、簡単な組込みシステムの設計方法について学ぶ。また、Zynqデバイス上で動作するLinuxオペレーティングシステムの実装方法および使用方法について学ぶ。 使用するFPGAボード:Digilent社製ZYBO Z7-20 ・FPGA上におけるプロセッサおよび周辺回路の設計 ・ハードウェアとソフトウェアの連携 ・ハードウェアモジュールの設計 ・応用プログラミング ・Linuxオペレーティングシステムの実装 |
事前・事後学習の内容 | ・個人所有のノートパソコンでZynqデパイスへの回路設計・実装を行う場合には、事前にXilinx社製FPGA設計ツールであるVivvadoをインストールしておく必要があります。インストール方法については、Moodle上で資料を提供します。 ・学習の効率を高めるために、Moodleで提供する資料を予習してきてください(60分)。 |
成績評価の方法 | ハードウェア-ソフトウェア協調処理プログラミングを行う簡単な演習課題を完了すること(100%) |
教科書・参考書等 | 授業中に必要な資料を配布します |
キーワード | 組込みシステム、プロセッサーFPGA混載デバイス、ハードウェア-ソフトウェア協調処理 Linuxオペレーティングシステム |