(57)【要約】【課題】  最適なメモリマクロの組み合わせを選択しアクセス可能に制御を行う制御回路を、予め登録されているライブラリから提供して、目的メモリのネットリストを生成するネットリスト生成方法、及びコンピュータプログラムを提供すること。【解決手段】  １つのメモリマクロによりワード幅を拡張して構成する場合には、メモリマクロの最大マクロワード幅に比して目的メモリの目的ワード幅が大きい場合には（Ｓ５：ＹＥＳ）、最大マクロワード幅に対する目的ワード幅の比である第１ワード幅比（ＷＲ１）が２ｎであって、最大マクロワード幅を有するメモリマクロのビット幅に対する目的メモリのビット幅の比である第１ビット幅比（ＢＲ１）が２（−ｎ）以下となる条件で（Ｓ９：ＹＥＳ）、最大マクロワード幅を有するメモリマクロを選択する（Ｓ１１）。ａ分岐以降において予め備えられている制御ライブラリ（Ｄ３）から制御回路が選択される。【選択図】  図１
2005327211.tif 000002
【特許請求の範囲】
【請求項１】
チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成方法であって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、
前記目的ワード幅が前記マクロワード幅の最大値に比して大なる場合に、
最大マクロワード幅に対する前記目的ワード幅の第１ワード幅比と、前記最大マクロワード幅を有するメモリマクロのビット幅に対する前記目的メモリのビット幅の第１ビット幅比と、を算出するステップと、
前記第１ワード幅比が２ｎ（ｎは自然数）であって、且つ前記第１ビット幅比が２（−ｎ）以下である条件では、前記最大マクロワード幅を有するメモリマクロを選択し、前記条件に該当しない場合には、前記メモリマクロに対する前記目的メモリの、ワード幅比とビット幅比との積により求められる必要メモリマクロ数のうち、最小構成数となるメモリマクロを選択するステップと、を有することを特徴とするネットリスト生成方法。
【請求項２】
チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成方法であって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、
前記目的ワード幅が前記マクロワード幅の最大値以下の場合に、前記目的ワード幅以上のワード幅を有するメモリマクロに対して、
該メモリマクロのビット幅に対する前記目的メモリのビット幅の第２ビット幅比を算出するステップと、
前記第２ビット幅比が１より大なる場合、前記メモリマクロにおいて、ビット幅を拡張する分割が可能か否かをチェックするステップと、
分割可能である場合には、前記第２ビット幅比と、前記メモリマクロの分割可能数と、の組み合わせを算出して最小構成数となるメモリマクロを選択するステップと、
前記第２ビット幅比が１であるメモリマクロを有する場合、または、前記第２ビット幅比が１より大であり、且つメモリマクロの分割ができない場合には、前記目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択するステップと、を有することを特徴とするネットリスト生成方法。
【請求項３】
最小構成数の必要メモリマクロ数となるメモリマクロが複数存在する場合、該メモリマクロに対する前記目的メモリのワード幅比が最小であるメモリマクロが選択されることを特徴とする請求項１に記載のネットリスト生成方法。
【請求項４】
前記第２ビット幅比以上の前記分割可能数を有するメモリマクロがある場合、該メモリマクロのうち最小の分割可能数を有するメモリマクロを選択することを特徴とする請求項２に記載のネットリスト生成方法。
【請求項５】
前記分割可能数が前記第２ビット幅比に比して小さい場合、最大の分割可能数であって前記目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択することを特徴とする請求項２に記載のネットリスト生成方法。
【請求項６】
前記分割可能数は、前記目的メモリにおけるポート数に対する前記メモリマクロのポート数のポート数比と、前記目的ワード幅に対する前記マクロワード幅のワード幅比との、小なるほうであることを特徴とする請求項２に記載のネットリスト生成方法。
【請求項７】
前記目的ワード幅のうち前記マクロワード幅ごとに区画されるワード領域を選択するワード選択信号に応じて制御信号を出力し、前記目的メモリを構成するメモリマクロを制御する制御回路のネットリスト情報が格納されてなる、制御ライブラリを備え、
前記制御ライブラリには、前記最大マクロワード幅を有するメモリマクロが選択される場合、前記ワード選択信号に応じて、前記目的メモリのビット幅を残して該メモリマクロのデータマスク端子にマスク制御信号を出力する第１制御回路が含まれることを特徴とする請求項１に記載のネットリスト生成方法。
【請求項８】
前記目的ワード幅のうち前記マクロワード幅ごとに区画されるワード領域を選択するワード選択信号に応じて制御信号を出力し、前記目的メモリを構成するメモリマクロを制御する制御回路のネットリスト情報が格納されてなる、制御ライブラリを備え、
前記制御ライブラリには、最小構成数のメモリマクロが選択される場合、前記ワード選択信号に応じて、該メモリマクロを選択的に活性化する第２制御回路が含まれることを特徴とする請求項１に記載のネットリスト生成方法。
【請求項９】
チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成のためのコンピュータプログラムであって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、
前記目的ワード幅が前記マクロワード幅の最大値に比して大なる場合に、
最大マクロワード幅に対する前記目的ワード幅の第１ワード幅比と、前記最大マクロワード幅を有するメモリマクロのビット幅に対する前記目的メモリのビット幅の第１ビット幅比と、を算出するステップと、
前記第１ワード幅比が２ｎ（ｎは自然数）であって、且つ前記第１ビット幅比が２（−ｎ）以下である条件では、前記最大マクロワード幅を有するメモリマクロを選択し、前記条件に該当しない場合には、前記メモリマクロに対する前記目的メモリの、ワード幅比とビット幅比との積により求められる必要メモリマクロ数のうち、最小構成数となるメモリマクロを選択するステップと、を有するネットリスト生成を実行することを特徴とするコンピュータプログラム。
【請求項１０】
チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成のためのコンピュータプログラムであって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、
前記目的ワード幅が前記マクロワード幅の最大値以下の場合に、前記目的ワード幅以上のワード幅を有するメモリマクロに対して、
該メモリマクロのビット幅に対する前記目的メモリのビット幅の第２ビット幅比を算出するステップと、
前記第２ビット幅比が１より大なる場合、前記メモリマクロにおいて、ビット幅を拡張する分割が可能か否かをチェックするステップと、
分割可能である場合には、前記第２ビット幅比と、前記メモリマクロの分割可能数と、の組み合わせを算出して最小構成数となるメモリマクロを選択するステップと、
前記第２ビット幅比が１であるメモリマクロを有する場合、または、前記第２ビット幅比が１より大であり、且つメモリマクロの分割ができない場合には、前記目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択するステップと、を有するネットリスト生成を実行することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップフレームに予め備えられているＩＰマクロを組み合わせることにより、必要とされる回路仕様に応じた回路構成を実現する際のネットリストの生成に関するものであり、特に、ストラクチャードＡＳＩＣにおいて、メモリマクロを組み合わせることにより、必要とされるメモリ空間に応じた回路構成を実現する際のネットリストの生成方法、およびそのコンピュータプログラムに関するものである。
【背景技術】
【０００２】
競合製品との間で電子機器を差別化するため、多くの機器メーカーは、独自機能を実現するＬＳＩを開発することとなる。集積度、動作速度、消費電流等を考慮する場合には、最適な回路設計が可能なスタンダードセル等のＡＳＩＣを使用することとなり、また、開発段階にあり、回路仕様が流動的である場合、または必要とされるＬＳＩ数が限定された数量である場合には、ユーザーが都度、回路構成を変更可能なＦＰＧＡ等が使用されることとなる。
【０００３】
電子機器分野における高性能化、高機能化の進展、および製品サイクルの短縮化の進展に伴い、ＡＳＩＣ開発においては、開発期間の長期化や開発費の高騰が問題となっている。また、ＦＰＧＡ開発においては、回路規模の増大に伴い選択された品種に目的の回路を収める際、特にセル使用率が高くなると収束性が悪化する場合があり、設計期間の増大や設計仕様の変更を余儀なくされるおそれもでてきている。
【０００４】
そこで、近年、短納期と低開発費を実現する新しいアーキテクチャーのＡＳＩＣが開発されてきている。ストラクチャードＡＳＩＣである。チップフレームに、予めメモリマクロ等の基本的なＩＰマクロを配置しておき、ユーザーの回路仕様に応じて、一部の配線層によりＩＰマクロを適宜に組み合わせて結線することにより、所望の回路構成を実現する。高性能化、高機能化が要求される電子機器分野の要求に対して短納期、低開発費で提供することが可能になりつつある。
【０００５】
図１６に例示されているストラクチャードＡＳＩＣでは、チップフレームにマトリクス状に配置されている２ポート構成のメモリマクロ２ＲＷと、チップフレームの外周に配置されている１ポート構成のメモリマクロ１Ｒ１Ｗとの、２種類のメモリマクロが配置されている。必要とされるメモリ空間を実現するために、アレイ配置されているメモリマクロ１Ｒ１Ｗ、２ＲＷを選択すると共に、選択されたメモリマクロをメモリ空間としてのアクセスが可能なように制御する制御回路を設計する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記背景技術においては、ユーザーごとに異なる仕様のメモリ空間を実現するメモリマクロの組み合わせは、必ずしも一通りではなく複数の組み合わせが存在する場合が一般的である。必要とされるメモリ空間の各々に対して、常に最適な回路構成を実現することが保証されず、冗長で無駄の多い選択をしてしまうおそれがあり、回路集積上、問題である。
【０００７】
また、必要とされるメモリ空間に応じて選択されるメモリマクロの組み合わせは異なるため、メモリ空間としてアクセスが可能なようにメモリマクロを制御する制御回路は、都度、設計されなければならない。ＬＳＩ上において本来実現したい機能回路ではない制御回路の設計を行う必要があり、設計負担がかかってしまい問題である。
【０００８】
本発明は前記従来技術の課題の少なくとも１つを解消するためになされたものであり、必要とされるメモリ空間を実現するにあたり、最適なメモリマクロの組み合わせを選択すると共に、その組み合わせに対してメモリ空間としてのアクセスが可能な制御を行う制御回路を、予め登録されているライブラリから提供して、必要とされるメモリ空間のネットリストを生成することが可能なネットリスト生成方法、およびそのコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記目的を達成するために、第１の発明に係るネットリスト生成方法、およびそのコンピュータプログラムは、チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリストの生成手続であって、目的メモリにおける目的ワード幅と、メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、目的ワード幅がマクロワード幅の最大値に比して大なる場合に、最大マクロワード幅に対する目的ワード幅の第１ワード幅比と、最大マクロワード幅を有するメモリマクロのビット幅に対する目的メモリのビット幅の第１ビット幅比と、を算出するステップと、第１ワード幅比が２ｎ（ｎは自然数）であって、且つ第１ビット幅比が２（−ｎ）以下である条件では、最大マクロワード幅を有するメモリマクロを選択し、条件に該当しない場合には、メモリマクロに対する目的メモリの、ワード幅比とビット幅比との積により求められる必要メモリマクロ数のうち、最小構成数となるメモリマクロを選択するステップと、を有することを特徴とする。
【００１０】
前記第１の発明では、目的メモリにおける目的ワード幅と、チップフレームに予め配置されているメモリマクロにおけるマクロワード幅とを比較して、目的ワード幅がマクロワード幅の最大値に比して大きく、メモリマクロに対してワード幅が拡張される場合に適用される。最大マクロワード幅に対する目的ワード幅の第１ワード幅比と、最大マクロワード幅を有するメモリマクロのビット幅に対する目的メモリのビット幅の第１ビット幅比とを算出して、第１ワード幅比が２ｎ（ｎは自然数）であって、且つ第１ビット幅比が２（−ｎ）以下であれば、最大マクロワード幅を有するメモリマクロが選択されて目的メモリが構成される。上記の条件に該当しない場合には、メモリマクロに対する目的メモリの、ワード幅比とビット幅比との積により必要メモリマクロ数を算出し、このうち最小構成数となるメモリマクロが選択されて目的メモリが構成される。
【００１１】
これにより、目的ワード幅がマクロワード幅に比して大きく、マクロメモリがワード方向に拡張されて目的メモリが得られる場合、先ず、マクロメモリのうち最大のワード幅である最大マクロワード幅を有するマクロメモリに対して、第１ワード幅比が２ｎ（ｎは自然数）であって、且つ第１ビット幅比が２（−ｎ）以下であるか否かの条件を検証する。この条件に合致すれば、最大マクロワード幅を有するマクロメモリを１つ割り当てれば目的メモリを構成することができ、必要最小限の構成数で目的メモリを構成することができる。
【００１２】
また、上記の条件に合致しない場合には、ワード幅比とビット幅比とを算出して、ワード方向への拡張に加えてビット方向への拡張の有無を検証し、ワード幅比とビット幅比との積により目的メモリを実現する必要メモリマクロ数を算出する。このうち最小構成数となるメモリマクロが選択され、必要最小限の構成数で目的メモリを構成することができる。
【００１３】
ここで、第１の発明において、目的ワード幅のうちマクロワード幅ごとに区画されるワード領域を選択するワード選択信号に応じて制御信号を出力し、目的メモリを構成するメモリマクロを制御する制御回路のネットリスト情報が格納されてなる、制御ライブラリを備えており、この制御ライブラリには、最大マクロワード幅を有するメモリマクロが選択される場合、ワード選択信号に応じて、目的メモリのビット幅を残してメモリマクロのデータマスク端子にマスク制御信号を出力する第１制御回路が含まれることが好ましい。また、最小構成数のメモリマクロが選択される場合、ワード選択信号に応じて、メモリマクロを選択的に活性化する第２制御回路が含まれることが好ましい。
【００１４】
これにより、最大マクロワード幅を有するメモリマクロがワード方向に拡張されて目的メモリが得られる場合に、ワード選択信号に応じて、メモリマクロのデータマスク端子にマスク制御信号を出力して、目的メモリのビット幅を残して他のデータの入出力をマスクする第１制御回路を予め制御ライブラリに備えておくことができる。また、最小構成数のメモリマクロが選択されてワード方向に拡張され目的メモリ空間が得られる場合に、ワード選択信号に応じて、メモリマクロを選択的に活性化する第２制御回路を予め制御ライブラリに備えておくことができる。
【００１５】
ワード方向が拡張されて目的メモリが構成される場合に、ワード選択信号に応じて制御信号を出力してメモリマクロの動作を制御する制御回路のネットリスト情報が、予め制御ライブラリに格納されているので、ユーザーは、必要となるメモリマクロの選択の度に制御回路を設計する必要はなく、目的メモリをメモリマクロの組み合わせで構成する際の設計負担を軽減することができる。
【００１６】
また、第２の発明に係るネットリスト生成方法、およびそのコンピュータプログラムは、チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリストの生成手続であって、目的メモリにおける目的ワード幅と、メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、目的ワード幅がマクロワード幅の最大値以下の場合に、目的ワード幅以上のワード幅を有するメモリマクロに対して、メモリマクロのビット幅に対する目的メモリのビット幅の第２ビット幅比を算出するステップと、第２ビット幅比が１より大なる場合、メモリマクロにおいて、ビット幅を拡張する分割が可能か否かをチェックするステップと、分割可能である場合には、第２ビット幅比と、メモリマクロの分割可能数と、の組み合わせを算出して最小構成数となるメモリマクロを選択するステップと、第２ビット幅比が１であるメモリマクロを有する場合、または、第２ビット幅比が１より大であり、且つメモリマクロの分割ができない場合には、目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択するステップと、を有することを特徴とする。
【００１７】
前記第２の発明では、目的メモリにおける目的ワード幅と、チップフレームに予め配置されているメモリマクロにおけるマクロワード幅とを比較して、目的ワード幅がマクロワード幅の最大値以下であり、メモリマクロに対してワード幅が縮小される場合に適用される。目的ワード幅以上のワード幅を有するメモリマクロに対して、メモリマクロのビット幅に対する目的メモリのビット幅の第２ビット幅比を算出して、第２ビット幅比が１より大きければ、メモリマクロにおいてビット幅を拡張する分割が可能か否かをチェックする。分割可能である場合には、第２ビット幅比とメモリマクロの分割可能数との組み合わせから、最小構成数となるメモリマクロが選択されて目的メモリが構成される。第２ビット幅比が１であるメモリマクロを有する場合、または、第２ビット幅比が１より大きく且つメモリマクロの分割ができない場合には、目的ワード幅に最近接のマクロワード幅を有するメモリマクロが選択されて目的メモリが構成される。
【００１８】
これにより、目的ワード幅以上のマクロワード幅を有するメモリマクロを選択してやれば、メモリマクロがワード方向に縮小されて目的メモリが得られる。この場合、第２ビット幅比が１より大きくメモリマクロに対して目的メモリがビット方向に拡張される場合、先ず、メモリマクロをビット方向に拡張する分割が可能か否かの条件を検証する。可能であれば、分割によって得られるビット方向への拡張数である分割可能数と第２ビット幅比とから、最小の構成数となるメモリマクロが選択され、必要最小限の構成数で目的メモリを構成することができる。
【００１９】
また、メモリマクロにおいて、第２ビット幅比が１より大きいがビット方向に拡張する分割ができない場合には、目的ワード幅に最近接のマクロワード幅を有するメモリマクロが選択され、第２ビット幅比の構成数で目的メモリを構成することができる。
【００２０】
また、第２ビット幅比が１となり、ビット幅が目的メモリと同じであるメモリマクロがあれば、このメモリマクロのうちワード幅が目的メモリのワード幅に最近接のメモリマクロが１つ選択される。未使用のメモリ空間が最小限となるメモリマクロを１つ使用して目的メモリを構成することができる。
【００２１】
ここで、目的ワード幅やマクロワード幅を含めてワード幅とは、メモリ空間の大きさを示す値であり、データの入出力単位ごとの識別子である。具体的には、データの入出力単位を指定するアドレスにより区別されるメモリ空間を示しメモリ空間をデータの入出力単位ごとに区画した際の区画数である。ワード幅に合致する数のデータセットが記憶されていることとなる。また、ビット幅とは、データの入出力単位を示している。一回のアクセス動作により入出力されるデータビットの数である。
【００２２】
尚、第１の発明において算出される、第１ワード幅比、第１ビット幅比、ワード幅比、およびビット幅比、第２の発明において算出される、第２ビット幅は、端数を切り上げて算出することが好ましい。各比を切り上げて算出することにより、選択されるメモリマクロにより目的メモリを確実に構成することができる。
【発明の効果】
【００２３】
本発明によれば、必要とされる目的メモリを実現するにあたり、必要最小限のメモリマクロが選択されると共に、選択されたメモリマクロを制御して目的メモリとしてのアクセスが可能な動作を行わせる制御回路を再設計する必要がない。必要最小限の占有面積で短期間に目的メモリのネットリストを生成することが可能なネットリスト生成方法、およびそのコンピュータプログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明のネットリスト生成方法、およびそのコンピュータプログラムについて具体化した実施形態を図１乃至図１５に基づき図面を参照しつつ詳細に説明する。
【００２５】
図１は、本発明のネットリスト生成の手続きを示す実施形態のフロー図である。入力装置等から条件指定（Ｉ１）が入力されることに基づき、目的メモリ情報を取得し（Ｓ１）、メモリマクロライブラリ（Ｄ１）からメモリマクロ情報が取得される（Ｓ３）。ここで、目的メモリ情報およびメモリマクロ情報とは、メモリを構成するワード幅およびビット幅の構成情報や、入出力ポート数、入出力ビットごとのデータマスク情報等の制御情報等を含む情報である。また、条件指定（Ｉ１）には、目的メモリを実現すべきチップフレームの情報も含まれる。また、メモリマクロ情報は、チップフレームごとにメモリマクロライブラリ（Ｄ１）に予め格納されている。条件指定（Ｉ１）により指定されたチップフレームに応じて、メモリマクロライブラリ（Ｄ１）から、該当するチップフレームに搭載されているメモリマクロに関する情報が読み出される。
【００２６】
メモリマクロ情報を取得（Ｓ３）した後、メモリマクロの選択手続きに移行する。先ず、メモリマクロに対して目的メモリのワード幅が拡張される場合（以下、ワード拡張と称する。）であって、目的メモリを１つのメモリマクロで構成することが可能な場合のフローを示す。
【００２７】
手続き（Ｓ３）において取得されたメモリマクロ情報から、メモリマクロのワード幅（以下、マクロワード幅と称する。）うちで最大のマクロワード幅（以下、最大マクロワード幅と称する。）を抽出し、目的メモリのワード幅（以下、目的ワード幅と称する。）との大小を比較する（Ｓ５）。ここで、目的ワード幅が最大マクロワード幅以下の場合には（Ｓ５：ＮＯ）、メモリマクロに対して目的メモリのワード幅が拡張されない場合（以下、ワード縮小と称する。）であり、図１のＢに分岐する。Ｂ分岐については、図５、６において後述する。
【００２８】
目的ワード幅が最大マクロワード幅より大きい場合には（Ｓ５：ＹＥＳ）、最大マクロワード幅に対する目的ワード幅の比である第１ワード幅比（ＷＲ１）と、最大マクロワード幅を有するメモリマクロのビット幅に対する目的メモリのビット幅の比である第１ビット幅比（ＢＲ１）とを算出する（Ｓ７）。算出された第１ワード幅比（ＷＲ１）および第１ビット幅比（ＢＲ１）に対して、ＷＲ１＝２ｎであって、ＢＲ１＝２（−ｎ）以下となる条件を満たすか否かの判定を行う（Ｓ９）。ここで、ｎは自然数である。この条件が満たされない場合には（Ｓ９：ＮＯ）、１つのメモリマクロでは構成できないワード拡張の場合に該当するので、図１のＡ分岐から後述する図３、４の手続きに移行する。
【００２９】
この条件が満たされる場合には（Ｓ９：ＹＥＳ）、最大マクロワード幅を有するメモリマクロを選択する（Ｓ１１）。選択されたメモリマクロを１つ使用すれば目的メモリを構成することができる。
【００３０】
選択されたメモリマクロに応じて、ａ分岐以降において制御回路を含めて結線が行われる。この手続きを図２に示す。制御回路は、目的メモリと選択されたメモリマクロとの入出力端子のインターフェースを取るために備えられる回路である。目的メモリと選択されたメモリマクロとでは、ワード／ビット構成や、入出力ポート数、入出力ビットごとのデータマスク情報等の制御情報等が異なるため、目的メモリの入出力端子とメモリマクロの入出力端子との間で整合をとる必要がある。具体的には、ワード拡張を行うために活性化されるビット幅を制御する第１制御回路と、メモリマクロのデータ出力端子を目的メモリのデータ出力端子にインターフェースする選択制御回路とが必要となる。実施形態では、これらの制御回路は、チップフレームごとに予め備えられる制御ライブラリ（Ｄ３）に格納されている。チップフレームごとにメモリマクロライブラリ（Ｄ１）が備えられ、格納されるメモリマクロの構成が予め確定されるので、個々のメモリマクロごとに必要とされる制御回路も確定される。制御ライブラリ（Ｄ３）には、メモリマクロライブラリ（Ｄ１）に応じて想定されるインターフェースを実現するための制御回路のネットリストが格納されている。
【００３１】
図２では、先ず入力側の信号のインターフェースをとるため、第１制御回路を選択する（Ｓ１３）。第１制御回路は、メモリマクロのビット幅を目的メモリのビット幅に合致させるため、ビットごとにデータマスクすべきマスク制御信号を適宜に選択する回路である。制御ライブラリ（Ｄ３）から選択される第１制御回路は、メモリマクロのビット幅に一致する数のデータマスク入力端子を個々に制御するため、データマスク制御端子としてメモリマクロのデータマスク入力端子と同数の端子数を備えている。また、目的メモリのビット幅に対しては、ビットごとに個々にマスクされる必要から、データマスク入力端子として目的メモリのデータマスク入力端子と同数の端子数を備えている。更に、メモリマクロの所定ビットをマスクするマスク制御信号が、どのデータマスク制御端子から出力されるかを選択するために、データマスク選択端子としてｎ端子を備えている。ここで、ｎ端子のデータマスク選択端子を有していれば、第１ビット幅比ＢＲ１として２（−ｎ）以下にビット縮小される際に好都合である。データマスク選択端子へのｎビットの信号により、メモリマスクのビット幅については、２ｎごとのグループにグループ化することができる。各グループを識別することにより、このうちの１グループについてデータの入出力が可能となる。ワード幅を２ｎに拡張することと相俟って、２（−ｎ）以下にビット幅を縮小することができる。
【００３２】
次に、ビット幅を２ｎごとのグループにグループ化する際のメモリマクロのデータ入力端子の処理を行う（Ｓ１５）。データマスク選択端子には、第１ワード幅比（ＷＲ１）により拡張されるワード構成を識別する、最上位からｎビットの上位アドレスが入力される。この上位アドレスによりデータマスク制御端子からマスク制御信号が出力される。マスク制御信号に応じて２ｎのグループにグループ化されるメモリマクロのデータ入力端子を各グループの対応するビットごとに纏めて、目的メモリの各データ入力端子に共通に接続する。これにより、何れのグループが選択されても、目的メモリのデータ入力端子からのデータ入力が可能となり、ビット幅を２（−ｎ）以下にビット縮小することができる。
【００３３】
次に、出力側のデータ信号のインターフェースをとるため、制御ライブラリ（Ｄ３）から選択制御回路を選択する（Ｓ１７）。選択制御回路は、目的メモリのデータ出力端子ごとに備えられ、１端子のデータ出力端子が目的メモリのデータ出力端子に接続される。また、データ入力端子は２ｎ端子備え、目的メモリの各データ入力端子に共通に接続される、２ｎグループごとの所定のデータ入力端子に対応するデータ出力端子が接続される。更に、１端子のデータ出力端子に接続する２ｎ端子のデータ入力端子を選択するために、ｎ端子の選択端子を備えている。これにより、メモリマクロの２ｎグループにグループ化されたビット幅における、所定ビット位置のデータ出力端子のうち、上位アドレスに応じて指定されるグループに応じた端子を目的メモリのデータ出力端子に接続することができる。
【００３４】
メモリマクロの各端子のうち、未使用の入力端子については、非活性となる信号レベルでクリップし（Ｓ１９）、未使用の出力端子については、目的メモリの端子とは接続せず、フローティング状態とする（Ｓ２１）。
【００３５】
本発明のネットリスト生成の手続きについての実施形態を示す図３のフロー図では、メモリマクロに対して目的メモリがワード拡張される場合であって、目的メモリを複数のメモリマクロで構成する場合である。手続き（Ｓ９）（図１）において、第１ワード幅比（ＷＲ１）＝２ｎ、第１ビット幅比（ＢＲ１）＝２（−ｎ）以下となる条件が満たされないＡ分岐の場合（Ｓ９：ＮＯ）、図３の手続きに移行する。
【００３６】
先ず、メモリマクロごとに、必要メモリマクロ数を算出する（Ｓ２１）。具体的には、メモリマクロのワード幅に対する目的メモリのワード幅であるワード幅比（ＷＲ）、およびメモリマクロのビット幅に対する目的メモリのビット幅であるビット幅比（ＢＲ）を算出して、両者の積（ＷＲ×ＢＲ）により必要メモリマクロ数を算出する。目的メモリのワード／ビット構成がメモリマクロの何倍であるかを、ワード幅比（ＷＲ）およびビット幅比（ＢＲ）によりワード方向およびビット方向の各々に算出する。これらの積である必要メモリマクロ数が、目的メモリをメモリマクロで構成する場合の必要数となる。
【００３７】
次に、必要メモリマクロ数が最小の構成数となるメモリマクロを選択する（Ｓ２３）。メモリマクロごとにワード／ビット構成は異なるため、メモリマクロごとに目的メモリを実現するための必要メモリマクロ数が異なる。手続き（Ｓ２３）では、このうち最小構成数で目的メモリを実現できるメモリマクロを選択する。
【００３８】
手続き（Ｓ２３）で選択されるメモリマクロが一種類である場合には（Ｓ２５：ＮＯ）、目的メモリが構成される際にこのメモリマクロが選択され、同じ必要メモリマクロ数となるメモリマクロが複数種類存在する場合には（Ｓ２５：ＹＥＳ）、ワード幅比（ＷＲ）が最小となるメモリマクロが選択される（Ｓ２７）。ここで、ワード幅比（ＷＲ）に対応するワード拡張を実現するためには、第１制御回路および選択制御回路を備える必要がある。複数種類あるメモリマクロのうち最小のワード幅比（ＷＲ）であるメモリマクロを選択すれば、第１制御回路および選択制御回路の回路規模を抑制することができる。選択されたメモリマクロを最小構成数備えれば目的メモリを構成することができる。
【００３９】
選択されたメモリマクロに応じて、ｂ分岐以降において制御回路を含めて結線が行われる。この手続きを図４に示す。この場合、目的メモリを選択された複数のメモリマクロで構成するため、目的メモリへのアクセス領域に応じて活性化すべきメモリマクロを割り当てる必要がある。活性化されるメモリマクロを制御する第２制御回路と、メモリマクロのデータ出力端子を目的メモリのデータ出力端子にインターフェースする選択制御回路とが必要となる。実施形態では、これらの制御回路は、チップフレームごとに予め備えられる制御ライブラリ（Ｄ３）に格納されている。チップフレームごとにメモリマクロライブラリ（Ｄ１）が備えられ、格納されるメモリマクロの構成が予め確定されるので、個々のメモリマクロごとに必要とされる制御回路も確定される。制御ライブラリ（Ｄ３）には、メモリマクロライブラリ（Ｄ１）に応じて想定されるインターフェースを実現するための制御回路のネットリストが格納されている。
【００４０】
図４では、先ず、活性化すべきメモリマクロを選択するため、第２制御回路を選択する（Ｓ２９）。第２制御回路を備えることにより、目的メモリの入力側端子と複数のメモリマクロの入力側端子とのインターフェースをとることができる。第２制御回路は、ワード拡張に関して、目的メモリのワード幅を実現するために割り当てられている複数のメモリマクロのうち、活性化すべきメモリマクロを選択する回路である。制御ライブラリ（Ｄ３）から選択される第２制御回路は、目的メモリを構成する際、最小構成数の必要メモリマクロ数を識別するため、マクロ選択端子として最小構成マクロ数のメモリマクロを識別する端子数を備えている。具体的には、ｌｏｇ２（最小構成マクロ数）である。また、マクロ選択端子に入力された信号に応じて個々のメモリマクロを活性化制御するため、最小構成マクロ数のマクロ活性制御端子を備えている。
【００４１】
ここで、ビット拡張については、目的メモリのビット幅を実現するために割り当てられている複数のメモリマクロのうち、ビット幅比（ＢＲ）分のメモリマクロを同時に活性化すればよい。
【００４２】
次に、出力側のデータ信号のインターフェースをとるため、制御ライブラリ（Ｄ３）から選択制御回路を選択する（Ｓ３１）。選択制御回路は、目的メモリのデータ出力端子ごとに備えられ、１端子のデータ出力端子が目的メモリのデータ出力端子に接続されている。また、データ入力端子は最小構成マクロ数の端子を備え、目的メモリを構成する各メモリマクロの各データ出力端子が接続されている。更に、１端子のデータ出力端子に接続される最小構成マクロ数のメモリマクロのデータ出力端子を選択するために、ｌｏｇ２（最小構成マクロ数）の選択端子を備えている。これにより、目的メモリを構成する複数のメモリマクロのうち活性化されたメモリマクロのデータ出力端子を、目的メモリのデータ出力端子に接続することができる。
【００４３】
メモリマクロの各端子のうち、未使用の入力端子については、非活性となる信号レベルでクリップし（Ｓ３３）、未使用の出力端子については、目的メモリの端子とは接続せず、フローティング状態とする（Ｓ３５）。
【００４４】
本発明のネットリスト生成の手続きについての実施形態を示す図５のフローでは、メモリマクロに対して目的メモリのワード幅が拡張されない場合（以下、ワード縮小と称する。）である。手続き（Ｓ５）（図１）において、目的ワード幅が最大マクロワード幅以下であるＢ分岐の場合（Ｓ５：ＮＯ）である。
【００４５】
先ず、目的ワード幅以上にマクロワード幅を有するメモリマクロを抽出する（Ｓ３７）。これにより、ワード縮小により目的メモリを構成することができるメモリマクロが抽出される。抽出されたメモリマクロに対して、メモリマクロのビット幅に対する目的メモリのビット幅である第２ビット幅比（ＢＲ２）を、メモリマクロごとに算出する（Ｓ３９）。手続き（Ｓ３９）は、抽出された全てのメモリマクロに対して算出される（Ｓ４１）。
【００４６】
算出された第２ビット幅比が１である（ＢＲ２＝１）メモリマクロが存在する場合（Ｓ４３：ＹＥＳ）、目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択する（Ｓ５９）。選択されたメモリマクロは、マクロワード幅が目的ワード幅に比して大きいマクロであるので、ワード方向に拡張されることはない。この場合、第２ビット幅比が１（ＢＲ２＝１）であるので、ビット方向にも拡張する必要ななく、選択されたメモリマクロを１つ備えてやれば目的メモリを構成することができる。
【００４７】
算出された第２ビット幅比（ＢＲ２）が１となるメモリマクロが存在しない場合（Ｓ４３：ＮＯ）、メモリマクロにおける入出力ポート数と目的メモリの入出力ポート数とによち、目的メモリのポート数に対するメモリマクロのポート数を、ポート数による分割可能数（ＤＰ）として算出する（Ｓ４５）。分割可能数（ＤＰ）は、ポート数の比からビット拡張可能な倍数を算出したものである。複数ポートを個々に識別できるアドレス信号について、ポートごとに異なるアドレス信号を与えることにより、割り当てられたアドレス分のワード縮小を伴ってポート数によるビット拡張を行うことができる。例えば、１ポートの目的メモリに対してメモリマクロが２ポートある場合には、１／２以上のワード縮小を伴えば２倍のビット拡張を行うことができる。
【００４８】
次に、ワード縮小されるワード構成を識別する上位アドレス数（ＮＡ）を算出する（Ｓ４７）。算出式は、ＮＡ＝ｌｏｇ２（マクロワード幅）−ｌｏｇ２（目的ワード幅）で算出することができる。そして、上位アドレス数（ＮＡ）によりワード縮小による分割可能数（ＤＷ＝２ＮＡ）を算出することができる（Ｓ４９）。分割可能数（ＤＷ）は、ポート間の並列動作によりビット拡張を行う場合の、ワード縮小による制限を算出したものである。ポート間の並列動作によるビット拡張を行う際には、個々のポートを識別可能にポートごとに異なるアドレスを割り当て、ポートごとにアクセスされる記憶領域を分離する必要がある。したがって、ポート数によるビット拡張は、ワード縮小により識別不要となった上位アドレス数（ＮＡ）で識別されるポート数の範囲内で行われる必要がある。
【００４９】
この制限は、次の手続き（Ｓ５１）により設定される。すなわち、分割可能数（ＤＰ）および（ＤＷ）の大小を比較し、小さい方を最大分割可能数（ＤＭＡＸ）に設定する（Ｓ５１）。分割可能数（ＤＰ）が分割可能数（ＤＷ）に比して小さい場合には、ワード縮小のサイズによらずポート数によりビット拡張のサイズが決定される。逆に、分割可能数（ＤＰ）が分割可能数（ＤＷ）に比して大きい場合には、ビット拡張のサイズはワード縮小のサイズに律速される。手続き（Ｓ４５）乃至手続き（Ｓ５１）は、抽出された全てのメモリマクロに対して行われる（Ｓ５３）。
【００５０】
メモリマクロごとに最大分割可能数（ＤＭＡＸ）が算出され、最大分割可能数が１である（ＤＭＡＸ＝１）メモリマクロが存在する場合（Ｓ５５：ＹＥＳ）、目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択する（Ｓ５９）。選択されたメモリマクロは、マクロワード幅が目的ワード幅に比して大きいマクロであるので、ワード方向に拡張されることはない。また、最大分割可能数が１（ＤＭＡＸ＝１）であるので、選択されたメモリマクロではビット拡張の際の分割はできない。したがって、手続き（Ｓ３９）において算出した第２ビット幅比（ＢＲ２）の数のメモリマクロを備えることにより目的メモリを構成することとなる。
【００５１】
最大分割可能数（ＤＭＡＸ）が１となるメモリマクロが存在しない場合には（Ｓ５５：ＮＯ）、更に、第２ビット幅比（ＢＲ２）と最大分割可能数（ＤＭＡＸ）との大小関係を比較する（Ｓ５７）。最大分割可能数（ＤＭＡＸ）が第２ビット幅比（ＢＲ２）以上である場合（Ｓ５７：ＹＥＳ）、最大分割可能数（ＤＭＡＸ）のうち最小値を有するメモリマクロを選択する（Ｓ６１）。メモリマクロの分割によりビット拡張を行うことができ、構成数１で目的メモリを構成することができる。また、最大分割可能数（ＤＭＡＸ）が第２ビット幅比（ＢＲ２）より小さい場合（Ｓ５７：ＮＯ）、最大分割可能数（ＤＭＡＸ）のうち最大値を有するメモリマクロのうち、マクロワード幅が目的ワード幅に最近接のメモリマクロを選択する（Ｓ６３）。メモリマクロの分割により最大限のビット拡張を行いながら、不足分についてはメモリマクロを複数備える構成である。構成数は、第２ビット幅比（ＢＲ２）を最大分割可能数（ＤＭＡＸ）で除した値となる。
【００５２】
手続き（Ｓ５９）により選択されたメモリマクロはｄ分岐において、また、手続き（Ｓ６１、Ｓ６３）により選択されたメモリマクロはｃ分岐において、端子の結線が行われる。この手続きを図６に示す。ｃ分岐したメモリマクロに対しては、最上位から、ワード縮小されるワード構成を識別する上位アドレス数（ＮＡ）のビット数のアドレス端子を、ポートごとに異なる論理組み合わせの信号でクリップする（Ｓ６５）。これにより、ポートごとに異なるアドレスが割り当てられポートごとにアクセスされる記憶領域を分離することができる。
【００５３】
ｃ分岐において手続き（Ｓ６５）がされたメモリマクロ、およびｄ分岐したメモリマクロに対しては、メモリマクロの各端子のうち、未使用の入力端子については、非活性となる信号レベルでクリップし（Ｓ６７）、未使用の出力端子については、目的メモリの端子とは接続せず、フローティング状態とする（Ｓ６９）。
【００５４】
以下では、図１乃至図６のフローにより、選択されたメモリマクロに対して目的メモリが構成される際の回路の接続関係の具体例を示す。
【００５５】
図７は、図１および図２のフローにおいて生成される回路構成の具体例（１）である。メモリマクロに対してワード拡張がされる場合であって、目的メモリを１つのメモリマクロで構成することが可能な場合である。目的メモリ１１が８０９６ワード／２ビットであって、２ポートの入出力構成を有するところ、メモリマクロＭ１１として、４０９６ワード／４ビットであって、２ポートの入出力構成を有する場合である。
【００５６】
第１ワード幅比（ＷＲ１）が、ＷＲ１＝８０９６／４０９６＝２、第１ビット幅比（ＢＲ１）が、ＢＲ１＝４／２＝２であり、ｎ＝１が該当する。これにより、データマスク選択端子が１端子（ＥＡ０）、データマスク入力端子が２端子（ＤＭ［１：０］）、データマスク制御端子が４端子（ＤＭ０乃至ＤＭ３）である第１制御回路Ｃ１１がポートごとに備えられる。また、選択端子が１端子（Ｓ）、データ入力端子が２端子（Ａ、Ｂ）、データ出力端子が１端子（Ｘ）である選択制御回路Ｓ１１が、メモリマクロＭ１１のデータ出力端子（Ａ／Ｂ［０］およびＡ／Ｂ［１］、Ａ／Ｂ［２］およびＡ／Ｂ［３］）ごとに備えられている。
【００５７】
尚、図７では、選択端子（Ｓ）は第１制御回路Ｃ１１の制御端子（ＳＥＬ）により制御される場合を示している。ここで、制御端子（ＳＥＬ）は、データマスク選択端子（ＥＡ０）への信号レベルに応じて変化する信号である。選択端子（Ｓ）への入力信号として、データマスク選択端子（ＥＡ０）に入力されている最上位アドレス（ＩＡ／ＪＢ［ｔ］）を入力することも可能である。
【００５８】
第１制御回路Ｃ１１のデータマスク選択端子（ＥＡ０）には、最上位アドレス（ＩＡ／ＪＢ［ｔ］）が入力されており、信号レベルに応じて、２端子のデータマスク制御端子（ＤＭ０およびＤＭ２、あるいはＤＭ１およびＤＭ３、または、ＤＭ０およびＤＭ３、あるいはＤＭ１およびＤＭ２）の何れか一方の組み合わせに対してマスク制御信号を出力する。このとき、メモリマクロＭ１１のデータ入力端子は、（Ｉ／Ｊ［０］とＩ／Ｊ［１］、およびＩ／Ｊ［２］とＩ／Ｊ［３］）との組み合わせで共通に目的メモリ１１のデータ入力端子Ｉ／Ｊ［０］、およびＩ／Ｊ［１］に接続されている。第１制御回路Ｃ１１から出力されるマスク制御信号に応じて、目的メモリ１１の２ビットデータ（Ｉ／Ｊ［０］、Ｉ／Ｊ［１］）は、メモリマクロＭ１１の４端子のデータ入力端子（Ｉ／Ｊ［０］乃至Ｉ／Ｊ［３］）うち前記の組み合わせの２端子に入力され、データ出力端子から各々の選択制御回路Ｓ１１に入力されて、目的メモリ１１のデータ出力端子（Ａ／Ｂ［０］、Ａ／Ｂ［１］）から出力される。最上位アドレス（ＩＡ／ＪＢ［ｔ］）が追加されてワード選択を２倍にすると共に、メモリマクロＭ１１のビット構成を１／２にビット縮小することにより、２倍のワード拡張と１／２のビット縮小を１つのメモリマクロＭ１１で実現している。
【００５９】
図８は、図１および図２のフローにおいて生成される回路構成の具体例（２）である。メモリマクロに対してワード拡張がされる場合であって、目的メモリを１つのメモリマクロで構成することが可能な場合である。１６３８４ワード／１ビットであって２ポートの入出力構成を有する目的メモリ１２に対して、４０９６ワード／４ビットのメモリマクロＭ１２により、図７と同様な回路構成が実現できる。
【００６０】
第１ワード幅比（ＷＲ１）が、ＷＲ１＝１６３８４／４０９６＝４、第１ビット幅比（ＢＲ１）が、ＢＲ１＝１／４であり、ｎ＝２が該当する。これにより、データマスク選択端子が２端子（ＥＡ０、ＥＡ１）、データマスク入力端子が１端子（ＤＭ）、データマスク制御端子が４端子（ＤＭ０乃至ＤＭ３）である第１制御回路Ｃ１２がポートごとに備えられる。また、選択端子が２端子（ＳＡ、ＳＢ）、データ入力端子が４端子（Ａ乃至Ｄ）、データ出力端子が１端子（Ｘ）である選択制御回路Ｓ１２がデータ出力端子（Ａ／Ｂ［０］）ごとに備えられている。
【００６１】
尚、図８では、選択端子（ＳＡ、ＳＢ）は、第１制御回路Ｃ１２の制御端子（ＳＥＬ０、ＳＥＬ１）により制御される場合を示している。ここで、制御端子（ＳＥＬ０、ＳＥＬ１）は、データマスク選択端子（ＥＡ０、ＥＡ１）への信号レベルに応じて変化する信号である。選択端子（ＳＡ、ＳＢ）への入力信号として、データマスク選択端子（ＥＡ０、ＥＡ１）に入力されている最上位アドレス（ＩＡ／ＪＢ［ｔ］、ＩＡ／ＪＢ［ｔ−１］）を入力することも可能である。
【００６２】
第１制御回路Ｃ１２のデータマスク選択端子（ＥＡ０、ＥＡ１）には、最上位から２ビットのアドレス（ＩＡ／ＪＢ［ｔ］、ＩＡ／ＪＢ［ｔ−１］）が入力されており、信号レベルに応じて、４端子のデータマスク制御端子（ＤＭ０乃至ＤＭ３）のうち１端子を除く３端子に対してマスク制御信号を出力する。このとき、メモリマクロＭ１２のデータ入力端子（Ｉ／Ｊ［０］乃至Ｉ／Ｊ［３］）は、目的メモリ１２のデータ入力端子（Ｉ／Ｊ［０］）に共通に接続されている。第１制御回路Ｃ１２から出力されるマスク制御信号に応じて、目的メモリ１２の１ビットデータ（Ｉ／Ｊ［０］）は、メモリマクロＭ１２の４端子のデータ入力端子（Ｉ／Ｊ［０］乃至Ｉ／Ｊ［３］）うち何れか１端子に入力され、データ出力端子から各々の選択制御回路Ｓ１２に入力されて、目的メモリ１２のデータ出力端子（Ａ／Ｂ［０］）から出力される。最上位から２ビットのアドレス（ＩＡ／ＪＢ［ｔ］、ＩＡ／ＪＢ［ｔ−１］）が追加されてワード選択を４倍にすると共に、メモリマクロＭ１２のビット構成を１／４にビット縮小することにより、４倍のワード拡張と１／４のビット縮小を１つのメモリマクロＭ１２で実現している。
【００６３】
図９は、図３および図４のフローにおいて生成される回路構成の具体例（１）である。メモリマクロに対してワード拡張がされる場合であって、目的メモリを複数のメモリマクロで構成する場合である。目的メモリ２１が２ポートの入出力構成であって、ビット幅の拡縮はないところ、ワード拡張が２倍となる場合である。
【００６４】
手続き（Ｓ９）（図１）の条件に当てはまらないため、ワード幅比（ＷＲ）およびビット幅比（ＢＲ）（図３中、（Ｓ２１））を算出する。図９の具体例では、ＷＲ＝２、ＢＲ＝１の場合である。最小構成数として２組のメモリマクロＭ２１、Ｍ２１をワード方向に拡張する構成が該当する。これにより、マクロ選択端子が１端子（ＥＡ０）、マクロ活性制御端子が２端子（ＣＥ０、ＣＥ１）である第２制御回路Ｃ２１がポートごとに備えられる。また、選択端子が１端子（Ｓ）、データ入力端子が２端子（Ａ、Ｂ）、データ出力端子が１端子（Ｘ）である選択制御回路Ｓ１１が、２組のメモリマクロＭ２１、Ｍ２１の各ポートのデータ出力端子（Ａ／Ｂ［ｂ：０］）ごとに備えられている。
【００６５】
ここで、第２制御端子Ｃ２１は、目的メモリ２１のイネーブル端子（ＣＥＩＡ／ＣＥＪＢ）に接続されるイネーブル端子（ＣＥ）を備えている。また、図７の場合と同様に、選択制御回路Ｓ１１の選択端子（Ｓ）が第２制御回路Ｃ２１の制御端子（ＳＥＬ）に接続されている。選択端子（Ｓ）への入力信号として、マクロ選択端子（ＥＡ０）に入力されている最上位アドレス（ＩＡ／ＪＢ［ｔ］）を入力することも可能である。
【００６６】
第２制御回路Ｃ２１のマクロ選択端子（ＥＡ０）には、最上位アドレス（ＩＡ／ＪＢ［ｔ］）が入力されており、信号レベルに応じて、マクロ活性制御端子（ＣＥ０、ＣＥ１）の何れか一方が活性化される。マクロ活性制御端子（ＣＥ０、ＣＥ１）は、各メモリマクロＭ２１のイネーブル端子（ＣＥＩＡ／ＣＥＪＢ）に接続されており、何れか一方のメモリマクロＭ２１が活性化される。最上位アドレス（ＩＡ／ＪＢ［ｔ］）に応じて２組のメモリマクロＭ２１、Ｍ２１が識別されることにより、ワード構成が２倍に拡張される。また、選択制御回路Ｓ２１のデータ入力端子（Ａ、Ｂ）は、メモリマクロＭ２１、Ｍ２１のデータ出力端子（Ａ／Ｂ［ｂ：０］、Ａ／Ｂ［ｂ：０］）がポートごとに接続されている。これにより、ワード拡張された２組のメモリマクロＭ２１、Ｍ２１からのデータ出力を、目的メモリ２１のデータ出力端子（Ａ／Ｂ［ｂ：０］）に出力することができる。
【００６７】
図１０は、図３および図４のフローにおいて生成される回路構成の具体例（２）である。メモリマクロに対してワード拡張がされる場合であって、目的メモリを複数のメモリマクロで構成する場合である。目的メモリ２２が２ポートの入出力構成であって、ビット幅の拡縮はないところ、ワード拡張が３倍となる場合である。
【００６８】
先ず、ワード幅比（ＷＲ）およびビット幅比（ＢＲ）（図３中、（Ｓ２１））を算出する。図１０の具体例では、ＷＲ＝３、ＢＲ＝１の場合である。最小構成数として３組のメモリマクロＭ２１、Ｍ２１、Ｍ２１をワード方向に拡張する構成である。これにより、マクロ選択端子が２端子（ＥＡ０、ＥＡ１）、マクロ活性制御端子が４端子（ＣＥ０乃至ＣＥ３）である第２制御回路Ｃ２２がポートごとに備えられる。また、選択端子が２端子（ＳＡ、ＳＢ）、データ入力端子が４端子（Ａ乃至Ｄ）、データ出力端子が１端子（Ｘ）である選択制御回路Ｓ１２が、３組のメモリマクロＭ２１、Ｍ２１、Ｍ２１の各ポートのデータ出力端子（Ａ／Ｂ［ｂ：０］）ごとに備えられている。
【００６９】
ここで、第２制御端子Ｃ２２は、目的メモリ２２のイネーブル端子（ＣＥＩＡ／ＣＥＪＢ）に接続されるイネーブル端子（ＣＥ）を備えている。また、図８の場合と同様に、選択制御回路Ｓ１２の選択端子（ＳＡ、ＳＢ）が第２制御回路Ｃ２２の制御端子（ＳＥＬ０、ＳＥＬ１）に接続されている。選択端子（ＳＡ，ＳＢ）への入力信号として、マクロ選択端子（ＥＡ０、ＥＡ１）に入力されている最上位アドレス（ＩＡ／ＪＢ［ｔ］、ＩＡ／ＪＢ［ｔ−１］）を入力することも可能である。
【００７０】
第２制御回路Ｃ２２のマクロ選択端子（ＥＡ０、ＥＡ１）には、最上位から２ビットの上位アドレス（ＩＡ／ＪＢ［ｔ］、ＩＡ／ＪＢ［ｔ−１］）が入力されており、信号レベルに応じて、マクロ活性制御端子（ＣＥ０乃至ＣＥ２）の何れか一つが活性化される。ここで、２ビットの上位アドレスによれば４種類の信号が出力できるところ、マクロ活性制御端子（ＣＥ３）については対応して結線されるメモリマクロは存在しないため、未使用端子として、対応する上位アドレス（ＩＡ／ＪＢ［ｔ］、ＩＡ／ＪＢ［ｔ−１］）の論理組み合わせは入力されない。マクロ活性制御端子（ＣＥ０乃至ＣＥ２）は、各メモリマクロＭ２１のイネーブル端子（ＣＥＩＡ／ＣＥＪＢ）に接続されており、何れか一つのメモリマクロＭ２１が活性化される。最上位アドレス（ＩＡ／ＪＢ［ｔ］、ＩＡ／ＪＢ［ｔ−１］）に応じて３組のメモリマクロＭ２１、Ｍ２１、Ｍ２１が識別されることにより、ワード選択が３倍に拡張される。また、選択制御回路Ｓ１２のデータ入力端子（Ａ乃至Ｃ）は、メモリマクロＭ２１、Ｍ２１、Ｍ２１のデータ出力端子（Ａ／Ｂ［ｂ：０］、Ａ／Ｂ［ｂ：０］、Ａ／Ｂ［ｂ：０］）がポートごとに接続されている。これにより、ワード拡張された３組のメモリマクロＭ２１、Ｍ２１、Ｍ２１からのデータ出力を、目的メモリ２２のデータ出力端子（Ａ／Ｂ［ｂ：０］）に出力することができる。
【００７１】
ここで、図示はされていないが、ビット拡張の場合には、アドレス端子、データ入力端子、制御端子等の入力側端子についての結線が同じメモリマクロを複数備えればよい。
【００７２】
図１１は、図５および図６のフローにおいて生成される回路構成の具体例（１）である。メモリマクロに対してワード縮小がされる場合であって、手続き（Ｓ６１）によりメモリマクロの選択が行われる場合である。目的メモリ３１が１ポートの入出力構成であって、ワード幅が１／２に縮小され、ビット幅が２倍に拡張される場合である。２ポート構成のメモリマクロＭ３１が選択される場合である。
【００７３】
手続き（Ｓ４５）（図５）におけるポート数による分割可能数（ＤＰ）が２である。手続き（Ｓ４７）におけるワード縮小されるアドレス数（ＮＡ）は１であり、これにより、手続き（Ｓ４９）においてワード縮小による分割可能数（ＤＷ）は２と求まる。メモリマクロＭ３１の最上位アドレス端子（ＩＡ／ＪＢ［ｔ＋１］）をポートごとに異なる電圧レベルでクリップしてやれば、ポートごとにアクセスされる記憶領域を分離することができ、メモリマクロＭ３１における各ポートのデータ出力端子（Ａ／Ｂ［ｂｎ：０］）から並列してデータ出力が可能となる。データ出力端子（Ａ［ｂｎ：０］、Ｂ［ｂｎ：０］）を、目的メモリ３１のデータ出力端子（Ａ［ｂｎ：０］、Ａ［ｂ：ｂｎ］）に接続することで、ビット幅が２倍に拡張されたデータ出力が可能となる。
【００７４】
図１２は、図５および図６のフローにおいて生成される回路構成の具体例（２）である。メモリマクロに対してワード縮小がされる場合であって、手続き（Ｓ６３）によりメモリマクロの選択が行われる場合である。目的メモリ３２が１ポートの入出力構成であって、ワード幅が１／２に縮小され、ビット幅が４倍に拡張される場合である。２ポート構成のメモリマクロＭ３２が２組選択される場合である。
【００７５】
手続き（Ｓ４５）によりポート数による分割可能数（ＤＰ）は２である。手続き（Ｓ４７）によりワード縮小されるアドレス数（ＮＡ）は１であり、手続き（Ｓ４９）においてワード縮小による分割可能数（ＤＷ）は２と求まる。メモリマクロＭ３２の最上位アドレス端子（ＩＡ／ＪＢ［ｔ＋１］）をポートごとに異なる論理レベルでクリップしてやれば、ポートごとにアクセスされる記憶領域を分離することができ、メモリマクロＭ３２ごとに各ポートのデータ出力端子（Ａ／Ｂ［ｂｎ：０］）を使用して２倍まで拡張されるビット構成を得ることができる。図１２では、４倍の拡張が必要であるので、２組のメモリマクロＭ３２、Ｍ３２を備えることにより、ビット幅が４倍に拡張されたデータ出力が可能となる。
【００７６】
尚、具体例（１）、（２）（図１１、図１２）では、ワード縮小による分割可能数（ＤＷ）がポート数による分割可能数（ＤＰ）とが同一の場合について例示したが、本発明はこれに限定されるものではない。例えば、ＤＷ＞ＤＰとなる場合には、ワード縮小されるアドレス数（ＮＡ）は、ポート数を識別するアドレス数より大きくなるところ、ポートを識別するアドレス以外のアドレス端子については、未使用入力端子として所定電位にクリップすることが好ましい。また、ＤＷ＜ＤＰとなる場合には、ワード縮小されるアドレス数（ＮＡ）は、ポート数を識別するアドレス数より小さくなるところ、ポートを識別するアドレス数の範囲でワード縮小を行うことができる。
【００７７】
図１３は、図５および図６のフローにおいて生成される回路構成の具体例（３）である。メモリマクロに対してワード縮小がされる場合であって、手続き（Ｓ４３）における条件の一致を経て、手続き（Ｓ５９）によりメモリマクロの選択が行われる場合である。目的メモリ４１が、１２８ワード／２０ビットであって２ポートの入出力構成を有するところ、メモリマクロＭ４１として、５１２ワード／４０ビットであって２ポートの入出力構成を有する場合である。
【００７８】
第２ビット幅比（ＢＲ２）は、ＢＲ２＝２０／４０＝０．５であり、切り上げによりＢＲ２＝１となる。手続き（Ｓ５９）により、目的ワード幅（１２８ワード）に最近接のマクロワード幅として、５１２ワードのワード幅を有するメモリマクロＭ４１が選択される。構成数は１である。ビット幅が４０ビットから２０ビットに縮小されるため、未使用の入力端子が所定レベルにクリップされると共に、未使用のデータ出力端子は未結線とされる。
【００７９】
図１４は、図５および図６のフローにおいて生成される回路構成の具体例（４）である。メモリマクロに対してワード縮小がされる場合であって、手続き（Ｓ５５）における条件の一致を経て、手続き（Ｓ５９）によりメモリマクロの選択が行われる場合である。目的メモリ４２に対して、分割可能なメモリマクロがない場合である。メモリマクロＭ４２が選択され、ビット幅を２倍に拡張する場合である。
【００８０】
手続き（Ｓ５９）により、目的ワード幅に最近接のマクロワード幅として、目的ワード幅と同一のワード幅を有するメモリマクロＭ４２が選択される。ここで、ビット幅は２倍に拡張されるため、構成数は２となる。メモリマクロＭ４２、Ｍ４２の各々のデータ出力端子（Ａ／Ｂ［ｂｎ：０］、Ａ／Ｂ［ｂｎ：０］）が、目的メモリ４２のデータ出力端子（Ａ／Ｂ［ｂｎ：０］、Ａ／Ｂ［ｂ：ｂｎ］）に接続される。
【００８１】
図１５におけるネットリスト生成装置１は、中央処理装置（以下、ＣＰＵと略記する。）２を中心にバス８を介して、メモリ３、磁気ディスク装置４、表示装置（以下、ＣＲＴと略記する。）５、キーボード６、及び外部記憶媒体駆動装置７が相互に接続されており、更に外部記憶媒体駆動装置７にＣＤＲＯＭや磁気媒体等の外部記憶媒体９が着脱可能に設置される構成である。
【００８２】
前述の図１乃至図６に示すネットリスト生成のフローを実行するコンピュータプログラムは、ネットリスト生成装置１内のメモリ３や磁気ディスク装置４に記録されている他、ＣＤＲＯＭや磁気媒体等の外部記憶媒体９に記録されている場合に、外部記憶媒体駆動装置７を介してメモリ３、磁気ディスク装置４に記録され、あるいは直接ＣＰＵ２に転送される。また、メモリマクロライブラリ（Ｄ１）、制御ライブラリ（Ｄ３）は、メモリ２、磁気ディスク装置４、あるいはＣＤＲＯＭ、磁気媒体等の外部記憶媒体９に格納され、または直接ＣＰＵ２内に格納されている。図１乃至図６のネットリスト生成のフローを実行するコンピュータプログラムの処理に従い、ＣＰＵ２からの指令により必要に応じて参照される。また、条件指定情報（Ｉ１）は、キーボード６から入力され、あるいは、外部記憶媒体駆動装置７を介して外部記憶媒体９から入力される。
【００８３】
尚、図１５には図示されていないが、インターネット等の電気通信回線を介して他のシステムとの間で、上記に説明したコンピュータプログラムや各種の情報の授受を行うことも可能である。
【００８４】
以上詳細に説明したとおり、本実施形態に係るネットリスト生成方法、およびそのコンピュータプログラムによれば、メモリマクロのワード幅であるマクロワード幅と、目的メモリのワード幅である目的ワード幅とに基づき、チップフレームに使用されるメモリマクロライブラリに応じて、目的メモリを実現する際にメモリマクロを制御するために必要な制御回路のネットリスト情報が制御ライブラリに格納されている。メモリマクロの組み合わせにより目的メモリを構成する際、ワード幅の拡張／縮小、ビット拡張／縮小を順次判断しながら、最小構成数のメモリマクロにより不使用の記憶領域を必要最小限に抑制して、最適な構成により目的メモリを構成することが可能となる。このとき、制御ライブラリが予め備えられているので、メモリマクロの組み合わせごとに、目的メモリの構成と整合をとるために制御回路の設計をする必要はない。最小構成数のメモリマクロで記憶領域の無駄なく目的メモリを実現することができる。また、メモリマクロの組み合わせの際、目的メモリとの整合をとるための制御回路の設計に時間を要することはない。
【００８５】
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。
例えば、本実施形態においては、目的メモリを構成するためにメモリマクロを備える場合について説明したが、本発明はこれに限定されるものではなく、レジスタファイル等、ＩＰマクロの組み合わせにより、目的とする回路構成を得ることができる場合に適用することができる。
【００８６】
ここで、本発明の技術思想により、従来技術における課題を解決するための手段を以下に列記する。
（付記１）  チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成方法であって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、
前記目的ワード幅が前記マクロワード幅の最大値に比して大なる場合に、
最大マクロワード幅に対する前記目的ワード幅の第１ワード幅比と、前記最大マクロワード幅を有するメモリマクロのビット幅に対する前記目的メモリのビット幅の第１ビット幅比と、を算出するステップと、
前記第１ワード幅比が２ｎ（ｎは自然数）であって、且つ前記第１ビット幅比が２（−ｎ）以下である条件では、前記最大マクロワード幅を有するメモリマクロを選択し、前記条件に該当しない場合には、前記メモリマクロに対する前記目的メモリの、ワード幅比とビット幅比との積により求められる必要メモリマクロ数のうち、最小構成数となるメモリマクロを選択するステップと、を有することを特徴とするネットリスト生成方法。
（付記２）  チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成方法であって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、
前記目的ワード幅が前記マクロワード幅の最大値以下の場合に、前記目的ワード幅以上のワード幅を有するメモリマクロに対して、
該メモリマクロのビット幅に対する前記目的メモリのビット幅の第２ビット幅比を算出するステップと、
前記第２ビット幅比が１より大なる場合、前記メモリマクロにおいて、ビット幅を拡張する分割が可能か否かをチェックするステップと、
分割可能である場合には、前記第２ビット幅比と、前記メモリマクロの分割可能数と、の組み合わせを算出して最小構成数となるメモリマクロを選択するステップと、
前記第２ビット幅比が１であるメモリマクロを有する場合、または、前記第２ビット幅比が１より大であり、且つメモリマクロの分割ができない場合には、前記目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択するステップと、を有することを特徴とするネットリスト生成方法。
（付記３）  最小構成数の必要メモリマクロ数となるメモリマクロが複数存在する場合、該メモリマクロに対する前記目的メモリのワード幅比が最小であるメモリマクロが選択されることを特徴とする付記１に記載のネットリスト生成方法。
（付記４）  前記第２ビット幅比以上の前記分割可能数を有するメモリマクロがある場合、該メモリマクロのうち最小の分割可能数を有するメモリマクロを選択することを特徴とする付記２に記載のネットリスト生成方法。
（付記５）  前記分割可能数が前記第２ビット幅比に比して小さい場合、最大の分割可能数であって前記目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択することを特徴とする付記２に記載のネットリスト生成方法。
（付記６）  前記分割可能数は、前記目的メモリにおけるポート数に対する前記メモリマクロのポート数のポート数比と、前記目的ワード幅に対する前記マクロワード幅のワード幅比との、小なるほうであることを特徴とする付記２に記載のネットリスト生成方法。
（付記７）  選択されるメモリマクロにより前記目的メモリを構成する際、該メモリマクロの未使用入力端子には所定電位が印加されることを特徴とする付記１または２に記載のネットリスト生成方法。
（付記８）  前記未使用入力端子のうち未使用データ入力端子は、使用データ入力端子に接続されることを特徴とする付記７に記載のネットリスト生成方法。
（付記９）  選択されるメモリマクロにより前記目的メモリを構成する際、該メモリマクロの未使用出力端子は未結線とされることを特徴とする付記１または２に記載のネットリスト生成方法。
（付記１０）  前記メモリマクロのワード幅およびビット幅の構成情報が、前記チップフレームごとに格納されてなる、メモリマクロライブラリを有することを特徴とする付記１または２に記載のネットリスト生成方法。
（付記１１）  前記目的ワード幅のうち前記マクロワード幅ごとに区画されるワード領域を選択するワード選択信号に応じて制御信号を出力し、前記目的メモリを構成するメモリマクロを制御する制御回路のネットリスト情報が格納されてなる、制御ライブラリを備え、
前記制御ライブラリには、前記最大マクロワード幅を有するメモリマクロが選択される場合、前記ワード選択信号に応じて、前記目的メモリのビット幅を残して該メモリマクロのデータマスク端子に、マスク制御信号を出力する第１制御回路が含まれることを特徴とする付記１に記載のネットリスト生成方法。
（付記１２）  前記マスク制御信号が入力されないデータマスク端子には、前記目的メモリに入力されるデータマスク信号が割り当てられることを特徴とする付記１１に記載のネットリスト生成方法。
（付記１３）  前記制御ライブラリには、前記最大マクロワード幅を有するメモリマクロが選択される場合、前記ワード選択信号に応じて、該メモリマクロのデータ出力端子のうち、前記目的メモリのビット幅に応じてデータ出力端子を選択する選択制御回路が含まれることを特徴とする付記１１に記載のネットリスト生成方法。
（付記１４）  前記目的ワード幅のうち前記マクロワード幅ごとに区画されるワード領域を選択するワード選択信号に応じて制御信号を出力し、前記目的メモリを構成するメモリマクロを制御する制御回路のネットリスト情報が格納されてなる、制御ライブラリを備え、
前記制御ライブラリには、最小構成数のメモリマクロが選択される場合、前記ワード選択信号に応じて、該メモリマクロを選択的に活性化する第２制御回路が含まれることを特徴とする付記１に記載のネットリスト生成方法。
（付記１５）  前記制御ライブラリには、最小構成数のメモリマクロが選択される場合、前記ワード選択信号に応じて、活性化されるメモリマクロのデータ出力端子を選択する選択制御回路が含まれることを特徴とする付記１４に記載のネットリスト生成方法。
（付記１６）  前記ワード選択信号は、ワード選択における所定ビット数の上位アドレスであることを特徴とする付記１１または１４に記載のネットリスト生成方法。
（付記１７）  チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成装置であって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するワード幅比較部と、
前記目的ワード幅が前記マクロワード幅の最大値に比して大なる場合に、
最大マクロワード幅に対する前記目的ワード幅の第１ワード幅比と、前記最大マクロワード幅を有するメモリマクロのビット幅に対する前記目的メモリのビット幅の第１ビット幅比と、を算出するワード／ビット幅算出部と、
前記第１ワード幅比が２ｎ（ｎは自然数）であって、且つ前記第１ビット幅比が２（−ｎ）以下である条件では、前記最大マクロワード幅を有するメモリマクロを選択し、前記条件に該当しない場合には、前記メモリマクロに対する前記目的メモリの、ワード幅比とビット幅比との積により求められる必要メモリマクロ数のうち、最小構成数となるメモリマクロを選択するマクロ選択部と、を有することを特徴とするネットリスト生成装置。
（付記１８）  チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成装置であって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するワード幅比較部と、
前記目的ワード幅が前記マクロワード幅の最大値以下の場合に、前記目的ワード幅以上のワード幅を有するメモリマクロに対して、
該メモリマクロのビット幅に対する前記目的メモリのビット幅の第２ビット幅比を算出するビット幅算出部と、
前記第２ビット幅比が１より大なる場合、前記メモリマクロにおいて、ビット幅を拡張する分割が可能か否かをチェックするマクロ分割判断部と、
分割可能である場合には、前記第２ビット幅比と、前記メモリマクロの分割可能数と、の組み合わせを算出して最小構成数となるメモリマクロを選択する第１マクロ選択部と、
前記第２ビット幅比が１であるメモリマクロを有する場合、または、前記第２ビット幅比が１より大であり、且つメモリマクロの分割ができない場合には、前記目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択する第２マクロ選択部と、を有することを特徴とするネットリスト生成装置。
（付記１９）  チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成のためのコンピュータプログラムであって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、
前記目的ワード幅が前記マクロワード幅の最大値に比して大なる場合に、
最大マクロワード幅に対する前記目的ワード幅の第１ワード幅比と、前記最大マクロワード幅を有するメモリマクロのビット幅に対する前記目的メモリのビット幅の第１ビット幅比と、を算出するステップと、
前記第１ワード幅比が２ｎ（ｎは自然数）であって、且つ前記第１ビット幅比が２（−ｎ）以下である条件では、前記最大マクロワード幅を有するメモリマクロを選択し、前記条件に該当しない場合には、前記メモリマクロに対する前記目的メモリの、ワード幅比とビット幅比との積により求められる必要メモリマクロ数のうち、最小構成数となるメモリマクロを選択するステップと、を有するネットリスト生成を実行することを特徴とするコンピュータプログラム。
（付記２０）  チップフレームごとに予め配置されているメモリマクロを使用して、目的メモリを構成するネットリスト生成のためのコンピュータプログラムであって、
前記目的メモリにおける目的ワード幅と、前記メモリマクロにおけるマクロワード幅との、ワード幅を比較するステップと、
前記目的ワード幅が前記マクロワード幅の最大値以下の場合に、前記目的ワード幅以上のワード幅を有するメモリマクロに対して、
該メモリマクロのビット幅に対する前記目的メモリのビット幅の第２ビット幅比を算出するステップと、
前記第２ビット幅比が１より大なる場合、前記メモリマクロにおいて、ビット幅を拡張する分割が可能か否かをチェックするステップと、
分割可能である場合には、前記第２ビット幅比と、前記メモリマクロの分割可能数と、の組み合わせを算出して最小構成数となるメモリマクロを選択するステップと、
前記第２ビット幅比が１であるメモリマクロを有する場合、または、前記第２ビット幅比が１より大であり、且つメモリマクロの分割ができない場合には、前記目的ワード幅に最近接のマクロワード幅を有するメモリマクロを選択するステップと、を有するネットリスト生成を実行することを特徴とするコンピュータプログラム。
【図面の簡単な説明】
【００８７】
【図１】実施形態のフロー（１）（ワード拡張の場合のメモリマクロ選択（１））である。
【図２】図１で選択されたメモリマクロへの結線フローである。
【図３】実施形態のフロー（２）（ワード拡張の場合のメモリマクロ選択（２））である。
【図４】図３で選択されたメモリマクロへの結線フローである。
【図５】実施形態のフロー（３）（ワード縮小の場合のメモリマクロ選択）である。
【図６】図５で選択されたメモリマクロへの結線フローである。
【図７】図１および図２のフローにより生成される回路構成の具体例（１）である。
【図８】図１および図２のフローにより生成される回路構成の具体例（２）である。
【図９】図３および図４のフローにより生成される回路構成の具体例（１）である。
【図１０】図３および図４のフローにより生成される回路構成の具体例（２）である。
【図１１】図５および図６のフローにより生成される回路構成の具体例（１）である。
【図１２】図５および図６のフローにより生成される回路構成の具体例（２）である。
【図１３】図５および図６のフローにより生成される回路構成の具体例（３）である。
【図１４】図５および図６のフローにより生成される回路構成の具体例（４）である。
【図１５】実施形態におけるネットリスト生成装置の構成図である。
【図１６】ストラクチャードASICにおけるメモリマクロの配置図である。
【符号の説明】
【００８８】
Ｄ１            メモリマクロライブラリ
Ｄ３            制御ライブラリ
Ｉ１            条件指定
ＢＲ１          第１ビット幅比
ＢＲ２          第２ビット幅比
ＤＭＡＸ        最大分割可能数
ＤＰ            ポート数による分割可能数
ＤＷ            ワード縮小による分割可能数
ＲＷ            ビット幅比
ＷＲ            ワード幅比
ＷＲ１          第１ワード幅比
１１、１２、２１、２２、３１、３２、４１、４２
目的メモリ
Ｃ１１、Ｃ１２、Ｃ２１、Ｃ２２
第１制御回路
Ｍ１１、Ｍ１２、Ｍ２１、Ｍ３１、Ｍ３２、Ｍ４１、Ｍ４２
メモリマクロ
Ｓ１１、Ｓ１２  選択制御回路
【図１】
2005327211.tif 000003
【図２】
2005327211.tif 000004
【図３】
2005327211.tif 000005
【図４】
2005327211.tif 000006
【図５】
2005327211.tif 000007
【図６】
2005327211.tif 000008
【図７】
2005327211.tif 000009
【図８】
2005327211.tif 000010
【図９】
2005327211.tif 000011
【図１０】
2005327211.tif 000012
【図１１】
2005327211.tif 000013
【図１２】
2005327211.tif 000014
【図１３】
2005327211.tif 000015
【図１４】
2005327211.tif 000016
【図１５】
2005327211.tif 000017
【図１６】
2005327211.tif 000018