(57)【要約】【課題】Ｖｅｒｉｌｏｇを使用して設計を行う際に、ｇｅｎｅｒａｔｅ構文が用いられている場合であっても論理検証を適切に行うことができるようにする論理設計支援システムを提供する。【解決手段】ｇｅｎｅｒａｔｅ構文の展開を指示するコメント文である専用コメントを含む専用コメント付き入力ＲＴＬ１１を入力とし、これから専用コメントを検出して展開対象のｇｅｎｅｒａｔｅ構文を取り出すＲＴＬ解析部１２と、ＲＴＬ解析部で取り出されたｇｅｎｅｒａｔｅ構文を展開し、展開によって生成したインスタンスに対し、専用コメントで指定された生成フォーマットに基づいて階層インスタンス名を付与する論理展開部１３と、専用コメント付き入力ＲＴＬ１１のうちＲＴＬ解析部１２で取り出されなかった部分と論理展開部２３で展開されたものとをマージして出力ＲＴＬ１６を生成して出力するＲＴＬ出力部１５と、を設ける。【選択図】図１
2008250636.tif 000002
【特許請求の範囲】
【請求項１】
Ｖｅｒｉｌｏｇを用いた論理設計を支援する論理設計支援システムであって、
ｇｅｎｅｒａｔｅ構文の展開を指示するコメント文である専用コメントを含むＲＴＬを入力ＲＴＬとし、該入力ＲＴＬから前記専用コメントを検出して展開対象のｇｅｎｅｒａｔｅ構文を取り出すＲＴＬ解析部と、
前記ＲＴＬ解析部で取り出されたｇｅｎｅｒａｔｅ構文を展開する論理展開部と、
前記入力ＲＴＬのうち前記ＲＴＬ解析部で取り出されなかった部分と前記論理展開部で展開されたものとをマージして出力ＲＴＬを生成して出力するＲＴＬ出力部と、
を有する、論理設計支援システム。
【請求項２】
前記専用コメントは、インスタンス名の生成フォーマットを指定する記載を含み、
前記論理展開部は、前記生成フォーマットに基づいて、前記ｇｅｎｅｒａｔｅ構文を展開して得られるインスタンスに一意にインスタンス名を付与する、請求項１に記載の論理設計支援システム。
【請求項３】
前記専用コメントは、前記展開対象のｇｅｎｅｒａｔｅ構文の直前に配置される展開開始の専用コメントと、前記展開対象のｇｅｎｅｒａｔｅ構文の直後に配置される展開終了の専用コメントとからなり、前記ＲＴＬ解析部は、前記展開開始の専用コメントと前記展開終了の専用コメントとによって括られた部分を前記展開対象のｇｅｎｅｒａｔｅ構文として取り出す、請求項１に記載の論理設計支援システム。
【請求項４】
Ｖｅｒｉｌｏｇを用いた論理設計を支援する処理をコンピュータに実行させるプログラムであって、
前記コンピュータを、
ｇｅｎｅｒａｔｅ構文の展開を指示するコメント文である専用コメントを含むＲＴＬを入力ＲＴＬとし、該入力ＲＴＬから前記専用コメントを検出して展開対象のｇｅｎｅｒａｔｅ構文を取り出すＲＴＬ解析手段と、
前記ＲＴＬ解析手段で出されたｇｅｎｅｒａｔｅ構文を展開する論理展開手段と、
前記入力ＲＴＬのうち前記ＲＴＬ解析手段で取り出されなかった部分と前記論理展開手段で展開されたものとをマージして出力ＲＴＬを生成して出力するＲＴＬ出力手段と、
して機能させるプログラム。
【請求項５】
前記専用コメントは、インスタンス名の生成フォーマットを指定する記載を含み、
前記論理展開手段は、前記生成フォーマットに基づいて、前記ｇｅｎｅｒａｔｅ構文を展開して得られるインスタンスに一意にインスタンス名を付与する、請求項４に記載のプログラム。
【請求項６】
前記専用コメントは、前記展開対象のｇｅｎｅｒａｔｅ構文の直前に配置される展開開始の専用コメントと、前記展開対象のｇｅｎｅｒａｔｅ構文の直後に配置される展開終了の専用コメントとからなり、前記ＲＴＬ解析手段は、前記展開開始の専用コメントと前記展開終了の専用コメントとによって括られた部分を前記展開対象のｇｅｎｅｒａｔｅ構文として取り出す、請求項４に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（大規模集積回路）などの設計を支援する論理設計支援システムに関し、特に、ハードウェア記述言語（ＨＤＬ；hardware description language）としてＶｅｒｉｌｏｇを使用して設計を行う際に、ｇｅｎｅｒａｔｅ構文が用いられている場合であっても論理検証を適切に行うことができるようにした論理設計支援システムに関する。
【背景技術】
【０００２】
ＬＳＩなどの半導体装置の設計においては、ハードウェア記述言語を用いてハードウェアを記述し、この記述に基づいて論理合成を行い、論理検証を行った後、半導体装置の製造に実際にとりかかることが一般的である。設計すべきＬＳＩの規模が大きくなるにつれて、設計者が担うべき記述量も多くなり、繰り返しのある構造をなるべく簡単化するためには、１種ｎ枚の階層の構成やｇｅｎｅｒａｔｅ構文の利用は非常に有効な手段である。ＨＤＬとしてしばしば用いられるＶｅｒｉｌｏｇにおいてもｇｅｎｅｒａｔｅ構文の使用が可能であって、ｇｅｎｅｒａｔｅ構文を使用することによって、ＲＴＬ(register transfer level)での記述量を削減することができる。
【０００３】
しかしながら、繰り返し記述が多いということは、自動検証ツールがネットリストのツリー(tree)構造から自動的にレジスタのマッチングをとることを難しくし、そのため、論理検証に時間が長くかかるようになる。その理由は、汎用の論理検証ツールでは、検証元ＲＴＬと被検証ＲＴＬとの間でマッチングがとれるレジスタで区切られた論理コーンごとに検証を実行するが、１種ｎ枚の階層下のレジスタでは、ネットリストのツリー構造が同じものが多数あるため、検証ツールで自動的にマッチングをとることができなくなることにある。また、ｇｅｎｅｒａｔｅ構文を用いた場合には、論理合成ツールにより、ｇｅｎｅｒａｔｅ構文内の階層インスタンス名は任意に生成される。このとき、自動発生によりインスタンス名を生成した階層下にあるブラックボックスでは入出力ピンの対応を指定できないため、検証不可な検証ポイントを残す結果となる。具体的には、ハードマクロなど論理検証できない階層をブラックボックスで検証する場合には、ブラックボックスの入出力ピンも検証の始終点となるため、入出力ピンの位置対応も設計者により設定されていなければ、正しく論理検証を行うことができないことになる。
【０００４】
なお、特開２０００−１１０１０号公報（特許文献１）には、論理設計支援システムにおける論路合成方法であって、仕様変更等に伴う回路変更作業に際して、使用しているセルの種類や数、インスタンス名、ノード名を回路図ネットから抽出し、抽出したインスタンスなどを用いて論理合成を再度実行する方法が開示されている。特開２００３−８５２２１号公報（特許文献２）には、ＲＴＬモジュールの各論理記述を、その入出力信号情報を切り口として保存する階層インスタンスに変換し、ＲＴＬモジュールをそららの階層インスタンスで階層化することにより、ＲＴＬ記述と合成された論理回路との対応をとることを容易に行えるようにしたＲＴＬ自動階層化システムが開示されている。特開２００６−２６０２８８号公報（特許文献３）には、階層構造を有する論理回路に関する情報を読み込み、所定の階層に属するインスタンスを他の階層に移動する方法において、インスタンスの他の階層への移動の際、当該インスタンスに対する信号の接続を保ったまま、当該移動に伴って新たに必要とされる階層ポートの生成、接続、及び不要となる階層ポートの切断、消去を行うことによって、論理回路の再構成の作業を容易に行えることが開示されている。特開２００６−２８５３３３号公報（特許文献４）には、動作レベル回路記述に付加する付帯情報からＲＴＬ回路記述に付加する付帯情報への変換を可能にして設計効率を向上させることができる動作合成装置として、動作レベル回路記述を基にＲＴＬ回路記述を生成し、動作レベル回路記述とＲＴＬ回路記述の相違からそれらの対応関係を示す情報を生成する動作合成手段と、予め設定された変換ルール、及び動作合成手段で生成された対応関係の情報を基に、動作レベル回路記述に付加された付帯情報をＲＴＬ記述に付加する付帯情報に変換する付帯情報変換手段と、を有する装置が開示されている。
【特許文献１】特開２０００−１１０１０号公報
【特許文献２】特開２００３−８５２２１号公報
【特許文献３】特開２００６−２６０２８８号公報
【特許文献４】特開２００６−２８５３３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、ＨＤＬとしてＶｅｒｉｌｏｇを用いる論理設計支援システムにおいては、入力ＲＴＬにおいてｇｅｎｅｒａｔｅ構文内に階層記述がなされている場合には、その階層下のレジスタの検証が困難であったり、ブラックボックスとして検証する階層の検証ができないなどの問題が発生する。
【０００６】
本発明の目的は、これらの問題を解決し、ｇｅｎｅｒａｔｅ構文を展開したときの展開インスタンス名を一意に与えることが可能な論理設計支援システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の論理設計支援システムは、Ｖｅｒｉｌｏｇを用いた論理設計を支援する論理設計支援システムであって、ｇｅｎｅｒａｔｅ構文の展開を指示するコメント文である専用コメントを含むＲＴＬを入力ＲＴＬとし、該入力ＲＴＬから専用コメントを検出して展開対象のｇｅｎｅｒａｔｅ構文を取り出すＲＴＬ解析部と、ＲＴＬ解析部で取り出されたｇｅｎｅｒａｔｅ構文を展開する論理展開部と、入力ＲＴＬのうちＲＴＬ解析部で取り出されなかった部分と論理展開部で展開されたものとをマージして出力ＲＴＬを生成して出力するＲＴＬ出力部と、を有する。
【０００８】
本発明によれば、専用コメントによって指定されたｇｅｎｅｒａｔｅ構文については予めて予め展開されている出力ＲＴＬを生成することができ、これによって、論理合成ツールが階層インスタンス名を任意に生成することを防止できて、論理検証を正しく行うことが容易に行えるようになる。
【０００９】
特に本発明では、インスタンス名の生成フォーマットを指定する記載を専用コメントに含ませておき、ｇｅｎｅｒａｔｅ構文を展開して得られるインスタンスに対し、生成フォーマットに基づいて論理展開部が一意にインスタンス名を付与するようにする構成することが好ましい。このように構成することによって、専用コメントで指定された部分については、Ｖｅｒｉｌｏｇによる入力ＲＴＬ内での当該部分のｇｅｎｅｒａｔｅ構文で記述した階層インスタンスが、指定されたフォーマットのインスタンス名で一意に展開することとなる。したがって本発明では、指定したフォーマットの名前でインスタンス名を残すように部分的に展開したＶｅｒｉｌｏｇのＲＴＬを作成することにより、そのようなＲＴＬに対して論理合成と論理検証を行った場合に、ｇｅｎｅｒａｔｅ構文内の階層下にブラックボックスを含む場合にも正しく検証できるようになる。
【発明の効果】
【００１０】
本発明によれば、ｇｅｎｅｒａｔｅ構文で記述した階層インスタンスを、指定したフォーマットのインスタンス名で展開することにより、この階層下にあるブラックボックスの階層インスタンス名が一意に分かることになる。その結果、ｇｅｎｅｒａｔｅ構文下にあるブラックボックスを含む回路の検証を正しく行うことができるようになり、また、レジスタのマッチングを容易に行うことができて、検証に要する時間を大幅に短縮することができるようになる。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の/好ましい実施の形態について、図面を参照して説明する。図１は、本発明の実施の一形態の論理設計支援システムの構成を示すブロック図である。
【００１２】
図１に示す論理設計支援システムは、入力ＲＴＬとして専用コメント付き入力ＲＴＬ１１が与えられ、この専用コメント付き入力ＲＴＬ１１に基づいて、指定したフォーマットの名前でインスタンス名を残すように部分的に展開したＲＴＬを出力ＲＴＬ１６として出力するものである。この論理設計支援システムは、ＲＴＬ解析部１２と論理展開部１３とＲＴＬ出力部１５とを備えるとともに、これらのＲＴＬ解析部１２と論理展開部１３とＲＴＬ出力部１５で生成した内部データを格納するための内部データ格納部１４を備えている。
【００１３】
本実施形態においては、専用コメント付き入力ＲＴＬ１１も出力ＲＴＬ１６もＶｅｒｉｌｏｇで記述されており、図２は、専用コメント付き入力ＲＴＬ１１の記述例を示している。専用コメント付き入力ＲＴＬ１１では、階層記述を含むｇｅｎｅｒａｔｅ構文（論理記述２３，２７）の前後に、そのようなｇｅｎｅｒａｔｅ構文であることを示すコメント文（専用コメント２２，２４，２６，２９）を配置するようにしている。ここで、「／／＊＃ＥＸＰＳＴ」で始まる専用コメント２２，２６は、そのようなｇｅｎｅｒａｔｅ構文の開始を示す展開開始のコメント文であって、展開時に使用するインスタンス名を示すフォーマットを指定できるようになっている。また、「／／＊＃ＥＸＰＥＮＤ」で示される専用コメント２４，２８は、そのようなｇｅｎｅｒａｔｅ構文の終了を示す展開終了のコメント文である。
【００１４】
次に、この論理設計支援システムの各構成要素について説明する。
【００１５】
ＲＴＬ解析部１２は、専用コメント付き入力ＲＴＬ１１を入力とし、専用コメント付き入力ＲＴＬにおける専用コメント２２，２４で括られた部分の論理記述２３と、専用コメント２６，２８で括られた部分の論理記述２７と、これらの専用コメント２２，２６で指定したインスタンス名のフォーマット指定とを取り出す。
【００１６】
論理展開部１３は、ＲＴＬ解析部１２で取り出された論理記述（すなわちｇｅｎｅｒａｔｅ構文）に関し、その論理記述中のｇｅｎｖａｒ変数を展開したＲＴＬへの書き換えを行う。このとき、モジュールインスタンス記述の階層インスタンス名には、元のインスタンス名に対して、専用コメント２２，２６で指定したフォーマットで生成したインスタンス名をつける。図３は、論理展開部１３で展開された後のＲＴＬを示している。
【００１７】
ＲＴＬ出力部１５は、元のＲＴＬすなわち専用コメント付き入力ＲＴＬ１１においてＲＴＬ解析部１２において取り出されなかった部分（論理記述２１，２５，２８）と、論理展開部１３で展開された後のＲＴＬとをマージすることによって、出力ＲＴＬ１６を生成し、出力する。図４は、出力ＲＴＬ１４を示している。
【００１８】
次に、この論理設計支援システムの動作を説明する。
【００１９】
図２に示すような専用コメント付き入力ＲＴＬ１１が本実施形態の論理設計支援システムに与えられると、まず、ＲＴＬ解析部１２は、専用コメント付き入力ＲＴＬ１１中の展開開始の専用コメント２２，２６と展開終了の専用コメント２４，２８とを検出して、このＲＴＬを処理対象の部分（論理記述２３，２７）とそれ以外の部分（論理記述２１，２５，２９）とに分けて、内部データとして内部データ格納部１４に記憶する。専用コメントに囲まれる論理記述のグループは、１モジュール内に複数個存在可能であって、各グループごとに内部データ格納部１４に保存される。このとき、ＲＴＬ解析部１２は、展開開始の専用コメント２２，２６で指定したインスタンス名のフォーマット指定を、各専用コメントのグループごとの情報として保存する。これらの動作を図２を用いて説明すると、専用コメント２２，２４で囲まれる論理記述のグループ２３は、専用コメント２２で指定されたフォーマット“＄ｉｎｓ＿１＿＄ｉ”とともに内部データ格納部１４に保存され、専用コメント２６，２８で囲まれる論理記述のグループ２７は、専用コメント２６で指定したフォーマット“＄ｉｎｓ＿２＿＄ｉ”とともに内部データ格納部１４に保存される。
【００２０】
次に論理展開部１３は、ＲＴＬ解析部１２で作成された内部データを内部データ格納部１４から読み込み、各専用コメントで括られたグループごとに、ｇｅｎｖａｒ変数を展開したＲＴＬへの書き換えを行う。また、このとき、モジュールインスタンス記述の階層インスタンス名には、元のインスタンス名に対して、対応する専用コメントで指定されたフォーマットで生成したインスタンス名をつける。これらの動作を図２及び図３を用いて説明すると、図２の専用コメント２２，２４で囲まれる論理記述のグループ２３は、図３の記述３１に示すように、フォーマット“＄ｉｎｓ＿１＿＄ｉ”の階層インスタンス名で保存され、図２の専用コメント２６，２８で囲まれる論理記述のグループ２７は、図３の記述３２に示すように、フォーマット“＄ｉｎｓ＿２＿＄ｉ”の階層インスタンス名で保存される。
【００２１】
最後に、ＲＴＬ出力部１５は、元のＲＴＬ（図２に示す専用コメント付き入力ＲＴＬ１１）において専用コメントで括られた部分以外の部分（論理記述２１，２５，２９）と論理展開部１３で展開したＲＴＬ（図３の記述３１，３２）とをマージして、出力ＲＴＬ１６として出力する。このとき、論理記述もしくは論理記述のグループとしての記述順が元のＲＴＬと同一になるように、出力ＲＴＬ１６では、図４に示すように、論理記述２１と同じ記述４１、論理記述のグループ２３に対応する記述３１と同じ記述４２、論理記述２５と同じ記述４３、論理記述のグループ２７に対応する記述３２と同じ記述４４、論理記述２９と同じ記述４５の順で配置している。
【００２２】
このような出力ＲＴＬ１６を論理合成ツールに与えた場合には、一意のインスタンス名が付与されるようにして入力ＲＴＬのうち論理記述２３，２７のｇｅｎｅｒａｔｅ構文が既に展開されているので、これらのｇｅｎｅｒａｔｅ構文に対して論理合成ツールが任意に階層インスタンス名を付与することはない。したがって、論理合成ツールによって階層インスタンス名が任意に生成されることはなく、これによって、階層記述の階層下のレジスタの検証や、ブラックボックスとして検証する階層の検証を容易に行えるようになる。
【００２３】
このように本実施形態によれば、ｇｅｎｅｒａｔｅ構文を用いたＶｅｒｉｌｏｇ言語記述を入力とする、論理合成、論理検証、シュミレーションなどの設計システム分野において、ｇｅｎｅｒａｔｅ文を展開する際にインスタンス名を明示的に残すようにすることにより、入力Ｖｅｒｉｌｏｇのｇｅｎｅｒａｔｅ構文内のどこかで不具合が発見された場合に、不具合の解析を容易にすることができるようになる。
【００２４】
以上説明した本発明の論理設計支援システムは、それを実現するためのコンピュータプログラムを、パーソナルコンピュータやワークステーションなどのコンピュータに読み込ませ、そのプログラムを実行させることによっても実現できる。論理設計支援システムとしてコンピュータを機能させるためのプログラムは、ＣＤ−ＲＯＭなどの記録媒体によって、あるいはネットワークを介してコンピュータに読み込まれる。本発明の範疇には、コンピュータを上述した論理設計支援システムとして機能させるためのプログラムも含まれる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の一形態の論理設計支援システムの構成を示すブロック図である。
【図２】専用コメント付き入力ＲＴＬの記述例を示す図である。
【図３】論理展開部によってインスタンス名が付与されたＲＴＬの例を示す図である。
【図４】ＲＴＬ出力部から得られる出力ＲＴＬの例を示す図である。
【符号の説明】
【００２６】
１１    専用コメント付き入力ＲＴＬ
１２    ＲＴＬ解析部
１３    論理展開部
１４    内部データ格納部
１５    ＲＴＬ出力部
１６    出力ＲＴＬ
【図１】
2008250636.tif 000003
【図２】
2008250636.tif 000004
【図３】
2008250636.tif 000005
【図４】
2008250636.tif 000006