鳥なき里のマイコン屋(41) SiFive RISC-V、MCUにもなり MCUではなく

頭の片隅にその名はちらちらしつつも、いままで避けてきていましたものに

RISC-V

があります。最近「盛り上がっている」オープンな命令セットアーキテクチャです。

オープンで自由だ

などと言われると何かよさげでつい浮かれて乗ってしまいそうな気もするのですが、ちょっと懐疑的な気持ちもあるのです。自由の裏にはそれを維持するための努力がとっても必要だから。でもそろそろ避けているわけにもいかない時期に来ているようです。

RISC-Vは「アーキテクチャ」であるので特定の実装に依存することはありません。しかし、その実チップとなれば実体ハードウエアを持たざるを得ず、特定の実装になるわけです。そこで登場するのが、「実チップ」を手掛けている会社ですが、その中でSiFive社は本命的な一社じゃないかと思います。この会社がカバーしようとしている「実装」は、Arm Cortex-Aシリーズクラスの比較的ハイエンドからCortex-Mシリーズクラスのローエンドまで幅広く含むようです。下の方はまさにマイクロコントローラ(MCU)領域、そして、実際「マイクロコントローラ」に分類せざるを得ない「実チップ」も出しているようなのです。この投稿のシリーズ、実装とその売り方(売られ方)に興味があります。いたしかたありません、RISC-Vのマイクロコントローラを眺めておきましょう。

Openチョメチョメ

主にソフトウエアの世界では良く聞く言葉で、実際、その中のいくつかにはかなりお世話になっていたりします。立派なものを開発されている皆さんには頭が下がります。その反面Open何某と名乗るものの、数の多さと目的、品質の混沌具合。後は野となれ的な荒野も広がっているようにも思われます。

名乗るのは簡単だが、本当のムーブメントになるまでは遠い

のではないでしょうか。

規格などのOpen何某はスコープがはっきりしているので、まだましかもしれません。良く聞く

オープン・イノベーション

立派に行われている事例も多いですが、中には、適当にOpenXX的な「フリー」なものをいくつか拾ってきて、組み合わせて、自分は何も発明(イノベーション)せずに、てっとり早く商売しているだけじゃん、などと言いたくなるケースも混じっているようにも感じます。

さて、本題に帰ります。x86であればIntel、ArmであればArmがISA(Instruction Set Architecture<命令セットアーキテクチャ>)に関わる各種権利を持ち、ユーザが勝手に改変はおろか、実装もすることはできません。Armの場合は業としてライセンスを販売しているのでお金を払えば使用の権利を得ることはできますが、自由度の高い権利は高額な筈です。x86の場合、表だってライセンスを売っているわけではないので、いくつかの契約は存在する筈ですが、詳細は闇の中です。それらに対して RISC-V、オープンです。

誰でも設計、製造、販売できる

すばらしい。でも、「誰でもできる」ということは、「自分」か「他の誰か」のどちらがやらなければ、使えない、ということでもあります。自分が「やりたい」人は問題ないでしょう。Armコアに対抗するようなマイクロコントローラをRISC-Vを使って設計、製造、販売できますな。Armに払うようなイニシャルフィーもロイアルティーも必要ない。しかし、「自分でコアの設計からやりたい人」がどのくらいいるか、と考えるとかなり少数派だと断言できます。理由は、

  1. 応用商品を作る立場では、手っ取り早く応用を向いて「儲かる商品」を作りたいのです。使うマイクロコントローラ、ましてやコアから作るといった「迂遠な」ことは、そうすることでよほど応用商品を高く売れるとか数量が出るとかいうメリットがない限りやりたくない。
  2. アプリケーションソフトウエアを開発する立場としては、作った(投資した)ソフトウエア資産を末永く使い続けられるようなアーキテクチャが好ましい。また、サードパーティからソフトウエア部品、ツールなど調達しやすいものが良い。

からです。自分で作ればその時は最適なコアを作れるかもしれませんが、もっと速度の速い改良版とか、機能追加版とか、必要になるたび延々と作り続けないとなりません。この負担は大きいです。作ったMCU自体が商品であれば、その努力も続くでしょうが、応用商品であれば、わざわざMCU自体まで自社開発したいとは思わない筈。必要な性能のものを買って済ませる方が対費用効果は高いでしょう。なにせMCUベンダ各社、日々、新製品を投入してくるので、勝手に「進化」してくれます。良いものを選んでお金を払う方が楽。また、ソフトウエア的にもハードウエア的にも、

勝馬に乗りたい

指向はありあり。そうでなければ、調査用外部リンク集(マイコン関連)のように8bitで8051、32bitでArmが世に蔓延る現象は起きますまい。使っているうちに、「ディスコン」になってしまうようなコアには、皆投資(自社開発にせよ、サードパーティからソフト、ハードの権利を買うにせよ)したくないのです。

RISC-Vに対しては、実装、どんと(長年)引き受ける組織

が欲しいわけです。アーキテクチャとしてのArmの場合、Arm社がそこを「どんと」引き受けているわけです。アーキテクチャとしてのRISC-Vの場合、誰でも(あなたでも)そこに名乗りを上げることは可能ですが、最右翼としてそこに登場するのが、SiFive社であると思います。

さて、SiFive社がマイクロコントローラ・レベルのコアとして「実装」したチップ

FE310-G000

です。引用すると

The FE310-G000 is the first Freedom E300 SoC

だそうです。コアはE31とよぶ、320MHz動作の低消費電力コア。8kBのOTP-ROM + 8kBのMask ROM、16kBのSRAM、UART, PWMなどの周辺機能を集積しています。一応、ROM, RAM, 周辺回路を全て載せているので、SiFive社が ホームページに “microcontroller” という表現使っている通り、本シリーズ上もマイコンと認定したいと思います。ただ、実際のアプリケーションプログラムは、

QSPIの先にぶら下がったシリアルFlash

に書き込み、16kBの命令キャッシュにロードして動作させる、というスタイルです。既に他社のいくつかのMCUでこういうスタイルを見ました。今後はこのスタイルが広まるような気がします。なにせFlash混載せずに済むので作る(半導体のプロセスとして)のが楽そう。

ただ、1点、普通のMCU(マイコン)として分類するのは気が引ける点が。データシートから引用させていただきましょう。

The FE310-G000 is offered as engineering samples only, with limited factory testing.

その後読むと、数量そろえた注文だしてくれたらちゃんと量産クオリティの製品やるかもしれないから、引き合いをくれ、と読めます。なんじゃい、腰が引けているな!

鳥なき里のマイコン屋(40) TDK-micronas、センサからMCU へ戻る

鳥なき里のマイコン屋(42) 第2部開発ツール編スタートにあたり へ進む