(57)【要約】【課題】ＬＳＩ設計において、ＲＡＭの階層移動、ＲＡＭの非共有化から共有化、及びＲＡＭの共有化から非共有化などの変更を容易にし、設計工数および設計ミスを削減する。【解決手段】本発明の回路ブロック図作成装置は、回路ブロック内に配置されたＲＡＭのデータから、共有化させるＲＡＭの選択を確定するＲＡＭ選択手段（１２）と、選択の確定されたＲＡＭのデータを他のブロックに移動するＲＡＭ移動手段（１３）と、ＲＡＭのデータの移動に応じて必要なＲＡＭインタフェース回路を自動生成するＲＡＭインタフェース回路生成手段（１４）と、回路の動作を記述した回路記述ソースコード（１６）を自動生成する回路記述ソースコード生成手段（１５）とを含む。【選択図】図１
2011060188.tif 000002
【特許請求の範囲】
【請求項１】
回路ブロック図作成装置であって、
回路ブロック内に配置されたＲＡＭのデータから、共有化させるＲＡＭの選択を確定するＲＡＭ選択手段（１２）と、
選択の確定されたＲＡＭのデータを他のブロックに移動するＲＡＭ移動手段（１３）と、
ＲＡＭのデータの移動に応じて必要なＲＡＭインタフェース回路を自動生成するＲＡＭインタフェース回路生成手段（１４）と、
回路の動作を記述した回路記述ソースコード（１６）を自動生成する回路記述ソースコード生成手段（１５）と
を含む回路ブロック図作成装置。
【請求項２】
請求項１に記載の回路ブロック図作成装置であって、
前記ＲＡＭインタフェース回路生成手段（１４）が、調停回路を自動生成することを特徴とする回路ブロック図作成装置。
【請求項３】
請求項１に記載の回路ブロック図作成装置であって、
前記ＲＡＭ選択手段（１２）が、複数のブロックから共有されているＲＡＭのうち一つの選択を確定し、前記ＲＡＭ移動手段（１３）が、前記の選択を確定されたＲＡＭを、共有化される前に配置されていたブロックに移動した場合、
前記ＲＡＭインタフェース回路生成手段（１４）は、複数のブロックから共有されているＲＡＭのデータのうち、前記の選択を確定され移動されたＲＡＭに関するデータを除去し、除去された後の回路に適合するように結線を削除し、
更に、前記ＲＡＭインタフェース回路生成手段（１４）は、複数のブロックから共有されているＲＡＭのデータが無くなれば、ＲＡＭ共有化に必要であった調停回路（６）を削除する
ことを特徴とする回路ブロック図作成装置。
【請求項４】
請求項１に記載の回路ブロック図作成装置であって、
回路設計記述言語によりブロック内の動作を記述したソースコードからＲＡＭのデータを抽出するＲＡＭ抽出手段（１０）と、
前記ＲＡＭ抽出手段（１０）により抽出したＲＡＭのデータのリストを表示するＲＡＭリスト表示手段（１１）と
を更に含み、
前記ＲＡＭ選択手段（１２）が、前記ＲＡＭリスト表示手段（１１）が表示したＲＡＭのデータのリストから、共有化させるＲＡＭの選択を確定する
ことを特徴とする回路ブロック図作成装置。
【請求項５】
回路ブロック図作成方法であって、
回路ブロック内に配置されたＲＡＭのデータから、共有化させるＲＡＭの選択を確定するＲＡＭ選択工程と、
選択の確定されたＲＡＭのデータを他のブロックに移動するＲＡＭ移動工程と、
ＲＡＭのデータの移動に応じて必要なＲＡＭインタフェース回路を自動生成するＲＡＭインタフェース回路生成工程と、
回路の動作を記述した回路記述ソースコードを自動生成する回路記述ソースコード生成工程と
を含む回路ブロック図作成方法。
【請求項６】
請求項５に記載の回路ブロック図作成方法であって、
前記ＲＡＭインタフェース回路生成工程では、調停回路が自動生成されることを特徴とする回路ブロック図作成方法。
【請求項７】
請求項５に記載の回路ブロック図作成方法であって、
前記ＲＡＭ選択工程において、複数のブロックから共有されているＲＡＭのうち一つの選択が確定され、前記ＲＡＭ移動工程において、前記の選択が確定されたＲＡＭが、共有化される前に配置されていたブロックに移動された場合、
前記ＲＡＭインタフェース回路生成工程では、複数のブロックから共有されているＲＡＭのデータのうち、前記の選択が確定され移動されたＲＡＭに関するデータが除去され、除去された後の回路に適合するように結線が削除され、
更に、前記ＲＡＭインタフェース回路生成工程では、複数のブロックから共有されているＲＡＭのデータが無くなれば、ＲＡＭ共有化に必要であった調停回路が削除される
ことを特徴とする回路ブロック図作成方法。
【請求項８】
請求項５に記載の回路ブロック図作成方法であって、
回路設計記述言語によりブロック内の動作を記述したソースコードからＲＡＭのデータを抽出するＲＡＭ抽出工程と、
前記ＲＡＭ抽出工程により抽出されたＲＡＭのデータのリストを表示するＲＡＭリスト表示工程と
を更に含み、
前記ＲＡＭ選択工程では、前記ＲＡＭリスト表示工程にて表示されたＲＡＭのデータのリストから、共有化させるＲＡＭの選択が確定される
ことを特徴とする回路ブロック図作成方法。
【請求項９】
請求項５乃至８のうちのいずれか一に記載の回路ブロック図作成方法を含む半導体集積回路設計工程と、前記半導体集積回路設計工程によって生成される回路設計情報を用いて、半導体集積回路装置を製造する半導体集積回路装置の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路ブロック図作成装置、回路ブロック図作成方法、及び半導体集積回路製造方法に関する。
【背景技術】
【０００２】
ＬＳＩ設計において、ＬＳＩ内部にＲＡＭが存在する場合を想定する。そのＲＡＭをある階層下に配置して一度設計した後、そのＬＳＩ内部の他のブロックからそのＲＡＭを共有する必要が出てくる場合がある。
【０００３】
複数のブロックからＲＡＭを共有する例を図８に示している。図８では、ＲＡＭ１とＲＡＭ３を、第１回路ブロック（１）と第２回路ブロック（２）において共有する様子を示している。共有後はＲＡＭ１＿ＲＡＭ３（５）と調停回路（６）とを設けることが必要となる。ここで調停回路（６）は単純なマルチプレクサであることもある。複数のブロックからＲＡＭを共有する場合必ずしもＲＡＭの階層を移動させる必要はないが、わかりやすさのために階層を移動させることが多い。
【０００４】
このようにＲＡＭを共有化させる場合、既存の回路（ＲＡＭを共有していない回路）に対して、以下のような手作業による修正が必要となる。
（ａ−１）ＲＡＭを配置する階層を移動させる。階層を移動させる場合には、結線情報を修正する必要がある。
（ａ−２）ＲＡＭを共有化するための調停回路（６）を追加する。
【０００５】
また、上記とは異なり、ＬＳＩ内部の複数のブロックからＲＡＭが共有されている場合において、共有化を止めようとする場合、ＲＡＭが配置されている階層を移動させることが想定される。このとき、既存回路に対して以下のような手作業による修正が必要となる。
（ｂ−１）ＲＡＭが配置される階層を移動させる場合がある。階層を移動させる場合は、結線情報を修正する必要がる。
（ｂ−２）ＲＡＭ共有のために必要であった調停回路を削除する。
【０００６】
ＬＳＩ設計における階層移動を容易にするための従来技術として、ＣＡＤツールであるＳｐｒｉｎｇ  Ｓｏｆｔ社のｎＥＣＯがある。ｎＥＣＯは、ＮＡＮＤセルやＮＯＲセルといったスタンダードセルの階層移動を容易にするものである。しかし、ＲＡＭの共有化や非共有化には対応していない。これは共有化したいＲＡＭを指定する方法がｎＥＣＯにはなく、またＲＡＭ共有のための調停回路を自動的に生成する機能がないためである。
【０００７】
なお、特許文献１は、修正対象回路の近傍にダミーセルを配置し、かつダミーセルを追加してもチップサイズが拡大することはなく、かつダミーセルが記述されている階層と修正対象回路が記述されている階層が近くにあるネットリストを生成することが可能なレイアウト装置および方法を開示する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述の従来技術によるＲＡＭの共有化および非共有化には以下の問題点がある。
（ｃ−１）ＲＡＭの階層を移動させるため、階層を跨ぐ結線を手作業により追加すること若しくは削除することが必要となる。手作業により結線の追加や削除を行うことは煩雑なものであり、設計工数が増加する。また、設計ミスも増加する。
（ｃ−２）近年の新しい設計手法であるＳｙｓｔｅｍＣを使った高位合成を用いる場合、ＲＡＭ共有のための複雑な記述方法を設計者が新たに習得する必要がある。ＲＡＭ記述方法を一度習得したとしても、ＲＡＭ記述は頻繁に行うものではなく記述方法も複雑であるため、知識や技量として定着し難い。
【０００９】
本発明は、ＬＳＩ設計において、ＲＡＭの階層移動、ＲＡＭの非共有化から共有化、及びＲＡＭの共有化から非共有化などの変更を容易にし、設計工数および設計ミスを削減することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記の目的を達成するために為されたものである。本発明に係る装置は、回路ブロック図作成装置であって、
回路ブロック内に配置されたＲＡＭのデータから、共有化させるＲＡＭの選択を確定するＲＡＭ選択手段（１２）と、
選択の確定されたＲＡＭのデータを他のブロックに移動するＲＡＭ移動手段（１３）と、
ＲＡＭのデータの移動に応じて必要なＲＡＭインタフェース回路を自動生成するＲＡＭインタフェース回路生成手段（１４）と、
回路の動作を記述した回路記述ソースコード（１６）を自動生成する回路記述ソースコード生成手段（１５）と
を含む。
【００１１】
本発明に係る回路ブロック図作成装置は、
前記ＲＡＭインタフェース回路生成手段（１４）が、調停回路を自動生成してもよい。
【００１２】
本発明に係る回路ブロック図作成装置は、
前記ＲＡＭ選択手段（１２）が、複数のブロックから共有されているＲＡＭのうち一つの選択を確定し、前記ＲＡＭ移動手段（１３）が、前記の選択を確定されたＲＡＭを、共有化される前に配置されていたブロックに移動した場合、
前記ＲＡＭインタフェース回路生成手段（１４）は、複数のブロックから共有されているＲＡＭのデータのうち、前記の選択を確定され移動されたＲＡＭに関するデータを除去し、除去された後の回路に適合するように結線を削除し、
更に、前記ＲＡＭインタフェース回路生成手段（１４）は、複数のブロックから共有されているＲＡＭのデータが無くなれば、ＲＡＭ共有化に必要であった調停回路（６）を削除する
ようにしてもよい。
【００１３】
本発明に係る回路ブロック図作成装置は、
回路設計記述言語によりブロック内の動作を記述したソースコードからＲＡＭのデータを抽出するＲＡＭ抽出手段（１０）と、
前記ＲＡＭ抽出手段（１０）により抽出したＲＡＭのデータのリストを表示するＲＡＭリスト表示手段（１１）と
を更に含み、
前記ＲＡＭ選択手段（１２）が、前記ＲＡＭリスト表示手段（１１）が表示したＲＡＭのデータのリストから、共有化させるＲＡＭの選択を確定する
ようにしてもよい。
【００１４】
また、本発明に係る方法は、回路ブロック図作成方法であって、
回路ブロック内に配置されたＲＡＭのデータから、共有化させるＲＡＭの選択を確定するＲＡＭ選択工程と、
選択の確定されたＲＡＭのデータを他のブロックに移動するＲＡＭ移動工程と、
ＲＡＭのデータの移動に応じて必要なＲＡＭインタフェース回路を自動生成するＲＡＭインタフェース回路生成工程と、
回路の動作を記述した回路記述ソースコードを自動生成する回路記述ソースコード生成工程と
を含む。
【００１５】
また、本発明に係る半導体集積回路製造方法は、上記のような回路ブロック図作成方法を含む。
また、本発明に係る半導体集積回路装置の製造方法は、上記のような回路ブロック図作成方法を含む半導体集積回路設計工程と、その半導体集積回路設計工程によって生成される回路設計情報を用いて、半導体集積回路装置を製造するものである。
【発明の効果】
【００１６】
本発明では、共有すべきＲＡＭの指定およびＲＡＭの階層移動を回路ブロック図作成装置においてＧＵＩを用いて行っている。また、ＲＡＭの共有化に必要な結線および調停回路を自動的に生成する。このため、ＲＡＭ共有のためのハードウェア記述方法についての知識や技量に欠ける設計者でも、容易にＲＡＭ共有化を実現することができる。
【００１７】
また、本発明では、共有化を止めるＲＡＭの指定及びＲＡＭの階層移動を回路ブロック図作成装置においてＧＵＩを用いて行っている。また、ＲＡＭの共有化を止める場合に必要な結線および調停回路の除去を自動的に行う。このため、ＲＡＭの共有化を止める場合のハードウェア記述方法についての知識や技量に欠ける設計者でも、容易にＲＡＭの非共有化を実現することができる。
【００１８】
また、本発明では、ハードウェア記述言語にて記述されているソースコードからＲＡＭとなる変数を抽出し、抽出した変数をＲＡＭリストとして回路ブロック作成装置上に表示する。このため、ソースコード中のＲＡＭとなる部分を把握しやすくなる。そのリスト情報を使うことにより、共有するＲＡＭの指定が容易となる。
【００１９】
このように、本発明では、ＬＳＩ設計において、ＲＡＭの階層移動、ＲＡＭの非共有化から共有化、及びＲＡＭの共有化から非共有化などの変更を容易にし、設計工数および設計ミスを削減することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態に係る回路ブロック図作成装置の構成図である。
【図２】回路ブロック（第１回路ブロック、第２回路ブロック）図内にＳｙｓｔｅｍＣソースコードが記述された回路図例である。
【図３】回路ブロック（第１回路ブロック、第２回路ブロック）図内にＳｙｓｔｅｍＣソースコードが記述された回路図における、ＲＡＭリストの表示例である。
【図４】図３に示すＲＡＭリストにて選択が確定されたＲＡＭ１が第１回路ブロック（１）から一つ上の階層に移動された後の表示例である。
【図５】ＲＡＭ１とＲＡＭ３を共有化した後の回路の表示例である。
【図６】ＲＡＭ３を第２回路ブロック（２）へ戻した直後の表示例である。
【図７】ＲＡＭ１とＲＡＭ３の共有化が止められ、“ＲＡＭ１＿ＲＡＭ３”及び調停回路が削除された後の回路の表示例である。
【図８】複数のブロックからＲＡＭを共有する例である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明に係る好適な実施形態を説明する。
【００２２】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る回路ブロック図作成装置の構成図である。図１に示す回路ブロック図作成装置は、回路設計記述言語によりブロック内の動作を記述したソースコードからＲＡＭ（のデータ）を抽出するＲＡＭ抽出手段（１０）と、ＲＡＭ抽出手段（１０）により抽出したＲＡＭ（のデータ）のリストを表示するＲＡＭリスト表示手段（１１）と、ＲＡＭリスト表示手段（１１）が表示したＲＡＭリストから、若しくは回路ブロック内に配置されたＲＡＭ（のデータ）から、共有化させるＲＡＭの選択を確定するＲＡＭ選択手段（１２）と、選択の確定されたＲＡＭ（のデータ）を他のブロックに移動するＲＡＭ移動手段（１３）と、ＲＡＭ（のデータ）の移動に応じて必要なＲＡＭインタフェース回路を自動生成するＲＡＭインタフェース回路生成手段（１４）と、回路の動作を記述した回路記述ソースコード（１６）を自動生成する回路記述ソースコード生成手段（１５）とを、含む。
【００２３】
上述のＲＡＭ抽出手段（１０）、ＲＡＭリスト表示手段（１１）、ＲＡＭ選択手段（１２）、ＲＡＭ移動手段（１３）、ＲＡＭインタフェース回路生成手段（１４）、及び回路記述ソースコード生成手段（１５）は、パーソナルコンピュータやワークステーションコンピュータに適切なソフトウエアを搭載し、適宜の入力装置（キーボード、ポインティングデバイスなど）や出力装置（ディスプレイなど）を用いることにより実現されるものである。
【００２４】
本発明の第１の実施形態に係る回路ブロック図作成装置の動作について、図２〜図７に示すＬＳＩ設計の例を用いて以下説明する。
【００２５】
まず、ＲＡＭ抽出手段（１０）は、回路ブロック図内のハードウェア記述言語で書かれたソースコードからＲＡＭに関するデータを抽出する。ハードウェア記述言語の例としてＳｙｓｔｅｍＣを想定した場合、ソースコード中の配列変数に対してＲＡＭにすべき部分を抽出する。
【００２６】
ＲＡＭリスト表示手段（１１）は、ＲＡＭ抽出手段（１０）により抽出されたＲＡＭに関するデータに基づいて、ＲＡＭリストを表示する。図３は、ＲＡＭリストの表示例である。図２で示すような回路ブロック（第１回路ブロック（１）、第２回路ブロック（２））図内に記述されたＳｙｓｔｅｍＣソースコードにおける配列変数に対して、ＲＡＭ１、ＲＡＭ２、ＲＡＭ３、ＲＡＭ４という配列変数をＲＡＭとして抽出し、抽出結果をリストにより表示したのが、図３である。
【００２７】
以後、図３に示すＲＡＭのうち、ＲＡＭ１とＲＡＭ３を共有化する場合を想定する。
【００２８】
ＲＡＭ選択手段（１２）は、図３のように表示されたＲＡＭリストの中から、共有化するＲＡＭの選択を確定する。選択に当たっては、マウスなどのポインティングデバイスが利用される。つまり、マウスを介して選択が入力され、入力された選択に従ってＲＡＭ選択手段（１２）はＲＡＭの選択を確定する。ここでは、ＲＡＭ１が共有化されるので、ＲＡＭ１の選択が確定される。
【００２９】
ＲＡＭ移動手段（１３）は、上記ＲＡＭ選択手段（１２）にて選択が確定されたＲＡＭ（に関するデータ）を他の階層に移動する。図４は、図３に示すＲＡＭリストにて選択が確定されたＲＡＭ１が第１回路ブロック（１）から一つ上の階層に移動された後の表示例である。移動に当たっても、マウスなどのポインティングデバイスが利用される。つまり、ＲＡＭ移動手段（１３）は、ポインティングデバイスを用いたドラッグアンドドロップ手段を含むように構成される。
【００３０】
続いて、図４において、共有化されるべきもう一方のＲＡＭ３がＲＡＭ選択手段（１２）により選択を確定され、選択を確定されたＲＡＭ３がＲＡＭ移動手段（１３）により、第２回路ブロック（２）から、図４のＲＡＭ１が配置されている位置まで移動される。
【００３１】
ＲＡＭインタフェース回路生成手段（１４）は、ＲＡＭ１とＲＡＭ３とが同じ位置に配置されたことを受けて、ＲＡＭ１とＲＡＭ３とを共有化の対象とする。このときＲＡＭ１（及びＲＡＭ３）を、“ＲＡＭ１＿ＲＡＭ３”という名称に自動変更する。なお、変更後の名称は、外部から明示的に指定されてもよい。
【００３２】
そして、ＲＡＭインタフェース回路生成手段（１４）は、共有するための回路（６）を自動生成し、その回路シンボルの配置及び結線を行う。
【００３３】
図５は、ＲＡＭ１とＲＡＭ３を共有化した後の回路の表示例である。ＲＡＭを共有化するための回路は、調停回路（アービタ）や単純な選択回路（マルチプレクサ）でもよい。どのようなタイプの調停回路が自動生成されるかは、回路ブロック生成装置の外部から指定される。
【００３４】
回路記述ソースコード生成手段（１５）は、ＲＡＭ１とＲＡＭ３が共有化された後の回路記述情報をハードウェア記述言語にて記述するソースコードを自動生成する。
【００３５】
以上の回路ブロック図作成装置の動作により、ＲＡＭ１とＲＡＭ３が共有化された後の回路記述情報をハードウェア記述言語にて記述するソースコードが、生成される。
【００３６】
次に、図５に示されるＲＡＭ１とＲＡＭ３を共有化した回路において、ＲＡＭ１とＲＡＭ３の共有化を止める場合の動作を説明する。まず、ＲＡＭ選択手段（１２）は、図５中の“ＲＡＭ１＿ＲＡＭ３”の選択を確定する。
【００３７】
ＲＡＭ移動手段（１３）は、選択を確定された“ＲＡＭ１＿ＲＡＭ３”を、第２回路ブロック（２）の中に移動する。第２回路ブロック（２）には、元々、ＲＡＭ３が配置されていたから、“ＲＡＭ１＿ＲＡＭ３”の第２回路ブロック（２）の中への移動により、ＲＡＭ３に関するデータのみが実際に移動して、第２の回路ブロック（２）内にＲＡＭ３が再び表示される。図６は、ＲＡＭ３を第２回路ブロック（２）へ戻した直後の表示例である。
【００３８】
図５に示すようなＲＡＭ３の共有化が無くなるので、ＲＡＭインタフェース回路生成手段（１４）は、“ＲＡＭ１＿ＲＡＭ３”からＲＡＭ３に関するデータを除去して（即ち、“ＲＡＭ＿ＲＡＭ３”からＲＡＭ３を除き）、除去された後の回路に適合するように結線を削除する。このとき、“ＲＡＭ１＿ＲＡＭ３”の表示は“ＲＡＭ１”となるのが好ましい。
【００３９】
更に、ＲＡＭ移動手段（１３）は、選択を確定された（ＲＡＭ３に関するデータが除去された）“ＲＡＭ１”を、第１回路ブロック（１）の中にも移動する。“ＲＡＭ１”の第１回路ブロック（１）の中への移動により、第１の回路ブロック（１）内にＲＡＭ１が再び表示される。ＲＡＭ３のときと同様に、図５に示すようなＲＡＭ１の共有化が無くなるので、ＲＡＭインタフェース回路生成手段（１４）は、“ＲＡＭ１”を除去し、除去された後の回路に適合するように結線を削除する。このとき、ＲＡＭ共有化に必要であった調停回路（６）も、ＲＡＭインタフェース回路生成手段（１４）により削除される。複数のブロックから共有されているＲＡＭのデータが無くなり、調停回路（６）が存在する理由が無くなったからである。
【００４０】
回路記述ソースコード生成手段（１５）は、ＲＡＭ１とＲＡＭ３の共有化が止められた後の回路記述情報をハードウェア記述言語にて記述するソースコードを自動生成する。
【００４１】
図７は、ＲＡＭ１とＲＡＭ３の共有化が止められ、“ＲＡＭ１＿ＲＡＭ３”及び調停回路（６）が削除された後の回路の表示例である。図から明らかなように、図７は図３と同じ回路図を示している。
【００４２】
［その他の実施形態］
以上、本発明の好適な実施形態である回路ブロック図作成装置を説明したが、本発明はこれに限定されるものではない。例えば、本発明は、回路ブロック図作成方法としても実現され得る。また、本発明は、そのような回路ブロック図作成方法を含む半導体集積回路製造方法としても実現され得るものである。
【符号の説明】
【００４３】
１・・・第１回路ブロック、
２・・・第２回路ブロック、
６・・・調停回路、
１０・・・ＲＡＭ抽出手段、
１１・・・ＲＡＭリスト表示手段、
１２・・・ＲＡＭ選択手段、
１３・・・ＲＡＭ移動手段、
１４・・・ＲＡＭインタフェース回路生成手段、
１５・・・回路記述ソースコード生成手段、
１６・・・回路記述ソースコード。
【先行技術文献】
【特許文献】
【００４４】
【特許文献１】特開２００５−０９３９４７公報
【図１】
2011060188.tif 000003
【図２】
2011060188.tif 000004
【図３】
2011060188.tif 000005
【図４】
2011060188.tif 000006
【図５】
2011060188.tif 000007
【図６】
2011060188.tif 000008
【図７】
2011060188.tif 000009
【図８】
2011060188.tif 000010