産業用オートメーションや自動車、医療、発電などで用いられる機器やシステムでは、高い水準の安全性が求められている。このため、国際的なレベルで機能安全規格が策定されている。関連するメーカーはその規格に適合した装置やシステムを開発し、認証機関よりその認定を受けなければならない。その分、従来よりも開発工数は煩雑となり、完成までの時間もかかる。FPGAベンダーが提供している「機能安全データ・パッケージ」を用いると、FPGA設計に関連した承認作業を大幅に簡素化することができる。

認証作業のプロセスを簡素化

 アルテラは、産業用途の装置やシステムで必須となってきた機能安全規格「IEC61508」への対応と、その認証取得を支援するために「機能安全データ・パッケージ」最新版の出荷を始めた(ニュースリリース参照)。第1弾は2010年にリリースされた。第2世代となる今回は、サポートされるデバイスとして「Cyclone® IV FPGA」(一部デバイスを除く)と「Stratix® IV FPGA」が追加された。

 前編でも述べたが、「機能安全」とは、発生しうる危険事象に対して、許容できるリスクの基準(安全の達成目標)を定めて、それをクリアするための対策を講じることによって「求められる安全性」を達成しようというものである。その際、装置(製品)が安全であることを証明し、第三者機関で認証を受けなければならない。ところが、認証を受けるための工数が、開発作業における新たな負担となって、装置の完成が遅れたりコストアップの要因となったりすることもある。

 アルテラが提供する「機能安全データ・パッケージ」は、認定機関でもあるTUV Rheinland社より、セーフティ・デザインに関する認証を事前に取得している。このため、同パッケージに含まれる設計部分に関しては、これまで設計者側で行わなければならなかった安全性の証明プロセスを簡素化することができる。アルテラの試算によれば、開発期間を最大で2年も短縮することが可能となる。

「電力効率」と「柔軟性」の両立、そしてシステム統合

 機能安全データ・パッケージを紹介する前に、FPGAの用途が拡大している理由について少し触れておく。これまで、システム設計者は、マイクロプロセッサやDSPなどの「汎用プロセッサ」あるいはASIC、ASSPと呼ばれる「特定用途向けIC」などを用いて、さまざまな機能を実現してきた。汎用プロセッサはソフトウェアによる機能変更などシステムの柔軟性に優れているが、電力効率にやや劣る点がある。一方、特定用途向けICは、用途に最適化されているため電力効率に優れているものの、ハード・ワイヤードのため機能変更時などはやや柔軟性に欠ける、といった課題があった。

 これに対してFPGAは「電力効率」と「柔軟性」を両立するなど、汎用プロセッサと特定用途向けICの長所を兼ね備えている。その上、最新のFPGAチップは、最先端プロセス技術を適用することで、最新のプロセッサ・コアをハードウェア実装したり、用途に最適なDSPブロックの構成を可能としたり、大規模なユーザーロジックを実装できたり、システムレベルの大規模な回路をワンチップに統合することが可能となった。

 FPGAの特徴を生かすアプリケーションの1つが画像処理の領域である。画像の解像度が高くなったり、1秒当たりのフレーム処理数が増えたり、高い処理性能が求められるアプリケーションでは、並列処理を得意とするFPGAの優位性が、一段と明確になる。

 これ以外にも、フィールド・プログラムなデバイスであるFPGAは、再プログラムすることで、さまざまな顧客や地域、製品に適したチップに再構成できるという柔軟性がある。また、FPGA自体のライフサイクルが15年以上と長いのも、産業機器や自動車などの用途では必要条件の1つといえよう。

 このような特徴を備えたFPGAが、現在では機能安全規格に準拠した装置やシステムの心臓部に用いられるようになった。ところが前述のように、関連の装置やシステムを開発する技術者にとって、新たな課題も生まれた。それは機能安全規格の認証を受けるために必要となるドキュメント作成や開発プロセスの検証といった作業である、多大な負荷が新たに生じることとなる。

SIL3に適応した設計が可能

 承認のための負荷を軽減するなど、設計技術者の課題を解決するために開発されたのが、アルテラの「機能安全データ・パッケージ」である。TUVが認定している最新の「機能安全データ・パッケージ」には、セーフティ・マニュアルと診断用IPが含まれる。このパッケージは、アルテラのツールやメソドロジおよびデバイスから、システマティック・エラーが排除されていることを証明するもので、セーフティ・インテグリティ・レベル3(SIL 3)までの設計に利用することができる。

 セーフティ・マニュアルには、アルテラFPGAを使ってIEC61508準拠のシステムを開発するために有用なVモデルなどの設計メソドロジ、「Quartus® II 開発ソフトウェア v11.0 SP1」を用いて、IEC61508に適合したFPGAシステムを開発するためのアプリケーション・ノート、FPGA RTLコーティング・ガイドラインなどが含まれている。

 診断用IPとしては、「CRCチェック」、「SEUチェック」、「Clockチェック」など、IEC61508に適合した機器を開発するために必要となるIPが用意されている。

 事前にTUVより認定された最新の開発ツールやIP、デバイスの一覧を表1に示す。前述の通り、認定デバイスとして「Cyclone IV FPGA」(一部デバイスを除く)と「Stratix IV FPGA」が新たに追加となった。また、開発ソフトウェアは「Quartus II 開発ソフトウェア v11.0 SP1」である。

表1 アルテラの機能安全データ・パッケージの概要
表1 アルテラの機能安全データ・パッケージの概要
[画像のクリックで拡大表示]

 最後に、一般的な工業用コントローラの設計事例を紹介する。図1は、機能安全規格に準拠した産業用イーサネット部の構成を示したものである。従来だと2個のセーフティ・コントローラと、産業用イーサネットに対応する通信用ASICの3チップ構成となっていた(図1 左側)。「Nios® II ソフトコア・プロセッサ」に対応したFPGAを用いれば、図1の右側のように1つのセーフティ・コントローラと通信用ASICをワンチップにすることが可能となり、合計2個のFPGAでSIL3対応のシステムを実現することができる。しかも、実装面積や部品コストの削減につながることとなる。

図1 機能安全設計を簡略化できるFPGAソリューション<br>左側はこれまでの設計例で3チップが必要、右側は2個のFPGAで同じ機能を実現した
図1 機能安全設計を簡略化できるFPGAソリューション
左側はこれまでの設計例で3チップが必要、右側は2個のFPGAで同じ機能を実現した

 装置やシステムの開発・運用において、高い安全性がこれまで以上に求められることとなろう。同時に、装置やシステムの性能向上と機能の改善にも、柔軟に対応していかなければならない。このような環境下で、事前に機能安全規格の認証を受けたFPGAベースの設計手法を導入することは、開発者にとって作業をスムーズに行うための有効な手段の1つとなろう。今回は「IEC61508」に対するFPGAの活用法を中心に紹介したが、アルテラは、自動車向けの機能安全規格「ISO 26262」についても、これから日本市場での取り組みを強化していく考えである。

この記事は、アイティメディア社『FPGA Insights』に掲載されていたコンテンツを、アイティメディア/EDN Japanの許可を得て転載しています。

目次