JIS C 0508-7:2017 電気・電子・プログラマブル電子安全関連系の機能安全―第7部:技術及び手法の概観 | ページ 23

                                                                                            109
C 0508-7 : 2017 (IEC 61508-7 : 2010)
附属書E
(参考)
ASICの設計のための技術及び手法の概要
注記 この附属書に含まれている技術及び手法の概要は,JIS C 0508-2の附属書F(ASIC の技法及び
手段−決定論的原因故障の回避)で引用されている。ただし,この附属書は,完全なものとも,
包括的なものともみなさないことが望ましい。
E.1 (V) HDLでの設計記述
目的 : ハードウェア記述言語,例えば,VHDL又はVerilogによって,高次抽象度での機能記述をする。
説明 : ハードウェア記述言語,例えば,VHDL又はVerilogによる高次抽象度での機能記述をする。適用す
るハードウェア記述言語は,機能及び/又はアプリケーションを指向した記述ができるものであり,
後の段階で実装の詳細から概念化することが望ましい。データフロー,分岐,算術演算及び/又は
論理演算は,ハードウェア記述言語の割当て及び演算子によって,適用ライブラリのロジックゲー
トで手動変換をせずに,実装することが望ましい。
注記 簡略化のため,“ハードウェア記述言語による高次抽象度での機能記述”は,以下,(V) HDLと
いう。

参考文献

: IEEE VHDL, Verilog + Standard VHDL Design guide
E.2 回路図入力
目的 : ベンダーライブラリのゲート及び/又はマクロを用いて回路図を描くことによって回路の機能記述
をする。
説明 : 回路図の入力によって,回路機能性を記述する。実現する機能は,AND,OR,NOTなどの基本的
ロジック回路を,複合算術関数及び論理関数からなるマクロとともにインポートし,次に,これら
を相互接続することで実装することが望ましい。複合回路は,機能的視点から区切ることが望まし
く,階層的に相互接続された異なる図面上に配分できるようにする。相互接続信号は一意的に定義
し,階層全体にわたって明確な信号名をもつことが望ましい。グローバル信号(ラベル)の使用は,
できるだけ避けることが望ましい。
E.3 構造化記述
注記 C.2.7及びE.12も参照。
目的 : 回路の機能性の記述は,容易に読み取れるように,すなわち,回路機能をシミュレーションしなく
ても記述に基づき直感的に理解できるように,構造化する。
説明 : 回路機能性を,(V) HDLを用いて,又は回路図入力によって記述する。容易に理解できるモジュー
ル構造が望ましい。各モジュールは,同じ方法で同様に実装し,明確に定義した二次機能によって,
容易に読取可能なように記述することが望ましい。機能の実装と相互接続の実装とは,厳密に使い
分けることが望ましい。すなわち,参照した複数のサブモジュールの実装によるモジュールは,参
照したサブモジュール間の明確な相互接続を含むが,回路ロジックは含まないことが望ましい。

――――― [JIS C 0508-7 pdf 111] ―――――

110
C 0508-7 : 2017 (IEC 61508-7 : 2010)
E.4 使用実績のあるツール
目的 : 使用ツールの各種プロジェクトでの長期にわたる十分な実務使用によって,決定論的原因故障を回
避するために,使用実績のあるツールを適用する。
説明 : ASIC及びFPGAを設計するために用いるツールの大半は複雑なソフトウェアで構成されており,
その適切な機能性に関して,全くフォールトを起こすことなく動作するとは考えられないし,誤っ
た運用によってフォールトが起こる可能性もかなりある。したがって,ASIC及びFPGAの設計で
は,次に示す“使用実績のある”特徴をもつツールだけを優先することが望ましい。
− 同等の複雑さをもつ各種プロジェクトにおいて,長時間にわたって,又は多数の使用者によっ
て,用いられてきたツールを適用する(対比できるソフトウェアバージョンのもの)。
− ASIC及びFPGAの各々の設計者が,ツールの操作について長期間の十分な経験をもつ。
− 既知の不具合及びその回避策について,情報(“バグリスト”によるバージョン管理)が得られ
るように,一般的に用いられている(十分な数の使用者がいる)ツールを利用する。この情報
は,設計フローに容易に組み込めるようにし,決定論的原因故障を回避する支援となる。
− 内部ツールデータベースの整合性チェック及び確からしさチェックによって,不良出力データ
を回避する。標準ツールは,一意のデータを用いているため,内部データベースの整合性,例
えば,合成配線ツールと配置配線ツールとの間のデータベース整合性,をチェックする。
注記 整合性チェックは,用いるツールの特性に帰するものであり,設計者は,これに対し
て限定的な影響しか与えられない。したがって,手動による整合性チェックの可能性
が用意されている場合,設計者は,これを適切に用いることが望ましい。
E.5 (V) HDLシミュレーション
注記 E.6も参照。
目的 : (V) HDLで記述した回路のシミュレーションによる機能適合確認を行う。
説明 : 回路全体又は各サブモジュールをシミュレーションすることで,機能の適合確認を行う。(V) HDL
シミュレータは,適用する入力スティミュラスの結果である回路状態の内部状態の変化によって生
じる,一連の出力を検出する。検出した出力シーケンスの適合確認は,前もってトレースされた出
力信号(波形)によって,又は設計プロセスでインストールするテストベンチと呼ばれる特殊環境
によって行う。選択したシミュレータは,正確な結果をもたらすために,及びシミュレータ自体又
はモデル化不良によって発生することがある信号の不良タイミング挙動(スパイク,トライステー
トトレーシング)をマスキングするために,“使用実績のある”特徴をもつことが望ましい。
E.6 モジュールレベルでの機能テスト
注記 E.5及びE.13も参照。
目的 : “ボトムアップ”機能適合確認を行う。
説明 : モジュールレベルでの,例えば,シミュレーションによる,実装した機能の適合確認を行う。テス
ト対象のモジュールを,“テストベンチ”と呼ばれる代表的な仮想テスト環境においてインポート
し,コードに含まれるテストパターンによってシミュレーションする。特殊事例がある場合は,こ
れらを全て含む規定の機能について十分に高いカバレッジを要求する。“テストベンチ”のコード
による出力シーケンスの自動適合確認を,出力信号の手動チェックに優先させることが望ましい。

――――― [JIS C 0508-7 pdf 112] ―――――

                                                                                            111
C 0508-7 : 2017 (IEC 61508-7 : 2010)
E.7 最上位の機能テスト
注記 E.8も参照。
目的 : ASICの回路全体を適合確認する。
説明 : このテストによって,ASICの回路全体を適合確認する。
E.8 システム環境に埋め込まれた機能テスト
注記 E.7も参照。
目的 : システム環境に埋め込まれた規定機能の適合確認。
説明 : このテストは,例えば,回路基板又は他のところにある,他の全ての構成部品を備えたシステム環
境において,ASICの回路の機能性全体を適合確認する。タイミング挙動を含む機能性の正しさを
適合確認するために,回路基板上の全ての関連構成部品のモデル化,及び作成したモデルとのASIC
シミュレーションを行うことが望ましい。完全な機能テストは,故障が存在するときだけ作動する
モジュールのテストも含む。
E.9 非同期構成要素の制限使用
目的 : 合成時の代表的なタイミング問題点の回避,シミュレーション中の曖昧さの回避及びモデリング不
良による合成の回避をテスト可能な設計の観点から行う。
説明 : 組合せ論理で得た,SET及びRESET信号のような非同期構成要素は,合成時の影響を受けやすく,
スパイク又は逆タイミングシーケンスをもつ回路を生成するので,使用を避けることが望ましい。
同様に,モデリング不良は,合成ツールで適切に解釈されることはなく,シミュレーションの間,
曖昧な結果をもたらす。さらに,非同期構成要素は,十分にテストできないか,又は全くテスト不
能であるため,製造時テスト及びオンラインテストのテストカバレッジを実効的に低減させる。こ
のため,限定された数のクロック信号によって,完全に同期性をもつ設計を実装することが望まし
い。多相クロックをもつシステムでは,全てのクロックを1台の中央クロックで駆動することが望
ましい。順序ロジックのクロック入力は,組合せ論理を全く含まないクロック信号だけを供給する
ことが望ましい。順序セルの非同期SET及びRESET入力は,組合せ論理を全く含まない同期信号
だけを供給することが望ましい。マスターSET及びRESETは,二つのフリップフロップを用いて
同期化することが望ましい。
E.10 一次インプットの同期化及び準安定性の制御
目的 : セットアップ及びホールドタイムの違反の結果として生じる曖昧な回路挙動を避ける。
説明 : 外部周辺デバイスからの入力信号は,一般に非同期的であり,その状態を任意に変えることができ
る。こうした信号を,例えば,フリップフロップのようなASIC及びFPGAの同期順次回路要素で
直接処理した場合,セットアップ及びホールドタイムの違反を引き起こし,ASIC及びFPGAの予
測不可能なタイミング及び機能的挙動を発生させる。最終的に,メモリ素子が準安定となる。した
がって,各非同期入力信号は,同期ASIC回路に関して同期化して,機能上の曖昧さを避けること
が望ましい。推奨する手法を,次に示す。
− 予測可能な機能的挙動を実現するために,入力信号を二つの連続したメモリ要素(フリップフ
ロップ)又は一部の等価回路と同期化することが望ましい。
− 各非同期入力信号は,基本的に,上記方法によって同期化することが望ましい。すなわち,各

――――― [JIS C 0508-7 pdf 113] ―――――

112
C 0508-7 : 2017 (IEC 61508-7 : 2010)
非同期信号を上記のような同期回路と接続し,必要な場合,同期回路の出力を多重アクセスに
利用してもよい。
− 同期回路は,並行バス信号の安定テストのため,及びサンプリングポイント近くでのデータ整
合性を制御するために用いることが望ましい。
E.11 テスト可能な設計
注記1 E.31も参照。
目的 : 製造時テスト又はオンラインテストに対して高いテストカバレッジを実現するために,テスト不可
能又は十分なテストができないような構造を回避する。
説明 : テスト可能な設計は,次の点を回避することで決まる。
− 非同期構成要素
− ラッチ及びオンチップ トライステート信号
− ワイヤードAND又はワイヤードORロジック及び冗長性ロジック
サブ回路の組合せ深さは,テスト中,重要な役割を果たす。完全なテストを行うために必要なテ
ストパターンは,回路の組合せ深さに対して指数関数的に増加する。したがって,組合せ深さが大
きい回路は,適切な手法によっても十分なテストができない。
テスト可能な指向アプローチに沿った設計は,希望するテストカバレッジが実現できることを確
実にする。実際のテストカバレッジは設計プロセスでも非常に遅い段階で決定するので,“テスト可
能な設計”の問題を十分に検討しない場合,実現可能なテストカバレッジが大幅に減少して手間が
増えることになる。
注記2 テストカバレッジは,通常,検出した縮退フォールト率によって決まる。
E.12 モジュール化
注記 C.2.8,C.2.9及びE.3も参照。
目的 : 回路機能のモジュラー記述を行う。
説明 : 機能性全体を,限定的機能をもつ異なるモジュールに明確に区分けする。これによって,厳密に定
義したインタフェースをもつモジュールの透明性を確立する。全てのサブシステムは,設計の全て
の水準において,明瞭に定義し,かつ,サイズを制限する(少数の機能とする。)。サブシステム間
のインタフェースは,可能な限り単純なものとし,横断的側面(すなわち,共有データ,情報交換)
は最小限に抑える。個々のサブシステムの複雑さも制限する。
E.13 適合確認シナリオ(テストベンチ)のカバレッジ
目的 : 機能テスト中に適用した適合確認シナリオの定量的及び定性的評価を行う。
説明 : 機能テスト中に定義した適合確認シナリオの品質,すなわち,特殊ケースが存在する場合には,全
ての特殊ケースを含む規定した機能を適合確認するために適用するテストパターン(スティミュラ
ス)の品質を,定性的及び/又は定量的に文書化することが望ましい。定量的アプローチの間,実
現したテストカバレッジ及び適用した機能テストの深さを文書化することが望ましい。結果として
得たカバレッジは,それぞれのカバレッジメトリックの水準に適合していることが望ましい。全て
の例外事項は,文書化する。定性的アプローチの場合には,検証済みコードライン本数,指示又は
適合確認する回路コードのパス(“コードカバレッジ”)を推定することが望ましい。

――――― [JIS C 0508-7 pdf 114] ―――――

                                                                                            113
C 0508-7 : 2017 (IEC 61508-7 : 2010)
注記 排他的“コードカバレッジ”解析は,ハードウェア記述の並行性が高いため,限られた関
連性しかもたないので,徹底的なチェックによって正当化することになる。“コードカバレ
ッジ”は,一般に,カバーされていない機能コードを実証するために用いられる。
E.14 コーディング指針の監視
目的 : コーディングスタイルを厳密に監視することによって,構文上及び意味論上正確な回路コードを生
成する。
説明 : 構文のコーディング規則は,読みやすいコードの作成に役立ち,バージョン管理を含むより優れた
文書化を可能にする。通常は,この文書化によって,命令ブロック又はモジュールを体系付けてコ
メントするための規則を記載することができる。
意味論的コーディング規則は,回路機能の曖昧な実装を含む不完全な合成を引き起こす構成要素
を回避することによって,代表的な実装問題を回避する助けとなる。通常の規則によって,例えば,
非同期構成要素又は予想外のタイミングシーケンスを発生する構成要素を回避する。一般に,ラッ
チの使用又はデータとクロック信号との結合が,曖昧さを導く。
ASIC開発プロセス中の決定論的原因設計フォールトを回避するために,設計指針を推奨する。コ
ーディングスタイルは,ある側面では設計効率を制限するが,その代わりに,ASIC開発プロセス中
の故障を回避するというメリットをもたらす。コーディングスタイルは,特に,次のような設計に
有効である。
− 典型的なコーディング欠陥又は故障の回避
− 曖昧な合成結果を生成する,問題となる構成要素の使用の制限
− テスト可能な設計
− コード使用の透明性及び容易性
コーディングスタイルの例
コーディングスタイルの例を,次に示す。
1) コードは,機能及び実装の詳細を理解するために,必要なだけのコメントを含めることが望ましい。
設計開始前に,使用する規約を定義する必要がある。定義した規約の適合性は,設計フェーズで確
認することが望ましい。この場合のコーディングスタイルは,次による。
1.1) 標準ヘッダは,履歴,仕様への相互参照,責任(担当),バージョン番号のような設計附属データ,
変更要求などを含める。
1.2) 容易に読み取れるテンプレートとする。同等プロセスは,同一手順によって記述する。すなわち,
回帰性プロセスに対して,前もって定義したテンプレートを用いる(if-then-elseなど)。
1.3) 的確で,可読性の高い命名規則とする。例えば,大文字と小文字との使い分け,接頭辞及び接尾
辞の使用,更にポート名,内部信号,定数,変数,負論理レベルの的確な識別(例えば,xxxn)
など。
1.4) モジュールサイズの制限及びモジュール当たりのポート数を,コードの可読性を向上するために
制限する。
1.5) 構造的及び防衛的なコード開発を行う。例えば,状態情報は,コードを容易に変更するために,
FSM(有限状態機械)にカプセル化(情報隠し)する。
1.6) レンジチェックなどの,確からしさチェックを実現する。

――――― [JIS C 0508-7 pdf 115] ―――――

次のページ PDF 116

JIS C 0508-7:2017の引用国際規格 ISO 一覧

  • IEC 61508-7:2010(IDT)

JIS C 0508-7:2017の国際規格 ICS 分類一覧

JIS C 0508-7:2017の関連規格と引用規格一覧

規格番号
規格名称