(57)【要約】      （修正有）【課題】論理回路の設計期間を短縮可能な設計手法及び設計ツールを提供する。【解決手段】外部データ入力後の最初のラッチ動作で外部から値を書き込むことができる第１レジスタ群、及び第１レジスタ群を制御する制御回路を含む第１論理回路と、外部データ入力後の最初のラッチ動作で外部から値を書き込むことができない第２レジスタ群、及び第１論理回路からの出力信号に基づき第２レジスタ群を制御する制御回路を含む第２論理回路と、によって構成される論理ブロックを複数個有する半導体集積回路の設計を、論理ブロック間の信号線と第１論理回路とからなる論理回路のレイアウト及びタイミング検証を行う第１設計手順と、各論理ブロック毎に、第２論理回路のレイアウト及びタイミング検証を行なう第２設計手順と、の少なくとも２段階にわけて行う。【選択図】図３
2005158049.tif 000002
【特許請求の範囲】
【請求項１】
外部データ入力後の最初のラッチ動作で外部から値を書き込むことができる第１レジスタ群、及び前記第１レジスタ群を制御する制御回路を含む第１論理回路と、
外部データ入力後の最初のラッチ動作で外部から値を書き込むことができない第２レジスタ群、及び前記第１論理回路からの出力信号に基づき前記第２レジスタ群を制御する制御回路を含む第２論理回路と、
によって構成される論理ブロックを複数個有する半導体集積回路の設計手法であって、
前記論理ブロック間の制御線とデータ線と前記第１論理回路とのレイアウト及びタイミング検証を行う第１設計手順と、
各論理ブロック毎に、前記第２論理回路のレイアウト及びタイミング検証を行う第２設計手順と、
を少なくとも有することを特徴とする半導体集積回路の設計手法。
【請求項２】
請求項１において、前記第２論理回路は、前記第２回路へ入力されたデータ入力後の最初のラッチ動作で外部から値を書き込むことができる第３レジスタ群、及び前記第３レジスタ群を制御する制御回路を含む第３論理回路と、
第２論理回路へ入力されたデータ入力後の最初のラッチ動作で外部から値を書き込むことができない第４レジスタ群、及び前記第３論理回路からの出力信号に基づき前記第４レジスタ群を制御する制御回路を含む第４論理回路と、
によって構成される論理サブブロックを複数個有し、
前記第２設計手順は、前記論理サブブロック間の制御線とデータ線と前記第３論理回路とのレイアウト及びタイミング検証を行う第３設計手順と、
各論理サブブロック毎に、前記第４論理回路のレイアウト及びタイミング検証を行う第４設計手順とからなることを特徴とする半導体集積回路の設計手法。
【請求項３】
外部からの入力信号を入力とし、外部データ入力後の最初のラッチ動作で外部から値を書き込むことができる第１レジスタ群と、前記第１レジスタ群を動作させる第１論理回路と、
前記第１論理回路の出力信号を入力とし、外部データ入力後の最初のラッチ動作で外部から値を書き込むことができない第２レジスタ群と、前記第２レジスタ群を動作させる第２論理回路と、
によって構成される論理ブロックを複数個有する半導体集積回路の設計手法であって、
前記論理ブロック間の信号線と前記第１論理回路とからなる論理回路のレイアウト及びタイミング検証を行う第１設計手順と、
各論理ブロック毎に、前記第２論理回路のレイアウト及びタイミング検証を行う第２設計手順と、
を少なくとも有することを特徴とする半導体集積回路の設計手法。
【請求項４】
請求項３において、前記論理ブロックは、外部からの入力信号を入力とし、外部データ入力後の最初のラッチ動作で外部から値を書き込むことができる第３レジスタ群を動作させる第３論理回路と、
前記第３論理回路の出力信号を入力とし、外部データ入力後の最初のラッチ動作で外部から値を書き込むことができない第４レジスタ群を動作させる第４論理回路と、
によって構成される論理サブブロックを複数個によって構成され、
前記第２設計手順は、前記論理サブブロック間の信号線と前記第３論理回路とからなる論理回路のレイアウト及びタイミング検証を行う第３設計手順と、
各論理サブブロック毎に、前記第４論理回路のレイアウト及びタイミング検証を行う第４設計手順とからなることを特徴とする半導体集積回路の設計手法。
【請求項５】
請求項３において、前記第１レジスタ群は外部データが直接入力されるレジスタによって構成されていることを特徴とする半導体集積回路の設計手法。
【請求項６】
請求項３において、それぞれの前記論理ブロックは制御信号のタイミングを調整し、前記制御信号がそれぞれの前記論理ブロックから出力されないように調整する回路を含むことを特徴とする半導体集積回路の設計手法。
【請求項７】
外部データ入力後の最初のラッチ動作で外部から値を書き込むことができる第１レジスタ群、及び前記第１レジスタ群を制御する制御回路を含む第１論理回路と、
外部データ入力後の最初のラッチ動作で外部から値を書き込むことができない第２レジスタ群、及び前記第１論理回路からの出力信号に基づき前記第２レジスタ群を制御する制御回路を含む第２論理回路と、
によって構成される論理ブロックを複数個有する半導体集積回路の設計ツールであって、
前記論理ブロック間の制御線とデータ線と前記第１論理回路とのレイアウト及びタイミング検証を行う第１設計手順と、
各論理ブロック毎に、前記第２論理回路のレイアウト及びタイミング検証を行う第２設計手順と、
を実行させることを特徴とする半導体集積回路の設計ツール。
【請求項８】
請求項７において、前記第２論理回路は、第２論理回路へ入力されたデータ入力後の最初のラッチ動作で外部から値を書き込むことができる第３レジスタ群、及び前記第３レジスタ群を制御する制御回路を含む第３論理回路と、
第２論理回路へ入力されたデータ入力後の最初のラッチ動作で外部から値を書き込むことができない第４レジスタ群、及び前記第３論理回路からの出力信号に基づき前記第４レジスタ群を制御する制御回路を含む第４論理回路と、
によって構成される論理サブブロックを複数個有し、
前記第２設計手順は、前記論理サブブロック間の制御線とデータ線と前記第３論理回路とのレイアウト及びタイミング検証を行う第３設計手順と、
各論理サブブロック毎に、前記第４論理回路のレイアウト及びタイミング検証を行う第４設計手順と、を実行させることを特徴とする半導体集積回路の設計ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、系統的な検証が可能な半導体集積回路とその設計手法に関する。また、その設計ツールに関する。
【背景技術】
【０００２】
従来のＬＳＩ設計手法として、図２のようなフローチャートが代表的である。つまり、最初にＲＴＬモデリングと論理検証を行い、次に論理合成、レイアウト、及びタイミング検証を行ってマスクデータを完成させる。その後、試作、評価を行ってサンプル出荷を行う。検証時、評価時に見つかった問題点はそれぞれ必要な段階に戻って修正を行う。現在では、優れた論理シミュレータと論理合成ツールによって、論理的な誤りはほぼ確実に取り除くことが可能である。しかしながら、レイアウト後の寄生抵抗と容量に起因するタイミングのずれによる動作不良は、論理構成のみに起因する誤りと比較して取り除くことが遥かに難しい。通常は、レイアウト後に寄生抵抗と容量を考慮したタイミング検証が行なわれるが、複数回に渡るレイアウト修正が必要となり設計期間が長くなるだけでなく、合わせ込み精度の問題から、設計段階では取り除けない誤りも存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
タイミング検証時の動作不良は、例えば、配線の長い引き回しに起因する場合などが代表的であり、広範囲に渡るレイアウト変更が必要となる場合が多い。さらに、該当する配線容量や抵抗を低減するようにレイアウトを変更したとしても、あらたにタイミングのずれによる動作不良を生じさせる別の配線が形成される場合もある。このように、レイアウト後の寄生抵抗と容量に起因するタイミングのずれによる動作不良は、系統的な修正が難しく、設計期間を長期化する要因であった。
【０００４】
また、上記タイミングのずれによる動作不良は、近年開発の目覚しいガラス基板上のＬＳＩ設計においても、深刻な問題である。一般にガラス基板上のトランジスタは、単結晶シリコン基板上のトランジスタと比較して素子特性のバラツキが大きく、精度の高いシミュレーションが難しいことがその主原因である。従って、試作後の実チップを用いたタイミング検証が重要になるが、開発期間、コストへの影響から、系統的な修正を行う必要性がさらに高くなる。
【０００５】
本発明は、このような問題点を鑑観てなされたものである。本発明は、タイミング起因の動作不良を系統的に修正可能な半導体集積回路を提供することを課題とする。また、その半導体集積回路の設計手法を提供し、設計期間の短縮を実現することを課題とする。また、その半導体集積回路の設計ツールを提供し、設計期間の短縮を実現することを課題とする。
【課題を解決するための手段】
【０００６】
論理回路におけるタイミングのずれによる動作不良の修正には、広範囲に渡るレイアウト変更が必要な場合と、局所的なレイアウト変更で済む場合がある。例えば、長い配線による寄生容量や抵抗に起因する動作不良には、バッファを追加して駆動能力を強化することで局所的に修正可能な場合と、配線の長さを縮小する必要から修正が広範囲に及ぶ場合とが考えられる。
【０００７】
発明者は、タイミングのずれによる動作不良を系統的に扱うためには、まず修正がチップ広範囲に渡るものか、局所的なものかを区別することが重要であり、かつ、チップ広範囲に渡る修正が必要となる動作不良を低減することが重要であると考えた。
【０００８】
なお、本発明において半導体集積回路は、通常のＬＳＩチップ同様、複数の論理ブロックによって構成されているものとする。論理ブロックは、多数の論理ゲートからなり、機能毎にまとめられた論理回路である。レイアウト設計は通常、論理ブロック毎に行われる。
【０００９】
また、本発明において、複数の論理ブロックに供給される制御信号を生成するブロックを、他の論理ブロックとは区別して、制御信号生成回路と呼ぶ。
【００１０】
なお、制御信号とは、レジスタへのラッチ動作を制御する信号であり、代表的には各種クロック信号やリセット信号、あるいはこれらをもとに生成された信号を指す。一方、データ信号とはレジスタに値が格納される各種信号である。
【００１１】
上記を踏まえ、本発明の設計手法は、図３に示すような２段階に分けることを特徴とする。通常のＲＴＬモデリング及び論理検証の後、第１設計手順では、論理回路の細部を捨てて、例えば各論理ブロックへの入力信号のみを考慮して、チップの大枠に関わるレイアウト及びタイミング検証を行う。また、第２設計手順では、第１設計手順で得たチップの大枠に関わるレイアウト及び論理ブロックへの入力信号タイミングを維持しつつ、各論理ブロック毎にレイアウト及びタイミング設計を行う。そしてマスクデータ出し後、試作、評価、及びサンプル出荷を行う。各検証、評価時に見つかった動作不良は、それぞれ必要な段階に戻って修正を行う。このように、チップの大枠に関わる設計と、個々の論理ブロックに関わる設計の２段階構成とすることで、動作不良があった場合に、修正がチップの大枠に関わるのか、個々の論理ブロックのみに関わるのかを判定し、系統的な修正を行うことができる設計手法を構築することができる。また、このように、第１の設計手順及び第２の設計手順を実行させる設計ツールを用いても系統的な修正を行うことが出来る。
【００１２】
そして、本発明は、第１設計手順で扱う論理回路と、第２設計手順で扱う論理回路とを以下のように区分することを特徴とする。
【００１３】
第１設計手順では、論理ブロック間信号、及び各論理ブロックの一部分の設計を行う。ここで、各論理ブロックの一部分とは、各論理ブロックへの入力データ信号が伝搬して最初にラッチされるレジスタまでを含む論理回路と、そのレジスタの制御を行う制御回路である。制御回路は、各論理ブロック内部で使用される他の制御信号のもととなる制御信号も生成する。本発明では、この部分を第１論理回路、論理ブロック内の他の部分を第２論理回路と呼ぶ。また、各論理ブロックへの入力データ信号が伝搬して最初にラッチされるレジスタ群を第１レジスタ群と呼び、第２論理回路に属するレジスタ群を第２レジスタ群と呼ぶ。
【００１４】
図１にこの様子を示す。図１において、論理ブロック１０１は、第１論理回路１０２と第２論理回路１０３によって構成され、入力データ１０７と入力制御信号１０８を入力し、出力データ１０９と出力制御信号１１０を出力する。また、第１論理回路１０２はラッチを含まない論理回路１０５と第１レジスタ群１０４と制御回路１０６からなる。また、第２論理回路１０３は第２レジスタ群やこれを制御する制御回路を含む（図示せず）。
【００１５】
第１設計手順では、論理ブロック間の信号線と各第１論理回路からなる論理回路全体のレイアウト及びタイミング検証を行う。次に、第２設計手順では、各論理ブロック毎に独立に、第１設計手順で得られたレイアウトとタイミングに従って、第２論理回路１０３のレイアウトとタイミング検証を行う。
【００１６】
その結果、第１レジスタ群１０４に誤った値が格納される動作不良は、第１設計手順に戻って修正を行えばよい。この場合は複数の論理ブロックのレイアウトに関わる場合がある。一方、第２レジスタ群のみに誤った値が格納される動作不良は、該当する論理ブロック１０１の第２論理回路１０３に関して第２設計手順を行えば良い。この場合、第１設計手順の結果に変更を与えず、該当する第２論理回路１０３以外の部分にあらたな動作不良を生じさせることがないため、局所的な修正が可能である。このように、まずは第１レジスタ群１０４に関わる動作不良を修正し、続いて第２レジスタ群に関わる動作不良を修正することで、系統的な修正を行うことができる。
【００１７】
また、本発明の設計手法によって作製される半導体集積回路は、各論理ブロックにおいて、第１論理回路と第２論理回路とに分かれて配置される。つまり、修正の及ぶ範囲ごとに分けて配置されたレイアウトが実現され、その結果、効率良いレイアウトの修正が可能となる。
【００１８】
以上のようにして、設計期間の短縮を実現することができる。
【００１９】
本発明の設計手法において、効率をさらに改善する方法を述べる。
【００２０】
第１設計手順に起因する動作不良は、修正が複数の論理ブロックに及ぶ可能性が高いため、このような動作不良を低減することが重要である。これを低減するには、タイミング検証の精度をあげることが好ましく、タイミング検証時の回路規模をなるべく小さくすることが好ましい。例えば、論理ブロックへの入力データ信号を、論理回路中の論理ゲートを介さず直ちにレジスタに格納する構成などが考えられる。
【００２１】
また、第１設計手順に起因する動作不良であっても、局所的に修正できる構成とすることも重要である。例えば、論理ブロック内の制御信号を他の論理ブロックと独立にし、かつ、各論理ブロック内部で制御信号のタイミングを調整可能とする構成などが考えられる。
【発明の効果】
【００２２】
本発明の２段階の設計手法を用いることで、タイミング起因の動作不良がどの設計手順に起因するかを判定し、系統的な修正を行うことが可能となる。また、本発明の設計手法によって作製される半導体集積回路は、修正の及ぶ範囲で分類して、それぞれを分けて配置されたレイアウトとなるため、効率良いレイアウトの修正が可能となる。そしてその結果、設計期間の短縮を実現することが可能となる。
【発明を実施するための最良の形態】
【００２３】
本発明の設計手法について説明する。図４に示すのは代表的な半導体集積回路のブロックであり、
半導体集積回路４０１は、論理ブロック４０２〜４０５、制御信号生成回路４０６、データ線４０７、制御線４０８によって構成され、入力制御信号４１０と入出力データ４０９を入出力信号とする。各論理ブロック４０２〜４０５はそれぞれ、第１論理回路４０２ａ〜４０５ａと第２論理回路４０２ｂ〜４０５ｂとに分けられる。勿論、論理ブロックの数やデータ線の構成は一例であって、これに限られるわけではない。
【００２４】
本発明の設計手法では、まず、第１設計手順として、制御信号生成回路４０６、データ線４０７、制御線４０８、及び第１論理回路４０２ａ〜４０５ａのレイアウト及びタイミング検証を行う。なお、制御信号生成回路４０６は、複数の論理ブロックに供給される制御信号を生成するブロックであるから、チップの大枠を決める第１設計手順において考慮することが好ましい。
【００２５】
例えば、各第１論理回路４０２ａ〜４０５ａ及び第２論理回路４０２ｂ〜４０５ｂに含まれる素子数から、必要となるレイアウト面積を見積もることができる。これをもとに、制御信号生成回路４０６、データ線４０７、制御線４０８、及び第１論理回路４０２ａ〜４０５ａのレイアウトを作製する。次に、作製したレイアウトから抽出した容量値と抵抗値を用いて、タイミング検証を行う。ここでは、各論理ブロックへの入力直後のレジスタまでを考慮することで、複数の論理ブロックに関わる信号線であるデータ線４０７と制御線４０８が正常なタイミングで動作することを検証することが目的である。
【００２６】
その結果、正常動作が検証されれば、第１設計手順は終了する。動作不良が有る場合には、再度レイアウト及びタイミング検証を行う。
【００２７】
次に、第２設計手順では、第２論理回路４０２ｂ〜４０５ｂのレイアウト及びタイミング検証を行う。本設計は、各第２論理回路４０２ｂ〜４０５ｂ毎に独立に行うことができる。レイアウトは、第１設計手順で作製したレイアウトに接続して作製する。タイミング検証は、第１設計手順で検証したタイミングを維持して行う。その結果、正常動作が検証されれば、第２設計手順は終了する。動作不良が有る場合には、該当する第２論理回路４０２ｂ〜４０５ｂに対して再度レイアウトと検証を行う。
【００２８】
そして本設計手法の結果、第１論理回路４０２ａ〜４０５ａと第２論理回路４０２ｂ〜４０５ｂが分かれて配置された半導体集積回路のレイアウトが実現される。
【００２９】
このように設計されたレイアウトは、タイミングのずれによる動作不良が見つかった場合に、系統的な修正が可能となり、設計期間の短縮を実現することができる。
【００３０】
具体的には、例えば、図４に示した半導体集積回路をもとに製作した実チップの評価において、論理ブロック４０２内のレジスタに誤った値が格納される不良が見つかったとする。その場合、不良の見つかったレジスタが、第１論理回路４０２ａ内部のレジスタ、つまり第１レジスタ群に属するのか、あるいは、第２論理回路４０２ｂ内部のレジスタ、つまり第２レジスタ群に属するのか、を調べる。
【００３１】
そして、第１レジスタ群に属する場合は、第１設計手順に戻って修正を行う。その場合は複数の論理ブロックのレイアウトに関わる場合がある。一方、第２レジスタ群のみに属する場合は、第２設計手順に戻って修正を行う。この時には、該当する第２論理回路４０２ｂに限定して、レイアウト及びタイミング検証を行えばよい。特に、本発明は、第２論理回路４０２ｂが第１論理回路４０２ａとレイアウト上分かれていることが特徴であり、これにより、第２論理回路のみのレイアウト修正を行うことが可能となる。
【００３２】
このように、まずは各論理ブロックへの入力直後のレジスタまでに関わる動作不良を修正し、続いて第２レジスタ群に関わる動作不良を修正することで、系統的な修正を行うことができる。その結果、設計期間の短縮を実現することが可能となる。
【００３３】
また、上述した第１設計手順及び第２設計手順を実行させる設計ツールを用いても系統的な修正を行うことが出来き、設計期間の短縮を実現することが可能となる。
【実施例１】
【００３４】
集積回路の規模が大きい場合には、各論理ブロックを構成する素子数が非常に多くなる。例えば、チップ全体で１００万〜１０００万論理ゲートといった場合には、各論理ブロックは数十万〜１００万論理ゲート規模となる。そのような場合は、第２論理回路のみの変更で済むケースであっても、大規模な修正となってしまう。
【００３５】
集積回路の規模が大きい場合には、通常、各論理ブロックはさらに複数の論理サブブロックによって構成される。論理サブブロックは、機能毎にまとめられた論理回路であり、レイアウト設計も論理サブブロック毎に行われるのが普通である。
【００３６】
本発明はこのようなサブブロック構成の集積回路に対しても、系統的な設計手法を提供する。つまり、以下のようにして、第２設計手順を第３設計手順と第４設計手順とに分け、第２論理回路を第３論理回路と第４論理回路とに分けるとよい。
【００３７】
第３設計手順では、論理サブブロック間信号、及び各論理サブブロックの一部分の設計を行う。ここで、各論理サブブロックの一部分とは、各論理サブブロックへの入力データ信号が伝搬して最初にラッチされるまでのレジスタと、そのレジスタの制御を行う制御回路である。制御回路は、各論理サブブロック内部で使用される他の制御信号の基となる制御信号も生成する。本発明は、この部分を第３論理回路、残る部分を第４論理回路と呼ぶ。また、各論理ブロックへの入力データ信号が伝搬して最初にラッチされるレジスタ群を第３レジスタ群と呼び、第４論理回路に属するレジスタ群を第４レジスタ群と呼ぶ。
【００３８】
第３設計手順では、論理サブブロック間信号と全ての第３論理回路のレイアウトとタイミング検証を行う。次に、第４設計手順では、各論理サブブロック毎に独立に、第３設計手順で得られたレイアウトとタイミングに従って、第４論理回路のレイアウトとタイミング検証を行う。このような設計手法を用いることで、第２論理回路内部のタイミング起因の動作不良が、第３設計手順と第４設計手順のどちらの設計手順に起因するかを判定することが可能となり、系統的な修正を行うことができる。
【００３９】
図５に示すのはサブブロック構成を有する論理ブロックの典型的な例である。論理ブロック５０１は、制御線５０９、データ線５０７を入出力線とし、第１レジスタ群５０４、５０５及び制御回路５０６からなる第１論理回路５０２と、第２論理回路５０３とから構成される。第２論理回路５０３は、データ線５１４、制御線５１５、論理サブブロック５１０〜５１２及び制御回路５１３によって構成される。各論理サブブロック５１０〜５１２はそれぞれ、第３論理回路５１０ａ〜５１２ａと第４論理回路５１０ｂ〜５１２ｂとに分けられる。勿論、論理ブロックの数やデータ線の構成は一例であって、これに限られるわけではない。
【００４０】
本発明の設計手法は、第１設計手順終了後に、第３設計手順として、制御回路５１３、データ線５１４、制御線５１５、及び第３論理回路５１０ａ〜５１２ａのレイアウト及びタイミング検証を行う。例えば、各第３論理回路５１０ａ〜５１２ａ及び第４論理回路５１０ｂ〜５１２ｂに含まれる素子数を見積もることで、必要となるレイアウト面積を見積もることができる。これをもとに、制御回路５１３、データ線５１４、制御線５１５、及び第３論理回路５１０ａ〜５１２ａのレイアウトを作製する。次に、作製したレイアウトから抽出した容量値と抵抗値を用いて、タイミング検証を行う。ここでは、各論理サブブロックへの入力直後のレジスタまでを考慮することで、複数のサブブロックに関わる信号線であるデータ線５１４と制御線５１５が正常なタイミングで動作することを検証することが目的である。その結果、正常動作が検証されれば、第３設計手順は終了する。動作不良が有る場合には、再度レイアウト及びタイミング検証を行う。
【００４１】
次に、第４設計手順では、各第４論理回路５１０ｂ〜５１２ｂのレイアウト及びタイミング検証を行う。本設計は、各第４論理回路毎に独立に行うことができる。レイアウトは、第３設計手順で作製したレイアウトに接続して作製する。タイミング検証は、第３設計手順で検証したタイミングを維持して行う。その結果、正常動作が検証されれば、第４設計手順は終了する。動作不良が有る場合には、該当する第４論理回路に対して再度レイアウトとタイミング検証を行う。
【００４２】
このように設計された半導体集積回路において、タイミングのずれによる動作不良が見つかった場合には以下のような系統的な修正を行うことができる。
【００４３】
第３レジスタ群に誤った値が格納される動作不良は、第３設計手順に戻って修正を行えばよい。この場合は複数の論理サブブロックのレイアウトに関わる場合がある。一方、第４レジスタ群のみに誤った値が格納される動作不良は、該当する論理サブブロックの第４論理回路に限定して第４設計手順を行えば良い。この場合、第１及び３設計手順の結果に変更を与えず、該当する第４論理回路以外の部分にあらたな動作不良を生じさせることがないため、局所的な修正が可能である。このように、まずは第３レジスタ群に関わる動作不良を修正し、続いて第４レジスタ群に関わる動作不良を修正することで、系統的な修正を行うことができる。その結果、設計期間の短縮を実現することが可能となる。
【００４４】
本発明の設計手法によって作製される論理ブロックのレイアウトは、第３論理回路と第４論理回路とに分かれて配置されるため、第３論理回路のみ、あるいは第４論理回路のみを自動配置配線ツール等によって再レイアウトするといった修正を容易に行うことができる。このように、修正の及ぶ範囲で分類して、それぞれを分けて配置したレイアウトは、効率良いレイアウト修正が可能であり好ましい。
【００４５】
また、上述したような第１設計手順、第３設計手順及び第４設計手順を実行させる設計ツールを用いても、効率良いレイアウト修正が可能である。
【実施例２】
【００４６】
第１段階の設計に起因する動作不良は、チップ全体に関わる修正である可能性が高いため、タイミング検証の精度をあげることが重要である。第１段階の設計に起因する動作不良を低減する回路構成として、論理ブロックへの入力データを論理ゲートを介さずに直接第１レジスタ群に格納する構成例をあげることができる。
【００４７】
そのような構成の論理ブロックのブロック図を図６に示す。図において、論理ブロック６０１は、入力データ６０６、入力制御信号６０７、出力データ６０８、出力制御信号６０９からなる入出力信号と、第１レジスタ群６０４、制御回路６０５からなる第１論理回路６０２と、第２論理回路６０３によって構成される。
【００４８】
図に示した論理ブロック６０１の特徴は、入力データ６０６が直ちに第１レジスタ群６０４に入力される点である。このような構成とすることで、第１論理回路６０２を単純な構成とし、かつ回路規模を抑えることができるため、第１段階のタイミング検証の精度を向上することができる。その結果、第１段階の設計に起因する動作不良を低減することができる。
【００４９】
なお、本実施例は、実施例１に対しても適用することができる。つまり、論理サブブロックに対しても、入力データを直ちに第３レジスタ群に入力することは有効である。
【実施例３】
【００５０】
第１段階の設計に起因する動作不良が見つかった場合に、その修正がチップ全体に及ぶケースを低減する回路構成として、論理ブロック内の制御信号を他の論理ブロックと独立とし、かつ、各論理ブロック内でタイミング調整が可能である構成例をあげることができる。
【００５１】
そのような構成の論理ブロックのブロック図を図７（Ａ）、７（Ｂ）に示す。図７（Ａ）において、論理ブロック７０１は、入力データ７０６、入力制御信号７０７、出力データ７１１が入出力信号となる。また、第１レジスタ群７０４、制御回路７０５からなる第１論理回路７０２と、第２論理回路７０３によって構成される。また、図７（Ｂ）は、制御回路７０５の構成を示した例であり、入力制御信号７０７は、タイミング調整回路７０８、制御信号生成回路７０９、タイミング調整回路７１０を経て、出力される。例えば、タイミング調整回路７０８は、複数の論理ブロック間のタイミングを整えるための回路、タイミング調整回路７１０は、論理ブロック内部でのタイミングを整えるための回路、と考えることができる。これらのタイミング調整回路７０８、７１０は、遅延回路などから構成される。
【００５２】
図７（Ａ）に示した論理ブロック７０１の特徴は、出力制御信号を有さないことと、制御回路７０５内でタイミングを調整する機能を有することである。論理ブロック７０１から制御信号を出力しないことで、制御信号の遅延の原因が複数のブロックにわたることがない構成とすることができる。このような構成を実現するためには、他の論理ブロックで生成した制御信号を使用する論理ブロックは、それを生成する論理回路を論理ブロック内に複製すればよい。また、各論理ブロック内でタイミングを調整可能とすることで、タイミング調整回路を修正するだけで第１レジスタ群の動作不良を修正できる場合が生じる。
【００５３】
その結果、修正が複数のブロックに及ぶ確率が低減され、第１レジスタ群を含む第１論理回路の変更のみで不良を修正できる可能性が高くなる。
【００５４】
なお、本実施例は、実施例１に対しても適用することができる。つまり、図５において、各論理サブブロック５１０〜５１２は出力制御信号を有さないことと、制御回路５１３内でタイミングを調整する機能を有することは有効である。
【００５５】
また、本実施例は、実施例２に対しても適用することが可能である。
【図面の簡単な説明】
【００５６】
【図１】本発明の半導体集積回路を構成する論理ブロックのブロック図。
【図２】従来の設計フローチャート。
【図３】本発明の設計フローチャート。
【図４】本発明の半導体集積回路のブロック図。
【図５】本発明の半導体集積回路を構成する論理ブロックのブロック図。
【図６】本発明の半導体集積回路を構成する論理ブロックのブロック図。
【図７】本発明の半導体集積回路を構成する論理ブロックのブロック図。
【符号の説明】
【００５７】
１０１  論理ブロック
１０２  第１論理回路
１０３  第２論理回路
１０４  第１レジスタ群
１０５  論理回路
１０６  制御回路
１０７  入力データ
１０８  入力制御信号
１０９  出力データ
１１０  出力制御信号
４０１  半導体集積回路
４０２  論理ブロック
４０２ａ  第１論理回路
４０２ｂ  第２論理回路
４０３  論理ブロック
４０３ａ  第１論理回路
４０３ｂ  第２論理回路
４０４  論理ブロック
４０４ａ  第１論理回路
４０４ｂ  第２論理回路
４０５  論理ブロック
４０５ａ  第１論理回路
４０５ｂ  第２論理回路
４０６  制御信号生成回路
４０７  データ線
４０８  制御線
５０１  論理ブロック
５０２  第１論理回路
５０３  第２論理回路
５０４  第１レジスタ群
５０５  第１レジスタ群
５０６  制御回路
５０７  データ線
５０９  制御線
５１０  論理サブブロック
５１１  論理サブブロック
５１１ａ  第３論理回路
５１１ｂ  第４論理回路
５１２  論理サブブロック
５１２ａ  第３論理回路
５１２ｂ  第４論理回路
５１３  制御回路
５１４  データ線
５１５  制御線
６０１  論理ブロック
６０２  第１論理回路
６０３  第２論理回路
６０４  第１レジスタ群
６０５  制御回路
６０６  入力データ
６０７  入力制御信号
６０８  出力データ
６０９  出力制御信号
７０１  論理ブロック
７０２  第１論理回路
７０３  第２論理回路
７０４  第１レジスタ群
７０５  制御回路
７０６  入力データ
７０７  入力制御信号
７０８  出力データ
７０９  制御信号生成回路
７１０  タイミング調整回路
【図１】
2005158049.tif 000003
【図２】
2005158049.tif 000004
【図３】
2005158049.tif 000005
【図４】
2005158049.tif 000006
【図５】
2005158049.tif 000007
【図６】
2005158049.tif 000008
【図７】
2005158049.tif 000009