(57)【要約】【課題】ユーザが非同期パスのタイミングを意識することなくレイアウトできる手段を提供する。【解決手段】論理合成装置３００は、レジスタ転送レベル記述を読み込む読み込み部３１０、レジスタ転送レベル記述に基づいて論理合成手段に論理合成を実行させ、ゲートレベルのネットリストに置換する論理合成実行部３２０、転送基準信号によりデータを転送する非同期データ転送回路を、ネットリストから抽出する非同期回路抽出部３３０、非同期データ転送回路を構成するセルのうち、送信側モジュールと受信側モジュールとの間で信号を受け渡すセルの組み合わせを選定するセル選定部３４０と、レイアウト設計において、選定したセルの組み合わせの近傍配置を実行する情報を生成する情報生成部３５０および生成した情報を出力する出力部３６０を備える。【選択図】図１１
2017129912.tif 000002
【特許請求の範囲】
【請求項１】
レジスタ転送レベル記述を読み込む手段と、
前記レジスタ転送レベル記述に基づいて論理合成手段に論理合成を実行させ、ゲートレベルのネットリストに置換する論理合成実行手段と、
転送基準信号によりデータを転送する非同期データ転送回路を、前記ネットリストから抽出する非同期回路抽出手段と、
前記非同期データ転送回路を構成するセルのうち、送信側モジュールと受信側モジュールとの間で信号を受け渡すセルの組み合わせを選定するセル選定手段と、
レイアウト設計において、前記選定したセルの組み合わせの近傍配置を実行する情報を生成する情報生成手段と、
生成した情報を出力する出力手段と、
を備える、半導体集積回路の論理合成装置。
【請求項２】
前記セル選定手段は、
前記送信側モジュールと前記受信側モジュールとの間で前記転送基準信号を受け渡すセルの組み合わせを選定する転送基準信号ペア選定手段と、
前記送信側モジュールと前記受信側モジュールとの間で非同期データ信号を受け渡すセルおよび前記セル間の経路上に配置されるセルをセルの組み合わせとして選定する非同期データ信号ペア選定手段と、
を備えることを特徴とする請求項１に記載の論理合成装置。
【請求項３】
前記情報生成手段は、前記選定したセルの組み合わせを特定する情報の生成と、前記ネットリストへ前記選定したセルの情報を組み込んだ情報の生成との少なくともいずれかを行うことを特徴とする請求項１または２に記載の論理合成装置。
【請求項４】
前記セル選定手段は、前記非同期回路抽出手段が抽出した回路の数、前記近傍配置するセルの組み合わせを選定する処理を繰り返すことを特徴とする請求項１乃至３のいずれか一項に記載の論理合成装置。
【請求項５】
前記情報生成手段は、前記選定したセルの組み合わせを、前記レイアウト設計において近傍配置すること指示する近傍配置リストを生成し、
前記出力手段は、前記近傍配置リストと前記ネットリストとを出力することを特徴とする請求項１乃至４のいずれか一項に記載の論理合成装置。
【請求項６】
前記情報生成手段は、前記近傍配置リストを、前記レイアウト設計において用いるツールが利用可能なフォーマットのファイルとして生成することを特徴とする請求項５に記載の論理合成装置。
【請求項７】
前記選定したセルの組み合わせを近傍配置してセル化した非同期転送用セルを読み込む手段を、さらに備え、
前記情報生成手段は、前記論理合成実行手段が置換した前記ネットリストを用いて、少なくとも、前記選定したセルの組み合わせを前記非同期転送用セルに置き換えたネットリストを生成し、
前記出力手段は、前記情報生成手段が生成したネットリストを出力することを特徴とする請求項１乃至４のいずれか一項に記載の論理合成装置。
【請求項８】
前記情報生成手段は、前記非同期転送用セルに置き換えたネットリストを用いて、前記非同期転送用セルと置き換えていないセルをライブラリセルと置き換えた後、最適化したネットリストを生成することを特徴とする請求項７に記載の論理合成装置。
【請求項９】
レジスタ転送レベル記述を読み込み、
前記レジスタ転送レベル記述に基づいて論理合成手段に論理合成を実行させ、ゲートレベルのネットリストに置換し、
転送基準信号によりデータを転送する非同期データ転送回路を、前記ネットリストから抽出し、
前記非同期データ転送回路を構成するセルのうち、送信側モジュールと受信側モジュールとの間で信号を受け渡すセルの組み合わせを選定し、
レイアウト設計において、前記選定したセルの組み合わせの近傍配置を実行する情報を生成し、
生成した情報を出力する、
半導体集積回路の論理合成方法。
【請求項１０】
コンピュータに、
レジスタ転送レベル記述を読み込む読み込み手順と、
前記レジスタ転送レベル記述に基づいて論理合成手段に論理合成を実行させ、ゲートレベルのネットリストに置換する論理合成実行手順と、
転送基準信号によりデータを転送する非同期データ転送回路を、前記ネットリストから抽出する非同期回路抽出手順と、
前記非同期データ転送回路を構成するセルのうち、送信側モジュールと受信側モジュールとの間で信号を受け渡すセルの組み合わせを選定するセル選定手順と、
レイアウト設計において、前記選定したセルの組み合わせの近傍配置を実行する情報を生成する情報生成手順と、
生成した情報を出力する手順と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理合成装置、論理合成方法およびプログラムに関する。
【背景技術】
【０００２】
半導体集積回路の設計において、転送基準信号による非同期データ転送回路では非同期のパスといえどもレイアウト工程でのタイミング調整を行う必要があるケースが存在することが既に知られている。
【０００３】
例えば、特許文献１には、非同期データの転送をより単純化する目的で、転送基準信号による非同期データ転送方法が開示されている。しかし、開発手法では遅延時間を調整する為にバッファを追加するなどのタイミングの調整に工数がかかってしまう問題があった。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、ユーザが非同期パスのタイミングを意識することなくレイアウトできる論理合成装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明の論理合成装置は、レジスタ転送レベル記述を読み込む手段と、前記レジスタ転送レベル記述に基づいて論理合成手段に論理合成を実行させ、ゲートレベルのネットリストに置換する論理合成実行手段と、転送基準信号によりデータを転送する非同期データ転送回路を、前記ネットリストから抽出する非同期回路抽出手段と、前記非同期データ転送回路を構成するセルのうち、送信側モジュールと受信側モジュールとの間で信号を受け渡すセルの組み合わせを選定するセル選定手段と、レイアウト設計において、前記選定したセルの組み合わせの近傍配置を実行する情報を生成する情報生成手段と、生成した情報を出力する出力手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、ユーザが非同期パスのタイミングを意識することなくレイアウトできる。
【図面の簡単な説明】
【０００７】
【図１】転送基準信号による非同期転送回路の既知の構成例について説明する図である。
【図２】非同期転送回路のタイミングについて説明する図である。
【図３】従来手法のタイミングの課題と検証方法について説明する図である。
【図４】実施形態１の論理合成装置の構成例について説明する図である。
【図５】近傍配置ペアの選定について説明する図である。
【図６】実施形態１の近傍配置リストについて説明する図である。
【図７】実施形態１の論理合成装置の使用例について説明する図である。
【図８】実施形態２の論理合成装置の構成例について説明する図である。
【図９】実施形態２の非同期回路分解部について説明する図である。
【図１０】実施形態２の非同期転送用セルの構成例について説明する図である。
【図１１】実施形態３の論理合成装置の構成例について説明する図である。
【図１２】実施形態３の論理合成装置の動作例を説明するフローチャートである。
【図１３】一実施形態のコンピュータの構成例について説明する図である。
【発明を実施するための形態】
【０００８】
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載および図面は、適宜、省略または簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
図１乃至３を参照して、転送基準信号による非同期転送回路の既知の一般的な構成例およびその問題点について説明し、図４以降を参照して本発明に係る一実施形態を説明する。
【０００９】
図１は、転送基準信号による非同期転送回路の既知の構成例について説明する図である。
転送基準信号により非同期で転送する非同期データ転送回路において、先ず送信側モジュールの送信クロック信号ｃｌｏｃｋ１と受信側モジュールの受信クロック信号ｃｌｏｃｋ２とは非同期関係にあることが前提になる。上段のパス上のフリップフロップＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４の各セルは転送基準信号（ｋｅｙ＿ａ）を伝播させるレジスタ（フリップフロップ）である。下段のパス上のフリップフロップＦＦＡ、ＦＦＢの各セルはデータを転送させるレジスタ（フリップフロップ）であり多ビットの構成になっている。図１では一例として８ビットとした。転送基準信号による非同期データ転送回路は図中の信号ｅｎ＿ｃの状態によってデータを受信側モジュールのフリップフロップＦＦＢで取り込むか取り込まないかが決まることが特徴になっている。
【００１０】
図２は、図１に示す非同期転送回路のタイミングについて説明する図である。図２の各信号名は図１のものと一致させている。図２中、転送基準信号ｋｅｙ＿ａおよび非同期データ信号ｄａｔａ＿ａ［７：０］は、送信側モジュールの送信クロック信号ｃｌｏｃｋ１に基づいて状態（ＨｉｇｈまたはＬｏｗ）が変化し、他の信号は受信側モジュールの受信クロック信号ｃｌｏｃｋ２に基づいて状態が変化する。
図２を参照すると、転送基準信号ｋｅｙ＿ａから生成された信号ｅｎ＿ｃがＨｉｇｈとなっている期間において受信クロック信号ｃｌｏｃｋ２の立ち上がりのタイミング（ｔ１、ｔ２）で非同期データ信号ｄａｔａ＿ａ［７：０］のデータを取得していることが判る。このように転送基準信号による非同期データ転送では非同期データ信号の取得タイミングが転送基準信号の状態に依存していることが特徴となっている。従って、ここに非同期といえどもタイミング制約が必要となり、レイアウト工程でのタイミング調整とレイアウト後にタイミング解析を行う必要が生じることになる。
【００１１】
図３は、転送基準信号による非同期データ転送における、従来手法のタイミングの課題と検証方法について説明する図である。図３において、矢印ｄ１は転送基準信号のパス（以降、「ｄ１のパス」と記載する）、矢印ｄ２はデータ転送のパス（以降、「ｄ２のパス」と記載する）である。例えば、レイアウト設計時にｄ２のパスにリピータのバッファ（白抜きの△印）が多数挿入され、ｄ１のパスとの遅延差が大きくなってしまった場合を検討する。
データを取得するタイミングは、信号ｅｎ＿ｃがＨｉｇｈになって受信クロック信号ｃｌｏｃｋ２の立ち上がりエッジである。しかし、図３に示すようにバッファが多数挿入された場合、データを取得するタイミングにおいて、まだ取得したいデータが伝播してきていないという事象が発生する可能性がある。この事象を防ぐには、ｄ２のパスとｄ１のパスの遅延差が受信側のクロック信号の１クロック（１ｃｌｋ）幅以内に収めれば良い。
【００１２】
従って、従来手法ではレイアウト後のタイミング解析において２つの矢印ｄ１、ｄ２部分の遅延差が受信側のクロック信号の１クロック幅以内であるかを確認し、これを満たしていない場合にはレイアウト工程でタイミングＥＣＯ（Engineering. Change Order）を行っていた。具体的には、レイアウト工程で遅延時間を調整する為にバッファなどを追加していた。
よって従来手法では、例えば以下のようなイタレーションが発生したりしてしまうなどの問題があった。
・タイミングＥＣＯに工数がかかる。
・タイミング解析や結果の纏めに工数がかかる。
・デザイン中の全ての転送基準信号による非同期データ転送回路の抜き出し漏れが発生してこれらの処理を怠り、レイアウト後のシミュレーションなどの工程で非同期データの受け渡しタイミングに問題があることが発覚して、再度レイアウトでのタイミング調整に戻る。
【００１３】
本発明はこれらの問題の発生を回避し、ユーザが非同期パスのタイミングを意識することなくレイアウトできる手段を提供することを目的とする。
そのため、本発明に係る論理合成装置の一態様は、図３に示すｄ２のパスとｄ１のパスの遅延差が受信側のクロック信号の１クロック幅以内に収められるように、レイアウト工程において、これらのパスを構成するセルの近傍配置を可能にする情報を生成する。具体的には、レイアウト工程においてこれらのパスを構成するセル間にバッファが挿入されないように配置させる情報、もしくは、これらのパスを構成するセルの組み合わせをセル化して配置したネットリスト、などの情報を生成する。
以下の説明において、「セルを近傍配置する」「セルの近傍配置」「近傍配置セル」などの用語は、転送基準信号による非同期データ転送回路を構成する少なくとも二つのセルの組み合わせに関して、当該セルが隣り合うように配置すること、より具体的には、当該セル間にバッファを挿入することなく配置することを意味する。
以下に本発明に係る実施形態を説明する。
【００１４】
実施形態１．
図４は、本発明に係る実施形態１の論理合成装置の構成例について説明する図である。
論理合成装置１００は、ＲＴＬ読み込み部２、論理合成部３、非同期回路抽出部４、近傍配置ペア選定部５、近傍配置リスト生成出力部６およびネットリスト出力部７を備える。
各構成要素について、動作の流れに沿って説明する。
先ずユーザがレジスタ転送レベル記述（以降適宜「ＲＴＬ記述」と記載する）１を用意し、論理合成装置１００への入力情報とする。ＲＴＬは、Register Transfer Level（レジスタ転送レベル）の事であり、半導体集積回路の設計においてデジタル回路を記述する手法の一種である。
次にＲＴＬ読み込み部２は、ＲＴＬ記述１を読み込む。
次に論理合成部３は、ＲＴＬ記述１を用いて論理合成を実施する。論理合成とは、ＲＴＬ記述から論理積回路（ＡＮＤ）、論理和回路（ＯＲ）、フリップフロップ（ＦＦ）などのゲートレベルのネットリストに変換する工程の事である。幾つかのＥＤＡ（Electronic Design Automation）ツールベンダーから論理合成ツールが市販されており、ここでの処理はその既存技術を用いる。従って、論理合成部３は、論理合成ツールに論理合成を実行させる。
【００１５】
次に非同期回路抽出部４は、デザイン全体（設計する回路全体）の中から転送基準信号による非同期データ転送回路の構成になっている回路部分を全て抜き出す。
すなわち図１の構成を持つ回路部分が全て抽出されて記憶されることになる。図１で説明したように転送基準信号による非同期データ転送回路の基本的な構成は決まっているため、このように必要な部分の回路を抜き出すことは可能である。
【００１６】
次に近傍配置ペア選定部５は、レイアウト時に近傍配置するセルのペアを選定する。近傍配置ペア選定部５は、転送基準信号ペア選定部５−１と非同期データ信号ペア選定部５−２とを備える。
転送基準信号ペア選定部５−１は、送信側モジュールと受信側モジュールとの間で転送基準信号を受け渡すセルの組み合わせを選定する。
非同期データ信号ペア選定部５−２は、送信側モジュールと受信側モジュールとの間で非同期データ信号を受け渡すセルおよびセル間の経路上に配置されるセルをセルの組み合わせとして選定する。
近傍配置ペア選定部５の処理については図５を用いて後程説明する。
【００１７】
近傍配置リスト生成出力部６は、近傍配置ベア選定部５が選定したセルのペアを記述した近傍配置リスト８を生成する。
最後に近傍配置リスト生成出力部６が近傍配置リスト８を、ネットリスト出力部７がネットリスト９を外部出力し、処理を完了する。
【００１８】
次に、図４、５を参照して近傍配置ペア選定部５について説明する。図５は、近傍配置ペアの選定について説明する図である。図５では、上述した転送基準信号による非同期データ転送回路の一部のセルを抜き出したものである。
図３で説明したようにｄ１のパスとｄ２のパスの遅延差が大きい場合にタイミングの問題が発生する。逆に言うとレイアウト工程においてｄ１のパスとｄ２のパスにリピータのバッファが挿入されないようにパス上の各セルを近づけて配置すれば、遅延差が大きくならずにタイミングの問題の発生を抑止できる。
そこで実施形態１の近傍配置ペア選定部５は、非同期回路抽出部４が抽出した、転送基準信号による非同期データ転送回路一つ一つに対して、レイアウト工程において、近づけて配置するセルを選定する。
【００１９】
近傍配置ペア選定部５の処理の詳細を、図１に示す非同期データ転送回路の構成例を用いて説明する。
先ず転送基準信号ペア選定部５−１は、非同期のクロック信号間（ｃｌｏｃｋ１とｃｌｏｃｋ２）の受け渡し信号であり、かつ回路の後段でマルチプレクサのセレクト信号に繋がっている信号を抽出する。図１で該当する信号は、前者の条件では転送基準信号ｋｅｙ＿ａと非同期データ信号ｄａｔａ＿ａ［７：０］に限定され、後者の条件では転送基準信号ｋｅｙ＿ａに限定される。
転送基準信号ペア選定部５−１は、転送基準信号ｋｅｙ＿ａの受け渡しをしている前後の２つのフリップフロップ（ＦＦ１とＦＦ２）を１つのペア（図５のペア１）として選定する。
【００２０】
次に非同期データ信号ペア選定部５−２は、転送基準信号ペア選定部５−１において除外した非同期データ信号ｄａｔａ＿ａ［７：０］を抽出する。
非同期データ信号ペア選定部５−２は、抽出した非同期データ信号ｄａｔａ＿ａ［７：０］の送信側のフリップフロップ（ＦＦＡ）を基点に受信側のフリップフロップ（ＦＦＢ）に到達するまでの経路上にあるセルを全て抽出する。図１で該当するセルはフリップフロップＦＦＡ、マルチプレクサＭＵＸ１およびフリップフロップＦＦＢとなり、非同期データ信号ペア選定部５−２は、これらのセルを１つのペアとして選定する。ここで、非同期データ信号ｄａｔａ［７：０］は８ビットであるため、非同期データ信号ペア選定部５−２は、ビット数分のペア（図５のペア２からペア９）を選定する。
近傍配置ペア選定部５は、転送基準信号ペア選定部５−１および非同期データ信号ペア選定部５−２が実行する処理を非同期回路抽出部４で抽出された回路分だけ処理する。従って、非同期回路抽出部４で抽出された転送基準信号による非同期データ転送回路が複数の場合には、その個数分だけこの処理を繰り返す。
【００２１】
図６を参照して、実施形態１の近傍配置リスト８のフォーマットについて説明する。近傍配置リスト８は近傍配置ペア選定部５で選定された各ペアを構成するセルが順番に並んだフォーマット（例えば、図６に表すフォーマット）が考えられる。また後工程のレイアウトで使用するＣＡＤツールで近傍配置を行うためのコマンドに変換したフォーマットも考えられる。
近傍配置リスト生成出力部６は、近傍配置ペア選定部５が選定した各ペアを構成するセルの情報（複数のセルの組み合わせ）を、レイアウト工程において利用可能な形式によって記述した近傍配置リスト８を生成する。なお、近傍配置リスト８は、近傍配置リスト生成出力部６に替えて、近傍配置ペア選定部５において生成するように構成してもよい。
【００２２】
図７を参照して、実施形態１の論理合成装置の使用例について説明する。先ずユーザは、ＲＴＬ記述に基づいて、本実施形態の論理合成装置１００による論理合成方法を実行して近傍配置リストとネットリストを生成しておく。次にユーザは生成された近傍配置リストとネットリストをレイアウトツール１０２への入力情報とし、レイアウトツール１０２を実行する。レイアウトツール１０２は近傍配置リストの情報を元に近傍に配置したいペア毎にセルを近傍に自動的に配置してくれる。このレイアウトツール１０２の処理はレイアウトツール１０２の持つ既存技術を用いる。このレイアウトの処理で遅延差の少ない結果を得ることができ、ユーザは非同期パスのタイミングを意識することなくレイアウトを完了することが可能となる。
【００２３】
実施形態２．
図８は、本発明に係る実施形態２の論理合成装置の構成例について説明する図である。
論理合成装置２００は、ＲＴＬ読み込み部２、ネットリスト出力部７、非同期転送用セル読み込み部１２および論理合成部１３を備える。
論理合成部１３は、非同期回路抽出部４、エラボレーション部１３−１、非同期回路分解部１３−２、非同期転送用セルマッピング部１３−３、ライブラリセルマッピング部１３−４および最適化部１３−５を備える。また、非同期回路分解部１３−２は、転送基準信号ペア選定部５−１、非同期データ信号ペア選定部５−２および入出力端子付加部１３−２−１を備える。
【００２４】
各構成要素について、動作の流れに沿って説明する。
先ずユーザがＲＴＬ記述１と非同期転送用セル１１を用意し、論理合成装置２００への入力情報とする。非同期転送用セル１１の構成については図１０を参照して後程説明する。
次にＲＴＬ読み込み部２は、ＲＴＬ記述１を読み込む。また、非同期転送用セル読み込み部１２は、非同期転送用セル１１を読み込む。なお、非同期転送用セル１１を読み込みは、ＲＴＬ記述１を読み込むタイミングと一致させる必要はなく、後述する非同期転送用セルマッピング部１３−３が処理を開始する前であればよい。
【００２５】
次に論理合成部１３による処理に移る。
先ずエラボレーション部１３−１は、ＲＴＬ記述１から論理合成ツール固有のＡＮＤ、ＯＲ、ＦＦなどのゲートレベルのネットリストに変換する。この処理は論理合成ツールを用い、エラボレーション部１３−１は、論理合成ツールにネットリストへの変換を実行させる。なお、エラボレートの処理は市販の論理合成ツールと同じなので詳しい説明は省く。また、ここでのネットリストへの変換は、論理合成ツール固有の記述を用いてネットリストへ変換する、中間段階のネットリストの生成を前提としている。従って、ここで変換されるネットリストは、本実施形態の論理合成部１３（または論理合成ツール）の後工程で認識可能な記述であればよく、レイアウト工程で認識できる記述でなくてもよい。
【００２６】
次に非同期回路抽出部４は、デザイン全体の中から転送基準信号による非同期データ転送回路の構成になっている回路部分を全て抜き出す。
次に非同期回路分解部１３−２は、非同期回路部分を今後の処理に必要なセルと必要でないセルとに分ける。ここでの処理については図９を用いて後程説明する。
次に非同期転送セルマッピング部１３−３は、エラボレーション部１３−１で置換したネットリストに記述されているセルのうち、非同期回路分解部１３−２が今後の処理で必要として切り分けた部分を、非同期転送用セル読み込み部１２が読み込んだ非同期転送用セルに置き換える。
【００２７】
次にライブラリセルマッピング部１３−４は、ネットリストに記述されているセルのうち、非同期転送セルマッピング部１３−３が置き換えなかった回路部分（残りの回路部分）を通常のライブラリセルに置き換える。マッピングの処理は市販の論理合成ツールと同じなので詳しい説明は省く。
次に最適化部１３−５は、マッピング後の回路（ネットリストに記述された回路）を最適化する。最適化の処理も市販の論理合成ツールと同じなので詳しい説明は省く。
最後にネットリスト出力部７は、最適化部１３−５が最適化したネットリストを外部出力し、処理が完了する。
【００２８】
図９を参照して、非同期回路分解部１３−２の処理について説明する。
図９は、図１に示す転送基準信号による非同期データ転送回路を、回路構成は変えずに各セルの記載位置を変更して表した図である。非同期回路分解部１３−２は、今後の処理に必要な回路と必要でない回路とに分割する。ここで、今後の処理に必要な部分とは、図９に示す一点破線で囲んだ回路部分であり、これは実施形態１の近傍配置ペア選定部５が選定した回路部分と同じである。言い換えると、今後の処理に必要な部分とは、近傍配置するセルであり、セル間にバッファを挿入することなく配置するセルの組み合わせである。
【００２９】
従って非同期回路分解部１３−２で行う処理の前半部分は、実施形態１の近傍配置ペア選定部５で行う処理と同じである。非同期回路分解部１３−２の後半の処理では、入出力端子付加部１３−２−１が図９の一点破線で囲んだ部分に入力される信号には入力ポートを、図９の一点破線で囲んだ部分から出力される信号には出力ポートを、付加する処理を行う。
図９に示す信号ｋｅｙ、ｅｎ＿ｃ、ｄａｔａｉｎ［７：０］、ｃｌｃｏｋ１、ｃｌｏｃｋ２がこの処理で付加された入力ポートに当たり、信号ｋｅｙ＿ｓ、ｄａｔａ［７：０］がこの処理で付加された出力ポートに当たる。信号ｋｅｙ、ｄａｔａｉｎ［７：０］は、ユーザが外部から入力する信号であり、ユーザの所望する機能に対応する。
【００３０】
図１０を参照して、実施形態１の非同期転送用セル１１の構成を説明する。図９の一点破線で囲んだ部分は図１０に示すように２つのパーツに分解することができる。ここで下側のパーツは多ビットであるため、同じ構成の回路がビット数分存在していることになる。非同期転送用セル１１はこの２つのパーツをそれぞれセル化したものである。
【００３１】
セル化にあたってはセルのサイズが極力小さくなるように開発する。そのため、実施形態１で説明した、フリップフロップＦＦ１とフリップフロップＦＦ２を近傍に配置することや、フリップフロップＦＦＡ、マルチプレクサＭＵＸ１およびフリップフロップＦＦＢを近傍に配置することと同じ効果を奏することができる。また図１で説明したように、従来技術において転送基準信号による非同期データ転送回路の基本的な構成は決まっているので、半導体集積回路開発のレイアウト工程の前に予め非同期転送用セル１１を作成しておくことは可能である。加えて、製造する半導体集積回路に応じたセルを作成することができる。
本実施形態の論理合成装置では、近傍配置セルの情報を組み込んだネットリストを提供するため、ユーザは非同期パスのタイミングを意識することなくレイアウト工程を行うことが可能になる。
【００３２】
実施形態３．
上記各実施形態では、近傍セル配置ペア選定部５を用いた論理合成装置の一例を示したが、これらに限られるわけではない。例えば、図１１に示すような機能ブロックの構成を基本として、様々な変形例を形成することができる。図１１は、実施形態３の論理合成装置の構成例を表す図である。図１１の半導体集積回路の論理合成装置３００は、読み込み部３１０、論理合成実行部３２０、非同期回路抽出部３３０、セル選定部３４０、情報生成部３５０および出力部３６０を備える。
読み込み部３１０は、ＲＴＬ記述を読み込む。読み込み部３１０は、記録装置等に記録されているＲＴＬ記述を読み込む場合や、ネットワーク等を介して接続されているコンピュータ等から取得する場合などようにしてもよい。また、読み込み部３１０は、ＲＴＬ記述以外の情報（例えば、実施形態２の非同期転送用セル）を読み込むように構成してもよいし、読み込む情報毎に読み込み手段を備える構成であってもよい。
【００３３】
論理合成実行部３２０は、レジスタ転送レベル記述に基づいて、論理合成ツールなどの論理合成手段を起動して論理合成を実行させ、ゲートレベルのネットリストに置換する。論理合成ツールは、論理合成装置３００の内部に備えてもよいし、論理合成装置３００の外部にある論理合成ツールを論理合成実行部３２０が呼び出して論理合成を実行させ実行結果を受け取るようにしてもよい。
論理合成実行部３２０が生成するネットリストは、非同期回路抽出部３３０が転送基準信号による非同期データ転送回路を抽出できる形式であり、かつ、情報生成部３５０の機能に応じた精度で生成されることが好ましい。例えば、実施形態１では、論理合成ツールによって最適化され、レイアウト工程に受け渡す状態のネットリストを生成する。実施形態２では、論理合成ツールのエラボレーション機能を用いて、最適化する前のネットリストを生成し、後工程で最適化などの処理を実行して、レイアウト工程に受け渡すネットリストを生成する。
【００３４】
非同期回路抽出部３３０は、転送基準信号による非同期データ転送回路を、ネットリストから抽出する。非同期回路抽出部３３０は、上記各実施形態の非同期回路抽出部４と同様であるため説明を省略する。
セル選定部３４０は、非同期転送信号による非同期データ転送回路を構成するセルのうち、送信側モジュールと受信側モジュールとの間で信号を受け渡すセルの組み合わせを選定する。セル選定部３４０は、上記各実施形態の近傍セル配置ペア選定部５と同様であるためここでは詳細な説明を省略するが、転送基準信号ペア選定部５−１および非同期データ信号ペア選定部５−２の機能を実現するように構成されることが好ましい。
【００３５】
情報生成部３５０は、レイアウト設計において、選定したセルの組み合わせの近傍配置を実行する回路情報を生成する。選定したセルの組み合わせの近傍配置を実行する回路情報は、レイアウト工程において選定したセルを近傍配置させる（近傍配置させるように指示する）情報、あるいは選定したセルを近傍配置した情報（ネットリストなど）である。
このとき、情報生成部３５０は、論理合成実行部３２０が生成したネットリスト（特に、ネットリストの精度）に応じて、レイアウト工程で利用可能な情報またはネットリスト、あるいはこれらの組み合わせを生成する。
例えば、実施形態１では、情報生成部３５０は、近傍配置リスト生成出力部６の近傍配置リスト生成機能に対応し、レイアウト工程で利用可能な情報として近傍配置リストを生成する。また、実施形態２では、情報生成部３５０は、入出力端子付加部１３−２−１、非同期転送用セルマッピング部１３−３、ライブラリセルマッピング部１３−４および最適化部１３−５の機能に対応し、非同期転送用セルおよびセルライブラリを組み込んだネットリストを生成する。
【００３６】
出力部３６０は、論理合成装置３００が生成したレイアウト工程に受け渡す回路情報を出力する。出力部３６０は、例えば、実施形態１のように、近傍配置リストとネットリストとの出力手段を分けて構成してもよいし、一つの出力手段により構成してもよい。出力部３６０は少なくとも情報生成部３５０が生成した情報を出力する。
なお、出力先は記録装置に限らず、表示装置へ表示やプリンタ等への出力、あるいはネットワークを介して他のコンピュータ等に出力するようにしてもよい。
さらに、論理合成装置３００は、論理合成実行部３２０および情報生成部３５０によって、ユーザが利用するレイアウトツールが利用可能な情報として、セル選定部３４０が選定したセルの近傍配置を実行する情報が生成できればよく、上記各実施形態の処理、ファイル形式などに限定されるものではない。
【００３７】
図１２は、実施形態３の論理合成装置の動作例の概略を説明するフローチャートである。
読み込み部３１０は、少なくともＲＴＬ記述を読み込む（Ｓ１１）。
論理合成実行部３２０は、ＲＴＬ記述に基づいて論理合成手段（論理合成ツール）に論理合成を実行させ、ゲートレベルのネットリストに置換する（Ｓ１３）。
非同期回路抽出部３３０は、ネットリストから転送基準信号による非同期データ転送回路を抽出する（Ｓ１５）。このとき、非同期回路抽出部３３０は、ネットリストに含まれる転送基準信号による非同期データ転送回路の全部を抽出する。
【００３８】
セル選定部３４０は、転送基準信号による非同期データ転送回路を構成するセルのうち、送信側モジュールと受信側モジュールとの間で信号を受け渡すセルの組み合わせ（近傍配置するセルの組み合わせ）を選定する（Ｓ１７）。セル選定部３４０は、非同期回路抽出部３３０が抽出した非同期データ転送回路のすべてを処理するまで（Ｓ１９、ＹＥＳ）、セル選定の処理（Ｓ１７）を繰り返す（Ｓ１９、ＮＯ）。
情報生成部３５０は、レイアウト設計において、選定したセルの組み合わせの近傍配置を実行する情報を生成する（Ｓ２１）。
出力部３６０は、生成した情報を出力する（Ｓ２３）。
【００３９】
本実施形態の論理合成装置によれば、非同期回路抽出部３３０、セル選定部３４０の処理（ステップＳ１５からＳ１９）により、近傍配置セルのすべてを抽出し、情報生成部３５０の処理（ステップ２１）により抽出した近傍配置セルをレイアウト工程に通知する情報を生成する。これにより、レイアウト工程において、転送基準信号による非同期データ転送回路のタイミング調整をなくし、タイミング調整時間に要する時間を削減することができる。
【００４０】
その他の実施形態．
上述した各実施形態の論理合成装置１００、２００、３００が実行する方法（論理合成方法）は、プログラムで実現することができる。プログラムの各命令は、コンピュータによって実行される。
図１３は、論理合成装置３００を構成するコンピュータの一例のブロック図である。
コンピュータ５００は、ＣＰＵ（Central Processing Unit）５１０、ハードディスク５２０、メモリ５３０、表示部５４０、入力部５５０および通信部５６０を備え、これらがシステムバス５７０で接続されている。
【００４１】
ＣＰＵ５１０は、演算処理装置であって、コンピュータ５００において実行される演算や処理を実行する。
ハードディスク５２０は、データを格納する記録手段であって、コンピュータ５００上で動作するアプリケーションや、このアプリケーションにより作成されたデータなどを格納する。ハードディスク５２０は、例えば、上述した論理合成装置１００、２００、３００として機能させるためのコンピュータプログラム（論理合成プログラム）や論理合成ツール等を格納する。
メモリ５３０は、プログラムやプログラムによって読み込まれたファイルやデータ等或いはプログラムの実行によって一時的に作成されるデータ等を保持する。
表示部５４０はディスプレイなどであり、コンピュータ５００において作成されたデータなどをユーザに閲覧可能に表示する。
入力部５５０は、キーボード、マウスまたはタッチパネル等により構成され、ユーザの操作により各種データが入力される。
通信部５６０は、例えばネットワークコントロールユニットにより構成され、コンピュータ５００が外部の装置と通信を行うためのものである。
【００４２】
また、図示しないがメモリーカードリーダなどの着脱自在な記録媒体を読み書きする装置やＵＳＢ（Universal Serial Bus）インタフェースなどの外部機器と接続するためのインタフェースを備えていてもよい。
プログラムは、コンピュータが参照可能な記録装置（例えばハードディスク５２０）に予め保持され、ＣＰＵ５１０によって、コンピュータ内のメモリ５３０にロードされ、ＣＰＵ５１０がプログラムの各命令を実行する。
上記各実施形態の論理合成装置が実行する論理合成方法をプログラムにより実現することによって、機能の移植や拡張が容易となる。
【００４３】
加えて、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体、光磁気記録媒体を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、および電磁波を含む。一時的なコンピュータ可読媒体は、電線および光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
プログラムをコンピュータ可読媒体に格納することにより、当該プログラムを機器に組み込む以外に単体でも流通させることができ、バージョンアップ等も容易に行える。
【００４４】
上記各実施形態で説明したように、本発明に係る一実施形態の論理合成装置によれば、レイアウト工程において、転送基準信号による非同期データ転送回路を構成するセルのうち、タイミング調整を要するセルを近傍に配置することが可能となり、タイミング調整の時間を削減することができる。
【００４５】
なお、上記各実施形態は、一例として提示したものであり、発明の範囲を限定することは意図していない。
これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。
これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４６】
１  ＲＴＬ記述
２  ＲＴＬ読み込み部
３、１３  論理合成部
４、３３０  非同期回路抽出部
５  近傍配置ペア選定部
５−１  転送基準信号ペア選定部
５−２  非同期データ信号ペア選定部
６  近傍配置リスト生成出力部
７  ネットリスト出力部
８  近傍配置リスト
９  ネットリスト
１３−１  エラボレーション部
１３−２  非同期回路分解部
１３−２−１  入出力端子付加部
１３−３  非同期転送用セルマッピング部
１３−４  ライブラリセルマッピング部
１３−５  最適化部
１００、２００、３００  論理合成装置
１０２  レイアウトツール
３１０  読み込み部
３２０  論理合成実行部
３３０  非同期回路抽出部
３４０  セル選定部
３５０  情報生成部
３６０  出力部
【先行技術文献】
【特許文献】
【００４７】
【特許文献１】特開２００２−２１５５６８号公報
【図１】
2017129912.tif 000003
【図２】
2017129912.tif 000004
【図３】
2017129912.tif 000005
【図４】
2017129912.tif 000006
【図５】
2017129912.tif 000007
【図６】
2017129912.tif 000008
【図７】
2017129912.tif 000009
【図８】
2017129912.tif 000010
【図９】
2017129912.tif 000011
【図１０】
2017129912.tif 000012
【図１１】
2017129912.tif 000013
【図１２】
2017129912.tif 000014
【図１３】
2017129912.tif 000015