標的デバイス上でシステムを設計するための方法であって、該方法は、共通リセット信号によって該システム内のレジスタセットを同定することと、該レジスタセット内の各レジスタに対して、該レジスタにリセット条件を適用することによって該システムの対応する冗長部分を同定することと、同定された該システムの冗長部分に基づいて、各レジスタに対するコストを決定することと、既に解除されたリセットに対応しない該レジスタセット内の各レジスタに対して、最高から最低までのコスト順に、該レジスタに対して同定された対応する冗長部分に連結された該リセット信号を解除することとを含む、方法。前記リセット信号は、非同期リセット信号である、請求項1に記載の方法。前記リセット信号は、同期リセット信号である、請求項1に記載の方法。前記レジスタセットを同定することは、少なくとも所定の数のレジスタを同定することを含む、請求項1に記載の方法。前記所定の数は、およそ10万の大きさである、請求項4に記載の方法。前記同定されたシステムの冗長部分に基づいて、各レジスタに対するコストを決定することは、冗長となる該システムの一部を考慮することを含む、請求項1に記載の方法。前記同定されたシステムの冗長部分に基づいて、各レジスタに対するコストを決定することは、冗長となる論理ゲート、レジスタ、および配線の数を考慮することを含む、請求項1に記載の方法。前記同定されたシステムの冗長部分に基づいて、各レジスタに対するコストを決定することは、冗長となる回路の深度を考慮することを含む、請求項1に記載の方法。同期リセット信号を同定することをさらに含む、請求項3に記載の方法。同期リセット信号を同定することは、第1の閾値よりも大きい論理出力を有する信号を同定することと、1の値を該信号に割り当てる場合に、一定である入力を有する第1の数のレジスタを同定することと、0の値を該信号に割り当てる場合に、一定である入力を有する第2の数のレジスタを同定することと、該第1の数または第2の数のいずれかが、第2の閾値より大きいときに、該信号を同期リセット信号として指定することとを含む、請求項9に記載の方法。前記リセット信号を解除することは、レジスタから、単一の論理出力ノードを通して、同期リセット信号まで逆行してトレースすることと、該リセット信号を反対の値に設定することとを含む、請求項3に記載の方法。前記リセット信号を解除後、前記システムにおいて最適化を行うことをさらに含む、請求項1に記載の方法。前記システムを前記標的デバイス上に設置することと、該システムを該標的デバイス上に経路設定することとをさらに含む、請求項12に記載の方法。命令のシーケンスが記憶されているコンピュータ可読媒体であって、該命令のシーケンスは、プロセッサによって実行されると、該プロセッサが、システムの高水準記述をゲート、レジスタ、およびリセット回路に変換することによって、システムを合成することと、冗長リセット回路を同定および解除するための分析を行うこと、該冗長リセット回路が解除された後に、該システムを最適化することを実行するようにさせる、コンピュータ可読媒体。冗長リセット回路を同定および解除するための分析を行うことは、同期リセット信号前に、非同期リセット信号と関連付けられた冗長リセット回路を同定および解除することを含む、請求項14に記載のコンピュータ可読媒体。冗長リセット回路を同定および解除するための分析を行うことは、共通リセット信号によって前記システム内のレジスタセットを同定することと、該レジスタセット内の各レジスタに対して、該レジスタにリセット条件を適用することに基づいて、該システムの対応する冗長部分を同定することと、同定された該システムの冗長部分に基づいて、各レジスタに対するコストを決定することと、解除されたリセットに対応しない該レジスタセット内の各レジスタに対して、最高から最低までのコスト順に、該レジスタに対して同定された対応する冗長部分に連結されたリセット信号を解除することとを含む、請求項14に記載のコンピュータ可読媒体。前記レジスタセットを同定することは、少なくとも、所定の数のレジスタを同定することを含む、請求項16に記載のコンピュータ可読媒体。同定された前記システムの冗長部分に基づいて、各レジスタに対するコストを決定することは、冗長となる該システムの一部を考慮することを含む、請求項16に記載のコンピュータ可読媒体。同定された前記システムの冗長部分に基づいて、各レジスタに対するコストを決定することは、冗長となる回路の深度を考慮することを含む、請求項16に記載のコンピュータ可読媒体。同期リセット信号を同定することをさらに含む、請求項16に記載のコンピュータ可読媒体。同期リセット信号を同定することは、第1の閾値よりも大きい論理出力を有する信号を同定することと、1の値を該信号に割り当てる場合に、一定である入力を有する第1の数のレジスタを同定することと、0の値を該信号に割り当てる場合に、一定である入力を有する第2の数のレジスタを同定することと、該第1の数または第2の数のいずれかが、第2の閾値より大きいときに、該信号を同期リセット信号として指定することとを含む、請求項20に記載のコンピュータ可読媒体。前記システムを前記標的デバイス上に設置することと、該システムを該標的デバイス上に経路設定することとをさらに含む、請求項14に記載のコンピュータ可読媒体。システムデザイナであって、該システムデザイナは、リセット条件がシステム内のレジスタに適用されるときに、該システム内の冗長回路を同定するための冗長部分同定ユニットと、該システム内のレジスタに対するコスト値をその対応する冗長回路に基づいて算出するためのコスト算出ユニットと、対応するレジスタに割り当てられたコスト値に基づいて、該システム内の冗長回路に対するリセットを解除するためのリセット解除ユニットとを含む、システムデザイナ。前記コスト値は、冗長となる前記システムの一部に基づいている、請求項23に記載の装置。前記コスト値は、冗長となる論理ゲート、レジスタ、および配線の数に基づいている、請求項23に記載の装置。前記コスト値は、冗長となる回路の深度に基づいている、請求項23に記載の装置。同期リセット信号を同定するためのリセット同定ユニットをさらに含む、請求項23に記載の装置。前記冗長部分同定ユニット、コスト算出ユニット、およびリセット解除ユニットは、リセットが解除された後に、前記システム上で最適化を行う合成ユニット内に常駐する、請求項23に記載の装置。本発明のある実施形態によると、特定のリセット条件下において、冗長となるシステムの部分を同定し、解除することができるリセットを同定する分析が、合成中に行われる。リセットの解除後に、合成における最適化が行われてもよく、システムの配置および経路設定が行われてもよい。本発明のある側面によると、分析は、システム内のリセット信号の同定を含む。共通リセット信号を有するレジスタセットが同定される。レジスタセット内の各レジスタに対して、リセット条件が適用され、システムの冗長部分が同定され、コスト値が割り当てられる。解除のためにマークされていない最高から最低までのコスト順にあるレジスタセット内の各レジスタに対して、リセット条件が適用され、リセット信号接続等の冗長である回路が、解除のためにマークされる。コスト順の全レジスタが分析された後に、解除のためにマークされた回路内のレジスタに対するリセットが、解除される。本発明の実施形態の特徴および利点は、一例として例示され、本発明の実施形態の範囲を示された特定の実施形態に限定することを目的としていない。以下の説明において、説明の目的で、本発明の実施形態の徹底的な理解を提供するために、具体的な用語が記載される。本発明の実施形態を実践するために、説明における具体的詳細が必要とされなくてもよいことが、当業者に明白となるであろう。他の場合において、本発明の実施形態を不必要に曖昧にすることを回避するように、周知の回路、デバイス、およびブロックがブロック図形態で示されている。図1は、本発明の例示的実施形態による、標的デバイス上でシステムを設計するための方法を例示するフローチャートである。標的デバイスは、フィールドプログラマブルゲートアレイFPGA、特定用途向け集積回路ASIC、構造化ASIC、または他のデバイスであってもよい。一実施形態によると、図1に例示されたプロシージャは、コンピュータシステム上で実装されるコンピュータ支援設計CAD/電子設計自動化EDAツールによって行われてもよい。101において、システムが合成される。本発明のある実施形態によると、合成は、実装されるシステムの論理設計を生成するステップを伴う。図2は、本発明のある実施形態による、合成を行うための方法を例示するフローチャートである。図2に例示される方法は、101を行うために利用されてもよい。201において、精緻化および抽出が行われる。本発明のある実施形態によると、精緻化および抽出は、システムの高水準記述から、システムの論理表現を生成するステップを含む。システムの高水準記述は、回路図、VHDL、Verilog、または他の設計定義の形態であってもよい。論理表現は、システムに必要とされる論理ゲートおよび論理要素等の機能ブロックおよびレジスタ構成要素を含む表現を含んでもよい。精緻化および抽出の間、初期最適化もまた、行われてもよい。初期最適化は、ネットリストのクリーンアウトおよび定数伝搬を含んでもよい。抽出ネットリストは、抽出の間に生成される。202において、パーティションが、抽出ネットリストから同定される。本発明のある実施形態によると、レジスタリセットは、特定のリセット条件下において、冗長となるシステムの部分を同定するために分析される。分析は、各レジスタリセットに対する冗長性の影響のコストを算出するステップを伴う。システムのこれらの冗長部分に対するサポートレジスタリセットと関連付けられた回路は、算出されたコストに基づいて、解除される。203において、最適化が、改訂されたシステム設計に適用される。リセット分析および解除プロシージャは、システム内の信号に、論理出力を喪失させるか、または同期リセットの場合、定数を設定させてもよい。最適化は、レジスタリタイミング、微妙な状態機械再合成、および他の最適化プロシージャを含んでもよい。最適化は、大型/コースブロックが最適化される、RTL合成、および単純ブロックが最適化されるゲートレベル合成を含んでもよい。204において、マッピング技術マッピングもまた、最適化論理設計上で行われる。本発明のある実施形態によると、マッピングは、標的デバイス上で利用可能なリソースによって、最適化論理表現において論理ゲートおよび論理要素をどのように実装するかを決定するステップを含む。利用可能なリソースとして、LUTおよび他のリソースが挙げられ得る。本発明のある実施形態によると、ネットリストは、マッピングから生成される。このネットリストは、HDLから生成される最適化技術マッピングネットリストであってもよい。図1に戻って参照すると、102において、マッピングされた論理システム設計内に構成要素が設置される。配置は、最適化技術マッピングネットリストに作用して、機能ブロックのそれぞれに対する配置を生成する。本発明のある実施形態によると、配置は、論理設計上のどのリソースが特定の論理要素に使用されるか、および合成中に決定されるようなシステムを実装するために決定される他の機能ブロックを決定することによって、標的デバイス上でシステムを適合するステップを含む。配置は、標的デバイス上に存在する論理クラスタを形成するように、論理要素を一緒にグループ化するステップを有するクラスタ化を含んでもよい。本発明の実施形態によると、クラスタ化は、配置の初期段階で行われ、配置準備段階の間の合成直後に発生する。103において、配置された設計が、経路設定される。経路設定の間、標的デバイス上の経路設定リソースが、標的デバイス上の論理ゲート、論理要素、および他の構成要素間の相互接続を提供するように配分される。経路設定可能性の最適化もまた、配置された論理設計上で行われ得る。本発明のある実施形態によると、経路設定可能性の最適化の目標は、配置された論理設計における構成要素を接続するために使用される配線の量を削減することである。経路設定可能性の最適化は、論理出力分割、論理重複、論理再配線、または他のプロシージャを行うステップを含んでもよい。プロシージャのうちの1つ以上が、配置された論理設計上で行われてもよいことを理解されたい。104において、アセンブリプロシージャが、行われる。アセンブリプロシージャは、101-103によって説明されるコンパイルプロシージャによって決定される情報を含む、データファイルを作成するステップを伴う。データファイルは、標的デバイスをプログラムするために使用され得るビットストリームであってもよい。本発明のある実施形態によると、図1に例示されるプロシージャは、第1のコンピュータシステム上で実行されるEDAツールによって行われてもよい。生成されるデータファイルは、システムの設計がさらに処理されることを可能にするように、第2のコンピュータシステムに伝送されてもよい。代替として、データファイルは、システム設計に従って、標的デバイスをプログラムするために使用され得る、第2のコンピュータシステムに伝送されてもよい。システムの設計は、表示デバイスまたは他の媒体上等で、他の形態で出力されてもよいことを理解されたい。105において、標的デバイスは、データファイルでプログラムされる。データファイルで標的をプログラムすることによって、標的デバイス上の構成要素は、システムを実装するように物理的に変換される。図3は、本発明のある実施形態による、リセット分析および解除を行うための方法を例示する。図3に例示される方法は、図2の202で実装されてもよい。301において、共通リセット信号xを有するレジスタセットRxが同定される。本発明のある実施形態によると、レジスタセットは、最小数のレジスタを有し、その数は、あらかじめ定められる。一実施形態において、最小数は約10万である。プロシージャ302-305は、レジスタセットRx内の各レジスタ上で行われる。302において、リセット条件が、以前に検討されていない、レジスタセットRx内の現在のレジスタyに適用される。本発明のある実施形態によると、リセット条件は、レジスタに0を出力させるリセット信号であってもよい。代替として、リセット条件は、レジスタに1を出力させるプリセット信号であってもよい。303において、システムの冗長部分が、同定される。本発明のある実施形態によるとシステムの冗長部分は、システムの一部であって、302で適用されたリセット条件下において冗長となる任意の部分である。図4は、本発明のある実施形態による、システムの冗長部分の第1の実施例をを例示する。図4は、2つのレジスタ、レジスタXおよびYと、論理ゲートZとを有するシステムの一部を例示する。レジスタXは、入力信号Aを受信し、レジスタYは、入力信号Bを受信する。レジスタXおよびYは、同一クロック信号CLKによってクロックされ、共通リセット信号を共有する。リセットがトリガされると、レジスタXおよびYは両方とも、ゼロを出力する。論理ゲートZはANDゲートであるので、論理ゲートZの出力は、レジスタXおよびYの出力のうちの少なくとも1つがゼロであるとき、ゼロである。リセット信号が、レジスタXおよびYのうちの一方のみに接続された場合、論理ゲートzの出力は、同一となるであろう。したがって、本実施例において、リセット条件が、レジスタXに適用されると、システムの冗長部分は、レジスタYを含むであろう。図5は、本発明のある実施形態による、システムの冗長部分の第2の実施例を例示する。図5は、第1のレジスタP集合および第2のレジスタQ集合と、制御レジスタRと、出力レジスタZ集合を有するシステムの一部を例示する。レジスタPは、入力信号Aを受信し、レジスタQは、入力Bを受信する。レジスタP、Q、R、およびZは、同一クロック信号CLKによってクロックされる。レジスタP、Q、およびRは、共通リセット信号を共有する。マルチプレクサMは、レジスタPまたはレジスタQのいずれかに由来する入力を選択する。リセット条件下において、制御レジスタRはゼロを出力し、マルチプレクサMに、レジスタQの条件または出力に関わらず、レジスタPに由来する入力を選択させる。したがって、本実施例において、リセット条件がレジスタRに適用されると、システムの冗長部分は、レジスタQを含むであろう。図3に戻って参照すると、304において、現在のレジスタyに対するコストが、同定されたシステムの冗長部分に基づいて、算出される。本発明のある実施形態によると、コストは、冗長となるシステムの一部、論理ゲート、レジスタの数、および/または冗長となる配線の数あるいは長さ、冗長となる回路の深度、もしくは他の測定基準に基づいてもよい。305において、コストが、レジスタセットRx内の最後のレジスタレジスタのすべてに対して算出されたかどうか決定される。コストが、レジスタセット内の最後のレジスタに対して算出されていない場合、制御は、302に戻り、レジスタセットRx内の次のレジスタ上でプロシージャ302-304を行う。コストが、レジスタセット内の最後のレジスタに対して算出されている場合、制御は、306に進む。プロシージャ306-309は、解除のためにマークされていない、レジスタセットRx内のレジスタのそれぞれ上で行われる。306において、リセット条件が、コスト順に、解除のために以前にマークされていない、レジスタセットRx内の現在のレジスタyに適用される。307において、リセット条件の適用から生じる、システムの冗長部分が、解除のためにマークされる。308において、解除のために以前にマークされていない、レジスタセットRx内の最後のレジスタyに、リセット条件が適用されたかどうか決定される。解除のために以前にマークされていない、レジスタセット内の最後のレジスタに、リセット条件が適用されていない場合、制御は、306に戻り、レジスタセット内の次のレジスタ上でプロシージャ306-307を行う。解除のために以前にマークされていない、レジスタセット内の最後のレジスタに、リセット条件が適用された場合、制御は、309に進む。309において、解除のためにマークされている、各レジスタにおけるリセットが、解除される。プロシージャ301-309は、反復され、システム内の他のレジスタセットに的ようされ、解除すべき付加的リセットを同定してもよいことを理解されたい。さらに、図3に説明される方法は、非同期または同期リセットのリセット分析および解除を行うために使用されてもよいことを理解されたい。図3に説明される方法におけるプロシージャは、各グループのリセット非同期または同期301-309に別個に適用されるべきである。本発明のある実施形態によると、プロシージャ301-309は、同期リセットに適用される前に、非同期リセットに適用される。本発明のある実施形態によると、解除のためにマークされたレジスタにおいて、同期リセットを解除するとき、同期リセットが、レジスタに存在する場合、リセットが、解除される。しかしながら、リセット信号が、データ入力に連結される場合、接続は、レジスタから、単一論理出力ノードを通して、同期リセット信号へと逆行してトレースされてもよく、その場合、リセット信号は、反対の値に設定される。図6は、本発明のある実施形態による、同期リセット同定を行うための方法を例示する。図6に説明される方法は、図3において説明される方法を使用する前に行われ、同期リセットにおいてリセット分析および解除を行ってもよい。601において、第1の閾値数より大きい論理出力数を有する信号iが同定される。602において、1の値が信号に割り当てられる。603において、一定である入力を有する第1の数のレジスタが、1の値を信号に割り当てるステップによって、論理条件を評価した後に同定される。604において、0の値が信号に割り当てられる。605において、一定である入力を有する第2の数のレジスタが、0の値を信号に割り当てるステップによって論理条件を評価した後に、同定される。606において、第1の数のレジスタまたは第2の数のレジスタのいずれか大きい方が、第2の閾値数よりも大きいか否かを決定される。第1の数のレジスタまたは第2の数のレジスタのいずれか大きい方が第2の閾値数より大きい場合、制御は、607に進む。第1の数のレジスタまたは第2の数のレジスタのいずれか大きい方が、第2の閾値数より大きくない場合、制御は608に進む。607において、信号がリセット信号として指定される。608において、信号がリセット信号として指定されない。プロシージャ601-608が反復され、他の信号に適用され、信号がリセット信号であるか否か決定してもよいことを理解されたい。前述のプロシージャを参照して、第1の所定の閾値および第2の所定の閾値が使用されてもよいことを理解されたい。第1の所定の閾値は、最初に、高論理出力を有する信号を同定するために使用されてもよい。第2の所定の閾値は、信号が同期リセットであるか否かを同定することに先立って、一定となるレジスタを同定するために使用されてもよい。本発明の一側面によると、第1の所定の閾値は、第2の所定の閾値よりも大きくてもよい。本発明のある実施形態によると、リセットまたはプリセット信号として使用され得る信号が、同定される。レジスタをゼロにさせる場合、信号はリセットである。レジスタを1にさせる場合、信号はプリセットである。非同期リセット/プリセットの場合、信号は、レジスタ上でそれに連結されるポートが、リセットまたはプリセットポートであるか否かを検証することによって、リセットまたはプリセットのいずれかとして同定されてもよい。同期リセット/プリセットの場合、信号がリセットまたはプリセットであるか否か同定するために、分析が必要とされてもよい。分析は、最初に、高論理出力を有する信号を同定するステップを伴ってもよく、潜在的に、レジスタを1またはゼロに設定することができる。次に、信号が、1またはゼロに設定されるとき、どうなるかについて決定が行われてもよい。多数のレジスタ閾値数より大きいがゼロになる場合、リセットが同定される。しかしながら、多数のレジスタが1になる場合、プリセットが同定される。図1-3、および6は、本発明の実施形態を例示する、フローチャートである。例示される技術のうちのいくつかは、順次、並行して、または説明される順序および説明されるプロシージャが繰り返されてもよい順序以外の順序で行われてもよい。説明される技術の全てが行われることが要求されるわけではないこと、付加的な技術が追加されてもよいこと、および例示した技術のうちのいくつかが他の技術と置換されてもよいことを理解されたい。図7は、本発明のある実施形態による、リセット分析および解除の実施例を例示する。図7は、レジスタV、W、およびXを有するシステムの一部を例示する。レジスタVは、入力信号Aを受信する。レジスタWは、入力信号Bを受信する。レジスタXは、入力信号Cを受信する。レジスタV、W、およびXは、CLKによってクロックされ、リセット信号を共有する。論理ゲートYは、ORゲートであって、論理ゲートZは、ANDゲートである。図3を参照すると、301において、レジスタV、W、およびXは、共通リセットを有するとして同定される。302および303において、リセット条件がレジスタVに適用されると、レジスタVの出力は0となる。Vの出力は、論理ゲートYに入力される前にインバータを通過する。1の入力が、論理ゲートYに入力される場合、論理ゲートYは、レジスタWからの入力に関わらず、常に、1つを出力する。したがって、レジスタWからの入力は、冗長となる。論理ゲートZがANDゲートであるので、レジスタXから論理ゲートZへの入力は、依然として関連している。304において、冗長部分であるレジスタWに対するコストは、1レジスタである。他の測定基準も、冗長部分をコスト化するために使用され得ることを理解されたい。305において、レジスタVは、コストのために分析されるレジスタセット内の最後のレジスタではない。制御は、302に戻り、レジスタWを評価する。302および303において、リセット条件がレジスタWに適用されると、レジスタWの出力は0となる。Wの出力は、論理ゲートYに入力される。論理ゲートYは、ORゲートであるので、論理ゲートYへの他の入力も、依然として関連している。したがって、リセット条件がレジスタWに適用されると、システムの冗長部分は存在しない。304において、冗長部分に対するコストは、0である。305において、レジスタWは、コストに対して分析されるべきレジスタセット内の最後のレジスタではない。制御は、302に戻り、レジスタXを評価する。302および303において、リセット条件がレジスタXに適用されると、レジスタXの出力は0となる。論理ゲートZはANDゲートであるので、レジスタXからの入力が0である場合、論理ゲートZは、論理ゲートYからの入力に関わらず、常に、0を出力する。したがって、論理ゲートYからの入力は冗長となり、論理ゲートYならびにレジスタVおよびWは冗長である。304において、冗長部分である論理ゲートYならびにレジスタVおよびWに対するコストは、1論理ゲートおよび2レジスタである。他の測定基準も、冗長部分をコスト化するために使用され得ることを理解されたい。305において、レジスタV、W、およびXはすべて、コストに対して分析されたので、制御は306に進む。306において、最高コスト順のレジスタが、レジスタXとして決定される。レジスタXは、解除のためにマークされていないので、リセット条件がレジスタXに適用される。307において、冗長部分である論理ゲートYならびにレジスタVおよびWは、解除のためにマークされる。308において、レジスタXはマークされておらず、分析されたレジスタセット内の最後のレジスタであるので、制御は309に進む。309において、解除のためにマークされた各レジスタにおけるリセットが、解除される。図7に例示される実施例は、非同期リセットまたは同期リセットに対するものであり得る。同期リセットに対するリセットを解除する場合に、同期リセットがレジスタに存在するときSCLR、リセットは解除されてもよいことを理解されたい。代替として、同期リセットがレジスタに存在しないとき、レジスタから、単一の論理出力ノードを通して、同期リセット信号へと逆行してトレースが行われてもよい。次いで、リセット信号は、反対の値に設定することによって解除されてもよい。図8は、本発明のある実施形態による、システムデザイナを実装するコンピュータシステムのブロック図を例示する。示されるように、コンピュータシステム800は、プロセッサ801を含む。プロセッサ801は、プロセッサ801とコンピュータシステム800内の他の構成要素との間でデータ信号を伝送するCPUバス810に連結される。コンピュータシステム800は、メモリ813を含む。メモリ813は、動的ランダムアクセスメモリデバイス、静的ランダムアクセスメモリデバイス、および/または他のメモリデバイスであってもよい。メモリ813は、プロセッサ801によって実行され得る、データ信号によって表される命令およびコードを記憶してもよい。ブリッジメモリコントローラ811が、CPUバス810およびメモリ813に連結される。ブリッジメモリコントローラ811は、プロセッサ801、メモリ813、およびコンピュータシステム800内の他の構成要素の間でデータ信号をダイレクトし、CPUバス810、メモリ813、および第1のIOバス820の間でデータ信号をブリッジする。第1のIOバス820は、単一のバスまたは複数のバスの組み合わせであってもよい。第1のIOバス820は、コンピュータシステム800内の構成要素間に通信リンクを提供する。ネットワークコントローラ821は、第1のIOバス820に連結される。ネットワークコントローラ821は、コンピュータシステム800をコンピュータのネットワーク図示せずにリンクさせ、機械間の通信をサポートする。表示デバイスコントローラ822が、第1のIOバス820に連結される。表示デバイスコントローラ822は、コンピュータシステム800への表示デバイス図示せずの連結を可能にし、表示デバイスとコンピュータシステム800との間のインターフェースの役割を果たす。第2のIOバス830は、単一のバスまたは複数のバスの組み合わせであってもよい。第2のIOバス830は、コンピュータシステム800内の構成要素間に通信リンクを提供する。データ記憶デバイス831が、第2のIOバス830に連結される。データ記憶デバイス831は、ハードディスクドライブ、フロッピー登録商標ディスクドライブ、CD-ROMデバイス、フラッシュメモリデバイス、または他の大容量記憶デバイスであってもよい。入力インターフェース832が、第2のIOバス830に連結される。入力インターフェース832は、コンピュータシステム800への入力デバイスの連結を可能にし、入力デバイスからコンピュータシステム100へデータ信号を伝送する。バスブリッジ823が、第1のIOバス820を第2のIOバス830に連結する。バスブリッジ823は、データ信号をバッファし、第1のIOバス820と第2のIOバス830との間でデータ信号をブリッジするように動作する。異なるアーキテクチャを有するコンピュータシステムもまた、コンピュータシステム800を実装するために使用されてもよいことを理解されたい。システムデザイナ840が、メモリ813の中に常駐し、プロセッサ801によって実行されてもよい。システムデザイナ840は、システムを合成する、標的デバイス上にシステムを配置する、システムを経路設定する、システムをアセンブルする、およびシステムを実装するよう標的デバイスをプログラムするように動作してもよい。合成の間、分析がシステムデザイナ840によって行われ、特定のリセット条件下において、冗長となるシステムの部分を同定し、解除されることができるリセットを同定してもよい。同定されたリセットを解除後に、合成における最適化が行われてもよい。図9は、本発明の例示的実施形態によるシステムデザイナ900を例示する。システムデザイナ900は、図8に示されるシステムデザイナ840を実装するために使用されてもよく、図1-3および6で説明されるプロシージャを行ってもよい。システムデザイナ900は、標的デバイス上でシステムを設計するためのCADツールであってもよい。標的デバイスは、例えば、ASIC、構造化ASIC、FPGA、プログラマブル論理デバイスPLD、プリント回路基板PCB、または他の回路であってもよい。図9は、システムデザイナ900の実施形態を実装するモジュールを例示する。一実施形態によると、システム設計は、例えば、図8に例示されるコンピュータシステム等のコンピュータシステムによって行われ、図9に示されるモジュールによって表される命令のシーケンスを実行してもよい。命令のシーケンスの実行は、以降で説明されるように、コンピュータシステムにシステム設計をサポートさせる。代替実施形態において、本発明を実装するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤ回路が使用されてもよい。したがって、本発明は、ハードウェア回路およびソフトウェアの任意の特定の組み合わせに限定されない。システムデザイナ900は、システムデザイナマネージャ910を含む。システムデザイナマネージャ910は、システムデザイナ900の構成要素に接続され、それらの間でデータを伝送する。システム設計マネージャ910はまた、システムデザイナ900に入力される設計情報に精緻化を行ってもよい。精緻化は、情報の構文が正しいことを確実にするように、設計情報を再検討することを含んでもよい。ブロック920は、合成ユニットを表す。本発明のある実施形態によると、合成ユニット920は、システムの高水準記述からシステムの論理表現を生成するステップを含む精緻化および抽出を行う。システムの高水準記述は、回路図、VHDL、Verilog、または他の設計定義の形態であってもよい。論理表現は、システムに必要とされる論理ゲートおよび論理要素等の機能ブロックおよびレジスタ構成要素を含む表現を含んでもよい。合成ユニット920は、レジスタリセットを分析し、特定のリセット条件下において、冗長となるシステムの部分を同定するリセット分析および解除ユニット921を含む。分析は、各レジスタリセットに対して、冗長性の影響のコストを算出するステップを伴う。これらのシステムの冗長部分に対して、サポートレジスタリセットと関連付けられた回路が、算出されたコストに基づいて解除される。システムの冗長部分に対する、サポートレジスタリセットと関連付けられた回路の解除後に、最適化が、改訂されたシステム設計に適用される。最適化は、レジスタリタイミング、微妙な状態機械再合成、および他の最適化プロシージャを含んでもよい。最適化は、大型/コースブロックが最適化されるRTL合成、および単純ブロックが最適化されるゲートレベル合成を含んでもよい。合成ユニット920はまた、最適化論理設計上でマッピング技術マッピングを行う。本発明のある実施形態によると、マッピングは、標的デバイス上で利用可能なリソースによって、最適化論理表現において論理ゲートおよび論理要素をどのように実装するかを決定するステップを含む。利用可能なリソースとして、LUTおよび他のリソースが挙げられ得る。本発明のある実施形態によると、ネットリストが、マッピングから生成される。このネットリストは、HDLから生成される最適化技術マッピングネットリストであってもよい。ブロック930は、配置ユニットを表す。配置ユニット930は、標的デバイス上のどの構成要素または領域が、特定の機能ブロックおよびレジスタのために使用されるかを決定することによって、標的デバイス上にシステムを配置する。システムデザイナ900のある実施形態によると、配置ユニット930は、最初に、クラスタ内に最適化論理設計の複数部分をどのように実装するかを決定する。クラスタは、論理設計上の構成要素の一部を表してもよい。クラスタは、例えば、一緒にグループ化された標準セルの数によって表されてもよい。本実施形態において、最適化論理設計の複数部分がクラスタ内に実装された後、クラスタは、標的デバイス上の特定の部分にクラスタを割り当てることによって配置されてもよい。配置ユニット930は、標的デバイス上のリソースの良好な割当を決定するために、コスト関数を利用してもよい。ブロック940は、経路設定ユニットを表す。経路設定ユニット940は、論理設計の機能ブロックおよびレジスタを実装する構成要素間の相互接続を提供するために使用する、標的デバイス上の経路設定リソースを決定する。ブロック950は、アセンブリユニットを表す。アセンブリユニット950は、システムデザイナ900によって行われるコンパイルプロシージャによって決定される情報を含む、データファイルを作成する。データファイルは、標的デバイスをプログラムするために使用され得る、ビットストリームであってもよい。本発明のある実施形態によると、生成されるデータファイルは、システムの設計がさらに処理されることを可能にするように、別のコンピュータシステムに伝送されてもよい。代替として、データファイルは、システム設計に従って標的デバイスをプログラムするために使用されてもよい、別のコンピュータシステムに伝送されてもよい。データファイルで標的デバイスをプログラムすることによって、標的デバイス上の構成要素は、システムを実装するように物理的に変換される。システムの設計は、表示デバイスまたは他の媒体上等で、他の形態で出力されてもよいことを理解されたい。図10は、本発明のある実施形態による、リセット分析および解除ユニット1000のブロック図である。リセット分析および解除ユニット1000は、図9に例示されるリセット分析および解除ユニット921を実装するために使用されてもよい。リセット分析および解除ユニット1000は、リセット分析および解除マネージャ1010を含む。リセット分析および解除マネージャ1010は、リセット分析および解除ユニット1000内の構成要素に連結され、その間で情報を伝達する。リセット分析および解除マネージャ1000は、リセット同定ユニット1020を含む。リセット同定ユニット1020は、同期リセットを同定するように動作する。本発明のある実施形態によると、リセット同定ユニット1020は、図6に例示されるプロシージャを行い、システム内の信号から、同期リセットを同定してもよい。リセット分析および解除ユニット1000は、冗長部分同定ユニット1030を含む。本発明のある実施形態によると、冗長部分同定ユニット1030は、共通同期リセットxを有するレジスタセットRxを同定し、リセット条件をレジスタセットRx内の各レジスタyに同時に適用し、システム内の論理の条件を分析し、リセット条件が適用されるとき、システムの他の論理に影響を及ぼさないシステムの部分を同定することによってシステムの冗長部分を同定する。リセット分析および解除ユニット1000は、コスト算出ユニット1040を含む。コスト算出ユニット1040は、同定されたシステムの冗長部分に基づいて、各レジスタyに対するコストを算出する。本発明のある実施形態によると、コストは、冗長となるシステムの一部、論理ゲートの数、および/または冗長となる配線の数あるいは長さ、冗長となる回路の深度、もしくは他の測定基準に基づいてもよい。リセット分析および解除ユニット1000は、リセット解除ユニット1050を含む。リセット解除ユニット1050は、コスト順に、解除のために以前にマークされていないレジスタセットRx内の各レジスタyにリセット条件を適用する。リセット解除ユニット1050は、解除のために以前にマークされていないレジスタRx内のレジスタすべてが、リセット条件が適用されるまで、解除のためのリセット条件の適用から生じる、システムの冗長部分をマークする。次いで、解除のためにマークされている、各レジスタにおけるリセットが、解除される。解除のためにマークされたレジスタにおいて、同期リセットを解除するとき、同期リセットがレジスタに存在する場合、リセットが、解除される。しかしながら、リセット信号がデータ入力に連結される場合、接続は、レジスタから、単一論理出力ノードを通して、同期リセット信号へと逆行してトレースされてもよく、その場合、リセット信号は反対の値に設定される。本発明の実施形態は、冗長リセット信号を同定を解除するステップを参照して論じられた。本発明の実施形態はまた、同様に、冗長プリセット信号を同定および解除するために使用されてもよいことを理解されたい。本発明の実施形態は、命令を有するコンピュータ可読または機械可読媒体を含み得る、コンピュータプログラム製品、またはソフトウェアとして提供されてもよいことを理解されたい。コンピュータ可読または機械可読媒体上の命令は、コンピュータシステムまたは他の電子デバイスをプログラムするために使用されてもよい。機械可読媒体は、フロッピー登録商標ディスク、光ディスク、CD-ROM、光磁気ディスク、または電子命令を記憶するために好適な他の種類の媒体/機械可読媒体を含んでもよいが、それらに限定されない。本明細書で説明される技術は、いずれの特定のソフトウェア構成にも限定されない。それらは、任意の計算または処理環境で適用性を見出してもよい。本明細書で使用されるコンピュータ可読媒体または機械可読媒体という用語は、コンピュータによって実行するための命令のシーケンスを記憶または符号化することが可能であり、本明細書で説明される方法のうちのいずれか1つをコンピュータに行わせる任意の媒体を含むものとする。さらに、当技術分野では、1つの形態または別の形態例えば、プログラム、プロシージャ、プロセス、アプリケーション、モジュール、ユニット、論理等のソフトウェアを措置を講じるか、または結果を引き起こすものであると言うことが一般的である。そのような表現は、処理システムによるソフトウェアの実行が、結果を生じる動作をプロセッサに行わせることを述べる簡便な方法にすぎない。図11は、本発明のある実施形態による、標的デバイスを実装するために使用され得るデバイス1100を例示する。デバイス1100は、複数の論理アレイブロックLABを含む、フィールドプログラマブルゲートアレイFPGAである。各LABは、複数の論理ブロック、キャリーチェーン、LAB制御信号、参照テーブルLUTチェーン、およびレジスタチェーン接続ラインから形成されてもよい。論理ブロックは、ユーザ論理関数の効率的な実装を提供する論理の小単位である。論理ブロックは、1つ以上の組み合わせセルを含み、各組み合わせセルは、単一の出力およびレジスタを有する。本発明の一実施形態によると、論理ブロックは、Altera登録商標Corporationによって製造されているStratixまたはCycloneデバイスで見られるもの等の論理要素LE、またはXilinxInc.によって製造されているVirtexデバイスで見られるもの等の組み合わせ論理ブロックCLBと同様に動作してもよい。本実施形態において、論理ブロックは、構成可能なレジスタを有する4入力LUTを含んでもよい。本発明の代替実施形態によると、論理ブロックは、AlteraCorporationによって製造されているStratixデバイスで見られるもの等の適応論理モジュールALMと同様に動作してもよい。LABは、デバイス1100にわたって、行および列にグループ化されてもよい。LABの列は、1111-1116として示される。論理ブロックは、付加的または代替構成要素を含んでもよいことを理解されたい。デバイス1100は、メモリブロックを含む。メモリブロックは、例えば、最大で種々の周波数で最大で種々のビット幅の専用の真のデュアルポート、単純デュアルポート、または単一ポートメモリを提供する、二重ポートランダムアクセスメモリRAMブロックであってもよい。メモリブロックは、選択されたLABの間でデバイスにわたって列にグループ化されるか、またはデバイス1100内で個別に、あるいは対になって位置してもよい。メモリブロックの列は、1121-1124として示される。デバイス1100は、デジタル信号処理DSPブロックを含む。DSPブロックは、加算または減算特徴を有する種々の構成の乗算器を実装するために使用されてもよい。DSPブロックは、シフトレジスタ、乗算器、加算器、および累算器を含む。DSPブロックは、デバイス1100を横断する列にグループ化されてもよく、1131として示される。デバイス1100は、複数の入力/出力要素IOE1140を含む。各IOEは、デバイス1100上のIOピン図示せずにフィードする。IOE1140は、デバイス1100の周辺の周囲におけるLAB行および列端に位置する。各IOEは、双方向IOバッファと、入力、出力、および出力イネーブル信号をレジスタするための複数のレジスタとを含んでもよい。デバイス1100は、標的デバイス上の構成要素間で信号を経路設定するように、LABローカル相互接続ライン、行相互接続ラインH型ワイヤ、および列相互接続ラインV型ワイヤ図示せず等の経路設定リソースを含んでもよい。前述の明細書において、本発明の実施形態は、その具体的な例示的実施形態を参照して説明されている。しかしながら、本発明の実施形態のより広い精神および範囲から逸脱することなく、種々の修正および変更が行われてもよいことが明白となるであろう。したがって、本明細書および図面は、限定的な意味よりもむしろ例示的な意味で見なされるものである。