【手続補正書】
【提出日】平成25年10月2日(2013.10.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
標的デバイス上でシステムを設計するための方法であって、該方法は、
基準に基づいてコンピュータ支援設計（ＣＡＤ）ツールによって配置されるように、該システム内の第１の複数の構成要素を割り当てることと、
該基準に基づいて、ハードウェア内に実装されたハードウェア配置ユニットによって配置されるように、該システム内の第２の複数の構成要素を割り当てることと、
該標的デバイス上の該システムに対する配置解決法を生成するために、該ＣＡＤツールおよび該ハードウェア配置ユニットからの配置結果を利用することと
を含む、方法。
【請求項２】
前記システムを合成することと、
該システムを経路指定することと、
該システムを組み立てることと、
前記標的デバイス上のリソースを物理的に変換して該システムを実装するように、該標的デバイスをプログラムすることと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記基準は、構成要素が閾値を超えるタイミング必要条件を有するときに、ＣＡＤツールを用いて該構成要素を配置することを含む、請求項１に記載の方法。
【請求項４】
前記基準は、構成要素がクリティカルパスに連結されるときに、ＣＡＤツールを用いて該構成要素を配置することを含む、請求項１に記載の方法。
【請求項５】
前記基準は、構成要素が入力／出力（Ｉ／Ｏ）であるときに、ＣＡＤツールを用いて該構成要素を配置することを含む、請求項１に記載の方法。
【請求項６】
前記基準は、構成要素がメモリであるときに、ＣＡＤツールを用いて該構成要素を配置することを含む、請求項１に記載の方法。
【請求項７】
前記基準は、構成要素がデジタル信号プロセッサ（ＤＳＰ）であるときに、ＣＡＤツールを用いて該構成要素を配置することを含む、請求項１に記載の方法。
【請求項８】
前記基準に基づいてハードウェア配置ユニットによって配置されるように、前記システム内の第２の複数の構成要素を割り当てることは、
該ハードウェア配置ユニット上で行および列に配列された仮想論理要素（ＶＬＥ）に、前記標的デバイス上のリソースをマップすることと、
該ＶＬＥをセクションに区切ることと、
移動処理ユニット（ＭＰＵ）を（ＶＬＥ）の該セクションのそれぞれに割り当てることと、
ＶＬＥ間で構成要素を移動させるコストを計算するようにＭＰＵに指示することと
を含む、請求項１に記載の方法。
【請求項９】
前記指示することは、１組のＶＬＥ間の移動が第２組のＶＬＥの行および列に交差しない場合に行われる、請求項８に記載の方法。
【請求項１０】
前記ＭＰＵは、並行してＶＬＥ間で構成要素を移動させるコストを計算する、請求項８に記載の方法。
【請求項１１】
フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を使用するコストを計算するための方法であって、該方法は、
行および列に配列された仮想論理要素（ＶＬＥ）に、標的デバイス上のリソースをマップすることと、
ＶＬＥのグループを複数のセクションに区切ることと、
該ＦＰＧＡ上の一意的な移動処理ユニット（ＭＰＵ）を該複数のセクションの各セクションに割り当てることと、
各一意的なＭＰＵが、その関連付けられるセクション内のＶＬＥ間で構成要素を移動させるコストを計算することと
を含み、
該マップすること、該区切りすること、該割り当てること、および有することのうちの少なくとも１つは、ＦＰＧＡを用いて行われる、方法。
【請求項１２】
前記一意的なＭＰＵのそれぞれは、
第１のＶＬＥおよび第２のＶＬＥにおける前記構成要素と関連付けられるネットのネット境界縁を識別することと、
該ネット境界縁において該ネットに連結される構成要素を実装するために使用される、ＶＬＥの数を識別することと、
該ネット境界縁が増加するか減少するかに基づいて、および移動したネット境界縁において該ネットに連結される構成要素を実装するために使用されるＶＬＥの数にさらに基づいて、該第１および第２のＶＬＥの間で構成要素を移動させることにコストを割り当てることと
によって該一意的なＭＰＵのそれぞれの関連付けられるセクション内のＶＬＥ間で構成要素を移動させる前記コストを計算する、請求項１１に記載の方法。
【請求項１３】
構成要素を移動させることに前記コストを割り当てることは、前記第１のＶＬＥから前記第２のＶＬＥへ前記構成要素を移動させるとともに前記ネット境界が増加する場合に、１というコストを割り当てることを含む、請求項１２に記載の方法。
【請求項１４】
構成要素を移動させることに前記コストを割り当てることは、前記構成要素を移動させるとともに前記ネット境界が減少する場合に、および移動させられる前記ネット境界縁に１つのＶＬＥがある場合に、−１というコストを割り当てることを含む、請求項１２に記載の方法。
【請求項１５】
移動させることに前記コストを割り当てることは、前記構成要素を移動させるとともにネット境界が減少する場合に、および移動させられる前記ネット境界縁に１つよりも多くのＶＬＥがある場合に、０というコストを割り当てることを含む、請求項１２に記載の方法。
【請求項１６】
前記ネット境界縁を識別することは、前記ＦＰＧＡのメモリに記憶されたネット境界縁情報を取り出すことを含む、請求項１２に記載の方法。
【請求項１７】
前記ネット境界縁におけるＶＬＥの数を識別することは、前記ＦＰＧＡのメモリに記憶されたネット識別子情報を取り出すことを含む、請求項１２に記載の方法。
【請求項１８】
計算された前記コストに応じて、前記第１および第２のＶＬＥの間で前記構成要素を移動させることと、
前記構成要素を移動させるときに、ネットと関連付けられるネット境界縁情報およびネット識別子情報を更新することと
をさらに含む、請求項１２に記載の方法。
【請求項１９】
別のＭＰＵが、前記ＭＰＵと並行して別のグループ内のＶＬＥ間で他の構成要素を移動させるコストを計算することをさらに含む、請求項１１に記載の方法。
【請求項２０】
標的デバイス上のリソースを表す仮想論理要素（ＶＬＥ）、該ＶＬＥによって表される該リソースによって実装されるシステム設計における構成要素、および該構成要素と関連付けられるネットを記憶するように動作可能な第１の複数のメモリブロックと、
該構成要素と関連付けられるネットのネット境界縁を識別するネット境界要素（ＮＢＥ）を記憶するように動作可能な第２の複数のメモリブロックと、
該ネット境界が増加するか減少するか、および移動したネット境界縁において該ネットに連結される該構成要素を実装するために使用されるＶＬＥの数に基づいて、第１および第２のＶＬＥの間で該構成要素を移動させるコストを計算するように動作可能な移動処理ユニット（ＭＰＵ）と
を備える、ハードウェア配置ユニット。
【請求項２１】
前記第１および第２のＶＬＥの間で構成要素を移動させる前記コストを計算する前記ＭＰＵと並行して、第３および第４のＶＬＥの間で構成要素を移動させるコストを計算するように動作可能な別のＭＰＵをさらに備える、請求項２０に記載のハードウェア配置ユニット。
【請求項２２】
前記ＭＰＵは、前記コストが容認可能であるという決定に応じて、前記第１および第２のＶＬＥの間で前記構成要素を移動させ、前記移動を反映するように前記ＶＬＥおよび前記ＮＢＥを更新する、請求項２０に記載のハードウェア配置ユニット。
【請求項２３】
前記ハードウェア配置ユニットは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）上で実装される、請求項２０に記載のハードウェア配置ユニット。
【請求項２４】
システムを合成するように動作可能な合成ユニットと、
基準に基づいて、コンピュータ支援設計（ＣＡＤ）ツールによって配置されるように、該システム内の第１の複数の構成要素を割り当て、ハードウェア内に実装されたハードウェア配置ユニットによって配置されるように、該システム内の第２の複数の構成要素を割り当てるように動作可能であり、標的デバイス上の該システムに対する配置解決法を生成するために、該ＣＡＤツールおよび該ハードウェア配置ユニットからの配置結果を利用する、配置準備ユニットと
を備える、システムデザイナ。
【請求項２５】
前記配置準備ユニットは、配置される構成要素が閾値以上または以下であるタイミング必要条件を有するかどうかを決定するように動作可能なタイミングユニットを備える、請求項２４に記載のシステムデザイナ。
【請求項２６】
前記配置準備ユニットは、配置される構成要素が、１）入力／出力、２）メモリ、および３）デジタル信号プロセッサのうちの１つであるかどうかを決定するように動作可能な構成要素種類識別子ユニットを備える、請求項２４に記載のシステムデザイナ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の実施形態の特徴および利点は、一例として図示され、本発明の実施形態の範囲を示された特定の実施形態に限定することを目的としていない。
本願明細書は、例えば、以下の項目も提供する。
（項目１）
標的デバイス上でシステムを設計するための方法であって、
基準に基づいてコンピュータ支援設計（ＣＡＤ）ツールによって配置されるように、該システム内の第１の複数の構成要素を割り当てることと、
該基準に基づいてハードウェア配置ユニットによって配置されるように、該システム内の第２の複数の構成要素を割り当てることと、
該標的デバイス上の該システムに対する配置解決法を生成するために、該ＣＡＤツールおよび該ハードウェア配置ユニットからの配置結果を利用することと
を含む、方法。
（項目２）
前記システムを合成することと、
該システムを経路指定することと、
該システムを組み立てることと、
前記標的デバイス上のリソースを物理的に変換して該システムを実装するように、該標的デバイスをプログラムすることと
をさらに含む、項目１に記載の方法。
（項目３）
前記基準は、構成要素が閾値を超えるタイミング必要条件を有するときに、ＣＡＤツールを用いて該構成要素を配置することを含む、項目１に記載の方法。
（項目４）
前記基準は、構成要素がクリティカルパスに連結されるときに、ＣＡＤツールを用いて該構成要素を配置することを含む、項目１に記載の方法。
（項目５）
前記基準は、構成要素が入出力（ＩＯ）であるときに、ＣＡＤツールを用いて該構成要素を配置することを含む、項目１に記載の方法。
（項目６）
前記基準は、構成要素がメモリであるときに、ＣＡＤツールを用いて該構成要素を配置することを含む、項目１に記載の方法。
（項目７）
前記基準は、構成要素がデジタル信号プロセッサ（ＤＳＰ）であるときに、ＣＡＤツールを用いて該構成要素を配置することを含む、項目１に記載の方法。
（項目８）
前記基準に基づいてハードウェア配置ユニットによって配置されるように、前記システム内の第２の複数の構成要素を割り当てることは、
該ハードウェア配置ユニット上で行および列に配列された仮想論理要素（ＶＬＥ）に、前記標的デバイス上のリソースをマップすることと、
該ＶＬＥをセクションに区切ることと、
移動処理ユニット（ＭＰＵ）を（ＶＬＥ）の該セクションのそれぞれに割り当てることと、
ＶＬＥ間で構成要素を移動させるコストを計算するようにＭＰＵに指示することと
を含む、項目１に記載の方法。
（項目９）
前記指示することは、１組のＶＬＥ間の移動が第２組のＶＬＥの行および列に交差しない場合に行われる、項目８に記載の方法。
（項目１０）
前記ＭＰＵは、並行してＶＬＥ間で構成要素を移動させるコストを計算する、項目８に記載の方法。
（項目１１）
フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を使用するコストを計算するための方法であって、
行および列に配列された仮想論理要素（ＶＬＥ）に、標的デバイス上のリソースをマップすることと、
ＶＬＥのグループをセクションに区切ることと、
該ＦＰＧＡ上の一意的な移動処理ユニット（ＭＰＵ）をＶＬＥの該セクションのそれぞれに割り当てることと、
該グループ内のＶＬＥ間で構成要素を移動させるコストをＭＰＵに計算させることと
を含む、方法。
（項目１２）
前記ＭＰＵは、各グループ内のＶＬＥ間で構成要素を移動させる前記コストを計算し、
第１のＶＬＥおよび第２のＶＬＥにおける前記構成要素と関連付けられるネットのネット境界縁を識別することと、
該境界縁においてネットに連結される構成要素を実装するために使用される、ＶＬＥの数を識別することと、
該ネット境界縁が増加するか減少するか、および移動したネット境界縁においてネットに連結される構成要素を実装するために使用されるＶＬＥの数に基づいて、該第１および第２のＶＬＥの間で構成要素を移動させることにコストを割り当てることと
を含む、項目１１に記載の方法。
（項目１３）
構成要素を移動させることに前記コストを割り当てることは、前記第１のＶＬＥから前記第２のＶＬＥへ前記構成要素を移動させるとともにネット境界が増加する場合に、１というコストを割り当てることを含む、項目１１に記載の方法。
（項目１４）
構成要素を移動させることに前記コストを割り当てることは、前記構成要素を移動させるとともにネット境界が減少する場合に、−１というコストを割り当てることを含み、１つのＶＬＥは、移動させられたネット境界縁にある、項目１１に記載の方法。
（項目１５）
移動させることに前記コストを割り当てることは、前記構成要素を移動させるとともにネット境界が減少する場合に、０というコストを割り当てることを含み、１つよりも多くのＶＬＥは、移動させられたネット境界縁にある、項目１１に記載の方法。
（項目１６）
前記ネット境界縁を識別することは、前記ＦＰＧＡのメモリに記憶されたネット境界縁情報を取り出すことを含む、項目１２に記載の方法。
（項目１７）
前記ネット境界縁におけるＶＬＥの数を識別することは、前記ＦＰＧＡのメモリに記憶されたネット識別子情報を取り出すことを含む、項目１２に記載の方法。
（項目１８）
計算された前記コストに応じて、前記第１および第２のＶＬＥの間で前記構成要素を移動させることと、
前記構成要素を移動させるときに、ネットと関連付けられるネット境界縁情報およびネット識別子情報を更新することと
をさらに含む、項目１２に記載の方法。
（項目１９）
前記ＭＰＵと並行して別のグループ内のＶＬＥ間で他の構成要素を移動させるコストを別のＭＰＵに計算させることをさらに含む、項目１１に記載の方法。
（項目２０）
標的デバイス上のリソースを表す仮想論理要素（ＶＬＥ）、該ＶＬＥによって表される該リソースによって実装されるシステム設計における構成要素、および該構成要素と関連付けられるネットを記憶する、第１の複数のメモリブロックと、
構成要素と関連付けられるネットのネット境界縁を識別するネット境界要素（ＮＢＥ）を記憶する、第２の複数のメモリブロックと、
該ネット境界が増加するか減少するか、および移動したネット境界縁においてネットに連結される構成要素を実装するために使用されるＶＬＥの数に基づいて、第１および第２のＶＬＥの間で構成要素を移動させるコストを計算する、移動処理ユニット（ＭＰＵ）と
を備える、ハードウェア配置ユニット。
（項目２１）
前記第１および第２のＶＬＥの間で構成要素を移動させる前記コストを計算する前記ＭＰＵと並行して、第３および第４のＶＬＥの間で構成要素を移動させるコストを計算する別のＭＰＵをさらに備える、項目２０に記載のハードウェア配置ユニット。
（項目２２）
前記ＭＰＵは、前記コストが容認可能であるという決定に応じて、前記第１および第２のＶＬＥの間で構成要素を移動させ、前記移動を反映するように前記ＶＬＥおよびＮＢＥを更新する、項目２０に記載のハードウェア配置ユニット。
（項目２３）
前記ハードウェア配置ユニットは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）上で実装される、項目２０に記載のハードウェア配置ユニット。
（項目２４）
システムを合成する合成ユニットと、
基準に基づいて、コンピュータ支援設計（ＣＡＤ）ツールによって配置されるように、該システム内の第１の複数の構成要素を割り当て、ハードウェア配置ユニットによって配置されるように、該システム内の第２の複数の構成要素を割り当て、標的デバイス上の該システムに対する配置解決法を生成するために、該ＣＡＤツールおよび該ハードウェア配置ユニットからの配置結果を利用する、配置準備ユニットと
を備える、システムデザイナ。
（項目２５）
前記配置準備ユニットは、配置される構成要素が閾値以上または以下であるタイミング必要条件を有するかどうかを決定する、タイミングユニットを備える、項目２４に記載のシステムデザイナ。
（項目２６）
前記配置準備ユニットは、配置される構成要素が、１）入出力、２）メモリ、および３）デジタル信号プロセッサのうちの１つであるかどうかを決定する、構成要素種類識別子ユニットを備える、項目２４に記載のシステムデザイナ。