(57)【要約】【課題】  回路記述データの変更に要する手間や時間を大幅に低減する。【解決手段】  階層構造リスト生成手段１０１は、修正前の回路記述データから各モジュールの階層構造を示す階層構造リストを生成し、出力モジュール検索手段１０３は、装置に与えられる回路変更指示に基づいて、上記指示に含まれる信号名によって示される、追加接続する信号が何れのモジュールで生成されているかを検索し、回路変更手段１０４は、回路変更指示に応じた信号線の接続をするために、各モジュールに追加されるポート、および各ポートと信号線との接続を示す情報が含まれるように、回路記述データを変更し、ポート属性宣言文挿入手段１０５は、上記回路変更手段１０４によって追加されたポートについて、それらのポートの入出力の別を示す属性宣言文を各モジュールについての記述に追加する。【選択図】  図１
2005309764.tif 000002
【特許請求の範囲】
【請求項１】
モジュール単位で回路の構成が記述された回路記述データを生成する回路記述データ生成装置であって、
既に生成された回路記述データにおける何れかのモジュール内で、他のモジュール内で用いられている信号が新たに用いられることを示す変更指示情報が入力される入力手段と、
上記何れかのモジュールに、上記信号が外部から入力されるポートを示す情報、および上記信号の接続関係を示す情報を上記回路記述データに追加するポート情報追加手段と、
を備えたことを特徴とする回路記述データ生成装置。
【請求項２】
請求項１の回路記述データ生成装置であって、
上記回路記述データは、階層構造を有するモジュールを記述可能な言語を用いて記述されたものであって、
さらに、上記回路記述データの階層構造を解析する階層構造解析手段を備え、
上記ポート情報追加手段は、上記何れかのモジュールおよび上記他のモジュールから、上位の共通のモジュールまでの各階層のモジュールについて、上記信号が各モジュールの外部に出力されるポートまたは外部から入力されるポートを示す情報を追加するように構成されていることを特徴とする回路記述データ生成装置。
【請求項３】
請求項２の回路記述データ生成装置であって、
上記階層構造解析手段は、階層構造の解析によって階層構造リストを作成するように構成され、
上記ポート情報追加手段は、上記階層構造リストを参照するように構成されていることを特徴とする回路記述データ生成装置。
【請求項４】
請求項２の回路記述データ生成装置であって、
上記ポート情報追加手段は、追加する上記ポートを示す情報に、上記信号が入力されるポートか出力されるポートかの区別を示すポート属性情報を含めるように構成されていることを特徴とする回路記述データ生成装置。
【請求項５】
請求項２の回路記述データ生成装置であって、
上記変更指示情報は、信号名によって上記信号を特定するものであって、
さらに、上記信号名によって、上記信号を用いている上記他のモジュールを検索する検索手段を備え、
上記ポート情報追加手段は、上記検索の結果に基づいて、上記ポートを示す情報を追加するように構成されていることを特徴とする回路記述データ生成装置。
【請求項６】
請求項５の回路記述データ生成装置であって、
上記既に生成された回路記述データは、同名の信号を識別する同名信号識別情報を含むものであって、
上記検索手段は、上記信号名、および同名信号識別情報によって、上記他のモジュールを検索するように構成されていることを特徴とする回路記述データ生成装置。
【請求項７】
請求項６の回路記述データ生成装置であって、
上記回路記述データは、上記同名信号識別情報をコメントとして含むものであることを特徴とする回路記述データ生成装置。
【請求項８】
モジュール単位で回路の構成が記述された回路記述データを生成する回路記述データ生成方法であって、
既に生成された回路記述データにおける何れかのモジュール内で、他のモジュール内で用いられている信号が新たに用いられることを示す変更指示情報が入力される入力ステップと、
上記何れかのモジュールに、上記信号が外部から入力されるポートを示す情報、および上記信号の接続関係を示す情報を上記回路記述データに追加するポート情報追加ステップと、
を有することを特徴とする回路記述データ生成方法。
【請求項９】
モジュール単位で回路の構成が記述された回路記述データを生成する回路記述データ生成プログラムであって、
既に生成された回路記述データにおける何れかのモジュール内で、他のモジュール内で用いられている信号が新たに用いられることを示す変更指示情報が入力される入力ステップと、
上記何れかのモジュールに、上記信号が外部から入力されるポートを示す情報、および上記信号の接続関係を示す情報を上記回路記述データに追加するポート情報追加ステップと、
をコンピュータに実行させることを特徴とする回路記述データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路（ハードウェア）記述言語によって、設計された回路の構成が記述された回路記述データを生成する回路記述データ生成装置に関するものである。
【背景技術】
【０００２】
近年、ハードウェア記述言語を使って論理回路を設計する設計手法が一般的となっている。ハードウェア記述言語の最も一般的な例としては、Verilog-HDLが挙げられる（例えば、非特許文献１参照。）。従来は、上記Verilog-HDL等の言語仕様に適合した回路記述データがテキストエディタなどを用いて作成されている。
【０００３】
Verilog-HDLでは、モジュール単位で回路構成が定義され、また、回路に階層構造を持たせることが可能で、通常は、複数の階層を有するように記述される。モジュール間の信号線の接続は、下位モジュールにおける入出力ポートの一覧の記述、および上位モジュールから下位モジュールを引用する箇所に記述される、入出力ポートと信号線との対応関係によって定義される。
【０００４】
例えば、モジュールTOP内に、モジュールAA，BAを有する回路の場合、Verilog-HDLによる回路記述データは、例えば以下のようなものになる。
module TOP( clk, sigin1, sigin2, sigout1, sigout2 );                 //  1行目
input clk,sigin1,sigin2;                                           //  2行目
output sigout1,sigout2;                                            //  3行目
AA AA0( .clk(clk), .src1(sigin1), .src2(sigin2), .dest(sigout1) ); //  4行目
BA BA0( .clk(clk), .srca(sigin1), .srcb(sigin2), .xyz(sigout2) );  //  5行目
endmodule                                                            //  6行目
module AA( clk, src1, src2, dest );                                  //  8行目
input clk, src1, src2;                                             //  9行目
output dest;                                                       // 10行目
// 以下、論理回路の記述（省略）                                    // 11行目
endmodule                                                            // 12行目
module BA( clk, srca, srcb, xyz );                                   // 14行目
input clk, srca, srcb;                                             // 15行目
output xyz;                                                        // 16行目
// 以下、論理回路の記述（省略）                                    // 17行目
endmodule                                                            // 18行目
上記回路記述データの例では、
１行目から６行目までは、モジュールTOPについての記述で、
１行目の（）の中がポート（ポート名はモジュールTOP内での信号名と同じ）のリストであり、
２〜３行目で（入力か出力か）の定義が行われ、
４行目では、下位モジュールAAとの接続関係が定義されている。
【０００５】
詳しくは、AA0はインスタンス名と呼ばれる識別子で、同一の階層にて同一モジュールを複数個使用する場合に、それぞれを識別可能なように付与するものである。
【０００６】
また、.port#name(net#name) という形式で、下位モジュールの入出力ポートport#nameと、上記下位モジュールの外部の（上位モジュール内の）信号線net#nameとを接続することが定義されている。より具体的には、例えば４行目中の.src1(sigin1)によって、モジュールAAのポートsrc1に、モジュールTOPの信号線sigin1を接続することが記述されている。
【０００７】
８行目から１２行目まで、および１４行目から１８行目までは、同様の形式によって、モジュールAA，BAの回路構成が記述されている。
【非特許文献１】“Verilog-XL Reference Manual”、Cadennce社発行
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記のようなモジュール単位で記述された回路記述データを用いる場合、あるモジュールについて、そのモジュール外（他のモジュール内）の信号を用いるような修正を行うためには、モジュール内外に信号が入出力されるポート、およびポートを介した信号の接続関係を示す情報の追加を指示する操作が必要であった。このため、論理的には微少な修正であっても、その修正のために大きな工数が必要とされていた。
【０００９】
本発明は、上記の点に鑑み、他のモジュール内で用いられている信号が新たに用いられるような修正をする場合でも、そのために要する手間や時間を大幅に低減することを課題としている。
【課題を解決するための手段】
【００１０】
上記の課題を解決するため、請求項１の発明は、
モジュール単位で回路の構成が記述された回路記述データを生成する回路記述データ生成装置であって、
既に生成された回路記述データにおける何れかのモジュール内で、他のモジュール内で用いられている信号が新たに用いられることを示す変更指示情報が入力される入力手段と、
上記何れかのモジュールに、上記信号が外部から入力されるポートを示す情報、および上記信号の接続関係を示す情報を上記回路記述データに追加するポート情報追加手段と、
を備えたことを特徴とする。
【００１１】
これにより、ポート情報追加手段は、何れかのモジュール内で、他のモジュール内で用いられている信号が新たに用いられることを示す変更指示情報に基づいて、上記新たに用いられる信号がモジュールの外部から入力されるポートを示す情報、および信号の接続関係を示す情報を回路記述データに追加する。
【００１２】
また、請求項２の発明は、
請求項１の回路記述データ生成装置であって、
上記回路記述データは、階層構造を有するモジュールを記述可能な言語を用いて記述されたものであって、
さらに、上記回路記述データの階層構造を解析する階層構造解析手段を備え、
上記ポート情報追加手段は、上記何れかのモジュールおよび上記他のモジュールから、上位の共通のモジュールまでの各階層のモジュールについて、上記信号が各モジュールの外部に出力されるポートまたは外部から入力されるポートを示す情報を追加するように構成されていることを特徴とする。
【００１３】
これにより、ポート情報追加手段は、上下位の階層にまたがったポートおよび信号の追加を示す情報を回路記述データに追加する。
【００１４】
また、請求項３の発明は、
請求項２の回路記述データ生成装置であって、
上記階層構造解析手段は、階層構造の解析によって階層構造リストを作成するように構成され、
上記ポート情報追加手段は、上記階層構造リストを参照するように構成されていることを特徴とする。
【００１５】
これにより、ポート情報追加手段は、追加する必要のあるポートを容易に求めて、そのポートを示す情報を追加する。
【００１６】
また、請求項４の発明は、
請求項２の回路記述データ生成装置であって、
上記ポート情報追加手段は、追加する上記ポートを示す情報に、上記信号が入力されるポートか出力されるポートかの区別を示すポート属性情報を含めるように構成されていることを特徴とする。
【００１７】
これにより、ポート情報追加手段は、入出力の区別を示す情報とともに、ポートの追加を示す情報を回路記述データに追加する。
【００１８】
また、請求項５の発明は、
請求項２の回路記述データ生成装置であって、
上記変更指示情報は、信号名によって上記信号を特定するものであって、
さらに、上記信号名によって、上記信号を用いている上記他のモジュールを検索する検索手段を備え、
上記ポート情報追加手段は、上記検索の結果に基づいて、上記ポートを示す情報を追加するように構成されていることを特徴とする。
【００１９】
これにより、検索手段は、何れかのモジュールで新たに用いられる信号を用いている他のモジュールを検索し、ポート情報追加手段は、その検索の結果に基づいて、ポートを示す情報を追加する。
【００２０】
また、請求項６の発明は、
請求項５の回路記述データ生成装置であって、
上記既に生成された回路記述データは、同名の信号を識別する同名信号識別情報を含むものであって、
上記検索手段は、上記信号名、および同名信号識別情報によって、上記他のモジュールを検索するように構成されていることを特徴とする。
【００２１】
これにより、検索手段は、上記信号名、および同名信号識別情報によって、上記他のモジュールを検索する。
【００２２】
また、請求項７の発明は、
請求項６の回路記述データ生成装置であって、
上記回路記述データは、上記同名信号識別情報をコメントとして含むものであることを特徴とする。
【００２３】
これにより、信号名の整合性などに影響を与えることなく、同名の信号が識別される。
【００２４】
また、請求項８の発明は、
モジュール単位で回路の構成が記述された回路記述データを生成する回路記述データ生成方法であって、
既に生成された回路記述データにおける何れかのモジュール内で、他のモジュール内で用いられている信号が新たに用いられることを示す変更指示情報が入力される入力ステップと、
上記何れかのモジュールに、上記信号が外部から入力されるポートを示す情報、および上記信号の接続関係を示す情報を上記回路記述データに追加するポート情報追加ステップと、
を有することを特徴とする。
【００２５】
また、請求項９の発明は、
モジュール単位で回路の構成が記述された回路記述データを生成する回路記述データ生成プログラムであって、
既に生成された回路記述データにおける何れかのモジュール内で、他のモジュール内で用いられている信号が新たに用いられることを示す変更指示情報が入力される入力ステップと、
上記何れかのモジュールに、上記信号が外部から入力されるポートを示す情報、および上記信号の接続関係を示す情報を上記回路記述データに追加するポート情報追加ステップと、
をコンピュータに実行させることを特徴とする。
【００２６】
これらにより、ポート情報追加ステップでは、何れかのモジュール内で、他のモジュール内で用いられている信号が新たに用いられることを示す変更指示情報に基づいて、上記新たに用いられる信号がモジュールの外部から入力されるポートを示す情報、および信号の接続関係を示す情報が回路記述データに追加される。
【発明の効果】
【００２７】
本発明によれば、他のモジュール内で用いられている信号が新たに用いられるような修正をする場合でも、そのために要する手間や時間を大幅に低減することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【００２９】
回路記述データ生成装置は、実際には、通常、ＣＰＵや記憶部を有するコンピュータにソフトウェアが組み込まれて構成されるが、機能的には、例えば図１に示すように構成されている。すなわち、回路記述データ生成装置は、階層構造リスト生成手段１０１と、記憶部１０２と、出力モジュール検索手段１０３と、回路変更手段１０４と、ポート属性宣言文挿入手段１０５とを備えて構成されている。ここで、以下の説明では、図２に示すような回路が図３のように変更される場合の例について説明する。この場合には、図４に示す回路記述データが図５に示すように修正される。
【００３０】
階層構造リスト生成手段１０１は、修正前の回路記述データから各モジュールの階層構造を示す階層構造リストを生成するものである。具体的には、図４の回路記述データに基づいて、図６に示すような階層構造リストが生成されるようになっている。生成された階層構造リストは、回路変更手段１０４に入力される。
【００３１】
記憶部１０２は、上記回路記述データや階層構造リスト等を記憶するようになっている。
【００３２】
出力モジュール検索手段１０３は、装置に与えられる回路変更指示に基づいて、上記指示に含まれる信号名によって示される、追加接続する信号が何れのモジュールで生成されているかを検索するようになっている。具体的には、図２のＡＮＤ回路に入力される信号xxxを信号xyzに変更する指示がなされると、その信号xyzが生成されるモジュールABが検索される。なお、必ずしも上記信号が生成されるモジュールに限らず、生成された信号がそのモジュールの外部のモジュールで用いられている場合には、上記信号が用いられているモジュール（特にそのうちの最も上位のモジュール）を検索するようにしてもよい。
【００３３】
回路変更手段１０４は、回路変更指示に応じた信号線の接続をするために、各モジュールに追加されるポート、および各ポートと信号線との接続を示す情報が含まれるように、回路記述データを変更するようになっている。具体的には、モジュールAB内の信号xyzをモジュールBB内のＡＮＤ回路に接続するために、モジュールAA、AB、BA、BBにポートxyzが追加され、モジュールTOP、AA、BAにて、それぞれのポートxyzと信号xyzとが接続されるように、回路記述データが修正される。
【００３４】
ポート属性宣言文挿入手段１０５は、上記回路変更手段１０４によって追加されたポートについて、それらのポートの入出力の別を示す属性宣言文を各モジュールについての記述に追加するようになっている。具体的には、例えばモジュールAA、ABについての記述には“output xyz; ”が追加され、モジュールBA、BBについての記述には“input xyz;”が追加される。
【００３５】
上記のような回路記述データ生成装置の動作について、より詳しく説明すると、例えば図２のＡＮＤ回路に入力される信号xxxを信号xyzに変更する指示がなされると、出力モジュール検索手段１０３は、その信号xyzが生成または使用されているモジュールを検索する。具体的には、“=”の左辺や右辺に信号名xyzが含まれているモジュールを検索し、モジュールABが検索される。また、階層構造リスト生成手段１０１は、図６に示すような階層構造リストを生成する。
【００３６】
一方、回路変更手段１０４は、上記信号xxxを信号xyzに変更する指示に応じて、まず、図４、図５に太枠で示すように、モジュールBBについての記述
assign abc = abc#org & xxx ;
を
assign abc = abc#org & xyz ;
に変更する。（なお、上記のような回路記述データの変更を設計者等がすることによって、前記のような信号xxxを信号xyzに変更することを示す指示がなされたと解釈されるようにしてもよい。）回路変更手段１０４は、さらに、上記検索結果と階層構造リストとに基づいて、信号xyzが生成されるモジュールABからモジュールBBまで信号xyzを接続するためにはモジュールAB、AA、TOP、BA、BBの経路でポートや信号線を経由する必要があることを求め、図５に示すように、上記各モジュールについての記述における●印を付した行に下線で示すような変更を加える。
【００３７】
また、ポート属性宣言文挿入手段１０５は、上記経路（階層）の方向（下位から上位のモジュールまたは上位から下位のモジュール）に応じて、同図の■印を付した行に下線で示すような変更を加える。
【００３８】
上記のように、目的とする信号の変更を示す回路変更指示を与えるだけで、その回路変更が実際の回路として成り立つためのポートや信号の追加、変更がなされた回路記述データが生成されるので、回路変更に要する手間や時間が大幅に低減される。
【００３９】
なお、上記の例では、変更される信号が信号名によって指示される例を示したが、複数のモジュール内で同じ信号名の信号が用いられている場合に、例えばコメント文によって、他のモジュールで生成等される信号が特定されるようにしてもよい。すなわち、出力モジュール検索手段１０３が、信号名に加えて、例えば図７に示すようなコメント“auto#add#port #fix abc”が付加された信号を検索するようにすれば、重複した信号名の信号が用いられている場合でも、適切に回路記述データが修正されるようにすることができる。それゆえ、モジュールごとの信号名設定の自由度が高くなるとともに、汎用のモジュールを柔軟に用いることなども容易になる。また、上記のようなコメントなど、回路記述データによって示される回路構成自体に影響しない情報を用いることによって、各モジュール間などで信号名についての整合性等を考慮することなく、信号名が重複する信号のうちの何れかが特定されるようにすることが容易にできる。
【００４０】
また、上記のような回路変更指示によって指示される信号が、信号名と、その信号が生成されまたは用いられているモジュールのモジュール名などとによって特定されるようにしてもよい。さらに、上記モジュール名等が前記のようなコメントなどの形式で与えられるようにしてもよい。また、上記のように信号名に加えてモジュール名等も与えられる場合には、必ずしも出力モジュール検索手段１０３が設けられている必要はない。
【００４１】
また、上記の例では新たに用いられる信号が追加される例について説明したが、回路変更の結果として使用されなくなる信号がある場合に、その信号についてのポートや接続関係を示す情報が削除されるようにしてもよい。
【産業上の利用可能性】
【００４２】
本発明にかかる回路記述データ生成装置は、他のモジュール内で用いられている信号が新たに用いられるような修正をする場合でも、そのために要する手間や時間を大幅に低減することができる効果を有し、回路（ハードウェア）記述言語によって、設計された回路の構成が記述された回路記述データを生成する回路記述データ生成装置等として有用である。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態に係る回路記述データ生成装置の構成を示すブロック図である。
【図２】同、変更前の回路の例を示すブロック図である。
【図３】同、変更後の回路の例を示すブロック図である。
【図４】同、変更前の回路の回路記述データの例を示す説明図である。
【図５】同、変更後の回路の回路記述データの例を示す説明図である。
【図６】同、階層構造リストの例を示す説明図である。
【図７】同、信号線を特定するためのコメントの例を示す説明図である。
【符号の説明】
【００４４】
１０１      階層構造リスト生成手段
１０２      記憶部
１０３      出力モジュール検索手段
１０４      回路変更手段
１０５      ポート属性宣言文挿入手段
【図１】
2005309764.tif 000003
【図２】
2005309764.tif 000004
【図３】
2005309764.tif 000005
【図４】
2005309764.tif 000006
【図５】
2005309764.tif 000007
【図６】
2005309764.tif 000008
【図７】
2005309764.tif 000009