RISC-Vソリューション|GOWIN
当ページではGOWIN社FPGAに実装可能なRISC-Vの種類や実装時の開発フロー、提供可能な開発環境について解説します。
(注1)RISC-VのISAは、自由に無償で使えるように、RISC-V財団から提供されていますが、IPベンダー、ツールベンダーで提供しているサービスでは費用が発生する場合もございます。
商品基礎情報
GOWIN社のRISC-Vソリューション
GOWINセミコンダクター社(以下GOWIN社)は、ユーザのアプリケーションに合わせて、迅速に設計できるよう、RISC-V®オープンソースISAをベースにSoCシステムを、FPGAに実装する最適なサイズや性能のRISC-Vマイクロプロセッサ・ソフトコアを提供します(表1)。
FPGAにすぐ実装可能なRISC-V
GOWIN社は、5段パイプラインの「RiscV N25」ソフトコアの商用バージョンとSoCシステムを提供し、Arora® GW2A-18/55 FPGAデバイスに実装できます[図1]。ソフトコアIPをFPGA DESIGN EDA Too(l GOWIN EDA)に統合しており、ユーザは、プロジェクトに適したSoCシステムを分かりやすい方式で簡単に構成できます。また、GOWIN FPGAの豊富なDSPリソースを利用することで、RiscV N25ソフトコアの乗算ユニットのロジック実装が改善されるため、CPUの計算能力が大幅に向上します。よって、柔軟で低コストのソフトコアとSoCシステムで、AIやマルチメディア、クラウド・コンピューティングなど広い分野で応用できます。
RiscV N25ソフトコアの商用バージョンとSoCシステム・プラットフォームには、Eclipseに基づくIDE開発環境とサポートが提供されています。RISC-Vプラットフォームがオープンソース・バージョンの場合、C/C++コンパイラ・リンカなどの関連ツール・チェーンが提供され、場合によって、EclipseプラットフォームのIDE統合開発環境プラグインも提供されています。
コミュニティからもコアを選択
GOWIN社はオープンソース・コミュニティから、比較的小型で人気のあるRISC-Vマイクロプロセッサ・ソフトコアも選択して、LittleBee®ファミリ(GW1Nシリーズ:低コスト、低消費電力FPGA)とArora®ファミリ(GW2Aシリーズ:高性能FPGAチップ)への移植を実現しました。これにより、IoTとIoEに柔軟で信頼性の高いCPU+FPGAソリューションを提供します。
現在、移植に成功したのは、パフォーマンスに重点を置いたHumingBird E203、および最適化されたサイズを備えたPicoRV32です。この2つのプラットフォームを中心に、よく使用されているさまざまな周辺機器が検証されています。
完全に検証されたSoCハードウェア設計だけでなく、GOWIN社は、CPUソフトウェア・コード、SOCプラットフォーム・ドライバ・ライブラリ、クロス・コンパイル・ツール・チェーンなどのサポート、さらに、移植に成功したRTOS(uCosIII、FreeRTOS)やいくつかの組み込みオペレーティングシステムも引き続き提供します。
ツール・フローとCo-HW&SW設計環境
従来のMCUとは異なり、FPGA+MCUの実装には、最初にFPGA上にMCUシステムを構築する必要があります。そうしないと、MCUのソフトウェア・プログラミングとデバッグを従来の方法で実行できません。このプロセスを図2に示します。
FPGA+MCUソフトウェア・コードのストレージは、不揮発性ROMと揮発性RAMに分けられます。しかし、FPGAプラットフォームでは実装方法が、はるかに多くなるため、ストレージも非常に柔軟になります。ユーザは、小さなプログラムをFPGAのブロック・メモリに保存し、非常に低いコストと高速なコード実行を実現できます。また、フラッシュ・デバイスに比較的に大きなプログラムを保管し、低コストで大容量のプログラム保存も実現できます。プロジェクトに応じて、ユーザはFPGAでSDRAM制御インターフェースを設計して、大容量のプログラムとデータ・ストレージを実現することもできます。
PicoRiscVをgw_PicoRiscVとして形成
PicoRiscVは、サイズが高度に最適化された完全なオープンソースのRISC-Vプロセッサ・コアです。GOWINFPGAで使用されるロジック数はわずか2.2K LUTです。PicoRV32は、最大50MHzのシステム・クロックで動作し、hrystoneの評価結果は約0.53 DMIPS/MHzです。
RV32IMC命令セットをサポートするPicoRV32プロセッサ・コアは、有限ステート・マシーン制御回路を実装したマルチクロック・サイクル実行のハードウェアを採用しています。32個の割込み要求信号の管理と応答をサポートする割込み管理ユニットが組み込まれています。タイマ割り込みを生成できる32ビットのシングル・チャネル・タイマが実装されています[図3]。
PicoRV32プロセッサ・コアに、GOWIN社は、SimpleUARTインターフェース、SPI Flashインターフェース、およびwishbone標準バスインターフェースを追加し、完全なMCUデバイスを形成しました。これをgw_PicoRiscVとSoCシステムと呼びます。
gw_PicoRV32の統合開発環境
gw_PicoRV32とSoCシステムには、2つの構成可能なオンチップ・メモリ・デバイス(命令メモリILM、データ・メモリDLMです)があります。また、追加した命令メモリとSPI Flashインターフェースをもとに、ブート・ローダを設計しました。このブート・ローダにより、組み込みプログラムを外部不揮発性メモリに保存し、内部命令メモリで実行させるという動作モードが実現できました。これにより、揮発性を避けられ、動作速度が保証されました。
gw_PicoRiscVとSoCシステムの全体的なロジック・リソースの使用数はわずか4.8K LUTで、消費電力、小規模の組み込みプロジェクトに適しています。
RISC-V Foundationがリリースしたパブリック・オープンソースのクロス・ツール・チェーンと、グラフィカル開発ソフトウェアEclipseにもとづいて、PicoRV32の統合開発環境が構築されました。
Interface2019年12月号の「注目オープンソースRISC-Vマイコン」特集に掲載
GOWIN社のRISC-VはCQ出版社のInterface2019年12月号
「注目オープンソースRISC-Vマイコン」特集に掲載されました。
>>詳細はこちら