SiFiveが提供するプロセサコアIP
SiFiveは32bitアーキテクチャの「Freedom Everywhere」というコアと、64bitアーキテクチャで高性能の「Freedom Unleashed」という2種類のプロセサコアIPを持っている。
Freedom Everywhereの方はTSMCの180nmプロセスで作られておりクロックは320MHz以上となっている。
次に示すブロックダイアグラムは、E31 CPUにUART、GPIOなどの低速I/Oが付いたマイクロコントローラである。8KBのマスクROMと8KBのOTP(One Time Programmable)ROMを内蔵しており、ここにプログラムや固定データを書き込んで使う。
Freedom Unleashedの方はTSMCの28nmプロセスで作られクロックは最低でも1.5GHzとなっている。こちらはマルチコア構成ができ、高性能のシステム用のプロセサである。次の図にブロックダイアグラムと簡単な諸元を示す。
FU540チップは1個のE51コア(E31の64bitアーキテクチャ版)と4個のU54コアを集積している。E51コアは整数演算だけであるが、U54コアは単精度と倍精度の浮動小数点演算機能を持っている。また、TileLinkをチップ外に延長するChipLinkというインタフェースを持ち、ここに自分用のIPブロックを接続することができるようになっている。もちろん、自分用のチップを開発する場合は、アクセラレータを別チップにする必要はなく、CPUコアと同一チップに載せてTileLinkで接続しても良い。
さらに、U540チップはDDR3/4 DRAMのコントローラとギガビットEthernetポートを装備しており、Linuxを走らせることができる。
なお、この発表では触れられていないが、同社のWebには、E31コアには28nmプロセスを使い最低でも900MHzで動作するものも載っている。また、E51コアもU54のコンポーネントとして使うだけではなく、独立の製品として扱われている。最新情報が必要な場合は、SiFiveのWebサイトを確認した方が良い。
そして、これらのCPUコアにRAMBUS、UltraSoC、FlexLogicなどのサードパーティのIPを組み合わせてチップを構成する。SiFiveのビジネスは、CPUコアIPの提供だけでなく、これらのIPを組み合わせてチップを設計し、そのドキュメントの作成や、チップを検査するテストベクタの開発なども引き受ける。
なお、サードパーティのIPベンダは、通常、最初にかなり高額のライセンス料を取るが、SiFiveと提携しているIPベンダは、最初のライセンス料は非常に低くして、製品の出荷が始まると最初の値下げ分をロイヤリティで回収するという契約を行うことができるようになっているという。
つまり、開発の初期に必要な資金を低く抑えて、カスタムLSI開発の費用的ハードルを下げて、カスタムチップの開発の後押しをしている。
SiFiveの32ビットアーキテクチャコアの性能
次の図は、Freedom EverywhereのFE310とIntelのCurieモジュール、ArmのCortexM0+コアを使うArduino Zero、NordicのNRF51を比較したものである。競合製品のクロックは16-48MHzであるがFE310は320MHzとクロック周波数が高く、かつ、DMIPS/MHzも1.16と競合製品より高い。結果としてDMIPS値は、次に性能の高いArduino Zeroの7倍以上となっている。
さらに、DMIPS/mWも3.16と高く、他の製品より性能当たりの消費電力が小さい。
E310コアは有償のコアIPであるが、その前身となったRocketというRISC-V CPUはオープンソースで自由に利用できる。また、TileLinkと呼ぶキャッシュコヒーレンシ機能をもつチップ内インタコネクト、UARTやGPIOなどの低速I/O、Xilinx FPGA用のDDR DRAMやPCIeブロックのラッパーなどはオープンソースになっている。ただし、チップのパッド、PLL、OTP ROMやマスクROMなどのサードパーティのIPはオープンソースにはなっていない。
Yunsup Lee氏は、「オープンソースはソフトウェアの世界に革命を起こした。次はハードウェアの番である。SiFiveが推進するハードウェア設計の解放の流れに乗れば、あなたのアプリケーション用のカスタムチップを作ることができる。RISC-V革命に参加しよう」と呼びかけた。
SiFiveの64ビットアーキテクチャコアの性能
次の図はFU540チップを搭載した開発ボードの外観とその諸元である。Yunsup Lee氏は、このボードを持参してきており、発表の最後に箱からボードを取り出し、電源アダプタとターミナルになるPCをつなぎDebian Linuxを立ち上げて見せた。それに要した時間は僅かで、開発ボードが簡単に動かせることを印象付けたデモであった。
Yunsup Lee氏は、カスタムLSIの開発を、ピザを注文するようにベース(プロセサコア)を選んで、それに好みのトッピング(メモリコントローラやPCI ExpressなどのIP)を振りかけて、ピザ窯に入れると、注文したピザが焼き上がるという風に作れるようにしたいと語っていた。
RISC-Vのコミュニティが大きくなれば、使えるIPの種類が増え、コストも下がり、開発ツールも便利になり、カスタムLSIの開発が気軽にできるようになるというのも夢ではない。