(57)【要約】【課題】  データを階層に分割して各々の階層について合成を行う半導体集積回路設計環境において、合成制約の作成に際し、設計データからタイミング制約に関する情報を抽出し、抽出した情報を用いて既成の制約の誤りをチェック可能、あるいは制約を作成・修正可能なようにする。【解決手段】  集積回路の論理設計データ１０１と合成階層情報１０２とを含む回路情報を入力する回路情報入力手段１０３と、論理合成用の制約条件１０４を入力する制約入力手段１０５と、前記回路情報と制約条件とを保持する回路情報データベース１０６と、この回路情報データベース１０６の情報からブロックポートの関連クロックを抽出しこの回路情報データベース１０６に登録する関連クロック抽出手段１０８と、回路情報データベース１０６の情報を表示装置１１２上に表示する回路情報表示手段１０７とを備える。【選択図】        図１
2005122578.tif 000002
【特許請求の範囲】
【請求項１】
データを階層に分割して各々の階層について合成を行う半導体集積回路設計環境において、集積回路の論理設計データと合成階層情報とを含む回路情報を入力する回路情報入力手段と、論理合成用の制約条件を入力する制約入力手段と、前記回路情報入力手段により入力された回路情報と前記制約入力手段により入力された制約条件とを保持する回路情報データベースと、この回路情報データベースの情報からブロックポートの関連クロックを抽出し前記回路情報データベースに登録する関連クロック抽出手段と、前記回路情報データベースの情報を表示装置上に表示する回路情報表示手段とを備えたことを特徴とする論理合成制約生成装置。
【請求項２】
回路情報入力手段は、論理設計データと合成階層情報とを読み込み、制約設定に必要な部分回路情報を抽出することで、装置上に保持する回路情報のデータ量を削減可能に構成されていることを特徴とする請求項１記載の論理合成制約生成装置。
【請求項３】
回路情報と制約条件との情報を用いて各ブロックポートのタイミング制約の誤りあるいは設定の抜けの有無を調べ、その結果を回路情報データベースに登録するタイミング制約チェック手段を備えたことを特徴とする請求項１または２記載の論理合成制約生成装置。
【請求項４】
回路情報表示手段により表示された情報に対しキーボードやマウス等の入力デバイスを用いて表示装置上でインタラクティブに制約を設定しかつ設定内容を回路情報データベースに登録するタイミング制約設定手段を備えたことを特徴とする請求項１または２項記載の論理合成制約生成装置。
【請求項５】
請求項３記載のタイミング制約チェック手段と、請求項４記載のタイミング制約設定手段および制約出力手段とを備えて、既設定の制約と回路情報とから得られる情報を用いてインタラクティブに既設定のタイミング制約の修正が可能なように構成されていることを特徴とする請求項１または２記載の論理合成制約生成装置。
【請求項６】
回路情報表示手段に表示された情報をファイルに出力する手段を有することを特徴とする請求項１から５までのいずれか１項記載の論理合成制約生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は論理合成制約生成装置に関し、特に、半導体集積回路装置の論理回路設計の際に、論理合成実行前に各合成単位の制約条件の誤りを検出することで、制約の誤りに起因して論理合成の再実行を余儀なくされることを抑止するための、論理合成制約生成装置に関する。
【背景技術】
【０００２】
従来、論理回路設計において、開発されるＬＳＩの大規模化に伴う設計工数の増大という問題に対して、論理回路をある回路規模のブロックに分割して、ブロックごとに論理回路設計を並行して行い、設計時間を短縮する方法が用いられている。このようにブロック単位で設計を進めていく場合には、各ブロックの外部に接続するパスに対してブロック外部の遅延情報をブロックの境界となるブロックポートに与え、それを制約として各ブロックごとに論理合成を実行し、最終的に全てのブロックを組み上げて一つのＬＳＩとする方法がとられている。
【０００３】
また、半導体微細化技術の進歩により、従来では複数のＬＳＩで構成されていた機能が、システムＬＳＩと呼ぶ一つのＬＳＩ上で構築可能となってきており、それに伴い、消費電力の最適化あるいは各機能単位での最適動作速度の設定などを目的として、一つのＬＳＩ上に複数種のクロックが供給されるようになってきている。
【０００４】
このように複数種のクロックが供給されている場合には、各ブロックポートの外部遅延がどのクロックに対する遅延であるのかを正しく設定できていなければ、論理合成後にチップを組み上げた時点でタイミング目標を達成することが不可能となる。そのため、ブロックポートに対するタイミング制約に誤りが混入した場合には、その誤りを修正して論理合成を再実行しなければならない。
【０００５】
このような論理合成の再実行を防ぐために、自動化により誤りの混入を防ぐ方法が提案されている。
自動化手段の一例として、トップ階層に与えられたクロックの制約と設計データとから、レイアウトを考慮してブロックポートに対する制約を自動で作成することで、手作業による誤りの混入を防ぎ、かつ最適なタイミング制約を作成するものがある（たとえば、特許文献１参照）。
【０００６】
また、設計データとタイミング制約とを入力として、設計変更あるいはタイミング制約の変更があった場合に、変更が及ぶ最小範囲だけを再合成するスクリプトを生成することで、再合成のための時間の短縮を図るものがある（たとえば、特許文献２参照）。
【０００７】
しかしながら、特許文献１に記載のものでは、トップ階層に与えられるクロック制約が正しいことが前提となっており、与えられたクロック制約に抜けがあっても、その抜けを検出することができず、クロック制約が足りない状態でタイミング制約が作成される。このクロック制約の抜けによるタイミング制約の誤りが判明するのは、論理合成後にタイミングの検証を行い、その検証結果の解析後ということになり、論理合成の再実行が必要となる。
【０００８】
また、特許文献２に記載のものでは、変更による再合成を必要最小限の実行時間で行うことを目的としており、合成後にタイミング制約への誤りの混入が発見された場合には最短時間で誤り修正後の合成結果を得ることが可能であるが、誤りの混入自体を防ぐことはできない。
【特許文献１】特開平１１−８３０９号公報
【特許文献２】特開２０００−１７２７３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の課題は、論理合成制約の誤りに起因する論理合成の再実行を回避するために、合成制約の作成に際し、設計データからタイミング制約に関する情報を抽出し、抽出した情報を用いて既成の制約の誤りをチェック可能、あるいは制約を作成・修正可能なようにすることにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために請求項１に記載の本発明は、データを階層に分割して各々の階層について合成を行う半導体集積回路設計環境において、集積回路の論理設計データと合成階層情報とを含む回路情報を入力する回路情報入力手段と、論理合成用の制約条件を入力する制約入力手段と、前記回路情報入力手段により入力された回路情報と前記制約入力手段により入力された制約条件とを保持する回路情報データベースと、この回路情報データベースの情報からブロックポートの関連クロックを抽出し前記回路情報データベースに登録する関連クロック抽出手段と、前記回路情報データベースの情報を表示装置上に表示する回路情報表示手段とを備えたものである。
【００１１】
これにより、論理設計データによってブロックポートの関連クロック情報の確認が容易となり、誤った情報によってタイミング制約を作成することを回避できる。
請求項２に記載の本発明は、上記において、回路情報入力手段が、論理設計データと合成階層情報とを読み込み、制約設定に必要な部分回路情報を抽出することで、装置上に保持する回路情報のデータ量を削減可能に構成されているようにしたものである。
【００１２】
これにより、回路情報データベースのデータ量を削減でき、大規模な回路の取り扱いが可能となる効果と、回路情報データベースのサイズが小さくなるため、回路情報データベース上の情報検索時間が短縮され、装置の処理速度が速くなる効果とを奏する。
【００１３】
請求項３に記載の本発明は、上記において、回路情報と制約条件との情報を用いて各ブロックポートのタイミング制約の誤りあるいは設定の抜けの有無を調べ、その結果を回路情報データベースに登録するタイミング制約チェック手段を備えたものである。
【００１４】
これにより、関連クロック抽出手段により抽出した関連クロック情報と、制約入力手段により入力したタイミング制約の情報とを比較して、設定の誤り、あるいは設定の抜けの有無を確認することができ、このため既成の制約の誤りを論理合成実行前に容易に確認可能となり、合成後からの後戻り工数を削減することができる。
【００１５】
請求項４に記載の本発明は、上記において、回路情報表示手段により表示された情報に対しキーボードやマウス等の入力デバイスを用いて表示装置上でインタラクティブに制約を設定しかつ設定内容を回路情報データベースに登録するタイミング制約設定手段を備えたものである。
【００１６】
これにより、設計データの情報を使ってタイミング制約の設定が容易となり、制約作成工数を削減することができる。
請求項５に記載の本発明は、請求項１あるいは請求項２に記載の装置において、請求項３に記載のタイミング制約チェック手段と請求項４に記載のタイミング制約設定手段とを備えたものである。
【００１７】
これにより、既成の制約のチェックと修正、あるいはインタラクティブに作成した制約のチェックが容易となり、制約の誤りと抜けを防ぐことが可能なり、制約作成工数と合成後からの後戻り工数を削減することができる。
【００１８】
請求項６に記載の本発明は、上記において、回路情報表示手段に表示された情報をファイルに出力する手段を有するものである。
これにより、設計データより抽出したブロックポートの関連クロック情報、あるいは既成の制約のチェック結果をファイルに出力可能となり、このため複数人で平行して情報の確認が可能となり、制約チェック結果の解析時間などを短縮することができる。
【発明の効果】
【００１９】
本発明の論理合成制約生成装置によれば、ブロック単位に論理合成を実行してＬＳＩチップを組み上げる論理設計環境において、設計データからブロックポートの関連クロックの抽出を行うことができるため、仕様書の誤りによる関連クロックの設定誤りを検出することが可能であり、またタイミング制約が設定されていないブロックポートを検出することが可能となっており、このためタイミング制約の誤りによる論理合成の再実行を回避することが可能となり、後戻り工数を削減する効果がある。
【００２０】
また本発明によれば、インタラクティブな制約設定機能と、制約の誤りチェック結果を表示・出力する機能とがあるため、制約の修正・設定が容易となり、制約作成時間が短くなる効果が得られる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について、図面を参照して説明する。
図１は本発明の実施の形態の論理合成制約生成装置の構成図であり、図２は図１の制約生成装置の動作を説明するための処理フロー図である。なお、図２の各処理につけている番号は図１の各構成要素につけている番号に対応する。図３は図１および図２における関連クロック抽出手段１０８のブロック内の処理を説明するための図であり、図４は関連クロック抽出手段１０８におけるブロック間の処理を説明すための図である。また、図５は図１および図２の回路情報表示手段１０７においてブロック図で表示した場合の回路情報表示例であり、図６はテキストで表示した場合の回路情報表示例である。
【００２２】
この制約生成装置は、ＨＤＬを用いてレジスタ転送レベルでの機能を表現するＲＴＬによって記述された設計データとしてのＲＴＬ記述回路１０１と、合成単位となる階層を記述した階層指定ファイル１０２と、この階層指定ファイル１０２のデータを入力として、ＲＴＬ記述回路１０１から各合成単位となるブロックの情報を抽出する回路情報入力手段１０３と、クロック制約やブロック境界に与えるタイミング制約を記述した制約ファイル１０４と、この制約ファイル１０４からの情報を入力する制約入力手段１０５と、回路情報入力手段１０３および制約入力手段１０５で入力された情報を保持する回路情報データベース１０６と、回路情報データベース１０６の情報を表示装置上に表示する回路情報表示手段１０７と、回路情報データベース１０６の情報からクロック信号を自動的に抽出し各ブロックポートに関連付けて回路情報データベース１０６に登録する関連クロック抽出手段１０８と、この関連クロック抽出手段１０８により回路情報データベース１０６から得られたブロックポートの関連クロック情報と制約入力手段１０５により入力したタイミング制約で設定されているブロックポートの関連クロック情報とのつき合わせチェックを行いチェック結果を回路情報データベース１０６に登録する制約チェック手段１０９と、回路情報表示手段１０７により表示装置上に表示された情報を用いて表示装置上で制約を直接編集し回路情報データベース１０６へ登録する制約設定手段１１０と、回路情報データベース１０６にて設定されている制約情報を抽出し論理合成システムが入力可能な形式のファイルを編集済み制約ファイル１１４に出力する制約出力手段１１１と、回路情報表示手段１０７により表示装置上に表示した回路情報を回路情報ファイル１１３に出力する表示情報出力手段１１２とを具備する。
【００２３】
次に、上記構成にもとづく処理動作について、図２および図１を用いて説明する。まず最初に、ＲＴＬ記述回路１０１の設計データと、階層指定ファイル１０２のデータとを、回路情報入力手段１０３へ入力する。回路情報入力手段１０３は、ＲＴＬ記述回路１０１と階層指定ファイル１０２とからのデータを読み込み、タイミング制約に関連する部分回路情報を抽出する。抽出した回路情報は回路情報データベース１０６に登録する。
【００２４】
この部分回路情報の抽出に際しては、回路情報データベース１０６上のデータ量を削減するために、階層指定ファイル１０２で指定された合成階層からブロックとブロックポートとを抽出し、ブロックポートに接続する信号と、ブロックポートから数えて１段目のレジスタとを抽出する。また、抽出したレジスタとブロックポートとの接続関係、各ブロックポート間の接続関係、さらに各レジスタのクロック信号を抽出し、制約設定のための必要最小限の回路情報として、回路情報データベース１０６に登録する。
【００２５】
クロック信号を判断する方法としては、たとえば、Ｖｅｒｉｌｏｇ−ＲＴＬであれば、ａｌｗａｙｓブロックのセンシティビティリストに含んでいる信号を認識することでクロック信号と判断することができる。具体的には、ａｌｗａｙｓ（ｐｏｓｅｄｇｅ  ｓｉｇＡ）｛...｝と記述されている場合には、ｓｉｇＡをクロック信号と認識する。
【００２６】
次に制約ファイル１０４のデータを制約入力手段１０５で入力する。制約入力手段１０５は、論理合成用の制約ファイル１０４を読み込み、制約が設定されているブロックポートを回路情報データベース１０６上から検索し、ブロックポートの属性として制約条件を回路情報データベース１０６に登録する。
【００２７】
ここで回路情報データベース１０６は、回路情報入力手段１０３で抽出した回路情報を保持する。保持する情報としては、ブロックと、各ブロックの境界となるブロックポートと、ブロックポートから数えて１段目のレジスタと、各レジスタのクロック信号と、ブロックポート−レジスタ間とブロックポート−ブロックポート間の接続情報と、制約入力手段１０５で入力されるクロック制約と、各ブロックポートのタイミング制約とがある。
【００２８】
次に、関連クロック抽出手段１０８により各ブロックポートの関連クロック情報を抽出し、回路情報データベース１０６に登録する。関連クロック抽出手段１０８は、最初にブロック内の処理を行い、次にブロック間の処理を行う。ブロック内の処理は図３を用いて説明し、ブロック間の説明は図４を用いて説明する。
【００２９】
ブロック内の処理は、まず回路情報データベース１０６上の全てのレジスタを検索し、各レジスタに対してクロック情報をブロックポートに伝搬させる。図３を用いて説明すると、レジスタＲｅｇＡ３０３に接続するクロック信号ＣｌｏｃｋＡ３０４の情報を回路情報データベース１０６から拾い出す。次に、回路情報データベース１０６におけるレジスタ−ブロックポート間接続情報からＲｅｇＡ３０１に接続するブロックポートであるＩｎｐｕｔＡ３０１とＩｎｐｕｔＢ３０２をみつけ、これらＩｎｐｕｔＡ３０１とＩｎｐｕｔＢ３０２の内部クロック情報としてＣｌｏｃｋＡ３０４を回路情報データベース１０６に登録する。この処理を全ブロックの全レジスタに対して行う。３０５はレジスタＲｅｇＢ、３０６はブロックポートＯｕｔｐｕｔＡである。
【００３０】
次にブロック間の処理は、全ブロックポートに対して、回路情報データベース１０６上のブロックポート−ブロックポート間の接続情報を用いて、内部クロック情報を接続先のブロックポートに伝搬させ、関連クロック情報として登録する。図４を用いて処理を説明すると、ＢＬＯＣＫ１のブロックポートＯｕｔｐｕｔＡ４０１の接続先として、回路情報データベース１０６におけるブロックポート間接続情報を用いて、ＢＬＯＣＫ３のブロックポートＩｎｐｕｔＡ４０２を探し出し、ＩｎｐｕｔＡ４０２の関連クロック情報としてＯｕｔｐｕｔＡ４０１の内部クロック情報を登録する。この処理を全てのブロックポートに関して行う。同様に、ＢＬＯＣＫ２のブロックポートＯｕｔｐｕｔＢ４０２の接続先として、ＢＬＯＣＫ３のブロックポートＩｎｐｕｔＢ４０４を探し出し、ＩｎｐｕｔＢ４０４の関連クロック情報としてＯｕｔｐｕｔＢ４０３の内部クロック情報を登録する。
【００３１】
次に図２および図１の制約チェック手段１０９により、既存の制約と関連クロック抽出手段１０８により抽出したブロックポートの関連クロック情報との間に誤りがないかを調べ、その結果を回路情報データベース１０６に登録する。すなわち制約チェック手段１０９は、制約入力手段１０５から回路情報データベース１０６へ入力された各ブロックポートのタイミング制約の関連クロック情報と、関連クロック抽出手段１０８で抽出した関連クロック情報とを比較し、関連クロック抽出手段１０８で抽出した関連クロック以外のクロックを関連クロックとしてタイミング制約が設定されていれば、その制約を誤りとして回路情報データベース１０６に登録する。また、関連クロック抽出手段１０８で抽出した関連クロックに対する制約が設定されていない場合には、設定の抜けとして回路情報データベース１０６に登録する。
【００３２】
次に回路情報表示手段１０７により回路情報データベース１０６におけるタイミング制約チェック結果を表示する。すなわち回路情報表示手段１０７は、回路情報データベース１０６に登録されている情報を表示装置に表示するもので、装置を使用する者が表示方法や表示範囲をインタラクティブに変更可能である。回路情報データベース１０６の回路情報の表示方法としては、たとえば図５のようにブロック図によりブロックポート−ブロックポートやブロックポート−レジスタ間の接続関係を表示したり、あるいは図６のようにテキストベースで接続関係を表示したりすることが可能である。また、ある特定のブロックに着目してそのブロックのブロックポートの関連クロック情報や既設定のタイミング制約を表示することも可能である。
【００３３】
次に回路情報表示手段１０７にて表示装置上に表示した回路情報を表示情報出力手段１１２によってファイルへ出力し、タイミング制約チェック結果の確認を複数人で分担して行う。
【００３４】
表示情報出力手段１１２は、回路情報表示手段１０７で表示装置上に表示した画面を出力することも可能であり、表示サイズの関係で表示画面外となった部分までも回路情報ファイル１１３に出力することが可能である。また、表示した情報がテキスト形式の情報である場合には、表示画面を出力するほかに、テキスト形式で出力することも可能である。
【００３５】
次に制約チェック手段１０９で見つけたタイミング制約が誤っているあるいは抜けているブロックポートに対して、制約設定手段１１０によりタイミング制約を設定する。すなわち制約設定手段１１０は、表示装置上でキーボードやマウス等の入力デバイスを用いることでインタラクティブに制約の設定が可能であり、その手法としては、各ブロックポートの関連クロックを手作業で入力する方法と、関連クロック抽出手段１０８で抽出した関連クロック情報を呼び出して設定する方法とがある。設定された制約は回路情報データベース１０６に登録され、これにより、設定した制約に誤りがないか否かを制約チェック手段１０９で再確認することが可能である。
【００３６】
最後に、回路情報データベース１０６に登録されている制約情報を制約出力手段１１１によって編集済み制約ファイル１１４へ出力することで、処理が完了する。
【産業上の利用可能性】
【００３７】
本発明にかかる論理合成制約生成装置は、設計データよりブロックポートの関連クロック情報の確認が容易となり、誤った情報によるタイミング制約作成を回避できるものであって、半導体集積回路装置の論理回路設計の際に、論理合成実行前に各合成単位の制約条件の誤りを検出することで、制約の誤りに起因して論理合成の再実行を余儀なくされることを抑止するための、論理合成制約生成装置などとして有用である。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態の論理合成制約生成装置の構成図
【図２】図１の論理合成制約生成装置の動作を説明するための処理フロー図
【図３】図１および図２における関連クロック抽出手段のブロック内の処理を説明するための図
【図４】図１および図２における関連クロック抽出手段のブロック間の処理を説明するための図
【図５】図１および図２の回路情報表示手段においてブロック図で表示した場合の回路情報表示例を示す図
【図６】図１および図２の回路情報表示手段においてテキストで表示した場合の回路情報表示例を示す図
【符号の説明】
【００３９】
１０１    ＲＴＬ記述回路
１０２    階層指定ファイル
１０３    回路情報入力手段
１０４    制約ファイル
１０５    制約ファイル入力手段
１０６    回路情報データベース
１０７    回路情報表示手段
１０８    関連クロック抽出手段
１０９    制約チェック手段
１１０    制約設定手段
【図１】
2005122578.tif 000003
【図２】
2005122578.tif 000004
【図３】
2005122578.tif 000005
【図４】
2005122578.tif 000006
【図５】
2005122578.tif 000007
【図６】
2005122578.tif 000008