実習キットで一緒に作る!オープンソースCPU RISC-V入門

マイコンの基礎から,オープンソース命令セットやアーキテクチャの基礎,
RISC-V CPUコアとそのシステムの論理設計,ソフトウェア開発環境の構築と使い方,
デバッグ方法,FPGAへの実装と活用まで(講義683分/568頁)

ご購入

下記のボタンを押して,必要事項の入力をお願いいたします.

内容 キット テキスト&
ソースコード
視聴期間 税込価格 申し込み
[VOD/KIT]
実習キットで一緒に作る!
オープンソースCPU RISC-V入門
無制限 \127,600

ご購入前にご理解いただきたいこと

  1. 本セミナは,2022年9月10日&11日に開催したウェビナを録画して編集した動画です.繰り返し再生,一時停止,巻き戻しが可能です.

本VODに付属のRISC-V実習キット(はんだ付け不要)

  1. Raspberry Pi4 model B 4GB&MicroHDMIケーブル&ACアダプタ&ヒートシンク:RISC-V開発環境として使用
  2. Raspberry Pi用micro SDXC:64GB,必要な環境インストール済
  3. Terasic DE10-Lite FPGAボード:USBケーブル(A-B)付き
  4. Adafruit 2.8" TFT Touch Shield v2 - Capacitive Touch Panel:アプリ開発用Arduinoシールド,FPGA基板に搭載.表示制御はSPI,タッチ制御はI2C
  5. ZEPオリジナル OpenOCD JTAG Debugger:PC上にRISC-V開発環境を構築した際,PCとRISC-VのJTAG端子を接続するもの
  6. USBケーブル(A - mini B):JTAG DebuggerとPCとの接続用
  7. メスーメス・ジャンパ 15cm(10本):ラズパイ or DebuggerとFPGAを接続

※5と6は,RISC-Vのソフトウェア開発環境をRaspberry PiではなくPC上に整えたときに必要になるものです.本セミナでは使用方法までの説明を行います.

写真2 自宅にお届けするRISC-V実習キット

学ぶこと

本セミナでは,マイコンの基礎からはじめて,オープンソース命令セットのRISC-V登場の意味と,そのアーキテクチャの基礎を理解し,RISC-Vコアを使ったマイコン・システムを実際にFPGAボードの上に構築し,ソフトウェアの開発方法やデバッグ方法を学びます.マイコン・システムのバスやメモリ,さらにパイプライン制御式RISC-V CPUコアの論理構造を学び,論理シミュレータの上で機能動作を確認して,FPGAボードへ実装します.RISC-Vのソフトウェア開発環境の構築とその使い方およびソース・レベル・デバッグの方法を学び,具体的なアプリケーション・プログラムの開発方法を理解します.本セミナを通して,RISC-Vマイコン・システムのハードウェアからソフトウェアまでの全般を具体的に理解できます.

図1 FPGAに実装したI2C機能を制御するCプログラムのデバッグ中 図2 UARTを動かすアプリケーションのシミュレーション

アジェンダ

(1)マイコンの歴史
 4004から現代まで

(2)マイコンの基礎
 本質的にコンピュータがやること/レジスタとメモリ/コンピュータ・システム/コンピュータ内の数値表現

(3)RISC-Vの登場
 RISC-Vのインパクト/RISC-V CPUコアを自作する意味/自作RISC-Vのターゲット仕様

(4)メモリ・アクセス(SoC/FPGA用SRAM)
 SRAMの制御信号とタイミング/SRAMのVerilog記述/FPGA用SRAM

(5)マイコンのバス(mmRISC-0版)
 マルチ・レイヤ・バス・マトリクス/バスの制御信号とタイミング

(6)バス周りの論理設計とシミュレーション(mmRISC-0版)
 システム構成/テストベンチ/Questaによる論理シミュレーション実行

(7)ARM標準バスAHB-Lite(mmRISC-1版)
 マルチ・レイヤAHB/AHB-Liteバスの制御信号とタイミング/AHB-LiteとSRAM接続

(8)ARM標準バスAXI4
 AXI4バスの特徴/チャネル/アクセス順序モデル/制御信号とタイミング

(9)主な周辺機能(mmRISC-0/1版)
 GPIO/UART/SPI/I2C

(10)RISC-Vアーキテクチャ
 プログラマーズ・モデル/RISC-Vシステムの基本/命令コードのアライメント/データのアライメント
 RV32I命令(基本命令)/RV32M命令(乗除算命令)/RV32A命令(アトミック命令)
 RV32F命令仕様(単精度浮動小数点命令)
 CPU制御レジスタ/MTIME/例外処理と割り込み/デバッグ・サポート

(11)RISC-Vプログラム開発環境
 RISC-V用Toolchain/OpenOCD/Eclipse IDE

(12)RTOSの基礎
 FreeRTOSとその概念と使い方

(13)簡易版RISC-V「mmRISC-0」の設計とFPGAへの実装
 mmRISC-0の仕様/mmRISC-0のシステム構成/プログラム・ローダとその設計
 命令のパイプライン動作/データ・パスとコントローラ/データパスの構造
 コントローラの構造/パイプライン制御方法の具体的内容/例外処理と割り込みの実装
 割り込みアサインと割り込み発生モジュールINT_GEN/SDRAMインターフェース
 機能検証方法/論理シミュレーションの実行/FPGAへの実装/プログラム作成と動作確認

(14)実用版RISC-V「mmRISC-1」のFPGAへの実装と活用
 mmRISC-1の仕様/mmRISC-1のシステム構成/OpenOCDデバッグ・サポート機能の考え方
 命令のパイプライン動作/論理シミュレーションの実行/FPGAへの実装
 プログラム作成とOpenOCDによるデバッグ操作/アプリケーションの開発

ショートセミナ

講師が自作したRISC-V CPUコア

RISC-Vプログラム開発環境の全体構造

各命令のパイプライン制御② メモリ・ロード命令

mmRISC-0システムの動作確認

受講対象

CPUコアを含むマイコン・システムをSoCやFPGAに実装する方法を学びたい電子技術者や学生,趣味として楽しもうとしている方々を対象としています.

マイコン・システムのハードウェアを開発するエンジニアは,本セミナで述べるような,ソフトウェア開発やデバッグ・サポート機能,さらには周辺機能の知識や経験を持った上で取り組むと,より使い勝手の良いシステムを完成させることができるでしょう.

講演の目標

  • RISC-Vをコアにしたマイコン・システムを独自に開発することができる
  • セミナで教材に使ったシステムのメモリや周辺機能を拡張できるようになる
  • RISC-Vのさまざまなアプリケーション・プログラムの開発を通して,ハードウェアとソフトウェアを統合したシステム全体の開発ができるようになる

あると望ましい予備知識

  • 簡単な論理回路
  • 基本的なVerilog HDLの知識
  • 基本的なLinuxコマンド
  • C言語の基礎

受講者が事前に準備するもの

  • パソコンの準備.64ビットWindows 10 or 11,空きディスク30GB以上,メモリ8GB以上
  • Raspberry Pi 4 Model Bを教材として配布します.そのRaspberry Pi用のモニタ(HDMI),キーボード(USB),マウス(USB)の準備

※パソコンへの事前インストール(ダウンロード・サイズが大きいので,時間に余裕を持って作業することをお勧め)

【1】教材データ
 受講者には別途ダウンロードURLをお知らせします.
 ファイル名:RISCV_2022xxxx.zip
   上記ファイルをCドライブ直下に置いて解凍
   ディレクト構成が下記のようになるようにしておく
     C:\RISCV\mmRISC-0\... (ディレクトリmmRISC-0はC:\RISCVの直下)
     C:\RISCV\mmRISC-1\... (ディレクトリmmRISC-1はC:\RISCVの直下)

【2】IntelR QuartusR Prime Lite Edition Design Software Version 21.1 for Windows
 Multiple Download (Quartus-lite-21.1.x.xxx-windows.tar Size: 5.6 GB)
 ダウンロードURL:https://www.intel.com/content/www/us/en/software-kit/684216/intel-quartus-prime-lite-edition-design-software-version-21-1-for-windows.html

  • tar圧縮ファイルの解凍は,Win10以降はコマンド・プロンプトにおいて下記コマンドで可能
     > tar -xVF ****.tar
  • 解凍したファイルのsetup(バッチ・ファイル)を実行し,デフォルト指定でインストール
  • 最後のUSB Blasterドライバのインストールまで完了させること

【3】上記でインストールしたQuesta(論理シミュレーション・ツール)の無償ライセンスを取得
 詳細は,https://www.macnica.co.jp/business/semiconductor/articles/intel/139706/を参照
 (1)マイ・インテルにユーザ登録してサインイン(Googleで「マイインテル」を検索)
 (2)インテルFPGAセルフサービス・ライセンス・センターをアクセス
 (3)パソコンを登録:[Computers and License Files]→[All Computers]の後,[New]ボタン

  • Computer Name: 後々区別をつけられる任意の名前
  • Computer Type: NIC ID
  • License Type: FIXED
  • Primary Compute ID: パソコンで使用中のネットワークのMACアドレス(16進数で12けた)
  • Companion IDやRedundant Server: 空欄
  (4)Questaライセンスを発行して,登録したパソコンに紐つけ
  • ライセンス・センター画面の[Sign up for Evaluation or Free License]を選択
  • Questa -intel FPGA Starter Editionを選択して,# of Seatsを1にセット
  • Terms of useにAgreeするチェックを入れて,Get Licenseボタンを押下
  • Generate License画面で,Assign an Existing Computerから登録パソコンを選択
  • Generateボタンを押下すると,登録したメールにライセンス・ファイルが届く
  (5)ライセンス・ファイル(***.dat)を全角文字やスペースのないパスに保存
  (6)環境変数「LM_LICENSE_FILE」を作成し変数値をライセンス・ファイルの絶対パスにする

【4】お好みのWindows用テキスト・エディタ
 例:Geany
 https://www.geany.org/download/releases/
 Geany ReleaseとGeany-Plugins Releaseをインストール
 メニュー[ツール]→[プラグイン・マネージャ]で「Project Organizer」をチェックすると便利

【5】本セミナでは,RISC-Vのソフトウェア開発環境(Eclipse + Gnu Toolchain + OpenOCD)をRaspberry Piの上で実行します.これは,皆様のWindows PCが個々に状況が異なり,共通の環境を動作させることにリスクがあるためです.本セミナの事前に,Raspberry PiとWindows PCの間で,ファイルを転送する手段を確保しておくことをお勧めします.

 (1)ネットワーク経由による方法(推奨)
 Windows PCとRaspberry Piを同一ネットワーク上に接続して,Windows PCからRaspberry Piに「SFTP」でログインしてファイル転送する方法です.
 ※教材付属のRaspberry Pi micro SDメモリーカードは,SSHを有効にしてあるので,
  SFTPでのファイル転送は可能になっています.Windowsコマンド・プロンプトから
  > sftp pi@[Raspberry PiのIPアドレス]
  (ユーザIDはpi,パスワードはraspberry)
     Raspi内の場所移動は, sftp> cd ディレクトリ名
     Raspi内のファイル確認は,sftp> ls
     Win→Raspiへの転送は, sftp> put ファイル名
     Raspi→Winへの転送は, sftp> get ファイル名
     終了は,sftp> quitまたはexit
 ※Raspberry Pi自身のIPアドレスはRaspbery Piのコンソールで「$ ifconfig」をすれば分かります.
 (2) USBメモリ経由による方法
 ネットワーク環境にRaspiを接続できない場合の,物理的手段です.
 RaspiからUSBメモリを取り外す前に,メニュー・バー右端の取出しボタン(▲)を押すことを忘れずに.
 USBメモリは各自で準備してください.

※録画受講の場合,上記の準備は不要です.

講師紹介

略歴

  • 出身地 :京都市左京区
  • 仕事  :1986年からマイコンLSI・半導体デバイスの設計に従事
  • 趣味  :1978年からマイコン・FPGA・GPUと戯れ
  • 執筆活動:2000年からマイコンを絡めた雑誌記事と書籍を執筆

主な著書

●雑誌記事 約100本程度執筆

  1. ARMベース・システムLSI開発の事例研究,Design Wave Magazine 2006年5月号,CQ出版社.
  2. ARM汎用プロセッサで使える汎用JTAGデバッガを自作する,Design Wave Magazine 2008年6月号,CQ出版社.
  3. 並列処理プロセッサxCORE徹底研究,インターフェース 2014年11月号~2015年6月号(連載),CQ出版社.
  4. Cで直叩き!超並列コンピュータGPU全速力,トランジスタ技術 2019年9月号(特集),CQ出版社.
  5. ほか

●書籍

  1. 今すぐ使えるH8マイコン基板 初版2010年,増補版2011年,CQ出版社.
  2. 2枚入り小型ARMマイコン基板 2011年,CQ出版社.
  3. ARM PSoCで作るMyスペシャル・マイコン 基板付き 2013年,CQ出版社.
  4. ARM PSoCで作るMyスペシャル・マイコン 開発編  2013年,CQ出版社.
  5. SHマイコン活用記事全集 2014年,CQ出版社.
  6. FPGA電子工作スーパキット 2016年,CQ出版社.
  7. MAX10実験キットで学ぶFPGA&コンピュータ 2016年,CQ出版社.
  8. 完全版FPGA電子工作オールインワン・キット 2016年,CQ出版社.