(57)【特許請求の範囲】
【請求項１】
電気回路のパーティショニングのためのコンピュータ支援された方法において、
前記電気回路をグラフに写像し、該グラフは前記電気回路と同一のトポロジを有し、
前記グラフの辺にウェイト値を割り当て、該ウェイト値によって前記電気回路の素子の電気的記述パラメータを算出するために必要な計算コストを記述し、前記電気回路の素子は各々の前記辺によって表されていおり、
相互に結合された辺に対して該辺の前記ウェイト値の第１の合計値を算出し、後続の反復においてそれぞれ算出される前記第１の合計値が所定の第１の閾値よりも大きくなるまで前記第１の合計値を少なくとも１つの他の辺を加えることによってそれぞれ形成し、
前記第１の合計値の形成の際に考慮された辺によって前記電気回路のパーティションを形成し、
該パーティション内に存在せずかつ該パーティションの少なくとも１つの辺に結合されている残りの辺の少なくとも１部分に対して、以下のようなステップを実施し、すなわち、
前記第１の合計値と少なくとも１つの前記残りの辺の少なくとも１つのウェイト値との和から得られる第２の合計値を算定し、
該第２の合計値が所定の第２の閾値よりも小さい場合には、
及び前記第２の合計値の形成の際に考慮されなかった辺に結合されている前記第２の合計値の形成の際に考慮された辺の数が前記残りの辺に結合されている前記パーティションの辺の数より小さい場合には、
前記残りの辺を前記パーティションに割り当て、前記第１の合計値に前記第２の合計値を割り当てるステップを実施し、
前記第２の合計値の形成の際に考慮された辺によって前記パーティションを形成する、電気回路のパーティショニングのためのコンピュータ支援された方法。
【請求項２】
本発明の方法の最初に、電気回路の素子のグループ分けを実施し、前記素子に対してこれらの素子が共に１つのパーティションに割り当てられることをそれぞれ決定する、請求項１記載の方法。
【請求項３】
電気回路の素子のグループ分けの際に次の規則のうちの少なくとも１つを適用する、すなわち、
制御される電源の素子、少なくとも１つの制御素子及び前記制御される電源を共に１つのパーティションに割り当てるという規則と、
少なくとも１つの電圧源及び少なくとも１つの相互インダクタンスのみを含む電気回路における接続ループを共に１つのパーティションに割り当てるという規則と、
パーティショニングによって短絡が発生してはならないという規則のうちの少なくとも１つを適用する、請求項２記載の方法。
【請求項４】
グラフの複数の辺に共通のウェイト値を割り当てる、請求項１〜３までのうちの１項記載の方法。
【請求項５】
パーティションのグラフを電気回路に写像し、前記パーティションは実施されたパーティショニングに相応して前記電気回路の素子を有する、請求項１〜４までのうちの１項記載の方法。
【請求項６】
複数のパーティションを本発明の方法を多数回実施することによって形成し、
各パーティション毎に電気回路の素子に対する電気的記述パラメータを算出し、前記パーティションの少なくとも１部分を複数のコンピュータ及び／又はプロセッサにおいて並列に処理する、請求項１〜５までのうちの１項記載の方法。
【請求項７】
パーティションの並列処理を中央制御する、請求項６記載の方法。
【請求項８】
各パーティションの全端子が中央制御ユニットだけに結合され、従ってデータの伝達が前記中央制御ユニットと前記パーティションの少なくとも１部分との間でのみ行われるやり方で前記パーティションの少なくとも１部分を中央制御する、請求項７記載の方法。
【請求項９】
各パーティションの端子のうちの少なくとも１部分を付加的に電圧源に割り当て、該電圧源の値を電気的記述パラメータの算出の間に中央制御ユニットによって予め設定する、請求項８記載の方法。
【請求項１０】
各パーティションの端子のうちの少なくとも１部分に付加的に抵抗を割り当てる、請求項９記載の方法。
【発明の詳細な説明】
非常に大きな回路の、つまり非常に多数の素子を有する回路の回路シミュレーションの場合、直列処理は、すなわち回路パラメータのコンピュータによる算出は時間コストが非常に高い。その動作において非常に費用がかかるベクトルコンピュータでさえ数十万個のトランジスタを有する回路の電気的記述パラメータの算出のために莫大な計算容量及び時間を必要とする。
回路シュミレーションの直列処理を回避するためには、この理由から電気回路を複数の部分に分割し、これら複数の部分をそれぞれ異なるコンピュータ乃至はプロセッサによって処理する。これは回路シミュレーションの並列処理となる。
しかし、電気回路の電気的記述パラメータの算出のできるだけ良好な並列化可能性を得るためには、複数の部分への電気回路のパーティショニングにおいて次の２つの基準を顧慮すると非常に有利である。電気回路の形成される全てのパーティションができるだけ同じ大きさであり、これによって結果的に並列化により得られる効果を増大することがきわめて重要である。例えば１つのパーティションが規模において残りのパーティションよりも大きい場合、このはるかに大きいパーティションの処理は残りのパーティションの処理よりもはるかに計算コストが高くなる。さらに、パーティショニングの際に重要なことは、個々のパーティションの間にできるだけ少ない数の接続部が存在することである。というのも、「並列化された」回路シミュレーションのための公知の方法では、必要な伝送容量は、すなわちそれぞれパーティションを処理するコンピュータ乃至はプロセッサ間の必要な通信は、パーティション間に存在する接続部の数が大きくなるにつれて大幅に増大するからである。
コンピュータによって処理される電気回路のテキスト的記述のための言語は参考文献［１］から回路シミュレーション言語SPICEとして公知である。
参考文献［２］及び［３］には、電気回路の任意の数のパーティションがすでに存在することを前提として、並列化された回路シミュレーションを実施するやり方が記述されている。パーティションをもとめる方法はこれらの参考文献には記述されていない。
参考文献［４］からゲートレベルとも呼ばれるいわゆる論理レベルにおける包括的なパーティショニング方法が公知である。
この論理レベルでは個別のイベントが記述される。しかし、これら個別のイベントによって、いわゆるトランジスタレベルにおける、すなわち電気回路の本来の物理的なレベルにおける電気回路の連続ダイナミック特性を記述することはできない。
従って、論理レベルで行われる回路シミュレーションの結果は特定の適用に対しては不確実かつ不正確である。というのも、電気回路において発生する電気信号の正確な時間経過を考慮することもできないからである。
さらに、回路シミュレーションに対する個々のゲートの記述が必要であり、この方法を実施できる前に、この個々のゲートの記述が最初に求められなければならない。
様々なパーティショニング規則に関する概説が［５］に記載されている。
いわゆるボトムアップ原理（Bottom−Up−Prinzip）による電気回路のクラスタリングのための並列化された方法は［６］から公知である。
従って、本発明の課題は、電気回路の素子を直接トランジスタレベルで考慮するこの電気回路のパーティショニングのための方法を提供することである。
上記課題は請求項１記載の方法によって解決される。
本発明の方法では、電気回路をグラフに写像する。このグラフは電気回路と同一のトポロジを有する。このグラフの辺はウェイト値によって重み付けされる。これらのウェイト値は、それぞれ辺によって表される電気回路の素子に対する電気的記述パラメータを算出するためにおおよそ必要な計算コストを記述する。本発明の方法の最初に、統合される辺のウェイト値の合計が第１の所定の閾値よりも大きくなるまで相互に結合された辺をパーティションに統合することによって、パーティションが電気回路に対してグラフにおいて形成される。この第１の閾値に達すると、場合によっては新たに加えられる辺を含めて全ての辺のウェイト値の合計が所定の第２の閾値よりも小さい場合に及びこのパーティション内部に存在しない節点に接続されているこのパーティションの辺の数が少なくとも１つの新しい辺を加えることによって減少する場合に、それぞれこのパーティションは他の残りの辺を加えて拡大される。
本発明の方法は参考文献［４］から公知の方法に対していくつかの重大な利点を有する。
本発明の方法は電気回路のトランジスタレベルで直接的に動作するので、本発明の方法によって得られる結果は、本発明で求められるパーティションに使用すると後続の回路シミュレーションにおいて著しく正確かつ信頼できる。
本発明の有利な実施形態は従属請求項から得られる。
有利には電気回路の所定の素子に対して本発明の方法の最初にこれらの素子が共に１つのパーティションにグループ分けされることを決定する。本発明のこの実施形態によって、例えば電源が制御される場合には制御素子も制御されるこの電源も共に１つのパーティションにおいて処理することを保障することができる。同様に、この実施形態によって、少なくとも１つの電圧源及び／又は少なくとも１つのインダクタンスのみを有する電気回路の複数の接続ループを同様に共に１つのパーティションに割り当てることができる。さらに、このやり方によって、できるだけパーティショニングによって生ずる短絡を回避することができる。
グラフの複数の辺に共通のウェイト値を割り当てる本発明の実施形態によって、コンピュータによる本発明の方法の実施はさらに加速される。というのも、この実施形態では本発明の方法の枠内で比較的少ない数のウェイト値が考慮されればよいからである。
さらに、電気回路に対して複数のパーティションを形成し、これらパーティションに対してこれらのパーティションの相応のグラフを再びこの電気回路に写像し、この電気回路の形成されたパーティションを並列に異なるコンピュータ乃至はプロセッサで処理すると有利である。この並列化によって非常に大きな回路の回路シミュレーションは、全くの「直列」回路シミュレーションの場合に可能であるよりもはるかに高速に実施可能である。
さらに、並列化された回路シミュレーションにおいて個々のパーティションの処理を中央制御すると有利である。このやり方で、調整された回路シミュレーションが出来るだけ僅少な通信コストによって実現される。
さらに、パーティションの中にないコンポーネントに結合されているこのパーティションの個々の端子に付加的に電圧源及び抵抗を設けることは有利である。この電圧源にはパーティションの並列化された処理を制御する中央制御ユニットによってそれぞれ電気的端縁記述パラメータが割り当てられる。それぞれこれらの端子に設けられる抵抗によって、並列化された回路シミュレーションの間に回路シミュレーションの収束が保障される。この並列化された回路シミュレーションの値は制御ユニットによってダイナミックに適応される。
図面に本発明の実施例を示し、この実施例を以下において詳しく説明する。
図１は本発明の方法の個々の方法ステップが示されているフローチャートである。
図２は本発明の方法の様々な改良実施形態が示されている概略図である。
非常に多数の素子を有する電気回路は、素子の分割によって、すなわち任意の数のパーティションへの素子のパーティショニング及び回路シミュレーションを実施する異なるコンピュータ乃至はプロセッサでこれらの個々のパーティションを処理することによって並列化される。これにより、全回路シミュレーションの実施が大幅に加速される。
しかし、この並列化をできるだけ最適に構成するためには、個々のパーティションを綿密に決定しなくてはならない。
この場合重要なことは、一方でほぼ均一なパーティションのサイズに注意することであり、他方で個々のパーティションが「外側に向いた」端子、例えばこのパーティション内にない他の素子との結合をあまりにも多数持たないことに注意することである。
電気回路は、回路シミュレーションの枠内でコンピュータによって処理するために通常は回路記述言語、例えばいわゆるSPICE言語で表される101。このいわゆるSPICE言語は参考文献［１］に記述されている。
しかし、本発明の方法は回路記述言語による電気回路の記述にほとんど限定されないし、同様にこの特定の回路記述言語SPICEの使用にもほとんど限定されない。
第１の方法ステップ102において電気回路はグラフに写像される。このグラフはこの電気回路と同一のトポロジを有する。これは例えば回路記述言語SPICEで表されている電気回路から出発して行われる。このグラフはこの電気回路のトポロジに従って相応の節点を有する。この電気回路の個々の素子はこのグラフの節点間の辺によって表現される。
本発明の方法の改良実施形態では、この本発明の方法の最初にこの電気回路の個々の素子にマーキングすること、すなわち、相応のマーキングされた素子に対してこれらのマーキングされた素子が後続の方法においてそれぞれ共に１つのパーティションに割り当てられることを決定することが有利である。異なるマーキングは異なる素子を別々のパーティションに割り当てることができる。また、それぞれペアの素子が１つのパーティションに割り当てられるのだとコンピュータが解釈するように素子をマーキングする。このコンピュータが本発明の方法を実施する。
この場合、例えば電気回路の次のような特別な場合を考慮すると有利である。電気回路が制御される電源、例えば制御される電流源又は制御される電圧源を含んでいる場合には、制御素子もこの制御される電源も後続の回路シミュレーションのために共に１つのパーティションに含まれると有利である。
さらに、結合されたインダクタンスを同様にそれぞれ１つの共通のパーティションに割り当てると有利である。また、重要なことは、本発明の改良実施形態において、コンピュータによるパーティショニング及びこのパーティショニングのアルゴリズム的処理によっていかなる種類の短絡も発生しないように考慮することである。
次のステップ103では辺にウェイト値Ｇが割り当てられる。これらのウェイト値Ｇによって次のことが記述される。すなわち、それぞれウェイト値Ｇが割り当てられる辺によって表される電気回路の各素子に対する電気的記述パラメータを算出するためにおおよそどのくらいの計算コストが予期されるかが記述される。
必要とされる計算コストの尺度は、例えばこの回路シミュレーションの枠内でそれぞれ特定の素子に対する電気的記述パラメータを算出するために必要とされるコード行の数に見て取れる。トランジスタに対する電気的記述パラメータの算出が電気抵抗又はキャパシタンスに対する電気的記述パラメータの算出のためのコストよりもはるかに大きいことは、おおざっぱな基準と見なしうる。しかし、ウェイト値Ｇの選択はきわめて非クリティカル（unkritisch）であり、単に必要な計算コストのおおよその規模を示すにすぎない。それどころか、例えばトランジスタを表す辺に高いウェイト値Ｇ、例えばウェイト値Ｇ＝300を割り当て、抵抗又はキャパシタンスを表す辺に小さなウェイト値、例えばウェイト値Ｇ＝１又はウェイト値Ｇ＝０を割り当てても十分である。
電気的記述パラメータはこの関連において電気回路の素子の相応の電流及び電圧であると理解することができる。
続いて実施される第１の反復ループは以下の方法ステップを含んでいる。
第１の反復ループの開始時にこのグラフの任意の辺が選択される104。しかし、同様に本発明の方法の変形実施形態では、この方法ステップでこのグラフの相互に結合された任意の数の辺を選択する。これによって、第１の反復ループ105、106、107で必要な反復の数が大幅に低減される。次に記述されている２つの方法ステップ106、107は、選択された辺乃至は選択された多数の辺から出発して、第１の合計値SW1が自由に予め設定可能な第１の閾値S1よりも大きくなるまで実施される。
最後の反復において考慮された多数の辺に含まれていなかったそれぞれ少なくとも１つの新しい辺乃至は第１の反復ループの開始時に選択された多数の辺に含まれていなかったそれぞれ少なくとも１つの新しい辺に対して第１の合計値SW1が形成される。この第１の合計値SW1は、例えばこの第１の合計値SW1を形成するために使用される全ての辺のウェイト値Ｇの合計によって形成される106。
第１の合計値SW1が第１の閾値S1よりも大きくない場合には、この電気回路のパーティションは第１の合計値SW1の形成に使用された辺から得られる107。そして第１の反復ループの方法ステップが改めてこの「新しい」パーティションによって実施される。
しかし、第１の合計値SW1が第１の閾値S1より大きくなると、時間的に前の反復ステップで形成されたパーティションが使用され、この形成されたパーティションに対して次の第２の反復ループの方法ステップが実施される。
それぞれのパーティションから出発して、第２の反復ループの各反復ステップにおいて以下の方法ステップがこの電気回路の残りの辺の少なくとも１部分に対して実施される108。「残りの辺」は、この関連においてまだこのパーティション自体には含まれておらず、このパーティションに含まれている辺に例えばこのパーティションの節点を介して結合されている辺であると解釈する。
このパーティションのウェイト値及び少なくとも１つの付加的な残りの辺のウェイト値から第２の合計値SW2が形成される109。これは例えばこの相応の辺に割り当てられるウェイト値Ｇを単に加算することによって行われる。
次いで、この形成された第２の合計値SW2が自由に予め設定可能な第２の閾値S2より大きいかどうかを検査する110。この第２の閾値S2は第１の閾値S1よりも大きい。
第２の合計値SW2が第２の閾値S2より大きい場合、これはこのパーティションが所定の許容範囲よりも大きいことを意味する。従って、第１の閾値S1及び第２の閾値S2によって各パーティションの回路シミュレーションの際のサイズに対する許容範囲乃至は各パーティションの回路シミュレーションの際の許容可能な最大所要処理コストが記述される。
よって、第２の合計値SW2が第２の閾値S2よりも大きくなると、この相応の辺はこのパーティションに加えられない111。
しかし、第２の合計値SW2が第２の閾値S2よりも大きくない場合には、さらに少なくとも１つの残りの辺に対して、この第２の合計値SW2の形成の際に考慮されなかった辺に結合されているこの第２の合計値SW2の形成の際に考慮された辺の数がこれら残りの辺に結合されているこのパーティションの辺の数よりも小さいかどうかを検査する112。
この比較は、具体的には各パーティションと別のパーティションとの「接合点（interface）の数」乃至は後で記述される中央制御ユニットと各パーティションとの「接合点の数」又はパーティションに含まれていない電気回路の別の素子と各パーティションとの「接合点の数」に相応する。
従って、明らかに各パーティションの端子の数が少なくとも１つの残りの辺を加えることによって既に存在するパーティションの端子の数よりも大きい場合には、この相応の辺は加えられない113。しかし、端子の新たな数が低減された場合には、この相応の残りの辺はこのパーティションに加えられる114。さらに、この場合には第１の合計値SW1にこの第２の反復ループの次の反復のために第２の合計値SW2の値が割り当てられる。
この第２の反復ループは任意の所定の数の残りの辺に対して実施される。同様に本発明の方法の改良実施形態では、この第２の反復ループの中断規準として単に全ての残りの辺がこの第２の反復ループにおいて考慮されたかどうかという情報を使用する。イエスの場合、この改良実施形態ではこの第２の反復ループは終了される。この第２の反復ループの中断乃至は終了の後で、この第２の反復ループの最後の反復で形成されたパーティションがこの電気回路のパーティションとして使用される116。
例えば回路記述言語SPICEの電気回路の最初の記述を使用して、パーティションはコンピュータのために後続処理されるシンタックスに、例えば再び回路記述言語SPICEに写像される。この写像の際に、電気回路の各素子に対する各パーティションの情報は例えば各素子のマーキングによって考慮される。
従って、この逆写像201（図２参照）によって、再び回路記述言語SPICEの使用の特別な場合に対してこの電気回路の回路素子ならびに各素子が割り当てられたパーティションの結合及び各情報を有するリストが形成される。
本発明の方法の改良実施形態では有利にはこの方法を任意の数のパーティションに対して実施する。すなわち、電気回路を任意の数のパーティションに分割する。この改良実施形態では形成されるパーティションの数に応じて回路記述言語SPICEでこの電気回路の素子を有するパーティション固有のリストが形成される。本発明の方法の改良実施形態における電気回路の回路シミュレーションの有利な並列化は次のことによって達成される。すなわち、この電気回路の素子に対する電気的記述パラメータが各パーティション毎に別個に算出されることによって達成され、これらパーティションの少なくとも１部分が複数のコンピュータ及び／又はプロセッサで並列に処理される。これは回路シミュレーションの並列化に相応する。
さらに本発明の改良実施形態ではグラフの複数の辺に共通のウェイト値を割り当てる。この方法により必要な計算コストが低減される。
分散されたプロセッサ乃至は分散されたコンピュータでの並列化された回路シミュレーションのための方法は、例えば参考文献［２］及び［３］から公知である。これらは無条件に本発明の方法によって形成されるパーティションに適用できる。
さらに、本発明の方法の改良実施形態ではパーティション並列処理を中央制御ユニットZSを介して中央制御する。これは、例えば参考文献［２］及び［３］に記載されているような回路シミュレーションの方法における個々のパーティションの通信が、つまりデータの伝達が中央制御ユニットZSと中央制御されるパーティションの部分との間だけで行われることを意味する。
図２には多数のSPICEデータファイルSPICE.1、SPICE.2、SPICE.3からSPICE.Nまでによる並列化された処理がシンボリックに図示されている。これらのSPICEデータファイルには回路記述言語SPICEによるパーティションの個々の記述が含まれている。
各パーティションに対して回路シミュレーション203が例えば中央制御ユニットZSによって中央制御されて実施される。
さらに、本発明の方法の改良実施形態では、並列化された回路シミュレーションの枠内で処理される各パーティションの端子の少なくとも１部分に付加的に電圧源を割り当てる。この電圧源にはそれぞれ公知の方法の枠内で中央制御ユニットZSによって相応の値が割り当てられる。参考文献［２］及び［３］に記載の反復方法の収束を保障するために、有利には各パーティションの端子の少なくとも１部分に付加的に抵抗を設ける。この抵抗の値は制御ユニットZSによってダイナミックに適応される。
本明細書にて以下の刊行物を参考文献として引用した：
0003542138.tif 000002
【図１】
0003542138.tif 000003
【図２】
0003542138.tif 000004