JP2012089054A - 回路記述生成装置、回路記述生成方法、及び回路記述生成プログラム - Google Patents
回路記述生成装置、回路記述生成方法、及び回路記述生成プログラム Download PDFInfo
- Publication number
- JP2012089054A JP2012089054A JP2010237229A JP2010237229A JP2012089054A JP 2012089054 A JP2012089054 A JP 2012089054A JP 2010237229 A JP2010237229 A JP 2010237229A JP 2010237229 A JP2010237229 A JP 2010237229A JP 2012089054 A JP2012089054 A JP 2012089054A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- information
- generation
- connection
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】複雑な階層構造をもつ半導体集積回路の設計を行う場合であっても、設計のターンアラウンドタイムの増加を抑えることができる回路記述生成装置を提供すること
【解決手段】既存回路解析部22は、所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、最上位階層回路内での既存回路の信号接続について解析する。生成回路解析部24は、既存回路接続情報に基づいて、最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成する。回路記述生成部25は、第2の端子情報、及び生成回路内部情報に基づいて、最上位階層回路及び生成回路の回路記述を生成する。
【選択図】図1
【解決手段】既存回路解析部22は、所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、最上位階層回路内での既存回路の信号接続について解析する。生成回路解析部24は、既存回路接続情報に基づいて、最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成する。回路記述生成部25は、第2の端子情報、及び生成回路内部情報に基づいて、最上位階層回路及び生成回路の回路記述を生成する。
【選択図】図1
Description
本発明は回路記述生成装置、回路記述生成方法、及び回路記述生成プログラムに関する。
近年、半導体集積回路(LSI:Large Scale Integration)の大規模化及び高機能化が進んでいる。これに伴い、半導体集積回路を構成する機能回路毎での分担設計、及び既存の機能回路を流用した設計手法が広く採用されている。換言すると、半導体集積回路の階層化設計の必要性が高まってきている。
特許文献1には、回路仕様を入力することにより自動的に最上位階層回路の回路記述を作成することができる回路自動生成装置にかかる技術が開示されている。特許文献1に記載の回路自動生成装置の構成を、図42を参照して説明する。
回路自動生成装置は、入力部201、処理部202、及び出力部203を備える。入力部201は、本装置を用いて最上位階層回路の回路記述を自動生成するために必要な情報が入力される処理部である。入力部201には、機能回路入出力情報及び接続先情報211、最上位階層回路入出力情報及び接続先情報212、端子テスト仕様213、機能回路テスト仕様214、テストモード生成仕様215、及び修正仕様237が入力される。入力部201は、入力された各データを処理部202に供給する。
処理部202は、記憶手段204、接続情報確認手段205、及び最上位階層回路生成手段208を備える。記憶手段204は、機能回路入出力情報及び接続先情報211、最上位階層回路入出力情報及び接続先情報212、端子テスト仕様213、機能回路テスト仕様214、及びテストモード生成仕様215をオリジナルデータ236として記憶する。さらに記憶手段204は、修正仕様237を記憶する。
接続情報確認手段205は、回路記述を生成する最上位階層回路の信号接続関係を照合する接続情報照合手段206、及び信号接続の不具合の有無を判定する接続情報判定手段207を備える。接続情報確認手段205は、回路記述を生成する最上位階層回路内の信号接続不具合の有無を判定する。接続情報確認手段205は、判定結果を接続判定結果216として出力部203に供給する。
最上位階層回路生成手段208は、オリジナルデータ236及び修正仕様237を読み出し、こられのデータを基に最上位階層回路のHDL(Hardware Description Language)記述217を生成する。最上位階層回路生成手段208は、生成した最上位階層回路のHDL記述217を出力部203に供給する。
出力部203は、処理部202から供給された接続判定結果216、及び最上位階層回路のHDL記述217を任意の表示装置、外部の記憶装置、内部のメモリ装置等に出力する。
特許文献1にかかる回路自動生成装置は、上述の処理を行うことにより回路仕様を入力するだけで自動的に最上位階層回路の回路記述を作成している。
しかしながら、特許文献1に記載の回路自動生成装置では、複雑な階層構造、より詳細には3階層以上の階層構造をもつ半導体集積回路の設計を行う場合、設計のTAT(ターンアラウンドタイム:Turn Around Time)が増加するという問題がある。当該問題の詳細について以下に述べる。
上述のように、特許文献1に記載の回路自動生成装置では、機能回路入出力情報及び接続情報211及び最上位階層回路入出力情報及び接続先情報212を用いて最上位階層回路の回路記述を生成している。ここで、機能回路入出力情報及び接続情報211は、最上位階層の直下の階層に位置する機能回路の入出力情報及び接続情報である。最上位階層回路入出力情報及び接続先情報212は、最上位階層の入出力情報及び接続情報である。このため、特許文献1に記載の回路自動生成装置では、一度の回路記述の生成処理において2階層を持つ半導体集積回路の設計しか行うことができず、3階層以上の構造を持つ半導体集積回路の設計を行うことはできない。これにより、3階層以上の構造を持つ半導体集積回路の回路記述を生成する場合、複数回の処理実行が必要となってしまい、TATが増加する。
本発明にかかる回路記述生成装置の一態様は、
所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、前記最上位階層回路内での前記既存回路の信号接続について解析した既存回路接続情報を生成する既存回路解析部と、
前記既存回路接続情報に基づいて、前記最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び前記生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成する生成回路解析部と、
前記第2の端子情報、及び前記生成回路内部情報に基づいて、前記最上位階層回路及び前記生成回路の回路記述を生成する回路記述生成部と、を備える、ものである。
所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、前記最上位階層回路内での前記既存回路の信号接続について解析した既存回路接続情報を生成する既存回路解析部と、
前記既存回路接続情報に基づいて、前記最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び前記生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成する生成回路解析部と、
前記第2の端子情報、及び前記生成回路内部情報に基づいて、前記最上位階層回路及び前記生成回路の回路記述を生成する回路記述生成部と、を備える、ものである。
本発明にかかる回路記述生成方法の一態様は、
所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、前記最上位階層回路内での前記既存回路の信号接続について解析した既存回路接続情報を生成し、
前記既存回路接続情報に基づいて、前記最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び前記生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成し、
前記第2の端子情報、及び前記生成回路内部情報に基づいて、前記最上位階層回路及び前記生成回路の回路記述を生成する、ものである。
所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、前記最上位階層回路内での前記既存回路の信号接続について解析した既存回路接続情報を生成し、
前記既存回路接続情報に基づいて、前記最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び前記生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成し、
前記第2の端子情報、及び前記生成回路内部情報に基づいて、前記最上位階層回路及び前記生成回路の回路記述を生成する、ものである。
本発明にかかる回路記述生成プログラムの一態様は、
機能回路の回路記述を生成する処理をコンピュータに実行させるためのプログラムであって、
前記処理は、所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、前記最上位階層回路内での前記既存回路の信号接続について解析した既存回路接続情報を生成し、
前記既存回路接続情報に基づいて、前記最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び前記生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成し、
前記第2の端子情報、及び前記生成回路内部情報に基づいて、前記最上位階層回路及び前記生成回路の回路記述を生成する、ものである。
機能回路の回路記述を生成する処理をコンピュータに実行させるためのプログラムであって、
前記処理は、所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、前記最上位階層回路内での前記既存回路の信号接続について解析した既存回路接続情報を生成し、
前記既存回路接続情報に基づいて、前記最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び前記生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成し、
前記第2の端子情報、及び前記生成回路内部情報に基づいて、前記最上位階層回路及び前記生成回路の回路記述を生成する、ものである。
本発明においては、最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、第1の端子情報と、を入力として解析処理を行うことにより、一回の処理により最上位階層回路及び前記生成回路の回路記述を生成する。これにより、開発のTATを大幅に削減することができる。
本発明によれば、複雑な階層構造をもつ半導体集積回路の設計を行う場合であっても、設計のTAT(ターンアラウンドタイム:Turn Around Time)の増加を抑えることができる回路記述生成装置、回路記述生成方法、及び回路記述生成プログラムを提供することができる。
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。はじめに、図1を参照して、本実施の形態にかかる回路記述生成装置の構成について説明する。図1は、本実施の形態にかかる回路記述生成装置の構成を示すブロック図である。
以下、図面を参照して本発明の実施の形態について説明する。はじめに、図1を参照して、本実施の形態にかかる回路記述生成装置の構成について説明する。図1は、本実施の形態にかかる回路記述生成装置の構成を示すブロック図である。
本実施の形態にかかる回路記述生成装置は、入力部1、処理部2、及び出力部3を備える。入力部1は、本装置を用いて設計する所望の回路(以降の説明では最上位階層回路と記載する)の回路記述及び当該最上位階層回路内に含まれる生成回路(最上位階層回路を構成する回路であって、新たに生成する回路を意味する。)を自動生成するために必要な情報が入力される処理部である。入力部1には、階層構造情報4及び既存回路端子情報5が入力される。階層構造情報4は、最上位階層回路の各階層における既存回路(すでに設計済みであり、HDL記述が存在する機能回路)及び生成回路の配置を示す情報である。既存回路端子情報5は、既存回路各々の端子について規定した情報である。階層構造情報4及び既存回路端子情報5の詳細については後述する。
処理部2は、入力部1に入力された階層構造情報4及び既存回路端子情報5に基づいて、接続判定結果6、生成回路端子接続情報7、及び最上位階層回路のHDL記述8を生成し、出力部3に供給する処理部である。接続判定結果6、生成回路端子接続情報7、及び最上位階層回路のHDL記述8の詳細は、後述する。
処理部2は、階層構造解析部21、既存回路解析部22、接続情報判定部23、生成回路解析部24、及び回路記述生成部25を備える。これらの処理部の処理の詳細は、フローチャート等を用いて後述する。
出力部3は、接続判定結果6、生成回路端子情報7、及び最上位階層回路のHDL記述8を任意の装置、詳細にはディスプレイ等の表示装置、内部の記憶装置、外部接続された記憶装置等に出力する。
図2は、処理部2内の処理の流れを示すフローチャートである。階層構造解析部21は、入力された階層構造情報4を読み込み、階層構造情報4に記述された最上位階層回路内の階層構造を解析した階層構造解析情報を生成する(S1)。
既存回路解析部22は、既存回路端子情報5を読み込む。既存回路解析部22は、既存回路端子情報5及び階層構造解析部21から入力される階層構造解析情報を基に、最上位階層回路内での既存回路の信号接続について解析した既存回路解析情報を生成する(S2)。
接続情報判定部23は、S1にて生成された階層構造解析情報と、S2にて生成された既存回路解析情報と、から、適切な信号接続が設定されているかを判定する(S3)。適切な信号接続が設定されている場合(S3:No)、接続情報判定部23は、エラーの内容を記述した接続判定結果6を出力して処理を終了する。適切な信号接続が設定されていない場合(S3:Yes)、S4の処理が開始される。
続いて、生成回路解析部24は、既存回路解析情報を基に、生成回路の解析を行う(S4)。より詳細には、生成回路解析部24は、生成回路内部における信号接続の情報(生成回路内部情報)と、生成回路の端子にかかる情報(生成回路端子情報)と、を生成する。
回路記述生成部25は、階層構造解析情報、生成回路内部情報、及び生成回路端子情報に基づいて、最上位階層回路及び生成回路のHDL記述(HDL記述8)と、生成回路の端子接続の情報(生成回路端子情報7)と、を生成する(S5)。
続いて、ユーザが入力すべき情報である階層構造情報4と、既存回路端子情報5と、の説明を行う。まず、階層構造解析情報生成処理(S1)において入力となる階層構造情報4の詳細について説明する。図3は、階層構造情報4のデータ例を示す図である。階層構造情報4は最上位階層回路の各階層における既存回路及び生成回路の配置を示す情報であるが故、階層構造情報4には、最上位に位置する階層(TOP階層)から最下位に位置する階層(BOTTOM階層)までの各階層における機能回路の配置を示す階層情報41〜45、既存回路の接続情報ファイル名46、及び機能回路の短縮名47が設定される。階層構造情報4は、表形式のデータフォーマットにより記述される。
接続情報ファイル名46には、既存回路の既存回路端子情報5のファイル名が指定される。例えば、既存回路UNIT_Aの既存回路端子情報5は、"UNIT_A.csv"というファイルであることが指定される。機能回路短縮名47は、任意に設定可能である。機能回路短縮名47を設定した場合には、設定値が当該回路の識別名として以降の処理において扱われる。機能回路短縮名47を設定しない場合、インスタンス名が設定されているものとして扱われる。
図4は、図3に示された階層構造をツリー構造により示す図である。図4では、各機能回路はインスタンス名により表記されている。本例では、既存回路(既に設計済みの機能回路)UNIT_A〜UNIT_Fを使用する。当該最上位階層回路では、TOP階層にTOPが配置される。LEVEL1階層においては、TOP内にて接続されるTOP1、TOP2が配置される。LEVEL2階層においては、TOP1内にて接続されるTOP1−1、TOP1−2が配置され、TOP2内にて接続されるUNIT_Fが配置される。LEVEL3階層においては、TOP1−1内にて接続されるUNIT_A及びUNIT_Bが配置され、TOP1−2内にて接続されるUNIT_C、TOP1−2−1、及びTOP1−2−2が配置される。BOTTOM階層には、TOP1−2−1内にて接続されるUNIT_Dが配置され、TOP1−2−2内にて接続されるUNIT_Eが配置される。
なお、図3、図4の例では、5階層の回路構成を示したがこれに限られず、階層構造情報4に任意の深さの階層を持つ回路構成を記載することができる。階層の深さに応じて、階層構造情報4のカラム数を適宜変更することができる。
次に、既存回路解析部22に入力される既存回路端子情報5について説明する。図5に既存回路端子情報5のデータ例を示す。既存回路端子情報5は、既存回路(既にHDL記述が作成済みの機能回路)の端子にかかる情報を保持するファイルである。既存回路端子情報5には、端子名51、端子エイリアス52、端子Bit幅53、端子接続先54、オープンクランプ処理設定(Open/Clamp)55、端子入出力(in/out)56が設定される。
既存回路端子情報5は、既存回路毎にファイル形式により記述される。図5(A)は、既存回路UNIT_Aの既存回路端子情報5の例が示されている。なお、図示しないが、既存回路UNIT_B〜UNIT_Fについてもそれぞれ既存回路端子情報5が設定されている。
端子名51には、既存のHDL記述において記載されている端子名が設定される。端子エイリアス52には、S2〜S5の処理において端子名51に設定された名前を別の名前を用いて処理したい場合に当該別名を設定する。基本的には、端子エイリアス52に設定する値は、端子名51に設定した値と同じで良く、設定しなくてもよい。設定しない場合、端子名51と同じ値が設定されているものとして扱われる。端子エイリアス52は、後述する既存回路接続情報10の接続信号名102の生成等に用いられる。
端子Bit幅53には、当該端子が扱うビット幅が設定される。端子接続先54には、端子が接続される接続先の機能回路のインスタンス名、または階層構造情報4において指定した機能回路短縮名が設定される。
オープンクランプ処理設定(Open/Clamp)55には、最上位階層回路内において不要な端子を処理する場合に設定する。具体的には、端子をオープンにする場合、ハイレベルに固定する場合、ロウレベルに固定する場合に設定する。空文字が設定されている場合、オープンクランプ設定がなされていないものと扱われる。
端子入出力(in/out)56には、端子が入力端子(I)であるか、出力端子(O)であるかが設定される。
図6は、図3に示す階層構造情報4及び図5に示す既存回路端子情報5と、設計する最上位階層回路と、の関係を示す概念図である。階層構造情報4は、最上位階層回路("TOP")内の生成回路及び既存回路の包含関係を記載した情報とも解釈できる。既存回路端子情報5は、既存回路の接続情報を示す情報である。本実施の形態にかかる回路記述生成装置は、これらの入力から最上位階層回路("TOP")及び生成回路("TOP1","TOP1−1"等)のHDL記述8と、生成回路の端子にかかる情報(生成回路端子情報7)と、を自動生成することを主たる目的とする。
例えば図6では、既存回路UNIT_Aと既存回路UNIT_Cとが信号接続されている。これは、生成回路TOP1−1と生成回路TOP1−2が信号接続されていると同義である。本実施の形態にかかる回路記述生成装置は、このような情報を反映したHDL記述8を生成することを主たる目的とする。
次に、階層構造解析情報生成処理(S1)の詳細について説明する。階層構造解析部21には、上述の階層構造情報4が供給される。階層構造解析部21は、階層構造情報4を解析し、解析結果として階層構造解析情報9を生成する。階層構造解析情報9には、各機能回路の情報が行毎に記述される。図7に階層構造解析情報9のデータフォーマットを示す。
階層構造解析情報9には、階層種別91、階層段数92、インスタンス名93、フルパス名94、接続情報ファイル名95、及び機能回路短縮名96が設定される。
階層種別91には、生成回路であるか("Create")、既存回路であるか("UNIT")が記載される。階層段数92には、TOP階層を段数"0"とした場合の階層段数を示す。インスタンス名93には、回路のインスタンス名が設定される。フルパス名94には、TOP階層からの階層の並びをセパレータ文字"/"により結合した文字列が設定される。接続情報ファイル名95には、該当行が示す回路が既存回路である場合に、当該既存回路端子情報5のファイル名が設定される。機能回路短縮名96には、該当行が示す回路のインスタンス名等を短縮した名称が設定される。
図8は、階層構造解析部21による階層構造解析情報生成処理(S1)の詳細を示すフローチャートである。
階層構造解析部21は、階層構造情報4から1行を読み出し、読み出し行が空行ではない場合に、読み出し行の情報を配列化する(S1−1)。例えば、階層構造解析部21は、階層構造情報4から1行を読み出し、配列("TOP","","","","","","")を生成する。このように、データが設定されていない項目については空文字列を代入して配列を構成する。
階層構造解析部21は、読み出したデータが既存回路にかかるものであるか、生成回路にかかるものであるかを判定する(S1−2)。当該処理の詳細な流れを図9のフローチャートに示す。
階層構造解析部21は、S1−1において生成した配列末尾に格納されたデータを機能回路短縮名データとして取り出す(S1−2−1)。例えば、S1−2−1の処理前に配列に("TOP","","","","","","","")が格納されている場合、階層構造解析部21は、配列最後に位置する空文字""を取り出し、取り出し後の配列は("TOP","","","","","","")となる。同様に、S1−2−1の処理前に配列に("","","","UNIT_A","","UNIT_A.csv","A")が格納されている場合、階層構造解析部21は、データ"A"を取り出し、取り出し後の配列は("","","","UNIT_A","","UNIT_A.csv")となる。階層構造解析部21が抽出した機能階層短縮名データ(例えば"A")は、後の処理S1−6において階層構造解析情報9の機能回路短縮名96と対応づけられる。
次に、階層構造解析部21は、S1−2−1の処理後の配列末尾に格納されたデータを接続ファイル名データとして取り出す(S1−2−2)。例えば、S1−2−2の処理前に配列に("TOP","","","","","","")が格納されている場合、階層構造解析部21は、接続ファイル名データとして配列最後に位置する空文字""を取り出し、取り出し後の配列は("TOP","","","","","")となる。同様に、S1−2−2の処理前に配列に("","","","UNIT_A","","UNIT_A.csv")が格納されている場合、階層構造解析部21は、接続ファイル名データとして "UNIT_A.csv"を取り出し、取り出し後の配列は("","","","UNIT_A","")となる。階層構造解析部21が抽出した接続ファイル名データ(例えば"UNIT_A.csv")は、後の処理S1−6において階層構造解析情報9の接続情報ファイル名95と対応づけられる。
階層構造解析部21は、配列変数"階層情報"を定義し、当該変数にS1−2−2の処理後の配列データを代入する(S1−2−3)。例えば、階層構造解析部21は、("TOP","","","","","")、("","","","UNIT_A","")等を配列変数"階層情報"に代入する。
階層構造解析部21は、変数"階層情報"に格納されたデータに空文字以外のデータがいくつあるかを判定する(S1−2−4)。変数"階層情報"に格納されたデータ内の空文字以外のデータが1個以外の場合、階層構造情報4が不正な内容と判定し、エラーにより処理を終了する。
変数"階層情報"に格納されたデータに空文字以外のデータが1個である場合、階層構造解析部21は、S1−2−2の処理において抽出した接続ファイル名データが存在するか否かを判定する(S1−2−5)。接続ファイル名データが存在する場合(S1−2−5:Yes)、階層構造解析部21は、既存回路にかかるデータ列を処理していると判定し、後の処理1−6において階層種別91に"UNIT"を設定する(S1−2−6)。接続ファイル名データが存在しない場合(S1−2−5:No)、階層構造解析部21は、生成回路にかかるデータ列を処理していると判定し、後の処理1−6において階層種別91に"Create"を設定する(S1−2−7)。
再び図8の説明を行う。階層構造解析部21は、変数"階層情報"に格納されたデータから階層段数を解析する(S1−3)。階層構造解析部21は、変数"階層情報"に格納されたデータ内で空文字以外の要素が存在する位置を基に階層段数を解析する。例えば変数"階層情報"に格納されたデータが("","","","UNIT_A","")である場合、階層構造解析部21は階層段数として"3"を抽出する。抽出した階層段数は、後の処理S1−6において階層構造解析情報9の階層段数92に対応づけられる。
次に、階層構造解析部21は、処理中の既存回路または生成回路についてのフルパス名を解析する(S1−4)。フルパス名とは、TOP階層からの階層の並びをセパレータ文字"/"により結合した文字列である。たとえば、図4における"UNIT_A"のフルパス名は、"TOP/TOP1/TOP1−1/UNIT_A"となる。
フルパス名の解析(S1−4)の処理詳細を図10のフローチャートに示す。階層構造解析部21は、フルパス名の解析のために変数"フルパス名配列"、"現データ段数"、"前データ段数"を定義する。変数"前データ段数"の初期値は"0"である。"フルパス名配列"の初期値は空配列である。
階層構造解析部21は、変数"現データ段数"に、S1−3において抽出された階層段数を代入する(S1−4−1)。階層構造解析部21は、変数"現データ段数"に格納されたデータと、変数"前データ段数"に格納されたデータと、を比較する(S1−4−2)。
変数"現データ段数"に格納されたデータが変数"前データ段数"に格納されたデータよりも小さい場合(S1−4−2)、階層構造解析部21は、変数"フルパス名配列"に対し、変数"階層情報"に格納されたデータの空文字以外を持つ各要素データを代入する(S1−4−3)。たとえば、変数"フルパス名配列"に格納されたデータが("TOP","TOP1","TOP1−1","UNIT_B","")であり、変数"階層情報"に格納されたデータが("","","TOP1−2","","")である場合、階層構造解析部21は変数"フルパス名配列"内のデータを("TOP","TOP1","TOP1−2","UNIT_B","")に更新する。そして、階層構造解析部21は、変数"フルパス名配列"に格納されたデータにおいて、変数"現データ段数"に格納された整数値の示す要素以降のデータをクリアする(S1−4−4)。例えば変数"フルパス名配列"に格納されたデータが("TOP","TOP1","TOP1−2","UNIT_B","")であり、変数"現データ段数"に格納されたデータが"2"である場合、階層構造解析部21は変数"フルパス名配列"内のデータを("TOP","TOP1","TOP1−2","","")に更新する。
変数"現データ段数"に格納されたデータが変数"前データ段数"に格納されたデータよりも大きい場合(S1−4−2)、階層構造解析部21は、変数"フルパス名配列"に格納されたデータのうち、変数"現データ段数"に格納された整数値が示す要素に対して変数"階層情報"に格納されたデータの対応要素データを代入する(S1−4−5)。例えば、変数"フルパス名配列"に格納されたデータが("TOP","TOP1","","","")、変数"現データ段数"に格納されたデータが"2"、変数"階層情報"に格納されたデータが("","","TOP1−1","","")である場合、階層構造解析部21は、変数"フルパス名配列"の格納データを("TOP","TOP1","TOP1−1","","")に更新する。
変数"現データ段数"に格納されたデータが変数"前データ段数"に格納されたデータと等しい場合(S1−4−2)、階層構造解析部21は、変数"フルパス名配列"に格納されたデータのうち、変数"現データ段数"に格納された整数値が示す要素を、変数"階層情報"に格納されたデータの対応要素データを用いて書き換える(S1−4−6)。たとえば、変数"現データ段数"に格納されたデータが("TOP","TOP1","TOP1−1","UNIT_A","")、変数"現データ段数"に格納されたデータが"3"、変数"階層情報"に格納されたデータが("","","","UNIT_B","")である場合、階層構造解析部21は変数"フルパス名配列"の格納データを("TOP","TOP1","TOP1−2","UNIT_B","")に更新する。
次に、階層構造解析部21は、変数"フルパス名配列"の格納データのうち、空文字ではない各要素を、セパレータ文字列"/"により結合したフルパス名を抽出する(S1−4−7)。例えば変数"フルパス名配列"の格納データが("TOP","TOP1","TOP1−1","UNIT_A","")である場合、フルパス名として"TOP/TOP1/TOP1−1/UNIT_A"が抽出される。抽出したフルパス名は、後の処理S1−6において階層構造解析情報9のフルパス名94にマッピングされる。
そして、解析構造解析部21は、変数"前データ段数"に格納されたデータを変数"現データ段数"に格納されたデータにより上書きする(S1−4−8)。
図11は、フルパス名の解析(S1−4)における各変数値の遷移を示す図である。図示したように、変数"現データ段数"に格納されたデータと変数"前データ段数"に格納されたデータと、の比較に応じて、フルパス名配列の各要素の値、及び空文字となる要素数が変化する。
図8の説明に戻る。階層構造解析部21は、現在処理を行っているデータ列が階層構造情報4の最終行のデータであるか否かを判定する(S1−5)。最終行のデータではない場合(S1−5:No)、階層構造解析部21は、階層構造情報4の次の行に対してS1−1〜S1−4の処理を行う。一方、階層構造情報4の最終行のデータである場合(S1−5:Yes)、階層構造解析部21は、S1−1〜S1−4において抽出した情報を用いて階層構造解析情報9を生成する(S1−6)。
図12は、図3に示す階層構造情報4から生成した階層構造解析情報9を示す図である。図4に示した各インスタンス(例えば、"TOP"、"TOP1−1","UNIT_A"等)毎にデータ列が生成されている。
階層構造解析情報9は、各回路の種別(既存回路であるか、生成回路であるか)の情報(階層種別91)、最上位階層回路内での階層段数(階層段数92)、最上位階層回路内でのフルパス名(フルパス名94)、等の情報を含む詳細な解析情報である。ユーザは、階層構造情報4のような簡易なフォーマットのデータを入力するのみで、階層構造解析情報9のような詳細な解析情報を得ることができる。これにより、ユーザによる階層構造の入力の工数を削減することができる。
次に、既存回路解析部22による既存回路接続情報生成処理(S2)について説明する。既存回路解析部22には、S1において生成された階層構造解析情報9及び既存回路端子情報5が入力される。
図13は、既存回路解析部22による既存回路接続情報生成処理(S2)の詳細を示すフローチャートである。既存回路解析部22は、階層構造解析情報9及び既存回路端子情報5に基づいて、既存回路接続情報10を生成する。
図14は、既存回路接続情報10のデータフォーマットを示す図である。既存回路接続情報10には、接続元フルパス名101、接続信号名102、端子名103、端子エイリアス104、端子Bit幅105、接続先フルパス名106、オープンクランプ処理設定(Open/Clamp)107、及び端子入出力(in/out)108が設定される。これらの項目には、階層構造解析情報9または既存回路端子情報5から情報がマッピングされる。当該マッピング処理の詳細は、後述する。
図13に戻り、既存回路接続情報生成処理(S2)の各処理の説明を行う。既存回路解析部22は、S1において生成された階層構造解析情報9を1行読み出す(S2−1)。続いて、既存回路解析部22は、読み出した行の階層種別91が"UNIT"であるか否かを判定する(S2−2)。読み出した行の階層種別91が"UNIT"ではない場合(S2−2:No)、既存回路解析部22は階層構造解析情報9の次の1行を読み出す(S2−1)。
読み出したデータ行の階層種別91が"UNIT"である場合(S2−2:Yes)、既存回路解析部22は、階層構造解析情報9から読み出したデータ行の接続情報ファイル名95に記載された既存回路端子情報5のファイル(例えば"UNIT_A.CSV")を1行読み出す(S2−3)。
既存回路解析部22は、階層構造解析情報9のデータ行と既存回路端子情報5のデータ行との照合処理を行う(S2−4)。詳細には、既存回路解析部22は、機能回路端子情報5のファイル(例えば"UNIT_A.CSV")からの読み出し行に含まれる情報と、階層構造解析情報9からの読出し行に含まれる情報と、を結合したデータ行を生成する(S2−4)。当該照合処理の概要を図15に示す。
既存回路解析部22は、階層構造解析情報9のフルパス名94を接続元フルパス名101に対応づける。既存回路解析部22は、機能回路端子情報5の端子接続先54を抽出し、抽出したデータ(例えば"UNIT_C")をインスタンス名に持つデータ行を階層構造解析情報9から読み出し、当該行の機能回路短縮名96(例えば"C")を読み出す。さらに、既存回路解析部22は、端子エイリアス52を読み出す。同時に、既存回路解析部22は、処理中の階層構造解析情報9のデータ行から機能回路短縮名96を読み出す。既存回路解析部22は、これらの読み出した情報を出力側の機能回路短縮名、入力側の機能回路短縮名、端子エイリアスを区切り文字で区切った名称("C_A_Sig_a")を接続信号名102に対応づける。
既存回路解析部22は、既存回路端子情報5の端子名51を端子名103に対応づける。既存回路解析部22は、既存回路端子情報5の端子エイリアス52を端子エイリアス104に対応づける。既存回路解析部22は、既存回路端子情報5の端子Bit幅53を端子Bit幅105に対応づける。
既存回路解析部22は、既存回路端子情報5の端子接続先54を抽出し、抽出したデータ(例えば"UNIT_C")をインスタンス名に持つデータ行を階層構造解析情報9から読み出し、当該行のフルパス名(例えば"TOP/TOP1/TOP1−1/UNIT_C")を抽出する。既存回路解析部22は、抽出したフルパス名を接続先フルパス名106に対応づける。
既存回路解析部22は、既存回路端子情報5のオープンクランプ処理設定(Open/Clamp)55をオープンクランプ処理設定(Open/Clamp)107に対応づける。既存回路解析部22は、既存回路端子情報5の端子入出力(in/out)56を端子入出力(in/out)108に対応づける。
図13の説明に戻る。既存回路解析部22は、既存回路端子情報5の全てのデータ行が読み込まれたかを判定する(S2−5)。既存回路端子情報5の読込みが終了していない場合(S2−5:No)、既存回路解析部22はS2−3及びS2−4を繰り返し実行する。
既存回路端子情報5の読込みが終了した場合(S2−5:Yes)、既存回路解析部22は、階層構造解析情報9の全行の読み込みが終了したかを判定する(S2−6)。階層構造解析情報9の全行の読み込みが終了していない場合(S2−6:No)、既存回路解析部22は、S2−1〜S2−5の処理を繰り返し行う。階層構造解析情報9の全行の読み込みが終了した場合(S2−6:Yes)、既存回路解析部22は、S2−4において生成したデータ行を書込んだファイルである既存回路接続情報10を出力する(S2−7)。
図16は、図5に示す既存回路端子情報5、及び図12に示す階層構造解析情報9を基に生成された既存回路接続情報10を示す図である。既存回路接続情報10は、接続信号名102を基準にソートされて出力される。図16では、接続信号名102についてアルファベット順となるようにソートされている。
次に、接続情報判定部23による接続情報判定処理(S3)について説明する。接続情報判定部23には、S2において生成された既存回路接続情報10が入力される。図17は、接続情報判定部23による接続情報判定処理(S3)の詳細を示すフローチャートである。
接続情報判定部23は、比較用の配列変数"信号接続1"、"信号接続2"を定義する。接続情報判定部23は、既存回路接続情報10の先頭行から順に1行読み出し、読み出し行を変数"信号接続1"に格納する(S3−1)。例えば、接続情報判定部23は、既存回路接続情報10からデータ行("TOP/TOP1/TOP1−1/UNIT_A","C_A_Sig_a","Sig_a","Sig_a","1","TOP/TOP1/TOP1−1/UNIT_C","","I")を読み出し、変数"信号接続1"に代入する。
接続情報判定部23は、既存回路接続情報10のS3−1において読み出した行の次の1行を読み出し、読み出し行を変数"信号接続2"に代入する(S3−2)。
接続情報判定部23は、変数"信号接続1"内に格納されたデータに含まれる信号接続名データと、変数"信号接続2"内に格納されたデータに含まれる信号接続名データと、を比較する(S3−3)。両者が一致しない場合、接続情報判定部23は、変数"信号接続1"内に格納されたデータにオープンクランプ処理の設定がされているか否かを判定する(S3−7)。すなわち、接続情報判定部23は、オープンクランプ処理の設定欄に空文字が設定されているか否かを判定する。
オープンクランプ処理の設定がされている場合(S3−7:Yes)、接続情報判定部23は、変数"信号接続2"内に格納されたデータを変数"信号接続1"にコピー(上書き)する(S3−8)。そして、接続情報判定部23は、S3−2から処理を再開する。
一方、オープンクランプ処理の設定がなされていない場合(S3−7:No)、オープンクランプにかかる端子ではなく、かつ、信号接続先がない端子が存在することとなる。よって、接続情報判定部23は、処理中のデータ行にエラーが有ることを記載した接続判定情報6を出力し、処理を終了する。
変数"信号接続1"内に格納されたデータに含まれる信号接続名データと、変数"信号接続2"内に格納されたデータに含まれる信号接続名データと、が一致する場合(S3−3)、接続情報判定部23は、信号接続の一致性を判定する(S3−4)。詳細には、接続情報判定部23は、変数"信号接続1"内に格納されたデータに含まれる接続元フルパス名と変数"信号接続2"内に格納されたデータに含まれる接続先フルパス名、及び変数"信号接続1"内に格納されたデータに含まれる接続先フルパス名と変数"信号接続2"内に格納されたデータに含まれる接続元フルパス名、が一致していること、を判定する(S3−4)。
フルパス名が一致していない場合、接続情報判定部23は、フルパス名が一致しない旨を記載した接続判定情報6を出力し、処理を終了する。
フルパス名が夫々一致している場合、接続情報判定部23は、変数"信号接続1"内に格納されたデータに含まれるビット幅と、変数"信号接続2"内に格納されたデータに含まれるビット幅と、が一致するか否かを判定する(S3−5)。
ビット幅が一致していない場合、接続情報判定部23は、ビット幅が一致しない旨を記載した接続判定情報6を出力し、処理を終了する。
ビット幅が一致している場合、接続情報判定部23は、変数"信号接続1"内に格納されたデータに含まれる端子入出力(in/out)と、変数"信号接続2"内に格納されたデータに含まれる端子入出力(in/out)と、の比較を行う(S3−6)。一方の値が"I(入力)"であり、他方の値が"O(出力)"である場合、接続情報判定部23は、端子入出力の設定が正常と判断する。それ以外の場合には、接続情報判定部23は、端子入出力の設定が異常と判断する。
端子入出力(in/out)の設定が異常と判定した場合、接続情報判定部23は、端子入出力(in/out)の設定が異常である旨を記載した接続判定情報6を出力し、処理を終了する。
一方、端子入出力(in/out)の設定が正常と判定した場合、接続情報判定部23は、既存回路接続情報10の全行の読み込みが終了したかを判定する(S3−9)。既存回路接続情報10の全行の読み込みが終了していない場合(S3−9:No)、接続情報判定部23は、S3−1〜S3−8の処理を再度行う。
既存回路接続情報10の全行の読み込みが終了した場合(S3−9:Yes)、接続情報判定部23は、既存回路接続情報10のデータ行をソートして出力する(S3−10)。当該ソートは、端子間の信号接続にかかるデータ行が上部に配置され、オープンクランプ処理にかかるデータ行が下部に配置されるように行われる。
図18は、接続情報判定部23によるS3−10の処理後の既存回路接続情報10を示す図である。上部に信号接続を示すデータ列が配置され、2行が組となるように構成される。下部にオープンクランプ処理にかかるデータ列が1行ごとに配置される。
上述のように、接続情報判定部23は、S2にて生成された既存回路解析情報10に適切な信号接続が設定されているかを判定する(S3)。接続情報判定部23は、適切な信号接続が設定されていない場合には、エラー情報を出力して処理を終了する。エラー情報を参照することにより、ユーザは、設定情報の誤りを認識でき、容易に階層構造情報4または既存回路端子情報5を修正することができる。
さらに、適切な信号接続が設定されていない場合にその時点で処理を終了することにより、本実施の形態にかかる回路記述生成装置は誤った設定を持つ回路記述を生成することがなくなる。これにより、回路記述生成装置が生成する回路記述(HDL記述)の品質を向上することができる。
なお、接続情報判定部23がエラー情報を出力した場合であっても後述の処理(S4、S5)を続けることは可能であるが、この場合にはユーザが接続判定結果6を参照して後述の生成回路端子情報7、HDL記述8を手動で修正しなければならない。
次に、生成回路解析部24による生成回路内部・端子情報生成処理(S4)について説明する。生成回路解析部24には、S3においてソートされた既存回路接続情報10が入力される。生成階層解析部24は、既存回路接続情報10から、生成回路内部情報11と、生成回路端子情報12と、を生成する。
図19は、生成回路内部情報11のデータフォーマットを示す図である。生成回路内部情報11は、生成回路の内部においてどのように信号接続がなされているかを示す情報である。生成回路内部情報11には、処理階層111、接続信号名112、接続インスタンス113、インスタンス端子名114、及びオープンクランプ処理設定(Open/Clamp)115が設定される。
図20は、生成回路端子情報12のデータフォーマットを示す図である。生成回路端子情報12は、生成回路の端子の情報である。生成回路端子情報12は、既存回路端子情報5とほぼ同様のデータフォーマットを持つ。生成回路端子情報12には、処理階層121、接続信号名122、端子名123、端子エイリアス124、端子Bit幅125、接続先名126、オープンクランプ処理設定(Open/Clamp)127、及び端子入出力(in/out)128が設定される。
図21は、生成回路解析部24による生成回路内部・端子情報生成処理(S4)の詳細を示すフローチャートである。
生成回路解析部24は、比較用の配列変数として"信号接続1"、"信号接続2"を定義する。生成回路解析部24は、既存回路接続情報10から1行読み出し、読み出したデータを変数"信号接続1"に代入する(S4−1)。例えば、"信号接続1"には、("TOP/TOP1/TOP1−1/UNIT_A","C_A_Sig_a","Sig_a","Sig_a","1","TOP/TOP1/TOP1−1/UNIT_C","","I")というデータが代入される。生成回路解析部24は、既存回路接続情報10から次の1行を読み出し、読み出したデータを変数"信号接続2"に代入する(S4−2)。
生成回路解析部24は、変数"信号接続1"に格納されたデータに含まれる接続信号名と、変数"信号接続2"に格納されたデータに含まれる接続信号名と、を比較する(S4−3)。両者が一致する場合、生成回路解析部24は、生成回路解析処理を行う(S4−4)。一方、両者が一致しない場合、生成回路解析部24は、オープンクランプ処理を行う(S4−5)。
図22は、生成回路解析処理(S4−4)の詳細を示すフローチャートである。生成回路解析部24は、比較用の配列変数"階層構造1"を定義する。生成回路解析部24は、変数"信号接続1"に格納されたデータから接続元フルパス名を抽出し、セパレータ文字列"/"を分割単位として用いた文字列を"階層構造1"に代入する(S4−4−1)。例えば、生成回路解析部24は、インスタンス名"TOP/TOP1/TOP1−1/UNIT_C"を抽出し、変数"階層構造1"に各文字列を代入する。この場合、変数"階層構造1"内には、("TOP","TOP1","TOP1−1","UNIT_C")というデータが格納される。同様に、生成回路解析部24は、比較用の配列変数"階層構造2"を定義する。生成回路解析部24は、変数"信号接続2"に格納されたデータから接続元フルパス名を抽出して変数"階層構造2"に代入する(S4−4−2)。
生成回路解析部24は、解析処理に用いる変数"結果フラグ"、変数"カウント"、配列変数"確認階層"を定義する(S4−4−3)。変数"結果フラグ"及び配列変数"確認階層"には、文字列が格納される。変数"カウント"には整数値が格納される。生成回路解析部24は、変数"結果フラグ"の初期値として"一致"、変数"カウント"の初期値として"0"、変数"確認階層"の初期値として"TOP"を代入する(S4−4−3)。
次に、生成回路解析部24は、変数"カウント"に格納されたデータを配列変数"階層構造1"、"階層構造2"のインデックスとしてデータを抽出する。例えば、"階層構造1"に格納されたデータが("TOP","TOP1","TOP1−1","UNIT_C")であり、変数"カウント"に格納されたデータが"1"である場合、生成回路解析部24は、"TOP1"を抽出する。生成回路解析部24は、配列変数"階層構造1"、"階層構造2"から抽出した文字列が一致するかを判定する(S4−4−4)。
配列変数"階層構造1"、"階層構造2"から抽出した文字列が一致する場合(S4−4−4)、生成階層解析部24は、変数"結果フラグ"に"一致"を代入する(S4−4−5)。生成階層解析部24は、配列変数"階層構造1"または配列変数"階層構造2"から抽出した文字列を変数"確認階層"に代入する。例えば、配列変数"階層構造1"、"階層構造2"から抽出した文字列がともに"TOP1"である場合、生成階層解析部24は、変数"確認階層"に"TOP1"を代入する(S4−4−6)。
配列変数"階層構造1"、"階層構造2"から抽出した文字列が一致しない場合(S4−4−4)、生成階層解析部24は、変数"結果フラグ"に格納されたデータが"一致"であるかを判定する(S4−4−7)。
変数"結果フラグ"に格納されたデータが"一致"である場合、生成階層解析部24は、処理中の既存回路接続情報10のデータ列から生成回路内部情報11のデータ列を生成する(S4−4−8)。具体的には、生成階層解析部24は、変数"確認階層"に格納されたデータを処理階層111に対応づける。生成階層解析部24は、接続信号名102、端子エイリアス104、オープンクランプ処理設定(Open/Clamp)107をそれぞれ接続信号名112、インスタンス端子名114、オープンクランプ処理設定(Open/Clamp)115に対応づける。さらに、生成階層解析部24は、"階層構造1"、"階層構造2"から抽出した文字列を接続インスタンス113に対応づける。
変数"結果フラグ"に格納されたデータが"一致"ではない場合、生成階層解析部24は、処理中の既存回路接続情報10のデータ列から生成回路端子情報12を生成する(S4−4−9)。具体的には、生成階層解析部24は、変数"確認階層"に格納されたデータを処理階層121に対応づける。生成階層解析部24は、接続信号名102、端子名103、端子エイリアス104、端子Bit幅105、オープンクランプ処理設定(Open/Clamp)107、端子入出力(in/out)108をそれぞれ接続信号名122、端子名123、端子エイリアス124、端子Bit幅125、オープンクランプ処理設定(Open/Clamp)127、端子入出力(in/out)128に対応づける。生成階層解析部24は、"階層構造2"から抽出した文字列を接続先名126に対応づける。
S4−4−8またはS4−4−9の処理の後に、生成回路解析部24は、変数"結果フラグ"に文字列"不一致"を代入する(S4−4−10)。
S4−4−6またはS4−4−10の処理の後に、生成回路解析部24は、変数"カウント"に格納された整数値を1増加させる(S4−4−11)。そして、生成回路解析部24は、配列変数"階層構造1"、"階層構造2"の末尾の文字列までを読み込んだかを判定する(S4−4−12)。読込みが終了していない場合(S4−4−12:No)、生成回路解析部24は、S4−4−4〜S4−4−11の処理を再度実行する。一方、読込みが終了した場合(S4−4−12:Yes)、生成回路解析部24は、生成回路解析処理(S4−4)を終了する。
図23は、S4−4−4〜S4−4−12の処理概念を示す概念図である。配列変数"階層構造1"、"階層構造2"の同一インデックスを持つ文字列が比較され、一致している間は変数"確認階層"に格納された文字列が比較値により書き変わる。文字列が不一致となった場合には、次のS4−4−5の処理において結果フラグの値が"不一致"として扱われる。
図23のインデックス[2]の例では、"TOP1−1"と"TOP1−2"が不一致であり、かつ変数"結果フラグ"の値が"一致"である。この場合、生成回路解析部24は、処理中の既存回路接続情報10のデータ列から生成回路内部情報11のデータ列を生成する。
同様に図23のインデックス[3]の例では、"UNIT_A"と"UNIT_C"が不一致であり、かつ変数"結果フラグ"の値が"不一致"である。この場合、生成階層解析部24は、処理中の既存回路接続情報10のデータ列から生成回路端子情報12のデータ列を生成する。
続いて、オープンクランプ処理(S4−5)の詳細について説明する。図24は、オープンクランプ処理の詳細を示すフローチャートである(S4−5)。
生成回路解析部24は、S4−4の処理と同様に比較用の配列変数"階層構造1"を定義する。生成回路解析部24は、変数"信号接続1"に格納されたデータからインスタンス名を抽出し、セパレータ文字列"/"を分割単位として用いた文字列を"階層構造1"に代入する(S4−5−1)。例えば変数"信号接続1"に("TOP/TOP1/TOP1−1/UNIT_A","A_Sig_aa_cmp","Sig_aa","Sig_aa_cmp","1","","1'b0","I")が格納されている場合、生成回路解析部24は、"階層構造1"に("TOP","TOP1","TOP1−1","UNIT_A")を代入する。
生成回路解析部24は、S4−4の処理と同様に比較用の配列変数"階層構造2"を定義する。生成回路解析部24は、変数"信号接続2"に格納されたデータから接続元フルパス名を抽出し、セパレータ文字列"/"を分割単位として用いた文字列を"階層構造2"に代入する(S4−5−2)。
生成回路解析部24は、変数"階層構造1"の配列末尾から数えて2番目にある要素をオープンクランプにかかるHDL記述を行う生成回路と判断する(S4−5−3)。例えば、変数"階層構造1"に("TOP","TOP1","TOP1−1","UNIT_A")が格納されている場合、生成回路解析部24は、"TOP1−1"を処理対象の生成回路と判定する(S4−5−3)。
生成回路解析部24は、S4−5−3の処理と同様に、変数"階層構造2"の配列末尾から数えて2番目にある要素をオープンクランプにかかるHDL記述を行う生成回路と判断する(S4−5−4)。
生成回路解析部24は、変数"信号接続1"に格納されたデータを基に、オープンクランプに関する生成回路内部情報11のデータ列を生成する(S4−5−5)。具体的には、生成回路解析部24は、S4−5−3で処理対象階層と判定した回路(たとえば"TOP1−1")を処理階層121に対応づける。生成回路解析部24は、接続信号名102、端子エイリアス104、オープンクランプ処理設定(Open/Clamp)107をそれぞれ接続信号名122、インスタンス端子名114、オープンクランプ処理設定(Open/Clamp)115に対応づける。さらに、生成回路解析部24は、変数"階層構造1"の配列末尾の要素を接続インスタンス113に対応づける。
生成回路解析部24は、変数"信号接続2"に格納されたデータを基に、オープンクランプに関する生成回路内部情報11のデータ列を生成する(S4−5−6)。当該生成処理は、S4−5−5と略同一である。
再び図21を参照し、S4−4またはS4−5の後の処理について説明する。生成回路解析部24は、既存回路接続情報10の全てのデータ行を読み込んだか否かを判定する(S4−6)。読込み処理が終了していない場合(S4−6:No)、生成回路解析部24は、S4−1〜S4−5の処理を再度行う。
読込み処理が終了した場合(S4−6:Yes)、生成回路内部情報11は、S4−4及びS4−5にて生成したデータ列を基に、生成回路内部情報11と、生成回路端子情報12と、を生成して出力する(S4−7)。
図25は、図18に示した既存回路接続情報10から生成された生成回路内部情報11のデータ例を示す図である。例えば、1、2行目のデータは、生成回路TOP1の内部において"C_A_Sig_a"という信号名により"TOP1−1"と"TOP1−2"とが接続されていることを示している。
図26は、図18に示した既存回路接続情報10から生成された生成回路端子情報12のデータ例を示す図である。例えば、1行目のデータは、生成回路"TOP1−1"は、既存回路"UNIT_C"と接続する1ビット幅の入力端子を有することを示している。
次に、回路記述生成部25による回路記述生成処理(S5)について説明する。回路記述生成部25には、S3にて生成された階層構造解析情報9、S4にて生成された生成回路内部情報11及び生成回路端子情報12が入力される。回路記述生成部25は、これらの入力を基に、最上位階層回路及び生成回路のHDL記述8と、生成回路毎の生成回路端子情報7を生成して出力する。
まず、回路記述生成部25が生成するHDL記述8について説明する。図27は、一般的なHDL記述の記述方式について示した図である。モジュール名を宣言し、当該モジュールに関するポート宣言、ワイヤー宣言、パラメータ宣言、及びモジュールを構成する各要素を定義する。
回路記述生成部25は、階層構造解析情報9、生成回路内部情報11及び生成回路端子情報12を基に、モジュール名、ポートリスト、ポート宣言、ネット宣言、モジュール構成要素名、assign、instanceに情報を代入することによりHDL記述を生成する。
図28は、回路記述生成処理(S5)の詳細を示すフローチャートである。また、図29及び図30は、回路記述生成処理(S5)の動作イメージを示す図である。
回路記述生成部25は、階層構造解析情報9から1行読み出し、階層種別91が"Create"に設定されているか否かを判定する(S5−1)。階層種別91が"Create"に設定されていない場合(S5−1:No)、階層記述生成部25は、階層構造解析情報9から次の1行を読み出す。
階層種別91が"Create"に設定されている場合(S5−1:Yes)、回路記述生成部25は、インスタンス名93の値をHDL記述のモジュール名として設定する(図29では、"TOP1−1"をモジュール名に設定する。)(S5−3)。
回路記述生成部25は、S5−3で抽出したインスタンス名と、生成回路端子情報12内の処理階層121と、を照合する(S5−4)。すなわち、回路記述生成部25は、生成回路端子情報12内の処理階層121にS5−3で抽出したインスタンス名(図29では"TOP1−1")と同じ値を持つデータ列を抽出する。
回路記述生成部25は、S5−4で抽出したデータ列の接続信号名122及び端子入出力(in/out)128を参照して、HDL記述のポートリスト及びポート宣言部を生成する(S5−5)。図29では、"C_A_Sig_a"等の記述を含むポートリスト部、及び"input C_A_Sig_a;"等の記述を含むポート宣言部が生成されている。
回路記述生成部25は、S5−3で抽出したインスタンス名と、生成回路内部情報11内の処理階層111と、を照合する(S5−6)。すなわち、回路記述生成部25は、生成回路内部情報11内の処理階層111にS5−3で抽出したインスタンス名(図30では"TOP1−1")と同じ値を持つデータ列を抽出する。
回路記述生成部25は、S5−5で抽出したデータ列の接続信号名112を参照して、HDL記述のワイヤー宣言を生成する(S5−7)。図30では、"wire B_A_Sig_a")等の記述を含むワイヤー宣言を生成する。さらに、回路記述生成部25は、接続インスタンス113、インスタンス端子名114、及びオープンクランプ処理設定(Open/Clamp)115を参照してインスタンス宣言、及びインスタンス宣言内のポートリストを生成する(S5−7)。
ここで、オープンクランプ処理設定(Open/Clamp)115にクランプ指定(本例では、"1'b0"または"1'b1")が指定されている場合、インスタンス宣言内の接続信号部の接続先指定をオープンクランプ処理設定(Open/Clamp)115の値(たとえば"1'b0")にする。オープンクランプ処理設定(Open/Clamp)115に"OPEN"が指定されている場合、インスタンス宣言内の接続信号部の接続先指定を空文字列に設定する。
回路記述生成部25は、S5−7までの処理により生成したHDL記述をファイル形式により出力する(S5−8)。図30の例では、生成回路"TOP1−1"についてのHDL記述を出力する。さらに、回路記述生成部25は、S5−4にて抽出したデータ列から処理階層121の行を削除した生成回路端子情報7を出力する。すなわち、回路記述生成部25は、生成回路毎に端子情報をファイルに分割して出力する。図31は、生成回路"TOP1−1"にかかる生成回路端子情報7の例を示す図である。生成回路端子情報7は、既存回路端子情報5と同一データフォーマットとなる。
回路記述生成部25は、階層構造解析情報9の読込みが終了しているか否かを判定する(S5−9)。読込みが完了していない場合(S5−9:No)、回路記述生成部25は、S5−1〜S5−8の処理を繰り返す。これにより、最上位階層回路("TOP")及び生成回路(例えば"TOP"、"TOP1","TOP1−1"等)のHDL記述8及び生成回路端子情報7を生成することができる。
読み込みが完了している場合(S5−9:No)、回路記述生成部25は、全ての処理を完了する。
続いて、本実施の形態にかかる回路記述生成装置の効果について説明する。本実施の形態にかかる回路記述生成装置は、最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報9を基に、一回(S1〜S5)の処理により、最上位階層回路及び生成回路のHDL記述を生成する。1回の生成処理により必要となる全てのHDL記述を生成できるため、開発のTATを大幅に削減することができる。
さらに、本実施の形態にかかる回路記述生成装置を用いた回路記述生成では、階層構造情報4と、既存回路端子情報5と、を別の情報として管理することができる。これにより、例えば最上位階層回路の階層構造を変更する必要が生じた場合であっても、ユーザは階層構造情報4のみを修正すればよく、既存回路端子情報5を修正する必要が無くなる。これにより、ユーザの設計工数をさらに削減でき、設計試行を繰り返すことが容易となる。
さらにまた、回路記述生成部25は、最上位階層回路内の生成回路の端子情報を記述した生成回路端子情報7を生成する。これにより、以後の回路設計において生成回路の端子情報を設計に再利用することができる。ここで、生成回路毎に端子情報が生成されることにより、1つの生成回路単位での流用設計がより容易となる。
生成される生成回路端子情報7は、既存回路端子情報5と略同一のデータフォーマットを持つ。そのため、生成回路端子情報7を新たな回路設計に容易に流用できるという効果も奏する。
本実施の形態にかかる回路記述生成装置は、単なる端子間の接続だけでなく、端子のオープン設定(接続先を持たない設定)、端子のクランプ設定(端子出力を固定する設定)をも考慮した回路記述を生成することができる。これにより、本実施の形態にかかる回路記述生成装置では、より実用性の高い回路記述を生成することができる。
<実施の形態2>
本発明の実施の形態2にかかる回路記述生成装置は、1の出力端子に対して、複数の入力端子が接続される1対多接続をサポートできることを特徴とする。実施の形態1にかかる回路記述生成装置と異なる処理を行う箇所について説明する。
本発明の実施の形態2にかかる回路記述生成装置は、1の出力端子に対して、複数の入力端子が接続される1対多接続をサポートできることを特徴とする。実施の形態1にかかる回路記述生成装置と異なる処理を行う箇所について説明する。
はじめに、1対多接続の概要と本実施の形態にかかる回路記述生成装置の処理概要を図32及び図33を参照して説明する。図32は、既存回路UNIT_Aの1の出力端子がUNIT_B、UNIT_C、UNIT_Dの入力端子と接続されている様子を示す概念図である。図33は、本実施の形態にかかる回路記述生成装置が生成する回路記述の概念を示す図である。図33に示すように既存回路UNIT_Aの1の出力端子から仮想的な配線(Junc_Sig_a)を作成し、当該配線(Junc_Sig_a)から各回路(UNIT_B、UNIT_C、UNIT_D)の入力端子への配線が配置されているような回路記述を生成する。なお、本例では、仮想的な配線を作成する階層を"TOP1−1"としたが、必ずしもこれに限られることはない。本実施の形態にかかる回路記述生成装置は、1対多接続に関し、仮想的な配線を定義し、この配線との接続関係をHDLに表わすように動作すればよい。以下に、この動作の一例を示す。
以下に、既存回路解析部22の処理について図34のフローチャートを参照して説明する。既存回路解析部22は、実施の形態1におけるS2−3までの処理を行う。すなわち、既存回路解析部22は、階層構造解析情報9から階層種別が"UNIT"に設定されているデータ行を読み出し、読み出したデータ行に対応する既存回路端子情報5からデータ行を読み出す。その後、既存回路解析部22は、読み出したデータ行に記述された端子の接続情報がいわゆる1対多の接続にかかるものであるかを判定する(S2−8)。
図35は、既存回路解析部22による1対多接続の解析(S2−8)に関する概念図である。既存回路解析部22は、読み出した既存回路端子情報5内の端子接続先54を確認し、2つ以上の接続先(","に区切られた文字列)があるかを確認する。2つ以上の接続先が設定されている場合、既存回路解析部22は、1対多接続が設定されていると判定する。一方、2つ以上の接続先が設定されていない場合、既存回路解析部22は、1対1接続が設定されていると判定する。
1対多の接続が設定されていないと判定された場合(S2−8:No)、既存回路解析部22は、実施の形態1と同様の処理を行う。
1対多の接続が設定されていると判定された場合(S2−8:Yes)、既存回路解析部22は、端子接続先54に設定されているデータの個数と同数だけS2−3において読み出したデータ列を複製する。ここで、既存回路解析部22は、端子入出力(in/out)56に"O(出力)"の場合にのみデータ列を複製する。
そして、図35に示すように、既存回路解析部22は、階層構造解析情報9のデータ行と既存回路端子情報5のデータ行との照合処理を行う(S2−4)。ここで、既存回路解析部22は、本実施の形態において既存回路接続情報10に設けられた項目Multi109に端子エイリアス52の値を設定する。このような処理により、1対多接続の場合にのみ、Multi109にデータが設定される。既存回路解析部22は、複製したデータの数だけ照合処理を行う(S2−10)。S2−5〜S2−7の処理は、実施の形態1と同様であるため、詳細な説明は省略する。また、接続情報判定部23による接続情報判定(S3)の処理については、実施の形態1と同様であるため、詳細な説明は省略する。
続いて、図36を参照して本実施の形態にかかる生成回路解析部24が生成する生成回路内部情報11について説明する。生成回路内部情報11には、Multi116が設けられ、既存回路接続情報のMulti109の値がMulti116にそのままコピーされる。次に、図37を参照して本実施の形態にかかる生成回路解析部24が生成する生成回路端子情報12について説明する。生成回路端子情報12には、Multi129が設けられ、既存回路接続情報のMulti109の値がMulti129にそのままコピーされる。なお、生成回路解析部24の処理は、実施の形態1と略同一であるため、詳細な説明は省略する。
次に、本実施の形態にかかる回路記述生成部25の処理について説明する。図38、図39は本実施の形態にかかる回路記述生成部25の処理を示すフローチャートである。さらに、図40は、本実施の形態にかかる回路記述生成部25の処理概念を示す図である。
回路記述生成部25は、実施の形態1と同一の方法によりHDL記述のポートリスト及びポート宣言部を生成する(S5−1〜S5−5)。次に、S5−3で抽出したインスタンス名と、生成回路内部情報11内の処理階層111と、を照合する(S5−6)。すなわち、回路記述生成部25は、生成回路内部情報11内の処理階層111にS5−3で抽出したインスタンス名(図40の例では"TOP1−1"とする)と同じ値を持つデータ列を抽出する。
回路記述生成部25は、S5−4にて抽出した生成回路端子情報12のデータ列のうち、Multi129にデータが設定されているデータ列を抽出する(S5−10)。さらに、回路記述生成部25は、S5−6にて抽出した生成回路内部情報11のデータ列の内、Multi116にデータが設定されているデータ列、及びこのデータ列と対になるデータ列(接続信号名112に同一値が設定されているデータ列)を抽出する(S5−10)。図40(A)の例では、回路記述生成部25は、合計4行のデータ列を読み出している。回路記述生成部25は、この抽出したデータ列に対し、Multi129、Multi116に同一の値を持つグループ毎に1対多接続の確認判定(S5−11)及び1対多接続にかかるHDL記述の生成処理を行う。
回路記述生成部25は、S5−10にて生成回路内部情報11からMulti116にデータが設定されているデータ列を抽出したか否かを判定する(S5−11)。抽出した場合(S5−11:Yes)、回路記述生成部25は、1対多接続が設定されていると判定する。抽出していない場合(S5−11:No)、回路記述生成部25は、1対多接続が設定されていないと判定し、実施の形態1のS5−7以降と同様の処理を行う。
1対多接続が設定されている場合(S5−11:Yes)、回路記述生成部25は、S5−10にて抽出したデータ列のうち、Multi129又はMulti116にデータが設定されているデータ列の個数を確認し、当該個数を1対多接続における入力端子側の個数と特定する(S5−12)。図40(B)の例では、Multi129又はMulti116に3つのデータが設定されているため、回路記述生成部25は、1対3の接続(1つの出力端子に対して3つの入力端子が接続される接続)であると判定する。
回路記述生成部25は、S5−12にて判定した1対多接続の入力端子数が1個以上であることを確認する(S5−13)。2個以上のデータが設定されていない場合(S5−13:No)、回路記述生成部25は、不正なデータが抽出されていると判定し、エラー内容をファイルに記述して処理を終了する(S5−17)。
2個以上のデータが設定されている場合(S5−13:Yes)、回路記述生成部25は、1対多接続における出力端子側(いわゆる"1"側)のインスタンス名を確認する(S5−14)。このインスタンス名の確認には、S5−10にて抽出したデータ列のうち、Multi116にデータが設定されていないデータ列の接続インスタンス名113を出力端子側のインスタンス名と認識する。図40(C)の例では、回路記述生成部25は、UNIT_Aを1対多接続における出力端子側のインスタンス名と認識する。
回路記述生成部25は、S5−14にて確認した1対多接続における出力端子側のインスタンス名のデータを確認する。ここで、Multi129、Multi116に同一の値を持つグループでは、出力側のインスタンス名(接続インスタンス名113)に全て同じデータが入力される、すなわちデータは1種類であることになる。なお、出力側のインスタンス名(接続インスタンス名113)は、図40(C)の例では確認対象データは1個であるが、同一階層内において1対多接続を行う場合に複数設定される。
回路記述生成部25は、S5−14にて確認した1対多接続における出力端子側のインスタンス名が全て同じ、すなわち1種類で有る場合、エラーではないと判定する(S5−15:Yes)。一方、1種類ではない場合(S5−15:No)、回路記述生成部25は、正確な1対多接続の設定がなされていない等のエラーが生じているものと判定し、エラー内容をファイルに記述して処理を終了する(S5−17)。
回路記述生成部25は、S5−15の判定が成功の場合、1対多接続に関するHDL記述を生成する(S5−16)。具体的な生成処理を、図33、図40、図41を参照し、説明する。
回路記述生成部25は、S5−11にて抽出したデータ列のMulti116、Multi129に格納されたデータ(図40の例では、"Sig_a")を用いて、新たなワイヤー宣言を作成する。図41の例では、"Junction"を示す"Junc"と、"Sig_a"を結合した"Junc_Sig_a"という名称のワイヤー宣言を定義している。このワイヤー宣言により、各接続先へと接続されるワイヤー信号線が定義される。
回路記述生成部25は、このワイヤー宣言と、複数ある入力端子と、を接続する記述をassign文により定義する。詳細には、回路記述生成部25は、入力端子側のデータ列の接続信号名112、接続信号名122のデータを用いてassign文を定義する。図41の例では、"assign A_C_Sig_a = Junc_Sig_a;"等の定義を行う。
続いて、回路記述生成部25は、上記のワイヤー信号線(図41の例では、"Junc_sig_a"という名称のワイヤー信号線)と、1対多接続の出力端子側の回路と、を接続する。図41の例では、"UNIT_A UNIT_A( .Sig_a(Junc_Sig_a) );"との記述によりワイヤー信号線と、1対多接続の出力端子側の回路と、の接続を定義している。
このようにして、回路記述生成部25は、1対多接続のHDL記述を生成している。1対多接続に関するHDL記述を生成処理(S5−16)の後、回路記述生成部25は、実施の形態1のS5−7以降と同様の処理を行う。
上述した処理により、本実施の形態にかかる回路記述生成装置は、最上位階層回路内部に1対多接続が有る場合であっても最上位階層回路及び生成回路のHDL記述を生成することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。上述の回路記述生成処理は、任意のハードウェア記述言語により記載された回路記述生成処理に応用が可能である。
上述の処理S1〜S5は、任意のコンピュータ内で動作するプログラムとして実現されてもよい。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
1 入力部
2 処理部
21 階層構造解析部
22 既存回路解析部
23 接続情報判定部
24 生成回路解析部
25 回路記述生成部
3 出力部
4 階層構造情報
5 既存回路端子情報
6 接続判定結果
7 生成回路端子情報
8 HDL記述
9 階層構造解析情報
10 既存回路接続情報
11 生成回路内部情報
12 生成回路端子情報
2 処理部
21 階層構造解析部
22 既存回路解析部
23 接続情報判定部
24 生成回路解析部
25 回路記述生成部
3 出力部
4 階層構造情報
5 既存回路端子情報
6 接続判定結果
7 生成回路端子情報
8 HDL記述
9 階層構造解析情報
10 既存回路接続情報
11 生成回路内部情報
12 生成回路端子情報
Claims (18)
- 所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路の端子にかかる情報を規定した第1の端子情報と、に基づいて、前記最上位階層回路内での前記既存回路の信号接続について解析した既存回路接続情報を生成する既存回路解析部と、
前記既存回路接続情報に基づいて、前記最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び前記生成回路の内部での信号接続の情報を規定した生成回路内部情報、を生成する生成回路解析部と、
前記第2の端子情報、及び前記生成回路内部情報に基づいて、前記最上位階層回路及び前記生成回路の回路記述を生成する回路記述生成部と、を備える回路記述生成装置。 - 前記最上位階層回路の各階層における前記既存回路及び前記生成回路の配置を示す階層構造情報を解析し、前記階層構造解析情報を生成する階層構造解析部を備えることを特徴とする請求項1に記載の回路記述生成装置。
- 前記階層構造解析情報と、前記第1の端子情報と、に基づいて信号の接続関係の不具合の有無を判定する接続情報判定部をさらに備えることを特徴とする請求項1または請求項2に記載の回路記述生成装置。
- 前記接続情報判定部は、信号接続関係の不具合を検出した場合に、該不具合について記述した接続判定結果情報を生成することを特徴とする請求項3に記載の回路記述生成装置。
- 前記接続情報判定部は、信号接続関係の不具合を検出した場合に、前記回路記述生成装置による回路記述生成処理をすべて中止するように制御することを特徴とする請求項3または請求項4に記載の回路記述生成装置。
- 前記回路記述生成部は、前記第2の端子情報を出力することを特徴とする請求項1乃至請求項5のいずれか1項に記載の回路記述生成装置。
- 前記回路記述生成部は、前記第2の端子情報を前記生成回路各々の情報に分割して出力することを特徴とする請求項6に記載の回路記述生成装置。
- 前記第1の端子情報と、前記第2の端子情報と、は同一のデータフォーマットにより記述された情報であることを特徴とする請求項1乃至請求項7のいずれか1項に記載の回路記述生成装置。
- 前記既存回路解析部は、前記第1の端子情報に基づいて、一の端子から複数の接続先に接続される接続である1対多接続を検出し、当該1対多接続が検出された場合に前記複数の接続先の数に応じて前記既存回路接続情報のデータ列を構成するとともに、当該1対多接続にかかるデータ列であることを示す識別情報を付与し、
前記回路記述生成部は、前記識別情報に基づいて、前記1対多接続を示す記述を含む前記最上位階層回路及び前記生成回路の回路記述を生成することを特徴とする請求項1乃至請求項8のいずれか1項に記載の回路記述生成装置。 - 前記回路記述生成部は、前記一の端子と接続された仮想配線を定義し、前記仮想配線と、前記複数の接続先が接続される記述を定義することにより前記1対多接続を示す記述を含む前記最上位階層回路及び前記生成回路の回路記述を生成することを特徴とする請求項9に記載の回路記述生成装置。
- 前記第1の端子情報は、端子名称、端子のビット幅、端子の接続先、端子の入出力種別、の情報を含むことを特徴とする請求項1乃至請求項10のいずれか1項に記載の回路記述生成装置。
- 前記第1の端子情報は、端子の接続種別を示すオープンクランプ情報をさらに含むことを特徴とする請求項11に記載の回路記述生成装置。
- 前記階層構造解析情報は、各機能回路の回路種別を示す階層種別と、各機能回路の前記最上位階層回路内における配置段数を示す階層段数と、各機能回路のインスタンス名と、各機能回路の前記最上位階層回路内における配置位置を示すフルパス名と、を含むことを特徴とする請求項1乃至請求項12のいずれか1項に記載の回路記述生成装置。
- 前記最上位階層回路は、3階層以上の階層構造を持つことを特徴とする請求項1乃至請求項13に記載の階層構造生成装置。
- 前記回路記述は、HDL(Hardware Description Language)形式の記述であることを特徴とする請求項1乃至請求項14のいずれか1項に記載の回路記述生成装置。
- 前記回路記述は、HDLにかかるポート宣言、ワイヤー宣言、インスタンス宣言、前記インスタンス宣言内のポートリスト宣言、を含むことを特徴とする請求項15に記載の回路記述生成装置。
- 所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、前記最上位階層回路内での前記既存回路の信号接続について解析した既存回路接続情報を生成し、
前記既存回路接続情報に基づいて、前記最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び前記生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成し、
前記第2の端子情報、及び前記生成回路内部情報に基づいて、前記最上位階層回路及び前記生成回路の回路記述を生成する、回路記述生成方法。 - 機能回路の回路記述を生成する処理をコンピュータに実行させるためのプログラムであって、
前記処理は、所望の最上位階層回路内の機能回路の多階層構造を解析した階層構造解析情報と、既存の機能回路である既存回路各々の端子にかかる情報を規定した第1の端子情報と、に基づいて、前記最上位階層回路内での前記既存回路の信号接続について解析した既存回路接続情報を生成し、
前記既存回路接続情報に基づいて、前記最上位階層回路内で新たに生成する機能回路である生成回路の端子にかかる情報を規定した第2の端子情報、及び前記生成回路の内部での信号接続の情報を規定した生成回路内部情報と、を生成し、
前記第2の端子情報、及び前記生成回路内部情報に基づいて、前記最上位階層回路及び前記生成回路の回路記述を生成する、回路記述生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010237229A JP2012089054A (ja) | 2010-10-22 | 2010-10-22 | 回路記述生成装置、回路記述生成方法、及び回路記述生成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010237229A JP2012089054A (ja) | 2010-10-22 | 2010-10-22 | 回路記述生成装置、回路記述生成方法、及び回路記述生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012089054A true JP2012089054A (ja) | 2012-05-10 |
Family
ID=46260588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010237229A Pending JP2012089054A (ja) | 2010-10-22 | 2010-10-22 | 回路記述生成装置、回路記述生成方法、及び回路記述生成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012089054A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017520062A (ja) * | 2014-06-30 | 2017-07-20 | セインチップス テクノロジー カンパニーリミテッド | チップ集積方法、装置および記憶媒体 |
-
2010
- 2010-10-22 JP JP2010237229A patent/JP2012089054A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017520062A (ja) * | 2014-06-30 | 2017-07-20 | セインチップス テクノロジー カンパニーリミテッド | チップ集積方法、装置および記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Weir | Characterizing mildly context-sensitive grammar formalisms | |
JP5040925B2 (ja) | 情報抽出規則作成支援システム、情報抽出規則作成支援方法及び情報抽出規則作成支援プログラム | |
CN106649457A (zh) | 基于对象关系映射技术的数据处理框架 | |
US7703058B2 (en) | Method and system for changing a description for a state transition function of a state machine engine | |
US7904856B2 (en) | Arrangement handling commands as control system behaviors and data system behaviors | |
JP2012089054A (ja) | 回路記述生成装置、回路記述生成方法、及び回路記述生成プログラム | |
CN108829903B (zh) | 判定fpga冗余设计的代码与综合后电路一致性的方法和系统 | |
US6968518B2 (en) | Method of resolving missing graphical symbols in computer-aided integrated circuit design | |
US20040098670A1 (en) | Processing of data | |
JP4017583B2 (ja) | 半導体集積回路の設計データの回路表示方法 | |
JP4448466B2 (ja) | 論理回路設計方法、論理回路設計プログラム及び論理回路設計装置 | |
JP6948492B2 (ja) | 情報管理装置並びにファイル管理方法 | |
JP2016071712A (ja) | 評価結果の出力プログラム、評価結果の出力方法および情報処理装置 | |
EP3525116A1 (en) | Management system of electrical field circuit design | |
WO2018038065A1 (ja) | 情報管理装置並びにファイル管理方法 | |
CN114791865A (zh) | 一种基于关系图的配置项自洽性检测方法、系统和介质 | |
US20050120324A1 (en) | Integrated circuit designing support apparatus and method for the same | |
US9778812B2 (en) | Screen transition diagram creator | |
US7681169B2 (en) | Process for managing complex pre-wired net segments in a VLSI design | |
US7634750B2 (en) | Logic diagram display method, program, and apparatus | |
US7770147B1 (en) | Automatic generators for verilog programming | |
JP2008299423A (ja) | 情報処理装置および情報処理プログラム | |
EP1748367A1 (en) | System and method for matching chip and package terminals | |
JPH08153129A (ja) | 再利用容易化装置 | |
JPWO2018220836A1 (ja) | プログラムコード生成装置およびプログラムコード生成プログラム |