メインコンテンツに移動

FPGAマイコン実現への途

画像
土屋 浩
土屋 浩
Senior Staff Engineer
掲載: 2023年7月21日

「FPGAマイコン」とは、汎用マイコン機能をFPGAで実現可能にしたものです。これについては、IP製品ホームページやブログで紹介して来ています。今回は、より深くご理解頂くために、この実現に向けてのこれまでの取り組みを紹介します。

H8Sは、開発当初の設計から2000年代にRTL化を行っており、RTL化したCPUは、実際のH8Sマイコン製品でも使用されています。CPUのRTL化に引き続き、社内のASSP開発において、小型のプロセッサを、組み込みたいというニーズがあり、CPUに加えて、基本的なマイコン機能を含んだH8S C200コアを用意しました。これは現在、IP製品としてラインアップしているものです。社内の様々なプロセスの多くのデバイスに搭載され、現在でも使用されています。IPライセンスも当時から行っていました。

H8S C200コアIPのFPGA実装の取り組み

H8S C200コアIPは、様々なデバイスにおいて容易に利用可能にするため、平易なRTL設計を行っており、FPGA実装も容易でした。ルネサス内外で、H8S C200コアIPを、さらに広い用途で使ってもらいたいと考え、FPGAを使ったH8S C200コアIPの評価環境の開発、それを使ったデモ開発など、様々な取り組みを行って来ています。
例えば、このコアをIntel® FPGAツールのコンポーネント開発で使えるようにするために、図1の左ブロックにある、 H8S-to-Avalon® オリジナルバスブリッジを設計して、H8S C200コアIP のFPGA評価環境で準備しています。 この内容は、株式会社ルネサスソリューションズ「RSO技報」No.5、2007年12月、p52「H8S C200コアFPGA評価ボードとPC開発環境の整備」、CQ出版社「デザインウェーブマガジン」No.134、2009年1月号、p129「標準マイコン互換コアをFPGAで使ってみた」にも掲載しています。

画像
図1.H8S C200 コアIPのFPGA評価環境

評価環境に加えて、2008年頃から、複数の企業と連携して、それぞれの企業が所有する技術やIPと組み合わせたソリューションの創出(図2に記載)やデモの開発を行っています。

(1)認証通信ソリューション

H8S C200 コアIPとEther MAC、DMAC、USB-IF、タッチパネル制御、RFID制御を1CHIP(FPGA)化し、認証基盤を始め、多岐にわたるソリューションの構築が可能。

(2)1セグソリューション

1セグ処理をロジック回路で行った1セグデコーダIPとH8S C200 コアIPのソリューションで小型化・高画質化が可能。

(3) GUIシステムの設計評価環境

GUIに必要な小型2次元描画機能IPコアと組み合わせFPGA化することで、ソフト処理のみでは達成できない描画性能を実現し、GUIシステムの設計評価が可能。(本ソリューションでは、最終的にH8SXコアIPを使用)

画像
図2.H8SコアIPを使用したソリューション例

このように、H8S C200 コアIPは、容易にFPGAに実装ができます。小型であるため、容易にマイコン機能を内蔵させることで、多岐にわたる制御の実現など、多様なソリューションを実現できます。

FPGAマイコン

この取り組みの結果の一つとして、株式会社マクニカからも2014年にH8S C200 コアIPがリリースされています。これは、A/D変換器を内蔵した、Intel製MAX10向けのものです。

H8S C200コアIPは、ソフトマクロで、基本的なマイコン機能を含んでいますが、汎用マイコンのA/D変換器のようなハードマクロは、それまで、FPGAに内蔵されていませんでした。

そこで、このMAX10内蔵のA/D変換器を制御するための、レジスタインタフェースをIPに追加することにし、このレジスタ構成を、既存のH8マイコンやH8SマイコンのA/D変換器と共通にしました。これによりユーザは、既存のソフトウェアをそのままで、FPGAでもマイコン同様にA/D変換器を使用できるようになります。
加えて、H8S C200コアIPをベースに、H8マイコンであるH8/327機能相当の、タイマ、SCI、I/Oポートなども用意し、これが「FPGAマイコン」の第1号です。
さらに、MAX10開発キットでは、ボード上にD/A変換器が搭載されていましたので、同様の考え方で、このD/A変換器を、既存のマイコンと共通のレジスタインタフェースで制御可能にし、「FPGAマイコン」の第2号として、H8/3048機能を用意しました。

画像
図3.MAXⓇ10評価ボードを使用したアナログ入出力評価

これらのアナログ入出力の評価環境を図3に示します。市販のMAXⓇ10評価ボードとルネサスのH8Sマイコンソフトウェア開発環境(詳細は「3.FPGAマイコンの評価環境」をご参照ください。)を使います。
H8/3048機能の「FPGAマイコン」をMAX10に実装し、ボードのポテンショメータからアナログを入力して、MAX10に内蔵したA/D変換器を介して、H8Sが検知し、この値を、ボード上のD/A変換器を通して出力するようにしています。ソフトウェアとしては、ADDRCをリードし、DADR0にライトすることを繰り返します。入力と出力の2つのアナログ値が対応していることを確認できました。

MAXⓇ10も含め、FPGAで使用可能なA/D変換器・D/A変換器ハードIP(A/D変換器を内蔵したFPGAやFPGAボード上のA/D変換器、D/A変換器など)として、評価実績のあるものを表1で紹介します。

画像
表1.評価実績のあるハードIP
表1.評価実績のあるハードIP

さきほどは、MAX10での評価結果について説明しましたが、ここでは、AMD(Xilinx)製FPGAにH8S/2655機能IP「FPGAマイコン」を実装した例を紹介します。
このFPGAボードの構成は、①「FPGAマイコン」を実装した、DIGILENT製Arty A7のFPGAボード、②DIGILENTⓇ製Pmod™AD1とPmod™DA2の構成となります。(図4)

画像
図4.H8S/2655機能IP「FPGAマイコン」を実装したFPGAボード

H8S/2655機能IP「FPGAマイコン」は、FPGAに内蔵した6チャネルのA/D変換器、2チャネルのA/D変換器(Pmod™AD1)と2チャネルのD/A変換器(Pmod™DA2)の制御ができるようにしています。
なお、エミュレータ接続ボードは、「3.FPGAマイコンの評価環境」で紹介する、ソフトウェア開発環境を接続するボードです。

FPGAマイコンの評価環境

ここでは、H8S/2655機能IP「FPGAマイコン」を実装したFPGAボードを使った、FPGAマイコンの評価環境を紹介します。「FPGAマイコン」の評価環境は、図5の右写真です。
評価環境の構成は、①FPGAボード 、H8Sマイコンのソフトウェア開発で使用する、②ルネサス製オンチップ・デバッキング・エミュレーター(E10A-USB)と③ルネサス製統合開発環境(HEW:High-performance Embedded Workshop)を使います。FPGAボードとE10A-USBの接続は、ジャンパワイヤやコネクタを使用して接続しますが、エミュレータ接続ボードを連携した企業に製作してもらって使っています。

ここでは、H8S/2655シリーズ アプリケーションノートにある、「4相ステッピングモータ応用例」のサンプルプログラムを使います。FPGAマイコンとCソースサンプルプログラムを使い、H8S/2655機能の「FPGAマイコン」が、既存のH8S/2655マイコンと同様に、ステッピングモータを制御していることを確認しています。図5の左下写真は、4軸モータ制御したFPGAマイコン実装例です。

画像
図5.FPGAマイコンによるステッピングモータ制御例

この評価環境は、前述のH8/3048機能、H8/327機能IPでも利用可能です。以下のページでは、オープンソースクロスツールの利用についての紹介もあります。

H8、H8S、H8SXマイコンのCPUは、オブジェクトレベルで互換性があり(H8/500は除きます)、開発環境も共通です。エミュレータは、E10A-USBを使用できます。

進化するFPGAマイコン

FPGAは、プロセスの微細化から高速・大容量で、アナログ、インタフェース等充実した機能を内蔵したFPGAが登場し、利用し易くなっています。
実際にご利用いただいたお客様からも、ご好評をいただいており、高速・大容量なFPGAに合わせて、マイコンの周辺機能IPの増強と「FPGAマイコン」のバリエーションを増やしています。

今回紹介の、H8SコアIPの「FPGAマイコン」は、H8SおよびH8マイコンの後継として、ご使用のアプリケーションソフトウェアを再利用することができます。
ユーザは、長期に渡る継続したご利用にあたり、「FPGAマイコン」を使用することで、最適なデバイスのご利用が、容易にできると考えます。
機能が固定された汎用デバイスを使用するだけでなく、IPを使用することで、マイコン製品の知的財産も利用でき、機能の拡張やカスタマイズを行うなど、汎用デバイスを超えて、最適な機能を、最適な形態で活用することができます。外部環境の変化によって、その時点で最適なデバイスに移行することも容易です。

「FPGAマイコン」は、柔軟性のあるFPGAを使用することで、様々なメリットがあります。例えば、「FPGAマイコン」では、拡張インタフェースを準備しているので、周辺IPの追加が可能です。このメリットを利用した、多くのモータを制御した事例が、以下にありますので、ご覧ください。

最後に

「FPGAマイコン」は、マイコンの使いやすさを、様々な形態で、長期にわたって、継続使用できるソリューションです。また、オリジナルマイコンの実現だけでなく、EOL対応の1つの方法として、お考えいただければと思います。
「FPGAマイコン」については、FPGAマイコンの実現をご覧ください。
プロセッサIPには、SH-2A、SH3-DSP、SH-4、SH-4A、RX、M32Rのラインアップがあり、これらのFPGA実装についても、今後、ご紹介していきます。

また、IPの活用方法をご覧になりたい方は、IPの最新情報やIPを活用したソリューションなどを紹介した、IPセミナーがあります。ルネサスの半導体セミナーのソリューションセミナーで開催していますので、ご興味をお持ちの方は、ぜひご参加ください。

最後まで、ご覧いただき、ありがとうございました。
ルネサスIP製品のお問い合わせは、[email protected]までご連絡ください。

この記事をシェアする