特許第6048561号(P6048561)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許6048561データ処理システム、データ処理方法、および、プログラム
<>
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000002
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000003
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000004
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000005
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000006
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000007
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000008
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000009
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000010
  • 特許6048561-データ処理システム、データ処理方法、および、プログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6048561
(24)【登録日】2016年12月2日
(45)【発行日】2016年12月21日
(54)【発明の名称】データ処理システム、データ処理方法、および、プログラム
(51)【国際特許分類】
   G06F 17/50 20060101AFI20161212BHJP
【FI】
   G06F17/50 656D
   G06F17/50 668U
【請求項の数】10
【全頁数】17
(21)【出願番号】特願2015-206419(P2015-206419)
(22)【出願日】2015年10月20日
【審査請求日】2015年10月20日
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】金丸 恵祐
【審査官】 合田 幸裕
(56)【参考文献】
【文献】 特開2014−142743(JP,A)
【文献】 特開2011−090493(JP,A)
【文献】 特開2009−176285(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/50
IEEE Xplore
CiNii
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
RTL(Register Transfer Level)データに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成する回路データ生成部と、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成するハザード抑止セル考慮STA(Static Timing Analysis)と、
を含むデータ処理装置と、
前記RTLデータ、前記遅延制約データ、前記ハザード抑止セルデータ、前記最終回路データ、および、最終タイミングレポートを格納する記憶装置と、
を含むことを特徴とするデータ処理システム。
【請求項2】
前記回路データ生成部は、
前記記憶装置から前記RTLデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納する論理合成部と、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納する配置配線処理部と、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにECO(Engineering Changing Order)処理を行い、前記最終回路データを前記記憶装置に格納するECO処理部と、
を含むことを特徴とする請求項1のデータ処理システム。
【請求項3】
前記ハザード抑止セル考慮STAは、
前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納することを特徴とする請求項2のデータ処理システム。
【請求項4】
前記論理合成部は、
タイミング例外属性が入力ピンの一部になっているセルを列挙し、
前記タイミング例外属性が入力ピンの一部になっている前記セルのうち、最もレジスタからの段数の少ないセルを前記ハザード抑止セルとすることを特徴とする請求項3のデータ処理システム。
【請求項5】
前記ECO処理部は、
設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路と、
前記最終回路データに記述された前記ハザード抑止セルを含む最終段がレジスタである回路の出力と、前記設計者作成ハザード抑止回路の出力とを比較する比較回路と、
前記最終回路データに配置することを特徴とする請求項3、または、4のデータ処理システム。
【請求項6】
データ処理システムにおけるデータ処理方法であって、
前記データ処理システムにおいて、RTLデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納し、
前記データ処理システムにおいて、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納することを特徴とするデータ処理方法。
【請求項7】
前記データ処理システムにおいて、前記記憶装置から前記RTLデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納し、
前記データ処理システムにおいて、前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納し、
前記データ処理システムにおいて、前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにECO処理を行い、前記最終回路データを記憶装置に格納することを特徴とする請求項6のデータ処理方法。
【請求項8】
前記データ処理システムにおいて、前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納することを特徴とする請求項7のデータ処理方法。
【請求項9】
RTLデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納する処理と、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納する処理と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項10】
前記記憶装置から前記RTLデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納する処理と、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納する処理と、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにECO処理を行い、前記最終回路データを記憶装置に格納する処理と、
をコンピュータに実行させることを特徴とする請求項9のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システム、データ処理方法、および、プログラムに関する。
【背景技術】
【0002】
近年の論理合成ツールの最適化機能の強化に伴い、スタティックハザードが発生するような複雑な回路が生成されることが多くなった。これらは1サイクルパスであれば特に同題ないのであるが、タイミングが保証されていないタイミング例外パス(マルチサイクル、非同期等のパス)などでは非常に危険な回路となる。スタティックハザードが発生するような回路を生成するのは、基本的に論理合成ツールである。論理合成ツールは、実際のLSI(Large Scale Integration)の設計において、論理合成の後に多数の処理を行っており、それら処理を通してもハザードフリーな回路を維持する方法が求められていた。
【0003】
論理合成に関する技術の一例が、特許文献1に記載されている。この技術は、もっともスタティックハザードが発生されやすい論理合成のフェーズでのスタティックハザードの抑止の技術である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2014−142743号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1記載の技術では、スタティックハザード抑止のための回路が、最終の回路データに保持されているかどうかを確認できず、回路設計の信頼性を確保できなかった。
【0006】
本発明の目的は、上記問題点を解決したデータ処理システム、データ処理方法、および、プログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明のデータ処理システムは、RTLデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成する回路データ生成部と、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成するハザード抑止セル考慮STAとを含むデータ処理装置と、前記RTLデータ、前記遅延制約データ、前記ハザード抑止セルデータ、前記最終回路データ、および、最終タイミングレポートを格納する記憶装置と、を含む。
【0008】
本発明のデータ処理方法は、RTLデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納し、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納する。
【0009】
本発明のプログラムは、RTLデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納する処理と、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納する処理と、をコンピュータに実行させる。
【発明の効果】
【0010】
本発明の効果は、信頼性が向上することである。
【図面の簡単な説明】
【0011】
図1】本発明の第1の実施の形態の構成を示すブロック図である。
図2】本発明の第2の実施の形態の構成を示すブロック図である。
図3】RTLデータの一例を示す説明図である。
図4】遅延制約データの一例を示す説明図である。
図5】合成後回路データの一例を示すイメージ図である。
図6】ハザード抑止セルデータの一例を示す説明図である。
図7】論理合成部によりRTLデータが展開されたデータ構造を示すイメージ図である。
図8】レイアウト処理の一例を示すフローチャートである。
図9】レイアウト後回路データの一例を示すイメージ図である。
図10】第3の実施の形態の特徴を示すイメージ図である。
【発明を実施するための形態】
【0012】
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
【0013】
図1は、本発明の第1の実施の形態の構成を示すブロック図である。図1を参照すると、第1の実施の形態のデータ処理システム500は、データ処理装置100、および、記憶装置200を含む。
【0014】
データ処理装置100は、回路データ生成部300、および、ハザード抑止セル考慮STA140を含む。ここで、STAは、Static Timing Analysis(静的タイミング分析)である。STAは、論理回路のタイミングを検証する手法である。記憶装置200は、RTLデータ210、遅延制約データ220、ハザード抑止セルデータ240、最終回路データ260、および、最終タイミングレポート270を含む。ここで、RTLは、Register Transfer Level(レジスタ転送レベル)で、論理回路をハードウェア記述言語で記述するときの手法である。
【0015】
また、第1の実施の形態のデータ処理装置100(たとえば、コンピュータ)に上述の動作(処理)を実行させるプログラムを実現することが可能である。
【0016】
次に、第1の実施の形態の動作について図面を参照して説明する。
【0017】
回路データ生成部300は、記憶装置200に格納されたRTLデータ210に、遅延制約データ220を適用し、タイミング例外パス等に起因するスタティックハザードを抑止するための論理セルであるハザード抑止セルを生成する。そして、回路データ生成部300は、ハザード抑止セルを保持した最終回路データ260を生成し、記憶装置200に格納する。
【0018】
また、回路データ生成部300は、生成したハザード抑止セルを含むハザード抑止セルデータ240を生成し、記憶装置200に格納する。
【0019】
次に、ハザード抑止セル考慮STA140は、最終回路データ260に対し、ハザード抑止セルデータ240を参照し、スタティックハザードの可能性のあるパスを検出し、その検出したパスを記述した最終タイミングレポート270を生成する。そして、ハザード抑止セル考慮STA140は、最終タイミングレポート270を記憶装置200に格納する。
【0020】
また、第1の実施の形態のデータ処理装置100(たとえば、コンピュータ)に上述の動作(処理)を実行させるプログラムが可能である。
【0021】
次に、第1の実施の形態の効果について説明する。
【0022】
LSIの設計では、タイミング例外パスを制御するために、ストローブ信号と呼ばれる信号が導入される。そして、このストローブ信号と非同期、または、マルチサイクル信号との論理積であるハザード抑止セルを生成する等の手法がとられることがある。
【0023】
しかし、設計者がそのような回路を意図して、ハードウェア記述言語を用いてその回路の論理を記述したにもかかわらず、論理合成ツールが期待しない合成を実施する(すなわち、上述のハザード抑止セルが保持されずに削除される)場合がある。
【0024】
この結果、非同期、または、マルチサイクル信号にグリッジが乗る回路が生成され、ストローブ信号による制御が効かなくなるスタティックハザードと呼ばれる状態が発生する場合がある。たとえば、特許文献1の図8には、その例が記載されている。しかし、特許文献1記載の技術では、最終的な回路データ(特許文献1における最適化後回路)に、ハザード抑止セルが保存されているかどうかを確認することができない。
【0025】
第1の実施の形態は、ハザード抑止セルデータ240を参照して、最終回路データ260がハザード抑止セルを保持しているかどうか示すデータを記述する最終タイミングレポート270を生成する構成である。したがって、第1の実施の形態は、特許文献1記載の技術よりも信頼性が向上するという効果を持つ。
【0026】
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
【0027】
第2の実施の形態は、第1の実施の形態の一例である。図2は、本発明の第2の実施の形態の構成を示すブロック図である。図2を参照すると、データ処理システム500は、データ処理装置100、および、記憶装置200を含む。
【0028】
第2の実施の形態のデータ処理装置100は、第1の実施の形態の一例であり、回路データ生成部300、および、ハザード抑止セル考慮STA140を含む。回路データ生成部300は、論理合成部110、配置配線処理部120、および、ECO処理部130を含む。ここで、ECOは、Engineering Changing Order(設計変更指示)である。
【0029】
第2の実施の形態の記憶装置200は、第1の実施の形態の記憶装置200の一例である。そして、記憶装置200は、RTLデータ210、遅延制約データ220、合成後回路データ230、ハザード抑止セルデータ240、レイアウト後回路データ250、最終回路データ260、および、最終タイミングレポート270を含む。
【0030】
論理合成部110は、RTLデータ210、および、遅延制約データ220を読み込み、スタティックハザードが発生する可能性のある箇所にハザード抑止セルを挿入するように論理合成を行う。そして、論理合成部110は、論理合成によって生成された合成後回路データ230、および、ハザード抑止セルを示すハザード抑止セルデータ240を記憶装置200に格納する。
【0031】
配置配線処理部120は、合成後回路データ230、および、ハザード抑止セルデータ240を読み込み、配置・配線、および、シグナルインテグリティ処理を行う。この時、配置配線処理部120は、ハザード抑止セルデータ240に記載されているセルについては非最適化指定を行い、削除されないようにする。そして、配置配線処理部120は、配置・配線の結果であるレイアウト後回路データ250を記憶装置200に格納する。
【0032】
ECO処理部130は、レイアウト後回路データ250、および、ハザード抑止セルデータ240を読み込み、ECO処理を行い、最終回路データ260を記憶装置200に格納する。ECOの手法としては、たとえば、EDA(Electronic Design Automation)ツールによる自動処理、または、手動処理がある。
【0033】
ハザード抑止セル考慮STA140は、最終回路データ260、および、ハザード抑止セルデータ240を読み込み、スタティックハザードの検証を行う。ハザード抑止セル考慮STA140は、タイミング例外パスを検証する際に、ハザード抑止セルのピンのタイミングアークを切断することにより検証を行い、検証の結果である最終タイミングレポート270を記憶装置200に格納する。
【0034】
RTLデータ210は、タイミング例外パス、および、1サイクルパスの合流回路の記述を含む。図3は、RTLデータ210の一例を示す説明図(Verilog(登録商標)での記述例)である。図3を参照すると、信号は、wireで記述され、レジスタは、regで記述され、組み合わせ回路は、assignで記述され、レジスタの動作は、alwaysで記述されている。
【0035】
レジスタとして、FF、EXCEP_R、および、STRB_Rが定義されている。信号として、n0、STRB、および、EXCEPが定義されている。また、図3において、STRB_RとSTRBとの間には、組み合わせ回路logicAが存在し、EXCEP_RとEXCEPとの間には、組み合わせ回路logicBが存在するが、これらは、本発明の主旨とは関係ないので、記述は省略されている。
【0036】
遅延制約データ220は、回路を合成、最適化する際に、論理合成部110に守らせるべきクロック制約、入出力遅延制約、または、タイミング例外制約等を含む。図4は、遅延制約データ220の一例を示す説明図である。
【0037】
図4を参照すると、EXCEP_RからFFまでのパスをマルチサイクルパス化する制約が記述されている。EXCEP_Rがマルチサイクルパスの始点、FFがマルチサイクルパスの終点、そして、STRB_Rは1サイクルパスの始点である。
【0038】
図3には、wire n0に、STRB&&EXCEP(論理積)が記述されており、ここで、タイミング例外パス(マルチサイクルパス)と1サイクルパスとが合流する。すなわち、n0が、スタティックハザードの危険性が高い箇所となる。
【0039】
合成後回路データ230は、論理合成部110により、RTLデータ210に遅延制約データ220が適用され、ハザード抑止セルが挿入され、論理合成、論理最適化された結果の回路を示すデータである。
【0040】
図5は、図3のRTLデータ210に図4の遅延制約データ220が適用された結果の合成後回路データ230の一例を示すイメージ図(データそのものではない)である。図5を参照すると、logicA、および、ligicBは、組み合わせ回路であり、それぞれの出力が、STRB、および、EXCEPである。セルc1は、論理和回路である。また、論理積回路であるハザード抑止セルc0が挿入されている。
【0041】
ハザード抑止セルデータ240は、論理合成部110によって作成されるハザード抑止セルのインスタンス名一覧である。図6は、図5の合成後回路データ230に対応するハザード抑止セルデータ240の一例を示す説明図である。図6を参照すると、インスタンス名は階層形で指定されている。
【0042】
レイアウト後回路データ250は、配置配線処理部120により、合成後回路データ230が配置・配線処理された結果の回路のデータであり、論理的には合成後回路データ230と等価である。この時、ハザード抑止セルリスト24が適用されて処理が行われるので、レイアウト後回路データ250にも、ハザード抑止セルc0が保持される。
【0043】
最終回路データ260は、ECO処理部130により、レイアウト後回路データ250に対してECO処理が実施された結果の回路のデータである。論理的にレイアウト後回路データ250と等価でない場合がある。
【0044】
最終タイミングレポート270は、ハザード抑止セル考慮STA140によって生成されるレポートである。最終タイミングレポート270中に、パスが検出されたことが示されると、最終回路データ260が、スタティックハザードが起きうる回路に対応するデータを含むことになる。
【0045】
次に、本発明の第2の実施の形態の動作について図面を参照して説明する。
【0046】
まず、設計者により、RTLデータ210(図3)、および、遅延制約データ220(図4)が作成され、記憶装置200に格納される。
【0047】
次に、論理合成部110が、RTLデータ210、および、遅延制約データ220を読み込んで合成を行い、合成後回路データ230を生成し、記憶装置200に格納する。論理合成部110は、合成、および、最適化の2段階で処理を行う。論理合成部110は、まず、最初に論理最適化を行わずにRTLデータ210に記述された論理構造を保持したまま、論理をデータ構造として展開する。
【0048】
図7は、上記データ構造を示すイメージ図である。図7を参照すると、信号STRB、および、信号EXCEPは、それぞれ、ジェネリックセルc0(論理積)の入力ピンa、および、入力ピンbに接続される。
【0049】
また、ジェネリックセルc0(論理積)の出力である信号n0、および、他の回路otherからの出力は、それぞれ、ジェネリックセルc1(論理和)の入力ピンa、および、入力ピンbに接続される。他の回路otherからの出力は、遅延制約の無い1サイクルパスの信号である。
【0050】
次に、論理合成部110は、スタティックハザード抑止に必要なハザード抑止セルを特定する。ハザード抑止セルとは、タイミング例外パス(たとえば、マルチサイクルパス)、および、1サイクルパスの両方が合流するセルであり、図7においては、ジェネリックセルc0(論理積)である。ハザード抑止セルを特定するアルゴリズムの一例を次に示す。
【0051】
(1)タイミング例外カテゴリ毎にタイミング例外属性e、および、始点からの論理段数を伝搬させる。タイミング例外属性eは、セルのピンに付属させる。
【0052】
(2)全ての組み合わせ回路のセルを調べ、タイミング例外属性eが入力ピンの一部になっているものを列挙する。
【0053】
(3)タイミング例外属性eが入力ピンの一部になっているセルのうち、最もレジスタからの段数の少ないセルをdon’t_touch指定する。
【0054】
(4)don’t_touch指定したセルのfanout(ファンアウト;論理出力)のセルを除外する。
【0055】
(5)タイミング例外属性eが入力ピンの一部になっているセルに対して、上記3〜4までを繰り返す。
【0056】
次に、上記アルゴリズムに基づいて、図7からジェネリックセルc0を抽出し、don’t_touchする(すなわち、ジェネリックセルc0をハザード抑止セルC0とする)過程について説明する。
【0057】
EXCEP_Rがタイミング例外パスの始点であるので、logicBに属する全ジェネリックセルの全ピン、および、ジェネリックセルc0の入力ピンb、ジェネリックセルc1の入力ピンaにe属性が付与される。
【0058】
次に、各ジェネリックセルの全ピンが同一サイクルパスに接続されているかどうかが調べられる。すなわち、1ogicA、1ogicB、otherに属する全ジェネリックセル、ジェネリックセルc0、および、ジェネリックセルc1の全ピンが調べられる。
【0059】
logicAのセル、および、otherのセルは全ピンに1サイクルパスが接続されているので除外となる。また、1ogicBのセルは全ピンが2サイクルパスに接続されているので除外となる。
【0060】
そして、ジェネリックセルc0の入力ピンaには、1ogicAからの1サイクルの信号STRBが接続されており、ジェネリックセルc0の入力ピンbには、logicBからの2サイクルの信号EXCEPが接続されている。また、ジェネリックセルc1の入力ピンaには、ジェネリックセルc0からの1サイクル、2サイクル混合信号n0が接続されている。したがって、ジェネリックセルc0、ジェネリックセルc1は、除外されずに残る。
【0061】
次に、ジェネリックセルc0、および、ジェネリックセルc1に関して、レジスタのセル(STRB_R、EXCEP_R)からの段数が比較される。そして、段数の少ないジェネリックセルc0が、don’t_touch指定される(すなわち、ジェネリックセルc0がハザード抑止セルc0とされる)。
【0062】
次に、ジェネリックセルc0のfanoutセルであるジェネリックセルc1が除外される。
【0063】
次に、論理合成部110は、ハザード抑止セルc0を記述したハザード抑止セルデータ240を生成して、記憶装置200に格納する。
【0064】
次に、論理合成部110は、don’t_touch指定を保持したまま論理最適化を行う。最適化の手法は多段化、ファンアウト調整など多岐に及ぶが、本発明の主旨とは直接関係ないので省略する。上述したように、図5が、合成後回路データ230のイメージ図である。
【0065】
次に、配置配線処理部120が、合成後回路データ230に対してハザード抑止セルデータ240を適用し、セルの配置・配線、シグナルインテグリティ処理等のレイアウト処理を行い、レイアウト後回路データ250を記憶装置200に格納する。図8は、配置配線処理部120によるレイアウト処理の一例を示すフローチャートである。
【0066】
図8を参照すると、まず、合成後回路データ230に対してフロアプラン処理(電源配置配線等)が行われる(ステップS1)。ここでは、合成後回路データ230に含まれるネットリストに変更がないので、ハザード抑止セルが消失することはない。
【0067】
次に、フロアプラン処理後の回路データに対して、ハザード抑止セルデータ240を適用した最適化が行われる(ステップS2)。ここでは、ハザード抑止セルが保持される。次に、概略配置が実施される(ステップS3)。そして、あるセルが配置できない、または、あるセル間が配線可能でないと(ステップS4/N)、ステップS2の処理に戻る。
【0068】
すべてのセルが配置でき、かつ、すべてのセル間が配線可能になると(ステップ4/Y)、詳細配置が行われる(ステップS5)。次に、クロック信号の配線が行われ(ステップS6)、さらに、セル間の詳細配線が行われ、レイアウト後回路データ250が生成される(ステップS7)。
【0069】
ステップ5〜7においては、回路データに与えられる変更は、たとえば、バッファ・インバータの挿入、削除程度であるので、ハザード抑止セルは消失しない。図9は、レイアウト後回路データ250の一例を示すイメージ図である。図9を参照すると、レイアウト処理時に必要となったバツフアのセル(c2、c3)等が挿入されているが、ハザード抑止セルc0については保存されている。
【0070】
次に、ECO処理部130が、レイアウト後回路データ250に対してハザード抑止セルデータ240を適用して、ECO処理を行い、最終回路データ260を生成し記憶装置200に格納する。このECO処理はツールによって自動で行われるが人手によって行われる手法も可能である。
【0071】
ここでは、ハザード抑止セルデータ240が適用されるので、ハザード抑止セルは、保存される。すなわち、レイアウト後回路データ250に対してECO処理が施されているが、ハザード抑止セルc0は、保存されている。ECO処理の結果である最終回路データ260は、レイアウト後回路データ250と同一であってもよい。
ECO処理部130を設けずに、レイアウト後回路データ250を最終回路データ260とする構成が可能である。この場合、たとえば、図9は、最終回路データ260のイメージ図でもある。
【0072】
次に、ハザード抑止セル考慮STA140が、最終回路データ260に対して、ハザード抑止セルデータ240を参照して、ハザード抑止に関する回路構造が保存されているかどうか、および、ハザード抑止セルが全て保存されているかどうかを調べる。そして、ハザード抑止セル考慮STA140は、調べた結果である最終タイミングレポート270を記憶装置200に格納する。
【0073】
ハザード抑止セルが保存されているかどうかは、ハザード抑止セルデータ240に記載されているハザード抑止セルが最終回路データ260中に存在しているかどうかを調べることにより確認可能となる。
【0074】
ハザード抑止に関する回路構造が保存されているかどうかは、ハザード抑止セルデータ240に含まれている全てのハザード抑止セルの人カピンのタイミングアークを切断することにより行われる。そして、タイミング例外パスにおいて、ハザード抑止セルを通らないパスがないことが確認される。また、切断後に、ハザード抑止セルを通らないで残ったタイミング例外パスが、最終タイミングレポート270に記述される。設計者等は、最終タイミングレポート270にタイミング例外パスが記述されていなければ、ハザードフリーであると認識する。
【0075】
具体的手順を示すと、ハザード抑止セル考慮STA140は、最初に、ハザード抑止セルデータ240を参照し、記述されているハザード抑止セルc0の人カピンのダイミングアークを切断する。
【0076】
次に、ハザード抑止セル考慮STA140は、STRB_R→FF、および、EXCEP_R→FFというタイミングパスについて解析、検出を試みる。しかし、ハザード抑止セルc0の人カピンでパスが切断されているため、STRB_R→FF,EXCEP_R→FFのパスは除外される。
【0077】
タイミング例外パスは、全てハザード抑止セルを通過するので、タイミングアークを切断してパスが一切検出されなければ、最終回路データ260において、スタティックハザードが存在しないことが確認できる。ここでは、ハザード抑止セルの周辺の回路構造の保存確認のためにタイミングアークの切断という手法が用いられたが、ハザード抑止セルの周辺も含めて非最適化指定することによって、この確認が不要となる場合がある。ただし、非最適化範囲を広げることは当然最適化の阻害となるので、トレードオフである。
【0078】
次に、第2の実施の形態の効果について説明する。
【0079】
第2の実施の形態は、第1の実施の形態の一例なので、第1の実施の形態と同一の効果を持つ。
【0080】
次に、第3の実施の形態について図面を参照して説明する。
【0081】
第3の実施の形態の構成の図は、第2の実施の形態の構成の図2と同一である。図10は、第3の実施の形態の特徴を示すイメージ図である。図10を参照すると、第3の実施の形態においては、設計者によりECO処理部130が使用され、設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路YFが最終回路データ260に配置される。
【0082】
設計者作成ハザード抑止回路YFには、STRB、EXCEP、および、otherの出力が入力され、FF相当のレジスタが含まれる。さらに、レジスタFFの出力と設計者作成ハザード抑止回路YFの出力とを比較する比較回路CP、および、CPの出力をエラーとしてシステムに通知するためのパスCPPが配置される。
【0083】
設計者作成ハザード抑止回路YFは、必ず、最終段にレジスタを含むように構成される。設計者作成ハザード抑止回路YFの出力は、最終回路データ260に記述されたハザード抑止セルを含む最終段がレジスタである回路(たとえば、図10のFF)の出力と比較される。それぞれの最終段の後ろに接続される単なるバッファの出力が比較される構成が可能である。
【0084】
ハザード抑止回路YF、比較回路CP、および、パスCPPは、すべて、設計者により設計、指定された構成である。比較回路CPで、不一致が検出されると、論理合成部110、または、配置配線処理部120等により、ハザード抑止セルを含む不正な回路データが生成されたことになる。
【0085】
次に、第3の実施の形態の効果について説明する。
【0086】
第3の実施の形態の構成を試作機等に導入することにより、回路データ生成部300により生成されたハザード抑止のための回路の誤りが検出できる。これを、フィードバックすることにより、回路データ生成部300を修正することができる。したがって、第3の実施の形態は、第2の実施の形態に比べて信頼性が向上する。
【0087】
上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0088】
[付記1]
RTLデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成する回路データ生成部と、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成するハザード抑止セル考慮STAと、
を含むデータ処理装置と、
前記RTLデータ、前記遅延制約データ、前記ハザード抑止セルデータ、前記最終回路データ、および、最終タイミングレポートを格納する記憶装置と、
を含むことを特徴とするデータ処理システム。
【0089】
[付記2]
前記回路データ生成部は、
前記記憶装置から前記RTLデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納する論理合成部と、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納する配置配線処理部と、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにECO処理を行い、前記最終回路データを前記記憶装置に格納するECO処理部と、
を含むことを特徴とする付記1のデータ処理システム。
【0090】
[付記3]
前記ハザード抑止考慮STAは、
前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納することを特徴とする付記2のデータ処理システム。
【0091】
[付記4]
前記論理合成部は、
タイミング例外属性が入力ピンの一部になっているセルを列挙し、
前記タイミング例外属性が入力ピンの一部になっている前記セルのうち、最もレジスタからの段数の少ないセルを前記ハザード抑止セルとすることを特徴とする付記3のデータ処理システム。
【0092】
[付記5]
前記ECO処理部は、
設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路と、
前記最終回路に記述された前記ハザード抑止セルを含む最終段がレジスタである回路の出力と、前記設計者作成ハザード抑止回路の出力とを比較する比較回路と、
を配置することを特徴とする付記3、または、4のデータ処理システム。
【0093】
[付記6]
RTLデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納し、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納することを特徴とするデータ処理方法。
【0094】
[付記7]
前記記憶装置から前記RTLデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納し、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納し、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにECO処理を行い、前記最終回路データを記憶装置に格納することを特徴とする付記6のデータ処理方法。
【0095】
[付記8]
前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納することを特徴とする付記7のデータ処理方法。
【0096】
[付記9]
タイミング例外属性が入力ピンの一部になっているセルを列挙し、
前記タイミング例外属性が入力ピンの一部になっている前記セルのうち、最もレジスタからの段数の少ないセルを前記ハザード抑止セルとすることを特徴とする付記8のデータ処理方法。
【0097】
[付記10]
設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路と、
前記最終回路に記述された前記ハザード抑止セルを含む最終段がレジスタである回路の出力と、前記設計者作成ハザード抑止回路の出力とを比較する比較回路と、
を配置することを特徴とする付記8、または、9のデータ処理方法。
【0098】
[付記11]
RTLデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納する処理と、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納する処理と、
をコンピュータに実行させることを特徴とするプログラム。
【0099】
[付記12]
前記記憶装置から前記RTLデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納する処理と、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納する処理と、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにECO処理を行い、前記最終回路データを記憶装置に格納する処理と、
をコンピュータに実行させることを特徴とする付記11のプログラム。
【0100】
[付記13]
前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納する処理を、
コンピュータに実行させることを特徴とする付記12のプログラム。
【0101】
[付記14]
タイミング例外属性が入力ピンの一部になっているセルを列挙し、
前記タイミング例外属性が入力ピンの一部になっている前記セルのうち、最もレジスタからの段数の少ないセルを前記ハザード抑止セルとする処理を、
コンピュータに実行させることを特徴とする付記13のプログラム。
【0102】
[付記15]
設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路と、
前記最終回路に記述された前記ハザード抑止セルを含む最終段がレジスタである回路の出力と、前記設計者作成ハザード抑止回路の出力とを比較する比較回路とを配置する処理を、
コンピュータに実行させることを特徴とする付記13、または、14のプログラム。
【符号の説明】
【0103】
100 データ処理装置
110 論理合成部
120 配置配線処理部
130 ECO処理部
140 ハザード抑止セル考慮STA
200 記憶装置
210 RTLデータ
220 遅延制約データ
230 合成後回路データ
240 ハザード抑止セルデータ
250 レイアウト後回路データ
260 最終回路データ
270 最終タイミングレポート
300 回路データ生成部
500 データ処理システム
【要約】
【課題】スタティックハザード抑止のための回路が、最終の回路データに保持されているかどうかを確認可能とする。
【解決手段】データ処理システムは、RTLデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成する回路データ生成部と、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成するハザード抑止セル考慮STAとを含むデータ処理装置と、を記憶装置とを含む。
【選択図】 図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10