RISC-Vの実装
RISC-Vを使うにはいろんな手段があります。ASICチップが乗っているボードを買ってくることもできますし、FPGAにデザインを焼いて動作させることができます。特にFPGAを使う場合は、自分で簡単にカスタマイズすることもできますので独自のRISC-V環境を作ることもできます。
RISC-Vを使うにはいろんな手段があります。ASICチップが乗っているボードを買ってくることもできますし、FPGAにデザインを焼いて動作させることができます。特にFPGAを使う場合は、自分で簡単にカスタマイズすることもできますので独自のRISC-V環境を作ることもできます。
ハードウェアとしての仕様については、第2回と第3回で紹介した程度の知識があれば十分と思います。では、次にソフトウェア環境について見てみましょう。いくらハードウェアが揃っていても、ソフトウェア環境が不十分ではユーザは開発を行うことができません。RISC-Vのエコシステムを支える、ソフトウェア群について今回は簡単にご紹介します。
今回の実験は、TZ2100音声HMIボードに搭載されているArduino互換ピンを使用して、Seeed社のGrove Kitに含まれているLEDをつけたり、アナログ入力ピンに温度センサーをつないでみました。Arduinoシールドは、Seeed社のGrove Kit V3を使用しています。このキットに含まれているLEDと温度センサーを音声で制御します。
TZ2100の音声HMIソリューションボードの真髄は、ネットに繋がなくても独自の音声コマンドを扱える点です。BSPの環境を整えておけば、わずか数分でオリジナル音声コマンドが構築できます。今回の実験室は、独自の音声コマンドを作って組み込む方法を試してみました。
RISC-Vには、基本となる命令セットに加えてシステムレジスタも定義されています。RISC-Vでオペレーティングシステムを動作させたり、アプリケーションを開発するためには、このシステムレジスタについて理解する必要があるでしょう。
TZ2100の音声ソリューションボードには、MEMSマイクが搭載されています。今回の実験は、静かな屋内や公園、騒音のある交差点など、場所や距離など異なる環境下で、どの程度音声認識ができるのかを実験してみました。距離は、50cm、100cm、200cmとしました。
2つの画像の差分を検出する「動体検知」をRTOSで実装するために、京都マイコンのSOLID Starter Kit for AG903を使って、IoT駐車場管理システム第2弾のデモアプリを作ってみました。
人物検知などの監視機能を備えたインテリジェントカメラを手掛けるレグラスは、画像処理のプラットフォームとして、FPGAファブリックとArmプロセッサコアを統合したザイリンクスのZynq®-7000 SoCおよびZynq UltraScale+™ MPSoCを採用した。
RISC-Vの命令セットの特徴について聞かれるとき、まず真っ先に「シンプルである」と答えると思います。実際、x86やArmなどのアーキテクチャに比べて命令セットは綺麗にまとめられており、あまり使うことのない無駄な命令も定義されていません。