米国シノプシス
プロダクト?マーケティング?ディレクター Mary Ann White
一般的な電子機器から車載向けデザインへと軸足を移すエンジニアの数は、かつてないほど増えています。自动车の電動化が進み、自動運転の時代が到来することにより、シリコン设计者は今後ますます複雑な車載ICの開発に従事することになるでしょう。しかも自动车は一般的な電子システムとはまったく異なり、万一故障が発生しても危険を引き起こさないことが絶対的な条件として求められます。
このため、車載ICの设计では機能安全への対策が必須となります。機能安全は、これまで軍用あるいは航空宇宙向けデザインを手がけるごく一部のエンジニアにしか関係しない特殊な分野でしたが、自动车向けの電子システムおよびデザインにおける機能安全の実装方法を規定したISO 26262规格の策定により、今ではメインストリームへと広がっています。急成长を続ける车载アプリケーションへの参入公司が増えている现在、机能安全はこれまでよりもはるかに多くのエンジニアに関係するようになっています。
ここで問題となるのは、機能安全に適合しようとすると、设计フローで実行すべき困難なタスクが増えるという点です。現在のように車載ICの開発が盛んになる前は、冗長性などの安全機構を実装するには非常に多くのノウハウが必要とされた上、面積の最適化といった一般的な设计目標との両立も不可能でした。これでは、消費電力、性能、面積が重要な设计目標とされる市場で高い競争力を維持することは望めません。エンジニアは今、機能安全の要件を満たすと同時に、生産性を高めて競争力を維持できる设计ツールを求めています。ISO 26262に適合したICの设计を簡略化する上で大きな効果を発揮するものとして、以下のものが挙げられます。
TISO 26262規格では、安全水準としてASIL(Automotive Safety Integrity Levels) A~Dの4段階を規定しており、比較的安全への影響が少ないシステムにはASIL Aが適用され、故障すると人命が危険にさらされるリスクが高いシステムにはASIL Dが適用されます。最近になって電動化された車載コンポーネントの多くはASIL Dに分類されますが、自动运転车が現実へと近付くにつれ、従来のASIL BおよびCデザインがASIL Dデザインへと移行する現象も見られています。このように、現在では多くのシステム?オン?チップ(SoC)がASIL Dをターゲットに開発されており、これらのSoCは少なくとも10年間にわたって信頼性を維持する必要があります。
図1:自動運転の機能向上に伴い車載デザインはASIL Dへ移行
ISO 26262の要件に適合するには、使用するEDAツールに対してソフトウェア?ツール認定の評価を実施し、设计ツールによって機能安全の問題がデザインに混入したり、デザインに存在する機能安全の問題を设计ツールが検出できなかったりすることがないことを立証する必要があります。この作業を簡略化するため、EDAベンダはANSI公認の第三者機関に個別ツールまたはツールチェーンに対するISO 26262認定の実施を委託しています。
しかしこうした认定作业は决して简単なことではありません。たとえばシノプシスは、これまでデジタルおよびカスタム/础惭厂ツールの认定取得にほぼ1年の期间と100人の人员を费やしてきました。认定とは、そのツールで不具合が决して発生しないことを保証するものではなく、考えられる不具合シナリオの1つ1つについて、その不具合を缓和するソリューションの存在が特定されていることを意味します。これらの缓和策は、颁辞鲍(颁辞苍诲颈迟颈辞苍蝉-辞蹿-鲍蝉别)および础辞鲍(础蝉蝉耻尘辫迟颈辞苍蝉-辞蹿-鲍蝉别)として文书化されます。颁辞鲍と础辞鲍は机能安全マニュアルの一部に含まれ、セーフティ?クリティカルなデザインの开発に使用するすべてのツールについて、そのユース?ケースに関するガイダンスを提供します。この情报を使用して、公司のソフトウェア?ツール认定に役立てることができます。
ランダム?ハードウェア故障とは、太陽フレアによって発生するシングルイベント?アップセット(SEU)など制御不能な事象を指し、これらはグリッチやステートの喪失を引き起こします。ランダム?ハードウェア故障は完全になくすことができないため、冗長化などの各種安全機能によってそのリスクを軽減することが必要です。なお、安全機構が達成すべき指標の目標値は、ASILのレベルが上がるほど高くなります。たとえば単一箇所における故障検出率(SPFM:Single Point Fault Metric)の場合、デザインが達成すべき指標はASILレベルごとに以下のようにISO 26262で規定されています。
表1:ASIL BからASIL Dへと厳格化するSPFM要件
机能安全への対応で必要になる実装工程のほとんどは、ランダム?ハードウェア故障の缓和に関するものです。この工程は、まずランダム?ハードウェア故障の影响を受けやすいロジック?パスを特定することから始めます。これらのパスに存在するすべてのレジスタについて、冗长化するか、エラー耐性を高める必要があります。冗长性の実装方法には以下の3つがあり、どれを选択するかは础厂滨尝レベルによって决まります。
図2:安全机构として実装可能な安全レジスタの种类
これ以外に、特にプロセッサ?コアを使用したデザインでは、デュアルコア?ロックステップ(顿颁尝厂)と呼ばれる安全机构も実装できます。この机构ではエラーは订正できませんが、いずれか1个のコアでエラーが発生したことは検出できます。同じ入力ロジックを备えた2个のコアを并列に动作させ、それらの出力をコンパレータに入力します。2つの出力値が异なっていると、エラーが発生したことになります。その场合は不一致を示す信号を生成し、故障の影响を无害化できるまでシステムを既知の安全なステートに移行させるなど、システムが何らかの回復措置を実行できるようにします。この场合も、1つのコアのセルまたはバッファをもう1つのコアに配置するのを避け、2つのコアが物理的に完全に切り离されるようにするなど、コア同士が完全に独立したレイアウトとなるように注意する必要があります。また、2つのコアが同じ配线を共有することも避ける必要があります。
車載デザインでは以上のような手順が重要となりますが、これらを人手で実行していたのでは、特に車載分野の経験がない设计者の場合、非常に長い時間がかかってしまいます。ISO 26262への適合と市場での競争力を両立させるには、自動化が不可欠です。しかしそのためには、機能安全の意図をツールが理解できる形で表現する必要があります。そうして初めて、ツールはさまざまな安全機構を実装できるようになります。
ツールはまず、セーフティ?クリティカルなパスを解析して、安全回路の使用が必要なパスを特定します。そして特定したパスに対して、冗长性または耐障害性を高めたレジスタを自动的に挿入します。これらのレジスタは适切な分离を考虑して配置され、必要に応じて両侧にタップが追加されます。こうすることで、これらのパスは厂贰鲍によるエラーの影响を受けにくくなります。他のツールは、ここで适用した変更を尊重する必要があります。というのも、一般にツールは冗长性を排除して最适化を试みようとする倾向があるためです。最后に、必要な回路がすべて正しく作成、配置、配线されたことを确认するための検証工程が必要です。
ここで1つ注意しておきたいのは、バックアップ?ツールを用意する必要があるという点です。事実、バックアップ?ツールを用意しておくことは、安全に関係するエレメントが正しく実装されたことを検証する际のベスト?プラクティスの1つに挙げられます。たとえば合成などのタスクを1つのツールだけを使用して実行していては、そのタスクが正しく実行されたかどうかを确认できません。そこで、确认するための别のツールが必要となります。合成に関して言えば、安全回路の冗长性を确认する机能をサポートするなど、バックアップの役割を果たす検証ツールが数多く存在します。
セーフティ?クリティカルなデザインを開発しようとすると、一般的なデザインよりも確実に多くのタスクや考慮事項が発生します。ツールをどれだけ自動化しても、ツールがデザインの安全要件を認識できなければ、大きな効果は期待できません。しかし認定済みツールなら、安全の意図を指定しておけば自動化機能によって解析および冗長回路の挿入などのタスクが簡略化され、ISO 26262認証取得に必要な文書も作成されます 。こうしたツールなら、比較的わずかなトレーニングを実施するだけで、これまでセーフティ?クリティカルなデザインの実装につきものだった障害の多くを取り除き、ASIL-Dアプリケーション向けのSoCをより効率よく開発できるようになります。