JP5229834B2 - 回路設計方法、回路設計システム及び記録媒体 - Google Patents

回路設計方法、回路設計システム及び記録媒体 Download PDF

Info

Publication number
JP5229834B2
JP5229834B2 JP2010531718A JP2010531718A JP5229834B2 JP 5229834 B2 JP5229834 B2 JP 5229834B2 JP 2010531718 A JP2010531718 A JP 2010531718A JP 2010531718 A JP2010531718 A JP 2010531718A JP 5229834 B2 JP5229834 B2 JP 5229834B2
Authority
JP
Japan
Prior art keywords
information
port
modules
instance
module
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.)
Expired - Fee Related
Application number
JP2010531718A
Other languages
English (en)
Other versions
JPWO2010038387A1 (ja
Inventor
崇 長谷川
新哉 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Priority to JP2010531718A priority Critical patent/JP5229834B2/ja
Publication of JPWO2010038387A1 publication Critical patent/JPWO2010038387A1/ja
Application granted granted Critical
Publication of JP5229834B2 publication Critical patent/JP5229834B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、回路設計方法、回路設計システム及び記録媒体、特に、回路設計ツールを用いた複数のモジュールの相互間接続の自動生成に関する。
近年、集積回路(例えばASIC(Application Specific Integrated Circuit)の微細化・高集積化が進み、1つの半導体チップの回路規模が大きくなってきている。このような大規模な回路設計に対応するため、回路を機能ブロック(モジュール)ごとに分割し、分割された各々のモジュールを複数の設計者で分けて設計することが行われている。設計された個々のモジュールはその後、所定の対応関係に従って相互に接続され、1つの上位モジュールを設計することができる。同様にして、設計された個々の上位モジュールはその後、所定の対応関係に従って相互に接続され、さらに上位の1つのモジュールを設計することができる。こうして、順々に上位階層を生成し、最終的に半導体チップ全体の回路設計を達成することができる。
このような回路設計を達成するためのツールとしては、現在、Verilog−HDLやVHDLなどの言語を用いて行うRTL(Register Transfer Level)設計が主流ではあるが、近年、RTLよりも高い抽象レベルモデルから設計する高位設計(高位合成)が採用されるようになってきている。高位設計によれば、所定の処理フローに沿って機能のみをアルゴリズム記述し、当該アルゴリズム記述から高位合成ツール(ビヘイビア合成ツール)を用いてRTLモデルを自動生成することができる。なお、ビヘイビア合成ツールとしては、例えばNECシステムテクノロジー社が提供する「サイバーワークベンチ」(CWB:Cyber Work Bench)が知られている。
ところで、上述した回路設計において、設計された個々のモジュールを相互に接続する場合、各モジュールが相互に異なるものであれば、モジュールの入出力ポート名を所定の対応関係に従って決定することにより、当該入出力ポート名のみの情報に基づいて、モジュール同士の接続を自動で行うことができる。しかしながら、接続すべきモジュール間において同一モジュールが複数ある場合には、同一モジュール間では通常、入出力ポート名は同一であるため、入出力ポート名のみの情報ではモジュール同士の接続を自動で行うことはできず、人手作業でモジュール同士の接続を行わざるを得ない。このような人手作業においては、人為的接続ミスは避けられず、モデルの品質が低下するおそれがある。また、接続ミスがあった場合、ミスをその場で発見することは難しく、例えば論理検証のステップで初めてミスを発見することがあり、設計生産性が低下するという問題もある。
特に、半導体試験装置に用いられるASICにおいては、被試験ICの試験を行うため、タイミング発生器、パターン発生器、波形整形器及び論理比較器等のいくつかの機能ブロックがまとめて1チップ化されており、その中でも、タイミング発生器、パターン発生器及び波形整形器については、1つの半導体試験装置システム内に千を超える数の同一機能ブロックを設ける必要があるため、1チップ内に同一機能ブロックを複数個設けることが求められる。したがって、特に、半導体試験装置に用いられるASICにおいては、上記問題を解決することは重要である。
よって、本発明の目的は、上記の課題を解決することができる回路設計手法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
本発明にかかる回路設計方法の一態様は、複数のモジュールを相互に接続するための回路設計方法であって、前記複数のモジュールの入力ポート及び出力ポートを含むポート情報を取得するステップと、前記複数のモジュールのうち、同一機能を有する複数のインスタンスを備えるモジュールがあることを示すインスタンス情報を取得するステップと、前記ポート情報及び前記インスタンス情報に基づいて、前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けるステップと、含む。
また、本発明にかかる回路設計方法の一態様によれば、前記インスタンス情報は、複数のインスタンスの個数を示すインスタンス個数情報を含むことができる。
また、本発明にかかる回路設計方法の一態様によれば、前記インスタンス情報は、複数のインスタンスをそれぞれ識別するインスタンス識別情報を含むことができる。
また、本発明にかかる回路設計方法の一態様によれば、前記対応付けるステップは、前記インスタンス情報に基づいて前記ポート情報から仮ポート情報を生成し、当該仮ポート情報に基づいて前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けることを含むことができる。
また、本発明にかかる回路設計方法の一態様によれば、所定のモジュールの出力ポートが、前記複数のインスタンスの各入力ポートに共通に接続されることを示す共通接続情報を取得するステップをさらに含み、前記対応付けるステップは、前記インスタンス情報及び前記共通接続情報に基づいて前記ポート情報から仮ポート情報を生成し、当該仮ポート情報に基づいて前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けることを含むことができる。
また、本発明にかかる回路設計方法の一態様によれば、前記ポート情報を取得するステップの前に、前記複数のモジュールを相互に接続して生成される上位モジュールに関する情報を取得するステップをさらに含むことができる。
また、本発明にかかる回路設計方法の一態様によれば、前記対応付けるステップの後に、前記対応付けられた接続情報を接続情報データベースとして記憶するステップをさらに含むことができる。
また、本発明にかかる回路設計方法の一態様によれば、前記対応付けるステップの後に、前記複数のモジュールを相互に接続して生成される上位モジュールのソースファイルを生成するステップをさらに含むことができる。
また、本発明にかかる回路設計方法の一態様によれば、前記対応付けるステップの後に、少なくとも、インスタンス名を示す情報、前記ポート情報、及び、前記複数のモジュールを相互に接続するための入力ポートと出力ポートの接続情報を表示するステップをさらに含むことができる。
また、本発明にかかる回路設計方法の一態様によれば、半導体試験装置に用いられる半導体デバイスの回路設計に適用されることができる。
本発明にかかる回路設計システムの一態様は、複数のモジュールを相互に接続するための回路設計システムであって、前記複数のモジュールの入力ポート及び出力ポートを含むポート情報を取得するポート情報取得手段と、前記複数のモジュールのうち、同一機能を有する複数のインスタンスを備えるモジュールがあることを示すインスタンス情報を取得するインスタンス情報取得手段と、前記ポート情報及び前記インスタンス情報に基づいて、前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付ける対応付け手段と、を含む。
なお、本明細書において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、1つの手段が有する機能が2つ以上の物理的手段により実現されても、2つ以上の手段の機能が1つの物理的手段により実現されてもよい。
本発明にかかるプログラムを格納したコンピュータ読取り可能な記録媒体の一態様は、複数のモジュールを相互に接続するためのものであって、前記複数のモジュールの入力ポート及び出力ポートを含むポート情報を取得するステップと、前記複数のモジュールのうち、同一機能を有する複数のインスタンスを備えるモジュールがあることを示すインスタンス情報を取得するステップと、前記ポート情報及び前記インスタンス情報に基づいて、前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けるステップと、を実行させる。
本実施形態において相互に接続すべき複数のモジュールの一態様を示す図である。 図1の複数のモジュールを相互に接続した状態を示す図である。 図1及び図2に対する上位階層のモジュールの一態様を示す図である。 本実施形態にかかる回路設計システムの機能構成を示す図である。 本実施形態にかかる回路設計システムのハードウェア構成を示すブロック図である。 本実施形態にかかる回路設計方法の概略を示す図である。 図6のSTEP100を説明する図である。 図6のSTEP102を説明する図である。 図6のSTEP102を説明する図である。 図6のSTEP104を説明する図である。 図6のSTEP106を説明する図である。 図6のSTEP108を説明する図である。 本実施形態にかかる上位モジュールソースファイルの一例を示す図である。 本実施形態にかかる接続情報データベースの表示例を示す図である。 本実施形態にかかる回路設計の適用例を示す図である。
以下、図面を参照しつつ、発明の実施形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせのすべてが発明の解決手段に必須であるとは限らない。
本実施形態にかかる回路設計ツールは、機能ごとに分割された複数のモジュールを相互に接続し、1つの上位モジュールを自動生成する。また、本実施形態にかかる回路設計ツールは、所定のプログラム言語に従うプログラムを自動生成する機能を備えるソフトウェアに対して適用することができる。以下、プログラム言語として、NECシステムテクノロジー社が提供する「サイバーワークベンチ」のBDL(Behavioral Description Language)言語を用いた例を示す。
(1)本実施形態で処理するモジュール
まず、図1〜図3を参照して、本実施形態で処理するモジュールについて説明する。図1及び図2が、本実施形態において相互に接続する複数のモジュールの一態様を示し、図1が複数のモジュールを相互に接続する前の状態、図2が複数のモジュールを相互に接続した後の状態を示している。図3は、図1及び図2に対する上位階層のモジュールの一態様を示す図である。
図1に示すように、モジュール(モジュール名:model_abcd)100には、複数のモジュール(モジュール名:model_a, model_b, model_c, model_d))110,120,130,140が設けられている。モジュール110,120,130,140は、モジュール100を機能ごとに細分化したものであり、両者の関係において、前者を下位モジュール(又は下位階層)、後者を上位モジュール(又は上位階層)と呼ぶことができる。
本実施形態によれば、図1に示すように、上位モジュール100に属する複数の下位モジュール110,120,130,140を各々設計し、本実施形態にかかる回路設計ツールを使用して複数の下位モジュール110,120,130,140を相互に接続するように対応付けし、図2に示すように1つの上位モジュール100を自動生成することができる。なお、こうして自動生成されたモジュール100は、例えば図3に示すように、他のモジュール102と相互に接続するように対応付けし、さらに上位の1つのモジュール104を生成することができる。こうして、順々に上位階層を生成し、最終的に半導体チップ全体の回路設計を達成する。
各下位モジュール110,120,130,140は、データの送受信に使用されるポートを有する。ポートは入力ポート及び出力ポートのほか、基準クロックポートや基準リセットポートを含むことができる。図1に示す例では、下位モジュール110は入力ポート(ポート情報:i_a1, i_a2)及び出力ポート(ポート名:a, b_1, b_2)を有し、下位モジュール120は入力ポート(ポート名:a, b)及び出力ポート(ポート情報:c)を有し、下位モジュール130は入力ポート(ポート情報:c)及び出力ポート(ポート情報:d)を有し、下位モジュール140は入力ポート(ポート情報:d_1, d_2)及び出力ポート(ポート情報:o_d1, o_d2)を有する。なお、基準クロックポート及び基準リセットポートのように、各下位モジュールに共通に接続されるもので、モジュール間の接続には関係しないものについては、図1〜図3では省略してある。
ポートにはポート情報(ポート名)が付けられている。個々の下位モジュールの設計においては、異なるデータを送受信するものについては各々個別にポートが設けられ、また、ポート情報についても異なる名前が付けられる。
また、複数の下位モジュール110,120,130,140は、信号の入力側から出力側にかけて順番に配列され、隣り合うモジュールの間の入出力ポート同士が、所定の対応関係に従って接続され、これにより複数の下位モジュールが相互に接続される。なお、最も上流側の下位モジュール110の入力ポート(ポート情報:i_a1, i_a2)は、上位モジュール100の入力ポートに対応し、最も下流側の下位モジュール140の出力ポート(ポート情報:o_d1, o_d2)は、上位モジュール100の出力ポートに対応する。
図1に示すように、複数の下位モジュールの少なくとも1つは、同一機能を有する複数のインスタンスを有する。ここで、インスタンスとは同一機能を有するモジュールが複数ある場合の各々を特定するためのものであり、このように同一機能を有するモジュールを複数に展開することをインスタンス展開と呼ぶことができる。
図1に示す例では、モジュール120が複数のインスタンス120A,120Bを有し、モジュール130が複数のインスタンス130A,130Bを有する。インスタンス展開された複数のモジュール120A,120B(又は130A,130B)は、各々、同一のポートを有し、同一ポート情報が付けられている。図1に示す例では、モジュール120,130が複数のインスタンスを有し、これに対してモジュール110,140は各々1つのインスタンスを有するということができる。また、N個のモジュールがある場合に、インスタンス展開されるモジュールは、1番目又はN番目の少なくとも1つのモジュールであってもよいし、2番目〜(N−1)番目の少なくとも1つのモジュールであってもよいし(図1に示す例が該当する。)、それらの組み合わせであってもよい。
なお、図1〜図3に示すモジュールの態様は一例に過ぎず、全体モジュールの個数、インスタンス展開されるモジュールの個数、インスタンス展開される場合の複数のインスタンスの個数、各モジュールのポート数等は上述した例に限定されるものではない。
(2)本実施形態にかかる回路設計システムの概要
次に、図4及び図5を参照して、本実施形態にかかる回路設計システムの概要を説明する。ここで、図4は、本実施形態にかかる回路設計システムの機能構成を示す図である。また、図5は、本実施形態にかかる回路設計システムのハードウェア構成を示すブロック図である。
図4に示すように、回路設計を行うためのプログラムがインストールされた回路設計システム200は、主な構成として、回路設計の処理を制御する制御手段210と、回路設計の処理に必要な情報を記憶するための記憶手段230とを備える。
回路設計システム200には、例えば図5に示すようなCPU201、ROM202、RAM203、外部記憶装置204、ユーザインタフェース205、ディスプレイ206、プリンタ207、および通信インタフェース208を備える汎用のコンピュータを適用することができる。回路設計システム200は、単一のコンピュータより構成されるものであっても、ネットワーク上に分散した複数のコンピュータより構成されるものであってもよい。
回路設計システム200は、CPU201が、ROM202、RAM203、外部記憶装置204などに記憶された又は通信ネットワークを介してダウンロードされた所定のプログラム(本実施形態にかかる回路設計処理を規定したプログラム)を実行することにより、回路設計システム200を後述する各種機能実現手段(図4参照)又は各種ステップとして機能させる。
すなわち、図4に示す制御手段210は、主な構成として、上位モジュール情報取得手段212、ポート情報取得手段214、インスタンス情報取得手段216、共通接続情報取得手段218、入力ポート及び出力ポート対応付け手段220、上位モジュールソースファイル生成手段222、所定情報表示手段224を備える。各種機能実現手段は、記憶手段230に接続されており、これにより上記各手段によって処理された回路設計の処理に必要な情報を記憶手段230に記憶又は記憶手段230から読み出すことができる。各種機構実現手段についての説明は、後述する回路設計方法の各種ステップについての説明を参照することができる。
(3)本実施形態にかかる回路設計システムを用いた回路設計方法
次に、図6〜図14を参照して、本実施形態にかかる回路設計方法の具体例について説明する。本実施形態にかかる回路設計方法は、上述した回路設計システム200(図4及び図5参照)を用いて行うことができる。なお、後述するフローチャートにおける各ステップ(符号が付されていない部分的なステップを含む)は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
ここで、図6は、本実施形態にかかる回路設計方法の概略を示す図であり、図7〜図14は、本実施形態にかかる回路設計方法の各ステップでの詳細を説明するための図である。以下に、各図を参照して説明する処理は、制御手段210(例えばCPU201)の制御に基づいて、記憶手段230(例えばRAM203)から読み出した所定のプログラムに規定されたステップを実行することにより実現することができる。
まず、図6及び図7に示すように、上位モジュール情報取得手段212によって、生成される上位モジュール100についての必要な情報を取得する(STEP100)。
例えば、ユーザが回路設計を行うときに、ディスプレイ206に所定のメニュー画面が表示され、当該メニュー画面からSTEP100の処理に開始を促す入力を行うことにより、STEP100の処理を開始してもよい。また、ディスプレイ206に、図6に示すSTEP100〜110の処理に対応する複数のアイコンが表示されており、当該表示からSTEP100の処理に対応するアイコンをクリックすることにより入力を行ってもよい。なお、上述した例示はこのステップに限るものではなく、他のステップにも適用することができる。
STEP100の処理を選択すると、図7に示すように、上位モジュールについて必要な情報の入力を促す上位モジュール設定画面300がディスプレイ206に表示される。上位モジュールについての必要な情報としては、図7に示すように、例えばモジュール名、基準クロック情報(Mater Clock)、基準リセット情報(Master Reset)等が挙げられる。本実施形態では、図7に示すように、各々の欄に、model_abcd, clk, rst と入力する。入力を終了したら、設定終了のアイコンをクリックし、次のステップへ進むことができる。なお、上位モジュール情報取得手段212によって取得された情報は、後述するステップで読み出すために記憶手段230に記憶させておくことができる。
次に、図6及び図8に示すように、ポート情報取得手段214によって、下位モジュール110,120,130,140のポート情報を取得する(STEP102)。
STEP102の処理を選択すると、図8に示すように、下位モジュールについて必要な情報の入力を促す下位モジュール設定画面310がディスプレイ206に表示される。下位モジュール設定画面310には、上位モジュール100の生成のために必要なすべての下位モジュール(model_a, model_b, model_c, model_d)110,120,130,140の一覧が表示される。そして、一覧表示された下位モジュールを1つずつ選択して、各下位モジュールのソースファイル312を開き、当該ソースファイル312のデータを記憶手段230(例えばRAM203)に読み込ませる。このようなデータの読み込みは、例えば図9に示すフローチャートに従って行ってもよい。すなわち、まず、設定画面310から所定の下位モジュールを選択し、ソースファイル312を開く(STEP200)。ソースファイル312を開いたら、当該ファイルに記述されているプログラムを先頭から1行ずつ読み込み(STEP202)、入力ポート(in宣言)、出力ポート(out宣言)、基準クロック(clock宣言)、基準リセット(reset宣言)の記述を認識し(STEP204〜210)、記述が存在する場合には各情報を取得する(STEP212)。最終的にソースファイル312のすべての記述を読み込みが終わると(STEP214)、ソースファイル312のデータの読み込みは終了する。なお、ポート情報取得手段214によって取得された情報は、後述するステップで読み出すために記憶手段230に記憶させておくことができる。
次に、図6及び図10に示すように、インスタンス情報取得手段216及び共通接続情報取得手段218によって、下位モジュール110,120,130,140のインスタンス情報及び共通接続情報を取得する(STEP104)。
STEP104の処理を選択すると、図10に示すように、下位モジュールにおいてインスタンス情報及び共通接続情報の入力を促す下位モジュール設定画面314がディスプレイ206に表示される。下位モジュール設定画面314には、上位モジュール100の生成のために必要なすべての下位モジュール(model_a, model_b, model_c, model_d)110,120,130,140の一覧が表示される。そして、一覧表示された下位モジュールのうち、複数のインスタンスを備えるモジュール120,130を1つずつ選択する。まず、図10に示すようにモジュール(model_b)120を選択し、下位モジュール情報表示画面316を開く。下位モジュール情報表示画面316には、STEP102により取得した下位モジュール120のポート情報及びデータの種類を示すデータ情報などとともに、インスタンス情報入力領域318及び共通接続情報入力領域320が表示されている。ユーザは、下位モジュールに関するポート情報や予め決めた設計ルールなどから、インスタンス情報入力領域318にインスタンス情報を入力し、また共通接続情報入力領域318に共通接続情報を入力する。
ここで、インスタンス情報とは、少なくとも、同一機能を有する複数のインスタンスを備えるモジュールがあることを示す情報であり、複数のインスタンスの個数を示すインスタンス個数情報や、複数のインスタンスをそれぞれ識別するインスタンス識別情報を含むことができる。図10に示す例では、インスタンス情報入力領域318の「インスタンス情報」の項目において、インスタンスの個数に応じた複数のセルの各々に、複数のインスタンスをそれぞれ識別する情報(例えば数字、記号又は文字列)を入力する。例えば、モジュール120においては、インスタンスは2個であるので、1個目のセルにインスタンスを識別する情報「1」を入力し、2個目のセルにインスタンスを識別する情報「2」を入力する。こうして、インスタンス個数情報及びインスタンス識別情報の両方を同時に入力することができる。
インスタンス識別情報として入力する情報は、インスタンス展開されるモジュール120よりも上流側のモジュール110の出力ポートのポート情報(例えば「信号名_展開値」)、又は、インスタンス展開されるモジュール130よりも下流側のモジュール140の入力ポートのポート情報(例えば「信号名_展開値」)に基づいて決定することができる。すなわち、図2に示すように、モジュール110の出力ポートは、インスタンス展開される複数のモジュール120A,120Bの各々に対応するポート(ポート情報:b_1, b_2)を有しており、後述するポート同士の対応付けにおいて仮ポート情報が相互に一致するように、予めインスタンス識別情報として入力する情報をポート情報の展開値(例えばアンダーバーの後に続く情報「1」及び「2」のことである。)と一致させてもよい。また、同様に、モジュール140の入力ポートは、インスタンス展開される複数のモジュール130A,130Bの各々に対応するポート(ポート情報: d_1, d_2)を有しており、ポート同士の対応付けにおいて仮ポート情報が相互に一致するように、予めインスタンス識別情報として入力する情報をポート情報の展開値と一致させてもよい。なお、インスタンス識別情報は、後述するポート同士の対応付けが図ることができれば、必ずしもポート情報の展開値と一致させなければならないという制約はなく、ポート情報の展開値とは異なる数字、記号又は文字列を入力しても構わない。
他方、共通接続情報とは、所定のモジュールの出力ポートが、複数のインスタンスの各入力ポートに共通に接続されることを示す情報である。すなわち、図2に示すように、モジュール110の出力ポート(ポート情報:a)が、インスタンス展開される複数のモジュール120A,120Bの各入力ポート(ポート情報:a)に共通に接続されるものである場合には、共通接続情報入力領域320の「共通接続情報」の項目のポート情報aに対応するセルに所定の情報(例えば数字、記号又は文字列)を入力する。図10に示す例では、「共通接続情報」の項目のポート情報aに対応するセルに「1N」と入力する。共通接続情報として入力する情報は、そのポートが共通接続されるものであることが識別できればよく、上述した文字列に限定されるものではない。
なお、インスタンス情報取得手段216及び共通接続情報取得手段218によって取得された情報は、後述するステップで読み出すために記憶手段230に記憶させておくことができる。
また、STEP104においては、インスタンス情報及び共通接続情報の両方を取得する例を説明したが、所定のモジュールの出力ポートが、複数のインスタンスの各入力ポートに共通に接続される態様が存在しない場合には、共通接続情報を取得することを要しない。この場合には、インスタンス情報取得手段216によって、下位モジュール110,120,130,140のインスタンス情報を取得すればよい。
次に、図6及び図11に示すように、入力ポート及び出力ポート対応付け手段220によって、下位モジュール110,120,130,140の入力ポートと出力ポートを対応付ける(STEP106)。
図11は、STEP106をさらに詳細に説明するためのフローチャートである。まず、STEP106の処理を選択すると、入力ポート及び出力ポート対応付け手段220が予め記憶手段230に記憶させておいた必要な情報を読み出し、STEP104において取得したインスタンス情報及び共通接続情報に基づいて、STEP102において取得したポート情報から仮ポート情報を生成する(STEP302)。
表1は、入力ポートに関するポート情報から仮ポート情報を生成した入力情報データベースを示し、表2は、出力ポートに関するポート情報から仮ポート情報を生成した出力情報データベースを示す。
Figure 0005229834
Figure 0005229834
表1及び表2からわかるとおり、仮ポート情報の生成においては、まず、インスタンス展開していないものに関しては、インスタンス情報及び共通接続情報も付与されていないので、ポート情報と同じ情報が仮ポート情報として表示される(仮ポート情報:i_a1, i_a2, d_1, d_2, o_d1, o_d2)。次に、インスタンス展開したものに関しては、インスタンス情報に基づいて仮ポート情報を生成する(仮ポート情報:b_1, b_2, c_1, c_2)。すなわち、インスタンス情報に基づいて、ポート情報を異なる仮ポート情報に変更する。この場合、上述したとおり、予めインスタンス識別情報として入力する情報をポート情報の展開値と一致させておくことにより、対応付けすべきポート同士で仮ポート情報を一致させることができる。最後に、インスタンス展開しているものおいて共通接続情報を入力したものに関しては、共通接続情報に基づいて仮ポート情報を生成する(仮ポート情報:a)。すなわち、ポート情報が異なる仮ポート情報に変更されることが、この共通接続情報によって妨げられ、ポート情報がそのまま仮ポート情報として表示される。このようにして、入力情報データベース(表1)及び出力情報データベース(表2)を作成し、各データベースを例えば記憶手段230に記憶しておく。
次に、生成した仮ポート情報に基づいて入力ポートと出力ポートを対応付ける(STEP304)。本実施形態では、対応付けすべきポート同士は仮ポート情報が一致するようになっているため、入力ポートと出力ポートの対応付けは、仮ポート情報が一致するか否かに基づいて判断することができる。例えば、出力情報データベース(表2)の仮ポート情報を1つずつ読み出し、入力情報データベース(表1)の仮ポート情報と比較して、一致するものがあれば、これらの仮ポート情報は相互に接続されるように対応付けられると判断し、対応付けられた接続情報を接続情報データベースとして登録する。なお、表3は、接続情報データベースの一態様を示す。
Figure 0005229834
表3に示すとおり、接続情報データベースとして登録する情報は、出力側のインスタンス名及びポート情報、入力側のインスタンス名及びポート情報、及び、入力ポートと出力ポートの接続情報等である。生成した接続情報データベースは、最終的に記憶手段230に記憶させておくことができる。
また、表3に示す接続情報データベースは、ディスプレイ206に表示してもよい。例えば図14に示すように一覧表として接続情報データベースに基づく情報をユーザが視認することができるようにしてもよい。ディスプレイ206に出力する表示態様は限定されないが、例えば、少なくとも、インスタンス名を示す情報、ポート名(ポート情報)、及び、複数のモジュールを相互に接続するための入力ポートと出力ポートの接続情報を含むことができる。
次に、図6及び図12に示すように、上位モジュールソースファイル生成手段222によって、上位モジュール100のソースファイルを生成する(STEP108)。ここで、図12は、上位モジュールソースファイル生成処理のフローチャートを示す図であり、図12のフローチャートに従って生成された上位モジュールソースファイルの一例を図13に示す。
図13に示すように、上位モジュールソースファイル400は、主要な構成として、下位モジュール読み出し部402と、入出力信号宣言部404と、内部信号接続部406とを含む。いずれの構成も、これまで説明したステップにおいて記憶手段230に記憶した情報やデータベースに基づいて生成することができる。
図12に示すように、このようなソースファイル400は、まず下位モジュール110,120,130,140の読み出し部を生成し(STEP500)、次に上位モジュール100の入出力宣言部を生成し(STEP600)、最後に上位モジュール100の内部信号接続部を生成することにより生成することができる(STEP700)。
まず、STEP500では、下位モジュール名を読み込みファイルへ出力し(STEP502)、次に下位モジュールのポート情報を読み込む(STEP504)。そしてポート情報(clock/reset/in/out)を識別して宣言をファイルへ出力し(STEP506)、すべてのポート情報の処理が終了したら(STEP508)、インスタンス名をファイルへ出力し(STEP510)、すべての下位モジュールをコールしたことを確認する(STEP512)。こうして、図13に示す下位モジュール読み出し部402の部分のソースファイルを生成することができる。
次に、STEP600では、接続情報データベース(表3参照)から接続情報を1つ(表3の例では1行分)読み込み(STEP602)、読み込んだ接続情報が外部入出力信号であるか否かを判断する(STEP604)。この結果、外部入出力信号である場合には、外部入出力宣言としてその旨ファイルへ出力する(STEP606)。外部入出力信号ではない場合には、すべての接続情報を読み込んだか否かについて判断し(STEP608)、まだ残りの接続情報がある場合にはSTEP604に戻り、上述した手順を繰り返し行う。こうして、最終的にすべての接続情報を読み込むことにより、図13に示す入出力信号宣言部404の部分のソースファイルを生成することができる。
そして、STEP700では、上位モジュール名を読み込みファイルへ出力し(STEP702)、次に、STEP600でも説明したとおり、接続情報データベース(表3参照)から接続情報を1つ読み込み(STEP704)、読み込んだ接続情報が内部同士の接続情報であるか否かを判断する(STEP706)。この結果、内部同士の接続情報である場合には、その旨ファイルへ出力する(STEP708)。内部同士の接続情報ではない場合には、次に外部との接続情報であるか否かを判断し(STEP710)、この結果、外部との接続情報である場合には、その旨ファイルへ出力する(STEP712)。あるいは、外部との接続ではない場合には、すべての接続情報を読み込んだか否かについて判断し(STEP714)、まだ残りの接続情報がある場合にはSTEP704に戻り、上述した手順を繰り返し行う。こうして、最終的にすべての接続情報を読み込むことにより、図13に示す内部信号接続部406の部分のソースファイルを生成することができる。
このようにして、本実施形態にかかる回路設計方法によれば、上位モジュール100を自動生成することができるため、設計されるモデルの品質の向上及び設計生産性の向上を図ることができる。
なお、本実施形態にかかる回路設計方法によれば、「サイバーワークベンチ」のプログラム言語BDLを用いた例を示したが、プログラム言語はこれに限定されるものではなく、ソースファイルを作成するためのルーチンを変更することにより他のプログラム言語にも適用することができる。
(4)本実施形態にかかる回路設計の適用例
次に、図15を参照して、本実施形態にかかる回路設計の適用例について説明する。本実施形態にかかる回路設計は半導体試験装置に用いられる半導体デバイス(例えばASIC)の回路設計に適用することができる。
半導体試験装置500に用いられる半導体デバイス502は、被試験IC600の試験を行うため、タイミング発生器510、パターン発生器520、波形整形器及びタイミング発生器530、論理比較器540等の複数のモジュールを備える。その中でも、波形整形器及びタイミング発生器530並びに論理比較器540は各々複数のインスタンス、すなわち同一機能を有する複数のモジュール530A〜C,540〜Cにインスタンス展開されている。例えば、被試験ICの測定すべき多数の外部端子の数に応じた数のインスタンス展開がなされると、波形整形器及びタイミング発生器530並びに論理比較器540は各々多数のインスタンスを備えることになる。
したがって、このような多数のインスタンスを有するモジュールを備える半導体デバイス502の回路設計においては、上述した本実施形態にかかる回路設計システム200及び回路設計方法を適用すると、極めて容易に上位モジュールを自動
生成することができるため、より効果的にモデルの品質の向上及び設計生産性の向上を図ることができる。
上記発明の実施形態を通じて説明された実施例や応用例は、用途に応じて適宜に組み合わせて、又は変更若しくは改良を加えて用いることができ、本発明は上述した実施形態の記載に限定されるものではない。そのような組み合わせ又は変更若しくは改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
100・・・上位モジュール、110,120,130,140・・・下位モジュール、210・・・制御手段、212・・・上位モジュール情報取得手段、214・・・ポート情報取得手段、216・・・インスタンス情報取得手段、218・・・共通接続情報取得手段、220・・・入力ポート及び出力ポート対応付け手段、222・・・上位モジュールソースファイル生成手段、224・・・所定情報表示手段、230・・・記憶手段

Claims (11)

  1. 複数のモジュールを相互に接続するための回路設計方法であって、
    前記複数のモジュールの入力ポート及び出力ポートを含むポート情報を取得するステップと、
    前記複数のモジュールのうち、同一機能を有する複数のインスタンスを備えるモジュールがあることを示すインスタンス情報を取得するステップと、
    前記ポート情報及び前記インスタンス情報に基づいて、前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けるステップと、
    を含
    所定のモジュールの出力ポートが、前記複数のインスタンスの各入力ポートに共通に接続されることを示す共通接続情報を取得するステップをさらに含み、
    前記対応付けるステップは、前記インスタンス情報及び前記共通接続情報に基づいて前記ポート情報から仮ポート情報を生成し、当該仮ポート情報に基づいて前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けることを含む、方法。
  2. 前記インスタンス情報は、複数のインスタンスの個数を示すインスタンス個数情報を含む、請求項1記載の方法。
  3. 前記インスタンス情報は、複数のインスタンスをそれぞれ識別するインスタンス識別情報を含む、請求項1記載の方法。
  4. 前記対応付けるステップは、前記インスタンス情報に基づいて前記ポート情報から仮ポート情報を生成し、当該仮ポート情報に基づいて前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けることを含む、請求項1記載の方法。
  5. 前記ポート情報を取得するステップの前に、前記複数のモジュールを相互に接続して生成される上位モジュールに関する情報を取得するステップをさらに含む、請求項1記載の方法。
  6. 前記対応付けるステップの後に、前記対応付けられた接続情報を接続情報データベースとして記憶するステップをさらに含む、請求項1記載の方法。
  7. 前記対応付けるステップの後に、前記複数のモジュールを相互に接続して生成される上位モジュールのソースファイルを生成するステップをさらに含む、請求項1記載の方法。
  8. 前記対応付けるステップの後に、少なくとも、インスタンス名を示す情報、前記ポート情報、及び、前記複数のモジュールを相互に接続するための入力ポートと出力ポートの接続情報を表示するステップをさらに含む、請求項1記載の方法。
  9. 半導体試験装置に用いられる半導体デバイスの回路設計に適用される、請求項1からのいずれかに記載の方法。
  10. 複数のモジュールを相互に接続するための回路設計システムであって、
    前記複数のモジュールの入力ポート及び出力ポートを含むポート情報を取得するポート情報取得手段と、
    前記複数のモジュールのうち、同一機能を有する複数のインスタンスを備えるモジュールがあることを示すインスタンス情報を取得するインスタンス情報取得手段と、
    前記ポート情報及び前記インスタンス情報に基づいて、前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付ける対応付け手段と、
    を含
    所定のモジュールの出力ポートが、前記複数のインスタンスの各入力ポートに共通に接続されることを示す共通接続情報を取得する手段をさらに含み、
    前記対応付け手段は、前記インスタンス情報及び前記共通接続情報に基づいて前記ポート情報から仮ポート情報を生成し、当該仮ポート情報に基づいて前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けるよう構成された、システム。
  11. 複数のモジュールを相互に接続するためのプログラムを格納したコンピュータ読取り可能な記録媒体であって、
    前記複数のモジュールの入力ポート及び出力ポートを含むポート情報を取得するステップと、
    前記複数のモジュールのうち、同一機能を有する複数のインスタンスを備えるモジュールがあることを示すインスタンス情報を取得するステップと、
    前記ポート情報及び前記インスタンス情報に基づいて、前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けるステップと、
    を実行させるプログラムを格納し
    前記プログラムが、所定のモジュールの出力ポートが、前記複数のインスタンスの各入力ポートに共通に接続されることを示す共通接続情報を取得するステップをさらに含み、
    前記対応付けるステップは、前記インスタンス情報及び前記共通接続情報に基づいて前記ポート情報から仮ポート情報を生成し、当該仮ポート情報に基づいて前記複数のモジュールを相互に接続するように入力ポートと出力ポートを対応付けることを含む、コンピュータ読取り可能な記録媒体。
JP2010531718A 2008-09-30 2009-09-25 回路設計方法、回路設計システム及び記録媒体 Expired - Fee Related JP5229834B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010531718A JP5229834B2 (ja) 2008-09-30 2009-09-25 回路設計方法、回路設計システム及び記録媒体

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008255056 2008-09-30
JP2008255056 2008-09-30
JP2010531718A JP5229834B2 (ja) 2008-09-30 2009-09-25 回路設計方法、回路設計システム及び記録媒体
PCT/JP2009/004867 WO2010038387A1 (ja) 2008-09-30 2009-09-25 回路設計方法、回路設計システム及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2010038387A1 JPWO2010038387A1 (ja) 2012-02-23
JP5229834B2 true JP5229834B2 (ja) 2013-07-03

Family

ID=42073171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010531718A Expired - Fee Related JP5229834B2 (ja) 2008-09-30 2009-09-25 回路設計方法、回路設計システム及び記録媒体

Country Status (5)

Country Link
US (1) US20110191739A1 (ja)
JP (1) JP5229834B2 (ja)
KR (1) KR20110081961A (ja)
TW (1) TWI409659B (ja)
WO (1) WO2010038387A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6364786B2 (ja) 2014-01-24 2018-08-01 富士通株式会社 設計書管理プログラム、設計書管理方法および設計書管理装置
CN105718644A (zh) * 2016-01-19 2016-06-29 深圳市同创国芯电子有限公司 一种现场可编程门阵列网表生成方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007114881A (ja) * 2005-10-18 2007-05-10 Elpida Memory Inc 回路図作成装置、回路図作成エディタプログラム及び回路図作成方法
JP2008217365A (ja) * 2007-03-02 2008-09-18 Nec Corp 集積回路のレイアウト設計支援装置、方法、プログラム、及びデータ構造

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1300265C (en) * 1987-06-22 1992-05-05 William Curtis Newman Block diagram simulator
US5220512A (en) * 1990-04-19 1993-06-15 Lsi Logic Corporation System for simultaneous, interactive presentation of electronic circuit diagrams and simulation data
US5914889A (en) * 1996-09-13 1999-06-22 Lucent Technologies Inc. Method and system for generating a mask layout of an optical integrated circuit
US5896301A (en) * 1996-10-25 1999-04-20 Advanced Micro Devices, Inc. Method for performing floorplan timing analysis using multi-dimensional feedback in a histogram and integrated circuit made using same
US6026226A (en) * 1996-10-28 2000-02-15 Altera Corporation Local compilation in context within a design hierarchy
US6237007B1 (en) * 1998-07-02 2001-05-22 Micron Technology, Inc. Verification of port list integrity in a hardware description language file
US6817005B2 (en) * 2000-05-25 2004-11-09 Xilinx, Inc. Modular design method and system for programmable logic devices
US6996799B1 (en) * 2000-08-08 2006-02-07 Mobilygen Corporation Automatic code generation for integrated circuit design
US6684381B1 (en) * 2000-09-29 2004-01-27 Hewlett-Packard Development Company, L.P. Hardware description language-embedded regular expression support for module iteration and interconnection
US6539520B1 (en) * 2000-11-28 2003-03-25 Advanced Micro Devices, Inc. Systems and methods for generating hardware description code
US6865722B2 (en) * 2002-12-17 2005-03-08 International Business Machines Corporation Method of automating chip power consumption estimation calculation
US6823502B2 (en) * 2002-12-31 2004-11-23 Lsi Logic Corporation Placement of configurable input/output buffer structures during design of integrated circuits
US6959428B2 (en) * 2003-06-19 2005-10-25 Lsi Logic Corporation Designing and testing the interconnection of addressable devices of integrated circuits
US7979262B1 (en) * 2005-12-19 2011-07-12 Cadence Design Systems, Inc. Method for verifying connectivity of electrical circuit components
US7412669B1 (en) * 2006-07-06 2008-08-12 Xilinx, Inc. Generation of graphical design representation from a design specification data file
CN101246516B (zh) * 2007-03-09 2010-06-02 知亿科技股份有限公司 可执行于计算机系统的电路设计修改方法
US8255845B2 (en) * 2007-11-30 2012-08-28 Cadence Design Systems, Inc. System and method for generating flat layout
WO2010053779A1 (en) * 2008-11-07 2010-05-14 Intrinsity, Inc. A method for preparing re-architected designs for sequential equivalence checking
US8549447B2 (en) * 2010-04-24 2013-10-01 Robert Eisenstadt Integrated circuits with multiple I/O regions
US8549454B1 (en) * 2012-07-20 2013-10-01 Xilinx, Inc. System and method for automated configuration of design constraints
US8782587B2 (en) * 2012-07-30 2014-07-15 Atrenta, Inc. Systems and methods for generating a higher level description of a circuit design based on connectivity strengths

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007114881A (ja) * 2005-10-18 2007-05-10 Elpida Memory Inc 回路図作成装置、回路図作成エディタプログラム及び回路図作成方法
JP2008217365A (ja) * 2007-03-02 2008-09-18 Nec Corp 集積回路のレイアウト設計支援装置、方法、プログラム、及びデータ構造

Also Published As

Publication number Publication date
WO2010038387A1 (ja) 2010-04-08
JPWO2010038387A1 (ja) 2012-02-23
TW201019153A (en) 2010-05-16
TWI409659B (zh) 2013-09-21
KR20110081961A (ko) 2011-07-15
US20110191739A1 (en) 2011-08-04

Similar Documents

Publication Publication Date Title
EP1441295A2 (en) Expert system for guidance through a design flow for integrated circuits
US8037436B2 (en) Circuit verification apparatus, a method of circuit verification and circuit verification program
JP2010033208A (ja) 回路設計支援装置、回路設計支援プログラム、回路設計支援方法
JP4078435B2 (ja) 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法
US7493578B1 (en) Correlation of data from design analysis tools with design blocks in a high-level modeling system
US10691867B2 (en) Identifying root cause of layout versus schematic errors
CN105574246B (zh) 版图的ip模块合成方法
US7409650B2 (en) Low power consumption designing method of semiconductor integrated circuit
JP5229834B2 (ja) 回路設計方法、回路設計システム及び記録媒体
EP1276060B1 (en) Method of designing a timing budget
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
US8504953B2 (en) Schematic generation visualization aid for netlists comprising analog circuits
US9275175B2 (en) Integrated circuit clock tree visualizer
US7721171B2 (en) Scheme to optimize scan chain ordering in designs
US8739093B1 (en) Timing characteristic generation and analysis in integrated circuit design
JP5440094B2 (ja) 回路設計装置及び方法
US7287235B1 (en) Method of simplifying a circuit for equivalence checking
US8156452B1 (en) Method and apparatus for importing hardware description language into a system level design environment
CN110489814B (zh) 一种通过在代码中提取数据流辅助芯片布局规划的方法
US6877140B1 (en) Method and system for generating a schematic representing bus structures
Masoumi et al. New tool for converting high-level representations of finite state machines to verilog hdl
US20240046018A1 (en) Logic circuit design method and logic circuit designing apparatus
US20090089723A1 (en) Circuit design using a spreadsheet
CN115758953A (zh) 用于生成网表的方法及装置、电子设备、存储介质
Lee et al. Message sequence charts for assertion-based verification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130314

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130313

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees