(57)【要約】【課題】  制御装置の論理実装時の必要リソース削減技術と、検証技術を提供する。【解決手段】  半導体ＬＳＩ設計装置を、アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する手段と、前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段と、生成された演算順序情報から組合せ回路へ逆変換する手段と、前記組合せ回路と、逆変換した組合わせ回路の論理等価性を検証する手段と、前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段とを備えて構成する。【選択図】  図１
2019192097.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する手段と、
前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段と、
生成された演算順序情報から組合せ回路へ逆変換する手段と、
前記組合せ回路と、逆変換した組合わせ回路の論理等価性を検証する手段と、
前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段を備えたことを特徴とする半導体ＬＳＩ設計装置。
【請求項２】
アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する手段と、
前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段と、
生成された演算順序情報から組合せ回路へ逆変換する手段と、
前記組合せ回路と前記逆変換された組合せ回路から機能ブロック内の論理を削除する手段と、
前記手段で論理を削除された組合せ回路と逆変換組合せ回路の論理等価性を検証する手段と、
前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段を備えたことを特徴とする半導体ＬＳＩ設計装置。
【請求項３】
請求項１または請求項２に記載の半導体ＬＳＩ設計装置において、
組合せ回路から順序回路の演算順序情報へ変換する手段で用いる順序回路は、演算順序情報を記憶する演算順序記憶部と、少なくとも前記組合せ回路内に使用されている機能ブロックを種類別に１つずつ並列に接続した機能ブロック群と、入力データ、機能ブロックによる演算結果を逐次記憶するメモリと、前記メモリに記憶されたデータを、前記機能ブロックへの入力として読み出すメモリ制御部と、前記読み出されたデータを前記機能ブロック群への入力として選別する入力セレクタと、前記機能ブロック群の演算結果を選択して前記メモリへ格納する出力セレクタと、及び前記演算順序情報に従い、前記メモリ制御部、前記入力セレクタ、及び前記出力セレクタを制御する演算実行制御部とを有する順序回路であることを特徴とする半導体ＬＳＩ設計装置。
【請求項４】
請求項１に記載の半導体ＬＳＩ設計装置において、
前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段が出力するアプリケーションＨＤＬに対してＡＳＩＣまたはＦＰＧＡに実装するために論理合成と配置配線を実行する手段と、
前記アプリケーションＨＤＬと前記論理合成と配置配線を実行して生成されたアプリケーションネットリストとの論理等価性を判定する手段を更に設けたことを特徴とする半導体ＬＳＩ設計装置。
【請求項５】
請求項１または請求項２に記載の半導体ＬＳＩ設計装置において、
機能ブロックライブラリで定義される各機能ブロックには、その機能ブロックが本来実現する機能に対する入出力ピンに加えて、演算内容には無関係の演算開始信号入力ピンと演算終了信号出力ピンとが定義されていることを特徴とする半導体ＬＳＩ設計装置。
【請求項６】
請求項５に記載の半導体ＬＳＩ設計装置において、
前記組合せ回路を機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段が、前記組合せ回路に対して、演算開始信号ピンから演算終了信号ピンまでを辿り、現れた機能ブロックの順に演算順序情報へ変換することを特徴とする半導体ＬＳＩ設計装置。
【請求項７】
アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する工程と、
前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な、演算順序情報へ変換する工程と、
生成された演算順序情報から組合せ回路へ逆変換する工程と、
前記組合せ回路と、逆変換した組合わせ回路の論理等価性を検証する工程と、
前記演算順序情報と、前記順序回路と、機能ブロックを結合する工程とを有することを特徴とする半導体ＬＳＩ設計方法。
【請求項８】
請求項７に記載の半導体ＬＳＩ設計方法において、
前記演算順序情報と、前記順序回路と、機能ブロックを結合する工程が出力するアプリケーションＨＤＬに対してＡＳＩＣまたはＦＰＧＡに実装するために論理合成と配置配線を実行する工程と、
前記アプリケーションＨＤＬと前記論理合成と配置配線を実行して生成されたアプリケーションネットリストとの論理等価性を判定する工程を更に設けたことを特徴とする半導体ＬＳＩ設計方法。
【請求項９】
請求項７に記載の半導体ＬＳＩ設計方法において、
機能ブロックライブラリで定義される各機能ブロックには、その機能ブロックが本来実現する機能に対する入出力ピンに加えて、演算内容には無関係の演算開始信号入力ピンと演算終了信号出力ピンとが定義され、
前記組合せ回路を機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する工程が、前記組合せ回路に対して、演算開始信号ピンから演算終了信号ピンまでを辿り、現れた機能ブロックの順に演算順序情報へ変換することを特徴とする半導体ＬＳＩ設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高い安全性を求められる制御装置に用いる半導体ＬＳＩ設計装置および設計方法に関する。
【背景技術】
【０００２】
従来、制御装置にはマイクロコンピュータが用いられてきたが、高い安全性を求められる制御装置、例えば、大型プラントや発電施設などの制御装置では、セキュリティの向上や耐タンパ性向上を目的にプロセッサレスなハードワイヤード方式が求められている。他方で、適用機器毎の調整の容易性を確保するため、メンテナンス性も求められている。これらの要求を満たすため、制御装置にＦＰＧＡが用いられ始めている。特に、高安全制御装置では、中性子などの放射線が原因のソフトエラーにより制御装置に一時的な故障が発生し停止することを避けるために、ソフトエラー耐性の高いＦｌａｓｈ型のＦＰＧＡを用いられ始めている。
【０００３】
背景技術として、特開２００５−２４９６０９号公報（特許文献１）がある。特許文献１には、「ＡＳＩＣおよびＦＰＧＡから選択されるハードウェアに実装したディジタルロジックを用いて構築された原子炉の安全保護計装システムにおいて、入力の全てのロジックパターンに対する出力のロジックパターンが実装前段階においてあらかじめ検証された機能ユニットと、前記検証済みの機能ユニットを組み合わせて構成した機能モジュールの少なくとも一方を用いてディジタルロジック部分が構成され、前記機能モジュールは、前記検証済みの機能ユニットと同一のロジック構成を有する機能ユニットのみで構成されたことを特徴とする安全保護計装システム。」と記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２４９６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、信頼性の高いディジタル信号処理装置で構成される安全保護計装システムおよびその取扱方法について記載されている。しかし、ＦＰＧＡなどのＬＳＩに実装する際のリソースについては言及されていない。例えば、Ｆｌａｓｈ型のＦＰＧＡは一般にＳＲＡＭ型のＦＰＧＡと比較して搭載可能な論理規模が小さい。また、低コスト化を目的に、安価で搭載論理規模の小さいＦＰＧＡを使用する場合もある。そのため、制御装置に必要となる制御論理を１つのＦＰＧＡに搭載できず、複数のＦＰＧＡを使う必要があり、制御装置の複雑化や検証コストの増加などを招く可能性がある。従って、制御論理実装に必要なリソースの削減は、高い安全性を求められる制御装置において、重要な技術の一つである。
【０００６】
また、高い安全性が求められる制御装置では、診断などの安全機能の搭載や多重化などに加え、設計プロセスにも高い安全性が求められている。高安全制御装置の設計プロセスでは、仕様から設計、設計から実装など、設計ステップを踏む毎に、その前後で整合性があるか、誤りがないかを検証する必要がある。例えば、ＦＰＧＡなどのＬＳＩ設計で用いる論理合成ツールは、ＲＴＬ記述からネットリストを生成する際、リソースの最適化や論理を縮小するためのリソースシェアなど論理等価変換を行う。高安全制御装置の設計では、ツールの論理等価変換作業が正しく行われていることを検証するために、ＲＴＬ記述とネットリストとの論理等価性検証が必要である。
【０００７】
上記より、高安全制御装置では、限られた実装リソースの中で、制御論理を実装し、それを検証することは、高安全制御装置の実現には重要な技術要素の１つである。
【０００８】
そこで、本発明では、制御装置の論理実装時の必要リソース削減技術と、検証技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の半導体ＬＳＩ設計装置の好ましい例では、アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する手段と、前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段と、生成された演算順序情報から組合せ回路へ逆変換する手段と、前記組合せ回路と、逆変換した組合わせ回路の論理等価性を検証する手段と、前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段とを備えて構成する。
【００１０】
また、本発明の他の特徴として、前記半導体ＬＳＩ設計装置において、組合せ回路から順序回路の演算順序情報へ変換する手段で用いる順序回路は、演算順序情報を記憶する演算順序記憶部と、少なくとも前記組合せ回路内に使用されている機能ブロックを種類別に１つずつ並列に接続した機能ブロック群と、入力データ、機能ブロックによる演算結果を逐次記憶するメモリと、前記メモリに記憶されたデータを、前記機能ブロックへの入力として読み出すメモリ制御部と、前記読み出されたデータを前記機能ブロック群への入力として選別する入力セレクタと、前記機能ブロック群の演算結果を選択して前記メモリへ格納する出力セレクタと、及び前記演算順序情報に従い、前記メモリ制御部、前記入力セレクタ、及び前記出力セレクタを制御する演算実行制御部とを有する順序回路であることを特徴とする。
【００１１】
また、本発明の更に他の特徴として、前記半導体ＬＳＩ設計装置において、機能ブロックライブラリで定義される各機能ブロックには、その機能ブロックが本来実現する機能に対する入出力ピンに加えて、演算内容には無関係の演算開始信号入力ピンと演算終了信号出力ピンとが定義されていることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、制御装置の論理実装に必要なリソースを、検証された手段で削減できる。
【００１３】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】実施例１、２に係る半導体ＬＳＩ設計装置の構成図の例である。
【図２】実施例１の制御回路設計部における処理のフローチャートである。
【図３】本発明の機能ブロックライブラリに登録されている各機能ブロックの、（Ａ)：入出力ピンの構成例、および(Ｂ)：ＨＤＬ形式の定義例を示す図である。
【図４】本発明に係る組合せ回路設計部で作成した組合せ回路の例を示す図である。
【図５】本発明に係る組合せ回路−演算順序情報変換部が生成する演算順序情報の構成例である。
【図６】本発明に係る演算制御部−演算順序情報結合部が出力するアプリケーションＨＤＬの例を示す図である。
【図７】実施例２の制御回路設計部における処理のフローチャートである。
【図８】実施例３に係る半導体ＬＳＩ設計装置の構成図の例である。
【図９】実施例３の制御回路設計部における処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、実施例を図面を用いて説明する。
【実施例１】
【００１６】
図１は、本実施例の半導体ＬＳＩ設計装置１００の構成図の例である。
半導体ＬＳＩ設計装置１００は、汎用の計算機上に構成することができて、そのハードウェア構成は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）などにより構成される演算部１１０、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリなどを用いたＳＳＤ（Solid State Drive）などにより構成される記憶部１２０、キーボードやマウス等の入力デバイスより構成される入力部１３０、ＬＣＤ（Liquid Crystal Display）、有機ＥＬディスプレイなどの表示装置、各種出力装置などにより構成される表示・出力部１４０、ＣＤ−ＲＯＭ、ＵＳＢメモリなどの可搬性を有する可搬型記憶媒体の情報を読み出すメディア読取部１５０、ＮＩＣ（Network Interface Card）などにより構成される通信部１６０、などを備える。
通信部１６０は、ネットワーク１７０を介して外部の論理回路シミュレータ１８１、論理合成装置１８２、および半導体ＬＳＩ製造装置１９０などと接続されている。
【００１７】
演算部１１０は、記憶部１２０に記憶されている半導体ＬＳＩ設計プログラム１２１をＲＡＭへロードしてＣＰＵで実行することにより以下の各機能部を有する制御回路設計部１０１を実現する。制御回路設計部１０１は、組合せ回路設計部１１１と、組合せ回路−演算順序情報変換部１１２と、演算順序情報−組合せ回路変換部１１３と、演算制御部−演算順序情報結合部１１４と、論理等価性検証部１１５と、実施例２では更に機能ブロック内論理削除部１１６とから構成される。
【００１８】
記憶部１２０は、半導体ＬＳＩ設計プログラム(記憶領域)１２１と、機能ブロックライブラリ(記憶領域)１２２と、順序回路ＨＤＬ(記憶領域)１２３と、組合せ回路ＨＤＬ(記憶領域)１２４と、演算順序情報(記憶領域)１２５と、逆変換組合せ回路ＨＤＬ(記憶領域)１２６と、アプリケーションＨＤＬ(記憶領域)１２７と、検証結果情報(記憶領域)１２８とを有する。
【００１９】
図２は、実施例１の制御回路設計部１０１における処理のフローチャートを示す。
【００２０】
組合せ回路設計部１１１は、表示・出力部１４０にユーザインタフェースを提示して、制御回路設計者(ユーザ)がこれから設計を行う制御回路を、アプリケーション仕様３に基づいて、ハードウェア記述言語形式で、または機能ブロックを表わす図形を配置する入力形式などにより、入力部１３０より入力される情報を受け付けて、組合せ回路を生成する。組合せ回路設計部１１１は、機能ブロックライブラリ１２２に登録されている機能ブロックのメニューを提示して、制御回路設計者(ユーザ)は、メニュー内の機能ブロックを自由に配置して、配置された各機能ブロック間を配線して、入出力ピンを付加して、アプリケーション仕様３を実現する組合せ回路の設計を行う。組合せ回路設計部１１１は、ＨＤＬ形式の組合せ回路ＨＤＬ１６を出力して、組合せ回路ＨＤＬ(記憶領域)１２４に記憶する。
【００２１】
本実施例の機能ブロックライブラリ１２２は、各種アプリケーションの制御回路で共通に使用する各種機能ブロックを登録している。機能ブロックは、論理演算、四則演算、積分演算などであり、回路規模は多様であるが、機能ブロックに対する全入力パターンに対する出力パターンが、設計仕様から期待される予測値のパターンと全て一致していることを確認することが可能なロジック規模である。各機能ブロックは予め、プロパティ検証やダイナミック検証などで検証されて登録された検証済みＨＤＬライブラリである。
【００２２】
更に、各機能ブロックは、図３(Ａ)、(Ｂ)に示すように、その機能ブロックが本来実現する機能に対する入出力（入力ピン：a_in, b_in、出力ピン：e_out, f_out）に加え、機能ブロックの演算内容には関係の無い演算開始信号入力ピン(C_St_in)と演算終了信号出力ピン(C_End_out)が設けられている。各機能ブロックは、演算開始信号入力ピンにパルスを入力すると、入力ピンに入力されている値を取込み、機能ブロック内で演算を開始する。機能ブロック内の演算を終了すると、出力信号に演算結果を保持し、演算終了信号出力ピンにパルスを出力する。
本実施例の各機能ブロックは、ＨＤＬ形式は変えずに、図３(Ｂ)に示すように演算開始信号入力ピン(C_St_in)と演算終了信号出力ピン(C_End_out)を定義して登録されている。
【００２３】
組合せ回路設計部１１１では、制御回路設計者(ユーザ)が、各機能ブロックを配置する際に演算順序を明示するために、最初に実行する機能ブロックから、最後に実行する機能ブロックまでの演算開始信号ピン（入力）と演算終了信号ピン（出力）を数珠繋ぎに接続する。
【００２４】
図４は、組合せ回路設計部１１１で作成した組合せ回路ＨＤＬ１６のブロック図の例（２０）である。図４の例では、４つの機能ブロック（２１〜２４）を並べて配置し、入力ピン（３１〜３４）と出力ピン（３５〜３６）を配置し、機能ブロック２１〜２４と入出力ピンの間を配線（５１〜６０）で結線し、４入力２出力の組合せ回路を実現している。図中、機能ブロック２２と機能ブロック２４は同一の機能を持つ機能ブロックである。演算実行順序を明示するために、ブロック図（２０）に演算開始信号ピンCalcSt（４０）を設け、演算順序順に演算開始信号ピンと各機能ブロックを接続し（４１〜４４）、演算終了信号ピンCalcEnd（４６）を設け、最後に実行する機能ブロックに接続（４５）している。
【００２５】
各機能ブロックは、演算開始信号入力ピンにパルスを入力すると、入力ピンに入力されている値を取込み、機能ブロック内で演算を開始する。機能ブロック内の演算を終了すると、出力信号に演算結果を保持し、演算終了信号出力ピンにパルスを出力する。従って、図４に示したブロック図（２０）を演算実行するためには、入力ピン（３１〜３４）に演算データを与え、そのデータを保持したまま、演算開始信号ピン４０にパルスを入力する必要がある。ブロック図（２０）の演算完了後、演算終了信号ピン４６にパルスが出力されるので、その時の出力ピン（３５〜３６）の値がブロック図（２０）の演算結果となる。一般に用いられる組合せ回路は、入力ピンに演算データを与えると同時に演算が開始するため演算順番は不明確であるが、本実施例では演算開始信号ピン４０から入力されたパルスが配置された各機能ブロックを伝播していくため、明示的に演算順序を示すことが出来る。
【００２６】
ただし、演算順序の明示の仕方は、上記に限らず、例えば、各機能ブロックに演算順序ピン（入力）を設け、演算順序ピンに演算順序を表す整数値を入力するなどの方法でも良い。
【００２７】
図２の制御回路設計部１０１における処理のフローチャートに戻り、組合せ回路−演算順序情報変換部１１２は、組合せ回路設計部１１１が出力した組合せ回路ＨＤＬ１６を解析し、演算順序情報１７を生成する。図５は演算順序情報１７の構成例（１２５）であり、演算順序（１２５ａ）、機能ブロック種類（１２５ｂ）、接続情報（１２５ｃ）、および入出力ピン/配線接続情報（１２５ｄ、１２５ｅ）で構成される。
【００２８】
組合せ回路−演算順序情報変換部１１２の動作を説明する。まず、入力された組合せ回路ＨＤＬ１６に対して演算開始信号ピン４０から演算終了信号ピン４６までを辿り、現れた機能ブロックの順に演算順序を採番する。まず、演算順序が１の機能ブロックを対象に、演算順序を演算順序欄（１２５ａ）に格納し、機能ブロックライブラリ１２２に登録された機能ブロックを識別する種類のデータを機能ブロック種類欄（１２５ｂ）に格納し、対象機能ブロックの入出力ピンに接続されている配線を識別する符号データを接続情報欄（１２５ｃ）に格納する。配線を識別する符号データには、配線属性毎に特徴があり、配線が、組合せ回路ＨＤＬ１６の入力ピン(I)、出力ピン(O)、ブロック間配線(S)であることを判別できる。配線属性毎の特徴としては、属性毎に符号データにオフセット（入力ピン：(I)、出力ピン：(O)、ブロック間配線：(S)）を設けるなどの方法がある。なお、接続情報欄１２５ｃに格納する配線符号データの順番は、機能ブロックライブラリ１２２に登録されている機能ブロックのピンの順番通りとする。また、組合せ回路ＨＤＬ１６の入力ピン（３１〜３４）、出力ピン（３５〜３６）と、配線との接続情報を入出力ピン/配線接続情報欄（１２５ｄ、１２５ｅ）に格納する。組合せ回路ＨＤＬ１６内の全ての機能ブロックの情報が演算順序情報(記憶領域)１２５に格納されたら終了する。
【００２９】
図２の制御回路設計部１０１における処理のフローチャートに戻り、演算制御部−演算順序情報結合部１１４は、予め作成されて順序回路ＨＤＬ(記憶領域)１２３に登録されている順序回路ＨＤＬ６と、組合せ回路−演算順序情報変換部１１２で作成された演算順序情報１７と、機能ブロックライブラリ１２２内の機能ブロックＨＤＬのうち組合せ回路ＨＤＬ１６で使用されている全ての機能ブロック１個ずつ読み出してそれらを結合して、アプリケーションＨＤＬ４として出力する。
【００３０】
図６は、演算制御部−演算順序情報結合部１１４が出力するアプリケーションＨＤＬ４の構成例（７０）である。アプリケーションＨＤＬ４は、予め作成しておいた順序回路ＨＤＬ６と、演算順序情報１７と、機能ブロックライブラリ１２２に登録されている機能ブロック群７１で構成される。
【００３１】
順序回路ＨＤＬ６は、演算順序記憶部７３に演算順序情報１７を格納して、演算順序情報１７に従い、機能ブロック群７１を用いて、演算実行する機能を持つ。順序回路ＨＤＬ６の構成は、例えば、メモリ７４とメモリ制御部７５、メモリ入力セレクタ７６、メモリ出力セレクタ７７、入力セレクタ７８、出力セレクタ７９、演算実行制御部７２、演算順序情報１７を格納する演算順序記憶部７３から構成される。順序回路ＨＤＬ６と機能ブロック群７１に含まれる機能ブロックは予め検証しておく。本回路の動作は下記の通りである。
【００３２】
動作１：入力データ（Ｉｎ１〜Ｉｎ４）は、メモリ入力セレクタ７６により、１データが選択され、メモリ制御部７５が制御するメモリ７４に格納される。
【００３３】
動作２：演算実行制御部７２は、演算順序記憶部７３に格納されている機能ブロック種類を取得する。演算順序記憶部７３は、演算順序に従い、機能ブロック種類を出力する。
【００３４】
動作３：メモリ制御部７５がメモリ７４を制御し、メモリ７４から入力データをリードする。リードデータは、入力セレクタ７８を通り、順番にＦＦに格納される。入力セレクタ７８は、演算実行制御部７２が制御する。
【００３５】
動作４：演算順序に従い、演算実行制御部７２の制御により機能ブロック群７１で該当する機能ブロックの１つが演算実行される。
【００３６】
動作５：各機能ブロックの出力を出力セレクタ７９が順番に選択し、メモリ７４に順番に格納する。出力セレクタ７９は演算実行制御部７２に制御される。
【００３７】
動作６：演算順序記憶部７３に格納されている全てのデータ(演算順序情報の各演算順序データ)に対して、動作２から動作５までを実行する。
【００３８】
動作７：メモリ７４に格納されているデータのうち、演算結果データを順番にリードし、メモリ出力セレクタ７７が各出力ポートに出力する。
【００３９】
なお、図６はアプリケーションＨＤＬ４で表される回路の一例であり、例えば、入力データを直接ＦＦに書き込み、メモリ７４を持たない構成としても良い。
【００４０】
また、機能ブロック群７１には、機能ブロックライブラリ１２２に含まれる全ての機能ブロックを搭載しても良いし、演算順序情報１７を参照し、使用する機能ブロックのみを搭載してもよい。
【００４１】
図２の制御回路設計部１０１における処理のフローチャートに戻り、演算順序情報−組合せ回路変換部１１３は、演算順序情報１７に示すとおりに機能ブロックを実行する逆変換組合せ回路ＨＤＬ１８を生成する。以下に生成方法例を示す。
【００４２】
手順１：演算順序情報１７から演算順序がｉである機能ブロックの種類と接続情報を取得する。
【００４３】
手順２：機能ブロックライブラリ１２２に登録されている機能ブロックを参照し、機能ブロックの種類から、機能ブロックの入出力ピン情報を取得する。機能ブロックはＨＤＬで記述されているため、容易に入出力ピン情報を取得可能である。
【００４４】
手順３：機能ブロックのインスタンスを定義するＨＤＬインスタンス定義文を生成し保持する。一般に、ＨＤＬインスタンス定義文は、機能ブロックの種類、配線接続情報からなるため、手順２で取得した情報から、一意に生成できる。
【００４５】
手順４：該当機能ブロックに接続されている全ての配線の配線符号データを参照し、入出力配線であればモジュール定義文に配線定義を追加する。入出力配線でなければ、モジュール内配線の定義文を追加する。
【００４６】
手順５：モジュール定義文、配線定義文、機能ブロックのインスタンス定義文、モジュール終了文を作成して、逆変換組合せ回路ＨＤＬ１８として逆変換組合せ回路ＨＤＬ(記憶領域)１２６へ出力する。
【００４７】
組合せ回路−演算順序情報変換部１１２と、演算順序情報−組合せ回路変換部１１３は、ソフトウェアとして作成することも可能である。この時、それぞれのソフトウェアを、異なる組織や異なる設計者による設計や、異なる言語やコンパイラを用いた開発を行うことで、ダイバーシティを確保し、両ソフトウェアへの共通要因故障を排除することが可能となり、安全性を高めることが出来る。
【００４８】
論理等価性検証部１１５は、組合せ回路ＨＤＬ１６と、逆変換組合せ回路ＨＤＬ１８との論理等価性を検証し、検証結果情報５を出力する。組合せ回路ＨＤＬ１６を論理等価性変換し形式を変化させた後、さらにその逆変換を行い、組合せ回路構造に戻して逆変換組合せ回路ＨＤＬ１８を生成しているため、検証対象のＨＤＬは、どちらも組合せ回路構造となっており、回路の構成要素が1対1で対応するため、容易に論理等価性を検証可能である。なお、本論理等価性検証は、組合せ回路−演算順序情報変換部１１２が正しく動作していることを検証することが目的であり、組合せ回路−演算順序情報変換部１１２と演算順序情報−組合せ回路変換部１１３により、仕様通りに正しく論理等価変換が成されていれば、検証結果情報５は常に論理等価であることを示す。逆に、論理等価であれば、組合せ回路−演算順序情報変換部１１２が正しく動作したことを検証したこととなる。
【００４９】
以上から、本発明によれば、同種類の機能ブロックを複数実行する組合せ回路に対して、同種類の機能ブロックの1つを複数回時分割で使用する順序回路に適用可能な演算順序情報へ変換し、その演算順序情報と順序回路ＨＤＬと機能ブロックとを結合してアプリケーションＨＤＬへ変換することで回路使用リソースを削減することを可能としている。さらに、演算順序情報への変換の正当性を、演算順序情報の逆変換と論理等価性検証により、短時間で検証することが可能である。
【００５０】
以上により、高安全制御装置の論理の削減と、設計プロセスの高安全化の両立を実現できる。
【実施例２】
【００５１】
図７は、第２の実施例の制御回路設計部１０１における処理のフローチャートである。図２と同じ部分には同じ符号を付してあり、構成、動作が同じであるので、説明を省略する。本実施例は、組合せ回路ＨＤＬ１６と逆変換組合せ回路１８との論理等価性を検証する代わりに、両ＨＤＬから機能ブロック内の論理を削除したＨＤＬを比較するものである。図７を参照し、実施例１から変更がある構成要素についてのみ、以下に示す。
【００５２】
機能ブロック内論理削除部１１６は、組合せ回路ＨＤＬ１６と逆変換組合せ回路ＨＤＬ１８から、機能ブロックライブラリ１２２で定義されている機能ブロックの内部論理のみを削除し、内部論理削除済み組合せ回路ＨＤＬ８１と内部論理削除済み逆変換組合せ回路ＨＤＬ８２を出力する。これら２つのＨＤＬを論理等価性検証部１１５に入力し、論理等価性を判定するものである。機能ブロックライブラリ１２２に登録されている機能ブロックは、組合せ回路設計部１１１及び演算順序情報−組合せ回路変換部１１３で組み込まれたものであり、組合せ回路ＨＤＬ１６と逆変換組合せ回路ＨＤＬ１８に含まれる機能ブロックの論理は同一であることが保証されている。従って、機能ブロックの内部論理の論理等価性を検証しなくとも、論理等価性検証部１１５で行われる検証の品質は低下しない。
【００５３】
このように変更することにより、論理等価性検証対象の論理が縮小するため、論理等価性検証部１１５の処理時間を短縮することが出来る。これにより、設計プロセスの安全性を損なうことなく、検証時間ひいては設計開発時間の短時間化を実現できる。
【実施例３】
【００５４】
図８は、実施例３の半導体ＬＳＩ設計装置２００の構成図の例である。図１に示す半導体ＬＳＩ設計装置１００の構成図との相違は、演算部１１０に論理合成配置配線部１１７、論理等価性判定部１１８を新たに加え、記憶部１２０にアプリケーションネットリスト(記憶領域)１２９Ａ、論理等価性判定結果情報(記憶領域)１２９Ｂを新たに加えていることである。
【００５５】
図９は、第３の実施例の制御回路設計部１０１における処理のフローチャートを示す。図２と同じ構成要素には同じ符号を付してあり、構成、動作が同じであるので、説明を省略する。
論理合成配置配線部１１７は、アプリケーションＨＤＬ４を読み込み、ＡＳＩＣまたはＦＰＧＡへ実装するための論理合成と配置配線を行い、アプリケーションネットリスト７を出力する。論理等価性判定部１１８は、アプリケーションＨＤＬ４とアプリケーションネットリスト７の論理等価性を判定して、論理等価性判定結果情報８を出力する。論理等価性の判定方法は、論理等価性検証部１１５と同様の方法とする。
【００５６】
このように変更することにより、回路使用リソースの少ない順序回路をＡＳＩＣまたはＦＰＧＡへ実装可能となり、かつ、設計プロセスの安全性を高めることが出来る。アプリケーションＨＤＬ４の正当性は、演算順序情報−組合せ回路変換部１１３と論理等価性検証部１１５により、判定することができる。これにより、高安全制御装置の論理を少ない回路リソースで実現し、ＡＳＩＣまたはＦＰＧＡへ実装すると共に、高安全設計プロセスを実現することが可能となる。
【００５７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【符号の説明】
【００５８】
３  アプリケーション仕様
４  アプリケーションＨＤＬ
５  検証結果情報
６  順序回路ＨＤＬ
７  アプリケーションネットリスト
８  論理等価性判定結果情報
１６  組合せ回路ＨＤＬ
１７  演算順序情報
１８  逆変換組合せ回路ＨＤＬ
２０  組合せ回路ＨＤＬのブロック図の例
２１〜２４  機能ブロック
３１〜３４  入力ピン
３５〜３６  出力ピン
４０  演算開始信号ピン
４１〜４５  演算開始信号伝播配線
４６  演算終了信号ピン
５１〜６０  配線
７０  アプリケーションＨＤＬの構成例
７１  機能ブロック群
７２  演算実行制御部
７３  演算順序記憶部
７４  メモリ
７５  メモリ制御部
７６  メモリ入力セレクタ
７７  メモリ出力セレクタ
７８  入力セレクタ
７９  出力セレクタ
８１  内部論理削除済み組合せ回路ＨＤＬ
８２  内部論理削除済み逆変換組合せ回路ＨＤＬ
１００  半導体ＬＳＩ設計装置
１０１  制御回路設計部
１１０  演算部
１１１  組合せ回路設計部
１１２  組合せ回路−演算順序情報変換部
１１３  演算順序情報−組合せ回路変換部
１１４  演算制御部−演算順序情報結合部
１１５  論理等価性検証部
１１６  機能ブロック内論理削除部
１１７  論理合成配置配線部
１１８  論理等価性判定部
１２０  記憶部
１２１  半導体ＬＳＩ設計プログラム(記憶領域)
１２２  機能ブロックライブラリ(記憶領域)
１２３  順序回路ＨＤＬ(記憶領域)
１２４  組合せ回路ＨＤＬ(記憶領域)
１２５  演算順序情報(記憶領域)
１２６  逆変換組合せ回路ＨＤＬ(記憶領域)
１２７  アプリケーションＨＤＬ(記憶領域)
１２８  検証結果情報(記憶領域)
１２９Ａ  アプリケーションネットリスト(記憶領域)
１２９Ｂ  論理等価性判定結果情報(記憶領域)
１３０  入力部
１４０  表示・出力部
１５０  メディア読取部
１６０  通信部
１７０  ネットワーク
１８１  論理回路シミュレータ
１８２  論理合成装置
１９０  半導体ＬＳＩ製造装置
【図１】
2019192097.tif 000003
【図２】
2019192097.tif 000004
【図３】
2019192097.tif 000005
【図４】
2019192097.tif 000006
【図５】
2019192097.tif 000007
【図６】
2019192097.tif 000008
【図７】
2019192097.tif 000009
【図８】
2019192097.tif 000010
【図９】
2019192097.tif 000011