JP4123514B2 - 集積回路設計装置、および、集積回路設計方法 - Google Patents

集積回路設計装置、および、集積回路設計方法 Download PDF

Info

Publication number
JP4123514B2
JP4123514B2 JP2003403726A JP2003403726A JP4123514B2 JP 4123514 B2 JP4123514 B2 JP 4123514B2 JP 2003403726 A JP2003403726 A JP 2003403726A JP 2003403726 A JP2003403726 A JP 2003403726A JP 4123514 B2 JP4123514 B2 JP 4123514B2
Authority
JP
Japan
Prior art keywords
circuit
output port
file
port
netlist
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003403726A
Other languages
English (en)
Other versions
JP2005165681A (ja
Inventor
恵祐 金丸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003403726A priority Critical patent/JP4123514B2/ja
Priority to US11/001,069 priority patent/US7234127B2/en
Publication of JP2005165681A publication Critical patent/JP2005165681A/ja
Application granted granted Critical
Publication of JP4123514B2 publication Critical patent/JP4123514B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は集積回路設計装置、および、集積回路設計方法に関する。
パーソナルコンピュータや携帯電話の普及は、半導体デバイスの需要を急激に高めてきている。それらの製品の普及は、より高い信頼性を有する半導体デバイスを要求してきている。特に、ALU(Arithmetic and Logical Unit:演算装置)など、演算回路における誤りの発生は、データ化けなどコンピュータの心臓部のエラーとなるため、その装置にとって致命的な問題になる。半導体デバイス、特にLSI(Large-Scale Integrated circuit:大規模集積回路)の設計・製造技術は近年飛躍的に進歩してきている。そのようなLSIの設計において、装置の信頼性を向上させるために設計段階において回路(本体回路)を二重化させ、その回路と二重化させた二重化回路の各々の出力を比較し、異なる出力が発生した場合、設計の見なおしを行っていた(例えば、特許文献1参照。)。
このような回路の二重化手法は、設計されるLSIに信頼性の向上に有効である。このように二重化回路を使用してLSIの設計を行う場合、設計段階の論理合成の過程で二重化回路と本体回路が一つに統合されてしまうことがある。図1は二重化回路と本体回路が論理合成の段階で一つに統合されてしまう様子を示す概念図である。図1に示されるようなことが起こってしまう原因は設計段階における二重化回路は基本的には本体回路と同一の論理であるため、論理合成の過程で回路の最適化が行われた場合に一つに統合されてしまうからである。
LSI設計時に、論理合成による最適化が行われても、二重化回路と本体回路を統合しない集積回路設計装置、及び集積回路設計方法が望まれる。
さらに、論理合成後に二重化回路が残っているかどうかを確認する手段を備えた集積回路設計装置、及びその装置による集積回路設計方法が望まれる。
特開平11−102386号公報
本発明が解決しようとする課題は、LSI設計時に、論理合成による最適化が行われても、二重化回路と本体回路を統合しない集積回路設計装置、及び集積回路設計方法を提供することにある。
本発明が解決しようとするさらなる課題は、論理合成後に二重化回路が残っているかどうかを確認する手段を備えた集積回路設計装置、及びその装置による集積回路設計方法を提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
階層化指定を含むRTL(Register Transfer Level:レジスタトランスファーレベル)記述を有するRTLファイル(21)と、前記階層化指定に対応して階層化される二つのモジュールの出力ポートの対応を示す対応ファイル(24)とを備える記憶装置(2)と、前記RTLファイル(21)に対応して、集積回路を設計する演算処理装置(1)とを備え、
前記演算処理装置(1)は、前記RTLファイル(21)に対応して設計する回路の階層化を実行し、前記回路を構成する階層化されたモジュール群の出力ポートを示す出力ポートファイル(22)を生成し、前記出力ポートファイル(22)と前記対応ファイル(24)に基づいて出力ポートを選択し、前記選択された出力ポートまでのパスを構成する論理ゲートを調査する集積回路設計装置によってLSIの設計を行う。
その集積回路設計装置において、前記演算処理装置(1)は論理合成部(12)と、選択されたパスのスタートポイントからエンドポイントまでの論理ゲートを調査する回路調査部(14)とを含み、前記論理合成部(12)は、前記階層化されたモジュール群の階層を保持したままのゲートレベル論理回路を生成し、前記ゲートレベル論理回路を示すネットリストを出力し、前記回路調査部(14)は、前記選択された出力ポートを前記スタートポイントに設定し、前記選択された出力ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査する集積回路設計装置によってLSIの設計を行う。
このような構成の集積回路設計装置を用いてLSIを設計することで、二重化回路を構成する場合に論理合成による統合が行われることが無くなり、設計される回路の信頼性が向上する。
その集積回路設計装置において、前記演算処理装置(1)は調査ポート出力部(13)を含み、前記調査ポート出力部(13)は前記出力ポートファイル(22)と前記対応ファイル(24)に基づいて選択される出力ポートの対を示す出力ポート対(25)を生成し、前記出力ポート対(25)は階層化された複数のモジュールの各々の出力ポートを第1ポートと第2ポートとして一対一に対応させた対応ポート情報を有し、前記回路調査部(14)は、前記第1ポートを前記スタートポイントに設定し、前記第1ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第1調査結果と、前記第2ポートを前記スタートポイントに設定し、前記第2ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第2調査結果とを比較し、前記比較結果を出力する集積回路設計装置によってLSIの設計を行う。
その集積回路設計装置において、前記送信部は前記出力ポートに信号を出力するフリップフロップまたはプライマリ入力である集積回路設計装置によってLSIの設計を行う。
このような構成の集積回路設計装置を用いてLSIを設計することで、二重化回路を構成する場合に論理合成による統合が行われることが無くなり、さらに、二重化された回路が適切に動作しているかどうかの検証が実行できるため、設計される回路の信頼性が向上する。
その集積回路設計装置において、前記RTLファイル(21)に対応して設計する回路の階層化を実行し、前記回路を構成する階層化されたモジュール群の出力ポートを示す出力ポートファイル(22)を生成する階層化部(11)を備え、前記階層化部(11)は、前記出力ポートファイル(22)を前記記憶装置(2)に格納し、前記出力ポートファイル(22)の格納完了に応答して前記論理合成部(12)に前記格納完了を通知し、前記通知に対応して前記調査ポート出力部(13)に出力ポート対(25)の生成を指示し、前記論理合成部(12)は、前記通知に応答して前記ネットリストを出力し、前記ネットリストを前記記憶装置(2)に格納し、前記ネットリストの格納完了に応答して前記回路調査部(14)に前記ネットリストの格納完了を通知し、前記調査ポート出力部(13)は、前記指示に応答して前記出力ポートファイル(22)と前記対応ファイル(24)を前記記憶装置(2)から読み込み、前記出力ポートファイル(22)と前記対応ファイル(24)に基づいて作成した出力ポート対(25)を前記記憶装置(2)に格納し、前記出力ポート対(25)の格納完了を前記回路調査部(14)に通知し、前記回路調査部(14)は、前記ネットリストの格納完了の通知と前記出力ポート対(25)の格納完了の通知に対応して、前記ネットリストと前記出力ポート対(25)を前記記憶装置(2)から読み込み、前記出力ポート対(25)に含まれる前記第1ポートを前記スタートポイントに設定し、前記第1ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第1調査結果と、前記第2ポートを前記スタートポイントに設定し、前記第2ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第2調査結果とを比較し、前記比較結果(26)を出力する集積回路設計装置によってLSIの設計を行う。
階層化指定を含むRTL(Register Transfer Level:レジスタトランスファーレベル)記述を有するRTLファイル(21)と、前記階層化指定に対応して階層化される二つのモジュールの出力ポートの対応を示す対応ファイル(24)とを格納するステップと、前記RTLファイル(21)に対応して設計する回路の階層化を実行し、前記回路を構成する階層化されたモジュール群の出力ポートを示す出力ポートファイル(22)を生成するステップと、前記出力ポートファイル(22)と前記対応ファイル(24)に基づいて出力ポートを選択するステップと、前記選択された出力ポートまでのパスを構成する論理ゲートを調査するステップを具備する集積回路設計方法を用いてLSIの設計を行う。
その集積回路設計方法において、選択されたパスのスタートポイントからエンドポイントまでの論理ゲートを調査するステップと、前記階層化されたモジュール群の階層を保持したままのゲートレベル論理回路を生成するステップと、前記ゲートレベル論理回路を示すネットリストを出力するステップと、前記選択された出力ポートを前記スタートポイントに設定し、前記選択された出力ポートに信号を送信する送信部に前記エンドポイントを設定するステップと、前記ネットリストに基づいて論理ゲートを調査するステップを具備する集積回路設計方法を用いてLSIの設計を行う。
その集積回路設計方法において、階層化された複数のモジュールの各々の出力ポートを第1ポートと第2ポートとして一対一に対応させた対応ポート情報を生成するステップと前記対応ポート情報をに基づいて出力ポートの対を示す出力ポート対(25)を生成するステップと、前記出力ポート対(25)に含まれる前記第1ポートを前記スタートポイントに設定し、前記第1ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第1調査結果を出力するステップと、前記第2ポートを前記スタートポイントに設定し、前記第2ポートに信号を送信する送信部に前記エンドポイントを設定し前記ネットリストに基づいて論理ゲートを調査した第2調査結果を出力するステップと前記第1調査結果と前記第2調査結果を比較するステップと、前記比較結果(26)を出力するステップを具備する集積回路設計方法を用いてLSIの設計を行う。
その集積回路設計方法において、前記送信部は前記出力ポートに信号を出力するフリップフロップまたはプライマリ入力である集積回路設計方法を用いてLSIの設計を行う。
その集積回路設計方法において、前記RTLファイル(21)に対応して設計する回路の階層化を実行するステップと、前記回路を構成する階層化されたモジュール群の出力ポートを示す出力ポートファイル(22)を生成するステップと、前記出力ポートファイル(22)を格納するステップと、前記出力ポートファイル(22)の格納完了に応答して前記格納完了を通知するステップと、前記出力ポートファイル(22)の格納完了の通知に対応して出力ポート対(25)の生成を指示するステップと、前記出力ポートファイル(22)の格納完了の通知に応答して前記ネットリストを出力するステップと、前記ネットリストを格納するステップと、前記ネットリストの格納完了に応答して前記ネットリストの格納完了を通知するステップと、前記指示に応答して前記出力ポートファイル(22)と前記対応ファイル(24)を読み込むステップと、前記出力ポートファイル(22)と前記対応ファイル(24)に基づいてポート対を生成するステップと、前記生成した出力ポート対(25)を格納するステップと、前記出力ポート対(25)の格納完了を通知するステップと、前記ネットリストの格納完了の通知と前記出力ポート対(25)の格納完了の通知に対応して、前記ネットリストと前記出力ポート対(25)を読み込むステップと、前記出力ポート対(25)に含まれる前記第1ポートを前記スタートポイントに設定し、前記第1ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第1調査結果を出力するステップと、前記第2ポートを前記スタートポイントに設定し、前記第2ポートに信号を送信する送信部に前記エンドポイントを設定し前記ネットリストに基づいて論理ゲートを調査した第2調査結果を出力するステップと前記第1調査結果と前記第2調査結果を比較するステップと、前記比較結果(26)を出力するステップを具備する集積回路設計方法を用いてLSIの設計を行う。
本発明の効果は、二重化回路を論理合成する場合に最適化が実行されても二重化回路と本体回路が統合されてしまうということが無くなり、設計される回路の信頼性が向上するという効果がある。
本発明の更なる効果は、二重化回路が適切に動作しているかどうかの確認が容易行えるので設計される回路の信頼性が向上するという効果がある。
[実施の構成]
以下に図面を用いて本発明を実施する最良の形態について述べる。
図2は本発明を実施するための最良の形態に述べる集積回路設計装置10の構成を示すブロック図である。図2を参照すると、本実施の形態に述べる集積回路設計装置10はデータ処理装置1と情報記憶装置2とCPU(中央演算処理装置)3とメモリ4と入力装置5と表示装置6とで構成され、それらはバスを介して接続される。
集積回路設計装置10はLSIなど集積回路を設計するために使用される情報処理装置である。HDL(Hardware Description Language:ハードウェア記述言語)などを用いて集積回路の設計を行うことが可能な装置である。データ処理装置1は情報記憶装置2およびメモリ4に格納された情報を読出し、読み出した情報に対応して情報処理を行う情報処理機能ブロックである。またデータ処理装置1は処理した情報に対応する情報処理結果を所定のノードに出力する。情報記憶装置2はデータ処理装置1から出力された情報や入力装置5から入力された情報を記憶する情報記憶機能ブロックである。半導体メモリや磁気メモリによって構成され、データ処理装置1やCPU(中央演算処理装置)3からの命令に対応して情報の書込み/読出しを実行する。
CPU(中央演算処理装置)3は集積回路設計装置10全体の動作に係る情報処理を実行する情報処理機能ブロックである。メモリ4は集積回路設計装置10全体の動作に係る情報の記憶を行う情報記憶機能ブロックである。入力装置5はデータ処理装置1またはCPU(中央演算処理装置)3の情報処理結果や、情報記憶装置2またはメモリ4に格納された情報の表示を行う情報表示機能ブロックである。
データ処理装置1は更に階層化部11と論理合成部12とチェック箇所加工部13と二重化回路チェック部14を含み、それらはバスを介して接続される。階層化部11は、LSI設計時に情報記憶装置2から受け取るRTL(Register Transfer Level)記述の中に、回路を階層化するように指定された記述部分を抽出し、自動的に階層化を行う階層化機能ブロックである。階層化部11は階層化を行う場合に下位階層の入出力ポートを決定する。階層化部11が決定する入出力ポートは、その入出力ポートに対して送信される信号の経路が明確になるように決定される。さらに、階層化部11は階層化されるモジュールの全出力ポートをモジュール毎に出力ポート情報22として出力する。
論理合成部12は、RTL記述をネットリストに変換する論理合成機能ブロックである。論理合成部12は、階層を保持したままRTL記述を論理的に等価なネットリスト23に変換する。論理合成部12は変換と概ね同時に論理の最適化を実行する。チェック箇所加工部13は、二重化回路の出力ポートと、本体回路の出力ポートとの対応を生成する演算機能ブロックである。チェック箇所加工部13は出力ポート情報22とチェック箇所指定ファイル24を読み込み、出力ポート群の各々のポートを二重化回路に対応するポートと本体回路に対応するポートに分離する。チェック箇所加工部13は各々の出力ポートが一対一の対を構成するファイル(チェック箇所ファイル25)を生成する。
二重化回路チェック部14は、二重化回路と本体回路に重なりが存在するかを判定する判定機能ブロックである。二重化回路チェック部14はネットリスト23とチェック箇所ファイル25を読み込みチェック箇所ファイル25に記述されたポート対の各々のポートからフリップフロップやプライマリ入力に到達するまでファンインコーン(選択されたパスのスタートポイントからエンドポイントまでの論理ゲートを、全階層にわたり表示させたもの)をトレースする。二重化回路チェック部14は二重化回路と本体回路に重なり部分が存在した場合、エラー情報を生成しログ26に出力する。
情報記憶装置2は更に階層化指定付RTL21と出力ポート情報22とネットリスト23とチェック箇所指定ファイル24とチェック箇所ファイル25とログ26とを含み、それらはバスを介して接続される。階層化指定付RTL21は、階層指定を備えたRTL記述である。設計者はverilog−HDLやVHDLなどのHDL(Hardware Description Language:ハードウェア記述言語)を用いて実現するレジスタとレジスタ間の論理を記述する。階層化指定付RTL21はその記述されたRTL記述に二重化回路部分の指定を追加したものである。
出力ポート情報22は、モジュール毎の出力ポートが記載されたファイルである。階層化部11から出力され、情報記憶装置2に格納される。ネットリスト23は、ASIC(Application Specific Integrated Circuit)内部のゲートやセルベースの接続関係を表したリストである。ネットリスト23は階層化指定付RTL21が論理合成部12によって論理合成された結果が格納されたファイルを構成し、情報記憶装置2に格納されている。
チェック箇所指定ファイル24は、二重化回路となるモジュール名を含むファイルである。チェック箇所指定ファイル24は二重化回路となるモジュールのモジュール名と、本体回路を構成するモジュールのモジュール名との対応が記述され、その記述を含むファイルを構成し情報記憶装置2に格納される。また、チェック箇所指定ファイル24は二重化回路に対応する出力ポートと本体回路に対応する出力ポートが対に構成された対が記述され、その記述を含むファイルを構成し情報記憶装置2に格納される。
チェック箇所ファイル25は、出力ポートの対を含むファイルである。チェック箇所加工部13から出力され二重化回路に対応する出力ポートと本体回路に対応する出力ポートとを一対一に対応させたものが記述され、その記述を含みファイルを構成し情報記憶装置2に格納される。ログ26は、二重化回路チェック部14によって検証された各々の出力ポート対に対しての出力結果を格納する。ログ26は二重化回路チェック部14が生成した二重化回路と本体回路に重なり部分が存在した場合を示すエラー情報、または、二重化回路と本体回路に重なり部分が存在しない場合を示す確認情報を記述したファイルを構成し、情報記憶装置2に格納される。
[実施の動作]
図3は本実施の形態に述べるLSI設計の動作を示すフローチャートである。図3を参照すると、本実施の形態に述べる動作は、高精度が要求される回路を設計するために記述された階層化指定付RTL21が情報記憶装置2に格納され、その階層化指定付RTL21の読み込み動作が行われると開始する。
ステップS101にいて、データ処理装置1の階層化部11はLSI設計の為に情報記憶装置2から階層化指定付RTL21を読み込む。階層化指定付RTL21の読み込みは入力装置5を介して入力された読み込み命令や半自動設計により予め定められた部分の設計に係った場合に行われる。ステップS102において、階層化部11は読み込んだ階層化指定付RTL21に基づいて本体回路と二重化回路との階層化を実行する。下位階層の入出力ポートは入出力される信号の送受信方向に基づいて決定される。階層化部11は階層化が行われたモジュールの情報を論理合成部12に出力する。
ステップS103において、階層化の実行が完了した階層化部11は、階層化されるモジュールの全出力ポートが記述された出力ポート情報22を生成し情報記憶装置2に出力する。ステップS104において、情報記憶装置2は階層化部11から出力された出力ポート情報22を格納する。ステップS105において、階層化部11から出力された階層化が行われたモジュールを示すのモジュール情報を受信した論理合成部12は、そのモジュール情報の受信に対応して階層化指定付RTL21の出力を情報記憶装置2に要求する。論理合成部12はその要求に応答して出力された階層化指定付RTL21とモジュール情報に基づいて、階層を保持したまま論理合成を実行し、ステップS106においてその論理合成された結果をネットリストに変換する。
ステップS107において、論理合成部12はそのネットリストを情報記憶装置2に出力し、情報記憶装置2は出力されたネットリストをネットリスト23として格納する。ステップS108において、チェック箇所加工部13は情報記憶装置2に格納された出力ポート情報22を読み込む。チェック箇所加工部13は更にステップS109において、情報記憶装置2に格納されたチェック箇所指定ファイル24を読み込む。
ステップS110において、チェック箇所加工部13は読み込んだチェック箇所指定ファイル24に予め設定されたポート対が記載されているかを判断する。その判断の結果予め設定されたポート対がチェック箇所指定ファイル24に記載されていない場合、処理はステップS111に進む。その判断の結果予め設定されたポート対がチェック箇所指定ファイル24に記載されている場合、処理はステップS112に進む。
ステップS112において、チェック箇所加工部13はチェック箇所指定ファイル24に記載されたポート指定に指定漏れが存在するかどうかを判断する。予め指定されたポートは、二重化回路に対応する出力ポートと本体回路に対応する出力ポートとが一対一に対応していなければならない。チェック箇所加工部13はチェック箇所指定ファイル24記載された出力ポートが出力ポート情報22に記載された出力ポートに照らし合わせた場合、対応しないポートが存在するか、または、重複して対応するポートが存在するかの判断を行う。その判断の結果、対応しないポート、または、重複して対応するポートが存在する場合、ポート指定の不備を集積回路設計装置10に通知する(ステップS113)。集積回路設計装置10はその通知に応答して警告を表示装置6に表示する。
ステップS114において、チェック箇所加工部13はチェック箇所指定ファイル24で指定された出力ポートを対応させた対応テーブルを生成し、ファイルにして出力する(ステップS115)。またステップS111において、チェック箇所加工部13はチェック箇所指定ファイル24に記載されたモジュール名に基づいて出力ポートの対応テーブルを生成し、ファイルにして出力する(ステップS115)。ステップS116において、情報記憶装置2はチェック箇所加工部13から出力されたファイルをチェック箇所ファイル25として格納する。
ステップS117において、二重化回路チェック部14は情報記憶装置2からネットリスト23とチェック箇所ファイル25を読み込む。二重化回路チェック部14は読み込んだチェック箇所ファイル25に基づいて二重化回路の出力ポートと、その出力ポートに対応する本体回路の出力ポートを抽出する。二重化回路チェック部14はその抽出した各々のポートに対して、フリップフロップまたはプライマリ入力に到達するまで入力側にトレースを実行する。二重化回路チェック部14はそのトレースによって対応する出力ポート同士に重なりが存在するかどうかの確認を実行する。対応する二つの出力ポートの確認が完了した二重化回路チェック部14は他の対応する二つの出力ポートのトレースを実行し、全てのポート対のトレースが完了するまでこの動作を繰り返す。
ステップS118において、全てのポート対のトレースが完了した二重化回路チェック部14は、トレースした結果を情報記憶装置2に出力する。情報記憶装置2は二重化回路チェック部14から送信された出力をログ26として格納する。
以下に具体的な階層化指定付RTL21の記述を用いて本実施の形態の動作を具体的に述べる。図4は階層化指定付RTL21の階層化に関する具体的な記述部分の一例を示す図である。図4に示す記述において、「//*#SUB」で始まる行が階層化指定を行うための予約コメントである。「//*#SUB ???(?は任意の文字)」で示される記述が階層の始まりを表し、「//*#SUB END」が階層の終わりをあらわす。また、「???」は階層の識別に用いられる階層名を示す。図4を参照すると、この場合階層化指定付RTL21には階層ORGと階層DBLの二つの階層が指定されている。
「//*#SUB ORG」と「//*#SUB END」で囲まれた部分の記述は階層ORGの出力ポートのポート番号が「01」と「02」であることを示している。同様に「//*#SUB DBL」と「//*#SUB END」で囲まれた部分の記述は階層ORGの出力ポートのポート番号が「03」と「04」であることを示している。
図3に示すステップS101において、階層化部11は上記記述を含む階層化指定付RTL21を読み込む。その後ステップS102において、階層化部11によって「//*#SUB ORG」と「//*#SUB END」で囲まれた部分に記述されたHDLが階層ORGに落とし込まれる。同時に「//*#SUB DBL」と「//*#SUB END」で囲まれた部分に記述されたHDLが階層化部11によって階層DBLに落とし込まれる。
図5はこのときに出力される出力ポート情報22の具体的な例を示す図である。図5を参照すると、出力ポート情報22は階層名と出力ポートを対応させたテーブルを含んでいる。その後論理合成部12は階層化されたRTLを論理合成する。論理合成部12は、階層を保持したまま論理合成によって階層化指定付RTL21を論理的に等価なネットリスト23に変換する。論理合成部12が階層を保持したまま論理合成を行うことで、階層ORGと階層DBLのうち片方が消えてしまうということがない。論理合成部12はネットリスト23の出力に応答してその出力完了を二重化回路チェック部14に通知する。これによって二重化回路を論理合成する場合に最適化が実行されても二重化回路と本体回路が統合されてしまうということが無くなり、設計される回路の信頼性が向上する。
階層化部11は出力ポート情報22に出力に応答してチェック箇所加工部13にチェック箇所ファイル25の作成を指示する。チェック箇所加工部13はその指示に応答して出力ポート情報22、チェック箇所指定ファイル24の読み込みを行う(図3に示すステップS108、ステップS109)。図6、図7はチェック箇所指定ファイル24に記載されたモジュール指定の具体的な例を示す図である。図6に示す記述はモジュール名のみを対応させた場合の例を示し、図7に示す記述はモジュール名とポート番号とを対応させた場合の例を示す。
チェック箇所加工部13が読み込んだチェック箇所指定ファイル24の記載が図6に示すチェック箇所指定ファイル24であった場合、チェック箇所加工部13は予め設定された方法で二重化回路の出力ポートと本体回路の出力ポートを対応させる(図3のステップS110からステップS111)。図8は予め設定されたポート対応が総当りでの対応であった場合に出力されるチェック箇所ファイル25の具体例を示す。
チェック箇所加工部13はチェック箇所ファイル25の出力に応答して出力完了を二重化回路チェック部14に通知する。二重化回路チェック部14は論理合成部12からの通知とチェック箇所加工部13からの通知の対応して、ネットリスト23とチェック箇所ファイル25を読み込む。二重化回路チェック部14は読み込んだネットリスト23とチェック箇所ファイル25から二重化回路の出力ポートと、その出力ポートに対応する本体回路の出力ポートを抽出する。二重化回路チェック部14はその抽出した各々のポートに対して、フリップフロップまたはプライマリ入力に到達するまで入力側にトレースを実行する。二重化回路チェック部14はそのトレースによって対応する出力ポート同士に重なりが存在するかどうかの確認を実行する。対応する二つの出力ポートの確認が完了した二重化回路チェック部14は他の対応する二つの出力ポートのトレースを実行し、全てのポート対のトレースが完了するまでこの動作を繰り返す。
チェック箇所加工部13が読み込んだチェック箇所指定ファイル24の記載が図7に示すチェック箇所指定ファイル24であった場合、チェック箇所加工部13はチェック箇所指定ファイル24に記載の指定に基づいて二重化回路の出力ポートと本体回路の出力ポートを対応させる(図3のステップS110からステップS114)。図9はチェック箇所指定ファイル24に記載の指定に基づいて二重化回路の出力ポートと本体回路の出力ポートを対応させた場合に出力されるチェック箇所ファイル25の具体例を示す。
チェック箇所加工部13はチェック箇所ファイル25の出力に応答して出力完了を二重化回路チェック部14に通知する。二重化回路チェック部14は論理合成部12からの通知とチェック箇所加工部13からの通知の対応して、ネットリスト23とチェック箇所ファイル25を読み込む。二重化回路チェック部14は読み込んだネットリスト23とチェック箇所ファイル25から二重化回路の出力ポートと、その出力ポートに対応する本体回路の出力ポートを抽出する。二重化回路チェック部14はその抽出した各々のポートに対して、フリップフロップまたはプライマリ入力に到達するまで入力側にトレースを実行する。二重化回路チェック部14はそのトレースによって対応する出力ポート同士に重なりが存在するかどうかの確認を実行する。対応する二つの出力ポートの確認が完了した二重化回路チェック部14は他の対応する二つの出力ポートのトレースを実行し、全てのポート対のトレースが完了するまでこの動作を繰り返す。
これにより、二重化回路が適切に動作しているかどうかの確認が容易行えるので、設計される回路の信頼性が向上する。
図10、図11は二重化回路チェック部14が二重化回路の重なる部分のチェックを実行した場合のチェック結果を概念的に示す図である。図10はポート1を起点としてファンインコーンをトレースした結果と、ポート2を起点としてファンインコーンをトレースした結果に重なり部分が存在する状態を示す。二重化回路チェック部14はこのような状態を検出した場合、二重化回路に不具合が発生したと判断し、不具合発生を示す情報をログ26として情報記憶装置2に格納する。図11はポート1を起点としてファンインコーンをトレースした結果と、ポート2を起点としてファンインコーンをトレースした結果に重なり部分が存在しない状態を示す。二重化回路チェック部14はこのような状態を検出した場合、その二重化回路が適切に保持されていることを示す情報をログ26として情報記憶装置2に格納する。
図1は、従来の設計手法により二重化回路と本体回路が論理合成の段階で一つに統合されてしまう様子を示す概念図である。 図2は、集積回路設計装置の構成を示すブロック図である。 図3は、集積回路設計の動作を示すフローチャートである。 図4は、階層化に関する具体的なRTL記述部分の一例を示す図である。 図5は、出力ポート情報の具体的な例を示す図である。 図6は、チェック箇所指定ファイルに記載されたモジュール指定の具体的な例を示す図である。 図7は、チェック箇所指定ファイルに記載されたモジュール指定の具体的な例を示す図である。 図8は、チェック箇所ファイルの具体的な例を示す図である。 図9は、チェック箇所ファイルの具体的な例を示す図である。 図10は、二重化回路のチェックを実行した場合のチェック結果を概念的に示す図である。 図11は、二重化回路のチェックを実行した場合のチェック結果を概念的に示す図である。
符号の説明
10…集積回路設計装置
1…データ処理装置
11…階層化部
12…論理合成部
13…チェック箇所加工部
14…二重化回路チェック部
2…情報記憶装置
21…階層化指定付RTL
22…出力ポート情報
23…ネットリスト
24…チェック箇所指定ファイル
25…チェック箇所ファイル
26…ログ
3…CPU(中央演算処理装置)
4…メモリ
5…入力装置
6…表示装置

Claims (10)

  1. RTL(Register Transfer Level:レジスタトランスファーレベル)ファイルと対応ファイルとを備える記憶装置と、
    前記RTLファイルに対応して、集積回路を設計する演算処理装置と
    を備え、
    前記RTLファイルは、
    本体回路と前記本体回路を二重化させた二重化回路と階層化指定とを含むRTL記述を備え、
    前記対応ファイルは、
    前記階層化指定に基づいて階層化される前記本体回路と前記階層化指定に基づいて階層化される前記二重化回路との対応と、前記本体回路の出力ポートと前記二重化回路の出力ポートとの対応とを含み、
    前記演算処理装置は、
    前記RTLファイルの中の階層化指定に基づいて、前記本体回路と前記二重化回路の階層を保持したまま前記RTL記述をネットリストに変換し、前記集積回路を構成する前記二重化回路と前記本体回路の出力ポートを示す出力ポートファイルを生成し、
    前記出力ポートファイルと前記対応ファイルに基づいて、前記二重化回路と前記本体回路の出力ポートを選択し、前記選択された出力ポートまでのパスを構成する論理ゲートを入力側にトレースして前記二重化回路と前記本体回路に重なり部分が存在するかどうかを調査し、その調査の結果に基づいて、前記二重化回路と前記本体回路に重なり部分が存在しないように前記集積回路を設計する
    集積回路設計装置。
  2. 請求項1に記載の集積回路設計装置において、
    前記演算処理装置は
    論理合成部と、
    選択されたパスのスタートポイントからエンドポイントまでの論理ゲートを入力側にトレースして前記二重化回路と前記本体回路に重なり部分が存在するかどうか調査する回路調査部と
    を含み、
    前記論理合成部は、
    前記二重化回路と前記本体回路の階層を保持したままのゲートレベル論理回路を生成し、前記ゲートレベル論理回路を示すネットリストを出力し、
    前記回路調査部は、
    前記選択された出力ポートを前記スタートポイントに設定し、前記選択された出力ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて前記二重化回路と前記本体回路に重なり部分が存在するかどうか調査する
    集積回路設計装置。
  3. 請求項2に記載の集積回路設計装置において、
    前記演算処理装置は、さらに、
    調査ポート出力部を含み、
    前記調査ポート出力部は
    前記出力ポートファイルと前記対応ファイルに基づいて選択される出力ポートの対を示す出力ポート対を生成し、前記出力ポート対は、前記二重化回路と前記本体回路の各々の出力ポートを第1ポートと第2ポートとして一対一に対応させた対応ポート情報を有し、
    前記回路調査部は、
    前記第1ポートを前記スタートポイントに設定し、前記第1ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第1調査結果と、前記第2ポートを前記スタートポイントに設定し、前記第2ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第2調査結果とを比較し、前記比較結果を出力する
    集積回路設計装置。
  4. 請求項2または3に記載の集積回路設計装置において、
    前記送信部は前記出力ポートに信号を出力するフリップフロップまたはプライマリ入力である
    集積回路設計装置。
  5. 請求項4に記載の集積回路設計装置において、
    前記RTLファイルに対応して設計する回路の階層化を実行し、前記回路を構成する前記二重化回路と前記本体回路の出力ポートを示す出力ポートファイルを生成する階層化部を備え、
    前記階層化部は、
    前記出力ポートファイルを前記記憶装置に格納し、前記出力ポートファイルの格納完了に応答して前記論理合成部に前記格納完了を通知し、前記通知に対応して前記調査ポート出力部に出力ポート対の生成を指示し、
    前記論理合成部は、
    前記通知に応答して前記ネットリストを出力し、前記ネットリストを前記記憶装置に格納し、前記ネットリストの格納完了に応答して前記回路調査部に前記ネットリストの格納完了を通知し、
    前記調査ポート出力部は、前記指示に応答して前記出力ポートファイルと前記対応ファイルを前記記憶装置から読み込み、前記出力ポートファイルと前記対応ファイルに基づいて作成した出力ポート対を前記記憶装置に格納し、前記出力ポート対の格納完了を前記回路調査部に通知し、
    前記回路調査部は、前記ネットリストの格納完了の通知と前記出力ポート対の格納完了の通知に対応して、前記ネットリストと前記出力ポート対を前記記憶装置から読み込み、前記出力ポート対に含まれる前記第1ポートを前記スタートポイントに設定し、前記第1ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第1調査結果と、前記第2ポートを前記スタートポイントに設定し、前記第2ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第2調査結果とを比較し、前記比較結果を出力する
    集積回路設計装置。
  6. RTL(Register Transfer Level:レジスタトランスファーレベル)ファイルと対応ファイルとを記憶装置から読み出すファイル読み出しステップと、
    前記RTLファイルに対応して、集積回路を設計する設計ステップと
    を具備し、
    前記RTLファイルは、
    本体回路と前記本体回路を二重化させた二重化回路と階層化指定とを含むRTL記述を含み、
    前記対応ファイルは、
    前記階層化指定に基づいて階層化される前記本体回路と前記階層化指定に基づいて階層化される前記二重化回路との対応と、前記本体回路の出力ポートと前記二重化回路の出力ポートとの対応とを含み、
    前記設計ステップは、
    前記RTLファイルの中の階層化指定に基づいて、前記本体回路と前記二重化回路の階層を保持したまま前記RTL記述をネットリストに変換し、前記集積回路を構成する前記二重化回路と前記本体回路の出力ポートを示す出力ポートファイルを生成するステップと、
    前記出力ポートファイルと前記対応ファイルに基づいて、前記二重化回路と前記本体回路の出力ポートを選択し、前記選択された出力ポートまでのパスを構成する論理ゲートを入力側にトレースして前記二重化回路と前記本体回路に重なり部分が存在するかどうかを調査するステップと、
    その調査の結果に基づいて、前記二重化回路と前記本体回路に重なり部分が存在しないように前記集積回路を設計するステップと
    を備える
    集積回路設計方法。
  7. 請求項6に記載の集積回路設計方法において、
    選択されたパスのスタートポイントからエンドポイントまでの論理ゲートを入力側にトレースして前記二重化回路と前記本体回路に重なり部分が存在するかどうか調査するステップと、
    前記二重化回路と前記本体回路の階層を保持したままのゲートレベル論理回路を生成するステップと、
    前記ゲートレベル論理回路を示すネットリストを出力するステップと、
    前記選択された出力ポートを前記スタートポイントに設定し、前記選択された出力ポートに信号を送信する送信部に前記エンドポイントを設定するステップと、
    前記ネットリストに基づいて前記二重化回路と前記本体回路に重なり部分が存在するかどうか調査するステップ
    を具備する集積回路設計方法。
  8. 請求項7に記載の集積回路設計方法において、
    、前記二重化回路と前記本体回路の各々の出力ポートを第1ポートと第2ポートとして一対一に対応させた対応ポート情報を生成するステップと
    前記対応ポート情報に基づいて出力ポートの対を示す出力ポート対を生成するステップと、
    前記出力ポート対に含まれる前記第1ポートを前記スタートポイントに設定し、前記第1ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第1調査結果を出力するステップと、
    前記第2ポートを前記スタートポイントに設定し、前記第2ポートに信号を送信する送信部に前記エンドポイントを設定し前記ネットリストに基づいて論理ゲートを調査した第2調査結果を出力するステップと
    前記第1調査結果と前記第2調査結果を比較するステップと、
    前記比較結果を出力するステップ
    を具備する集積回路設計方法。
  9. 請求項7または8に記載の集積回路設計方法において、
    前記送信部は前記出力ポートに信号を出力するフリップフロップまたはプライマリ入力である
    集積回路設計方法。
  10. 請求項9に記載の集積回路設計方法において、
    前記RTLファイルに対応して設計する回路の階層化を実行するステップと、
    前記回路を構成する前記二重化回路と前記本体回路の出力ポートを示す出力ポートファイルを生成するステップと、
    前記出力ポートファイルを格納するステップと、
    前記出力ポートファイルの格納完了に応答して前記格納完了を通知するステップと、
    前記出力ポートファイルの格納完了の通知に対応して出力ポート対の生成を指示するステップと、
    前記出力ポートファイルの格納完了の通知に応答して前記ネットリストを出力するステップと、
    前記ネットリストを格納するステップと、
    前記ネットリストの格納完了に応答して前記ネットリストの格納完了を通知するステップと、
    前記指示に応答して前記出力ポートファイルと前記対応ファイルを読み込むステップと、
    前記出力ポートファイルと前記対応ファイルに基づいてポート対を生成するステップと、前記生成した出力ポート対を格納するステップと、
    前記出力ポート対の格納完了を通知するステップと、
    前記ネットリストの格納完了の通知と前記出力ポート対の格納完了の通知に対応して、前記ネットリストと前記出力ポート対を読み込むステップと、
    前記出力ポート対に含まれる前記第1ポートを前記スタートポイントに設定し、前記第1ポートに信号を送信する送信部に前記エンドポイントを設定し、前記ネットリストに基づいて論理ゲートを調査した第1調査結果を出力するステップと、
    前記第2ポートを前記スタートポイントに設定し、前記第2ポートに信号を送信する送信部に前記エンドポイントを設定し前記ネットリストに基づいて論理ゲートを調査した第2調査結果を出力するステップと
    前記第1調査結果と前記第2調査結果を比較するステップと、
    前記比較結果を出力するステップ
    を具備する集積回路設計方法。
JP2003403726A 2003-12-02 2003-12-02 集積回路設計装置、および、集積回路設計方法 Expired - Fee Related JP4123514B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003403726A JP4123514B2 (ja) 2003-12-02 2003-12-02 集積回路設計装置、および、集積回路設計方法
US11/001,069 US7234127B2 (en) 2003-12-02 2004-12-02 Integrated circuit designing support apparatus and method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003403726A JP4123514B2 (ja) 2003-12-02 2003-12-02 集積回路設計装置、および、集積回路設計方法

Publications (2)

Publication Number Publication Date
JP2005165681A JP2005165681A (ja) 2005-06-23
JP4123514B2 true JP4123514B2 (ja) 2008-07-23

Family

ID=34616794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003403726A Expired - Fee Related JP4123514B2 (ja) 2003-12-02 2003-12-02 集積回路設計装置、および、集積回路設計方法

Country Status (2)

Country Link
US (1) US7234127B2 (ja)
JP (1) JP4123514B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4239008B2 (ja) 2004-07-08 2009-03-18 日本電気株式会社 情報処理方法、情報処理装置およびプログラム
JP4752404B2 (ja) 2005-09-07 2011-08-17 日本電気株式会社 Lsi設計システム、論理修正支援装置及びそれらに用いる論理修正支援方法並びにそのプログラム
JP5115003B2 (ja) * 2007-03-30 2013-01-09 日本電気株式会社 論理設計支援システム及びプログラム
JP5246244B2 (ja) * 2010-11-05 2013-07-24 日本電気株式会社 集積回路設計装置、集積回路設計方法、及び集積回路設計用プログラム
CN103885819B (zh) * 2012-12-21 2017-11-17 中国科学院微电子研究所 一种针对fpga面积优化的优先级资源共享方法
JP6089849B2 (ja) * 2013-03-22 2017-03-08 富士通株式会社 プログラム、情報処理装置および設計検証方法
CN104809302B (zh) * 2015-05-07 2018-04-13 上海安路信息科技有限公司 Rtl电路综合中的资源共享方法及其系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553002A (en) * 1990-04-06 1996-09-03 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface
JPH09204460A (ja) 1996-01-25 1997-08-05 Sony Corp 集積回路設計装置及び等価回路チエツク方法
JP3033544B2 (ja) 1997-09-26 2000-04-17 日本電気株式会社 論理回路検証方式
US6135647A (en) * 1997-10-23 2000-10-24 Lsi Logic Corporation System and method for representing a system level RTL design using HDL independent objects and translation to synthesizable RTL code
US6530073B2 (en) * 2001-04-30 2003-03-04 Lsi Logic Corporation RTL annotation tool for layout induced netlist changes
US20050229143A1 (en) * 2004-04-01 2005-10-13 Lsi Logic Corporation System and method for implementing multiple instantiated configurable peripherals in a circuit design

Also Published As

Publication number Publication date
JP2005165681A (ja) 2005-06-23
US20050120324A1 (en) 2005-06-02
US7234127B2 (en) 2007-06-19

Similar Documents

Publication Publication Date Title
US6477691B1 (en) Methods and arrangements for automatic synthesis of systems-on-chip
Petrenko et al. Testing from partial deterministic FSM specifications
US9111060B2 (en) Partitioning designs to facilitate certification
US6611946B1 (en) Method and system for automatic generation of DRC rules with just in time definition of derived layers
US20160171149A1 (en) Methods and apparatus for automated design of semiconductor photonic devices
KR101336516B1 (ko) Eda 툴 설계 뷰들에서 정보를 보호하기 위한 방법 및프로그램 제품
US8606558B1 (en) Apparatus and methods for importing hardware design and generating circuit interfaces
JP2004342100A (ja) 集積回路の物理設計用のツールフロープロセス
JP4123514B2 (ja) 集積回路設計装置、および、集積回路設計方法
JP4480737B2 (ja) 論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法
US20100275168A1 (en) Design method of semiconductor integrated circuit device and program
US20120011481A1 (en) Hierarchical Finite State Machine Generation For Power State Behavior in an Electronic Design
CN112733478B (zh) 用于对设计进行形式验证的装置
US10360342B2 (en) Method, system, and storage medium for engineering change order scheme in circuit design
CN101317180A (zh) 提供ic设计的方法以及ic设计工具
JP5440094B2 (ja) 回路設計装置及び方法
US7315997B2 (en) Method and apparatus for supporting designing of LSI, and computer product
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
JP2010134598A (ja) 論理検証装置
US8166427B1 (en) Tracing and reporting registers removed during synthesis
US20080005714A1 (en) Logic diagram display method, program, and apparatus
Oddos et al. Synthorus: Highly efficient automatic synthesis from psl to hdl
Ghosh Generation of tightly controlled equivalence classes for experimental design of heuristics for graph-based NP-hard problems
JP2962292B2 (ja) レイアウト設計を考慮したlsi論理設計支援システム
JP2005321861A (ja) 機能検証方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080321

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080414

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080427

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees