(57)【特許請求の範囲】
【請求項１】
複数の機能マクロが同一の半導体基板上に設けられた半導体集積回路であって、
第１機能を実現するために必要な第１素子の集合体であり、自動配置設計手法によって設計される第１機能マクロと、
前記第１機能とは異なる第２機能を実現するために必要な第２素子の集合体であると共に、前記第１機能の一部を実現するための前記第１素子の集合体の一部が設けられ、前記第２素子とは信号の授受を行わないことにより該第２素子の集合体から別個且つ独立して機能するファンクションブロックを有し、マニュアル手法によって設計される第２機能マクロと
を具備することを特徴とする半導体集積回路。
【請求項２】
前記第２機能マクロにおける前記第２機能に関する入出力信号は、前記第２機能マクロ内における前記ファンクションブロックの動作に影響を与えない
ことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記第２機能マクロにおける前記ファンクションブロック内に設けられた前記第１素子は、生成する内部クロックのパルス幅を決定するための遅延回路を含むクロック生成器を構成し、
前記クロック生成器の生成する前記内部クロックによって、前記第１機能マクロが含む前記第１素子のいずれかが動作する
ことを特徴とする請求項１または２記載の半導体集積回路。
【請求項４】
前記第１機能マクロ内に設けられた前記第１素子の一部はクロック生成器の一部を構成し、
前記クロック生成器は、生成する内部クロックのパルス幅を決定するための遅延回路を含み、該遅延回路は前記第１機能マクロより抽出されて、前記第２機能マクロにおける前記ファンクションブロック内に設けられ、
前記クロック生成器の生成する前記内部クロックによって、前記第１機能マクロが含む前記第１素子のいずれかが動作する
ことを特徴とする請求項１または２記載の半導体集積回路。
【請求項５】
前記第２機能マクロはテスト回路ブロックを更に備え、
前記テスト回路ブロックは、前記第２機能マクロのテスト時にのみ動作し、且つ前記第２機能マクロのテスト時に使用するテストコマンド信号を生成し、該テストコマンド信号によって前記ファンクションブロック内に設けられた前記遅延回路がもたらす遅延時間を制御する
ことを特徴とする請求項３または４記載の半導体集積回路。
【請求項６】
前記第２機能マクロが実現する前記第２機能は半導体メモリとしての機能であり、
前記第１機能マクロが実現する前記第１機能は、前記第２機能マクロの半導体メモリとしての機能をテストするためのテスト回路としての機能である
ことを特徴とする請求項１乃至５いずれか１項記載の半導体集積回路。
【請求項７】
前記第２機能マクロにおける前記ファンクションブロックはヒューズ素子を有し、該ヒューズ素子に書き込まれた情報によって、前記第１機能マクロの動作の切り替え制御を行う
ことを特徴とする請求項１または２記載の半導体集積回路。
【請求項８】
複数の機能マクロが同一の半導体基板上に設けられた半導体集積回路の設計方法であって、
自動配置設計手法によって設計される第１機能マクロ内において、マニュアル手法による設計が必要となる部位を抽出する抽出ステップと、
前記抽出ステップにより前記部位の抽出された前記第１機能マクロを、前記自動配置設計手法により設計し、前記抽出ステップにより抽出した部位と同一の構成を有するファンクションブロックを備え、且つ前記第１機能マクロと異なる第２機能を有する第２機能マクロを、前記マニュアル手法によって設計する機能マクロ設計ステップと
を具備し、前記ファンクションブロックは、前記第２機能と別個且つ独立して機能することを特徴とする半導体集積回路の設計方法。
【請求項９】
前記抽出ステップにより抽出される部位は、前記第２機能マクロをテストする際に必要となる内部クロックを生成するクロック生成器の少なくとも一部であって、
前記機能マクロ設計ステップは、前記第１機能マクロ及び前記第２機能マクロの各々を、テスト回路及び前記第１機能マクロによってテストされる半導体メモリとして機能するように設計すると共に、前記第２機能マクロにおける前記ファンクションブロック内に、トランジスタ素子、抵抗素子、または容量素子の少なくともいずれかを用いて前記クロック生成器の少なくとも一部を設計する
ことを特徴とする請求項８記載の半導体集積回路の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体集積回路及びその設計方法に関するもので、特に半導体集積回路内を伝送する信号の信頼性維持の為の技術に関するものである。
【０００２】
【従来の技術】
近年の半導体製造技術の向上により、従来複数のチップによって実現されていたような機能を１つのチップで供給できる、システムＬＳＩが注目されてきている。
【０００３】
図１７はシステムＬＳＩの概略構成を示すブロック図である。図示するように、システムＬＳＩ１００は同一の半導体基板上に形成された複数のマクロ１１０〜１６０（マクロＡ〜Ｆ）によって構成されている。「マクロ」とは、それ単体である一定の機能を果たすために構成された、複数の素子の集合体としてなる機能ブロックのことである。具体的にはＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、ＣＰＵ（Central Processing Unit）等のマクロがシステムＬＳＩ内には存在する。そして、これらがチップ内配線によって互いに接続され、協働することによって、システムＬＳＩとしての機能を果たしている。
【０００４】
上記のように、システムＬＳＩは複数のマクロによって構成されていることが一般的であるが、設計段階において、１つのマクロを所定の領域毎に異なる設計手法によって設計する場合がある。この点について図１８（ａ）、（ｂ）を用いてＤＲＡＭマクロを例に挙げて説明する。
【０００５】
図１８（ａ）に示すように、ＤＲＡＭマクロ２００は、ＤＲＡＭとしての純粋なメモリ機能を果たすために構成されたＤＲＡＭ部分のマクロ２１０と、ユーザの使用時には不必要なものの、ＤＲＡＭの製造時に行われるテストに必要な機能を持ったテスト回路部分のマクロ２２０とを有している。
【０００６】
まず、ＤＲＡＭ部分のマクロ２１０についてはボトムアップ手法等、マニュアルで設計される。一方、同一マクロ内のテスト回路部分のマクロ２２０についても、マニュアルで設計しても構わないが、テスト回路部分のマクロ２２０はその回路構成上、特にマニュアルによる設計が必須ではない。そこで、テスト回路部分のマクロ２２０はＤＲＡＭ部分のマクロ２１０と異なる手法、例えばスタンダードセルによる手法等、ソフトウェアによる自動設計を行う。スタンダードセルを採用すれば、ＲＴＬ（Register Transfer Level）による回路合成、及び自動配置配線によるレイアウト作成が可能となる。このため、ＤＲＡＭマクロ２００全体をボトムアップ手法で設計するよりも、設計期間の短縮を図ることが出来る。
【０００７】
しかし、このような設計方法であると、次のような問題がある。例えば、メモリのテストを行う際には内部クロックが必要となる場合がある。この場合、テスト回路部分のマクロ２２０内にはクロック発生器２３０が設けられることになり、そのクロック発生器２３０は当然ながらスタンダードセルによって設計される。しかし、自動配置配線時にライブラリとして用いるスタンダードセルは遅延素子を持たない。そのため、内部クロック作成のために必要な遅延は、例えば図１８（ｂ）に示すように、複数のインバータ２４０を直列接続したインバータディレイによって実現するほか無かった。すると、内部クロックのサイクルが数十ｎｓ等、長い場合には、遅延として必要なインバータの数が莫大になるため、レイアウト面積が増大するという問題があった。また、インバータによる遅延は、電圧やプロセスばらつきに対する遅延変化量が大きく、正確なクロック制御が困難であるという問題があった。
【０００８】
上記問題は、システムＬＳＩを構成する個々のマクロにおいて生じる問題である。
【０００９】
さて、前述の通りシステムＬＳＩは複数のマクロによって構成されており、各マクロはチップ内配線により互いに接続されている。なお、チップ内配線の途中にはバッファ１７０を設けることで、配線を伝送する途中での信号波形の鈍りを防止している。ここで、図１７におけるマクロＢからマクロＦへの配線に着目する。すると、マクロＢとマクロＦとの間にはサイズの大きいマクロＡが存在する。そのため、マクロＢからマクロＦへの配線は大きくマクロＡを大きく迂回しなくてはならない。その結果、チップ内配線での遅延の影響により、配線を伝送する信号に必要以上の遅延が発生するという問題があった。また同時に、配線を大回りさせる必要があるため、配線数が多いシステムＬＳＩにおけるレイアウトを困難にさせるという問題があった。
【００１０】
この点、確かに遅延時間が大きくなり、レイアウトが困難となるのは、チップ内配線を迂回させるようにして配置していたからであり、図１９に示すように、マクロＡ上に配線を通せばよいとの考え方もある。しかし、この場合には配線途中に信号波形整形用のバッファを入れることが困難となる。なぜなら、マクロは自身の上を通るであろう配線のことまで考慮して作られているものではないからである。そのため、信号波形がマクロ上を通過する際に鈍ってしまうことを防止できないという問題があった。
【００１１】
また、上記のようにマクロ上に配線を配置する場合には、図２０に示すように、マクロ上に当該当該マクロ用配線が形成された領域を予め配線禁止領域とし、それ以外の領域にマクロ上通過配線を配置する必要がある。すると、当然ながら配線禁止領域内での配線密度は非常に高いのに対して、それ以外の領域にはマクロ上配線が通過するのみである。そのため、マクロ全体として見た場合、配線密度の疎密が生じることがある。このように配線密度の疎密が生じると、金属配線層の形成プロセスに問題が起きる場合がある。すなわち、配線密度の密な領域にプロセスを配線密度の密な領域に合わせて最適化すれば、疎な領域におけるプロセスマージンが十分ではなく、逆もまた然りである。このように、配線の規模の違いにより、金属配線形成プロセスを最適化することが困難であるという問題があった。
【００１２】
【発明が解決しようとする課題】
上記従来の半導体集積回路及びその設計方法は、以下に記すような問題があった。すなわち、
（１）マクロの設計を全てマニュアルで行うのではなく、その一部をスタンダードセル等を用いた自動設計で行うことにより、設計期間を短縮できる一方で、限られたセルによる設計を強いられ、要求に対する最適な回路設計が困難、
（２）マクロ上を通過する配線を設けようとした場合、配線を伝送する信号波形が鈍る、
（３）更に（２）の場合に、マクロ上の配線パターンに疎密が生じるため、製造プロセスが困難となる。
【００１３】
この発明は、設計期間の増加を抑えつつ最適な回路設計を可能とする半導体集積回路及びその設計方法を提供する。
【００１６】
【課題を解決するための手段】
この発明の一態様に係る半導体集積回路は、複数の機能マクロが同一の半導体基板上に設けられた半導体集積回路であって、第１機能を実現するために必要な第１素子の集合体であり、自動配置設計手法によって設計される第１機能マクロと、前記第１機能とは異なる第２機能を実現するために必要な第２素子の集合体であると共に、前記第１機能の一部を実現するための前記第１素子の集合体の一部が設けられ、前記第２素子とは信号の授受を行わないことにより該第２素子の集合体から別個且つ独立して機能するファンクションブロックを有し、マニュアル手法によって設計される第２機能マクロとを具備する。
【００１９】
また、この発明の一態様に係る半導体集積回路の設計方法は、複数の機能マクロが同一の半導体基板上に設けられた半導体集積回路の設計方法であって、自動配置設計手法によって設計される第１機能マクロ内において、マニュアル手法による設計が必要となる部位を抽出する抽出ステップと、前記抽出ステップにより前記部位の抽出された前記第１機能マクロを、前記自動配置設計手法により設計し、前記抽出ステップにより抽出した部位と同一の構成を有するファンクションブロックを備え、且つ前記第１機能マクロと異なる第２機能を有する第２機能マクロを、前記マニュアル手法によって設計する機能マクロ設計ステップとを具備し、前記ファンクションブロックは、前記第２機能と別個且つ独立して機能する。
【００２３】
【発明の実施の形態】
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００２４】
この発明の第１の実施形態に係る半導体集積回路及びその設計方法について図１を用いて説明する。図１はシステムＬＳＩのブロック図であり、特にＤＲＡＭマクロの構成を示している。
【００２５】
図示するように、システムＬＳＩ（ＤＲＡＭマクロ）１０はＤＲＡＭ部分のマクロ２０及びテスト回路部分のマクロ３０とを有している。
【００２６】
テスト回路部分のマクロ３０は、特にシステムＬＳＩ製造時にＤＲＡＭをテストするために必要となるような回路の集合体として形成されている。
【００２７】
ＤＲＡＭ部分のマクロ２０は、ＤＲＡＭとしての機能を実現するために必要な構成要素（例えばメモリセルアレイ４１、センスアンプ４２、カラムデコーダ４３、ロウデコーダ４４、制御回路４５等）の集合体であるＤＲＡＭブロック４０と、ＤＲＡＭとしての機能とは全く異なる機能を実現するための構成要素の集合体であるファンクションブロック５０とから構成されている。このファンクションブロック５０の内部に形成されるものとしては、例えばクロック発生器等がある。ファンクションブロック５０は、ＤＲＡＭブロック４０から全く独立して存在するものであり、両者の間での信号のやりとり等は一切無い。そのため、ファンクションブロック５０はファンクションブロック５０としてその機能を完結しており、固有の入力端子ＩＮ及び出力端子ＯＵＴを有している。但し、ファンクションブロック５０とＤＲＡＭブロック４０とは、機能的に分離されているに過ぎず、電源を共有することはあっても良い。
【００２８】
さて、上記構成のシステムＬＳＩの設計手法について図２を用いて説明する。図示するように、テスト回路部分のマクロ３０はゲートアレイやスタンダードセルを用いた自動設計により設計される。それに対し、ＤＲＡＭブロック４０とファンクションブロック５０とを含むＤＲＡＭ部分のマクロ２０は、例えばボトムアップ手法等のマニュアルによって設計される。従って、ファンクションブロック５０内に設けられたクロック生成器もマニュアルによって設計される。
【００２９】
図３はファンクションブロック５０内に設けられるクロック生成器の回路図の一例である。
【００３０】
図示するようにクロック生成器は、出力ノードＯＵＴ及び入力ノードＩＮの信号をそれぞれ入力とするＡＮＤゲート５１と、このＡＮＤゲート５１の出力ノードにゲートが接続され、ソースがそれぞれ電源電位ＶＤＤ及び接地電位ＧＮＤに接続され、ドレインが抵抗素子５２のそれぞれ一端、他端とに接続されたｐＭＯＳ、ｎＭＯＳトランジスタ５３、５４と、ｐＭＯＳトランジスタ５３のドレインと抵抗素子５２の一端との接続ノードと出力ノードＯＵＴとの間に直列に接続されたインバータ５５、５５を備えている。
【００３１】
上記構成のクロック生成器は、入力ノードＩＮへの入力信号を“Ｌ”レベルとすることでクロック生成を停止し、“Ｈ”レベルとすることでクロック生成を開始する。入力信号が“Ｌ”レベルになると、ＡＮＤゲート５１の出力は“Ｌ”レベルとなり、ｐＭＯＳトランジスタ５３がオン状態となる。よって初段のインバータ５５の入力ノードには“Ｈ”レベルが入力される。その結果、出力ノードＯＵＴに現れる信号は“Ｈ”レベル固定である。
【００３２】
その状態で入力信号を“Ｈ”レベルとすれば、ＡＮＤゲート５１の出力は“Ｈ”レベルとなり、ｎＭＯＳトランジスタ５４がオン状態となる。すると、初段のインバータ５５の入力ノードには“Ｌ”レベルが入力される。その結果、出力ノードＯＵＴは“Ｌ”レベルとなる。出力ノードＯＵＴが“Ｌ”レベルに反転すると、ＡＮＤゲート５１の出力が反転し、ｐＭＯＳトランジスタ５３がオン、その結果、出力ノードＯＵＴに現れる信号は“Ｈ”レベルとなる。このように、ＡＮＤゲート５１と、その後段の、トランジスタ５３、５４、抵抗素子５２からなる遅延部６１、及びインバータ列５５、５５とがリングオシレータとして機能する。
【００３３】
上記構成のＤＲＡＭマクロでは、ＤＲＡＭ部分のマクロ２０内に、ＤＲＡＭとしての機能から独立したファンクションブロック５０を設けている。そして、従来はテスト回路部分のマクロ３０内に設けていたクロック発生器を、テスト回路部分のマクロ３０から抽出し、ファンクションブロック５０内に設けている。前述の通り、テスト回路部分のマクロ３０がゲートアレイやスタンダードセルを用いて設計されるのに対して、ＤＲＡＭ部分のマクロ２０はボトムアップ手法等のマニュアルで設計される。よって、ファンクションブロック５０内のクロック発生器もマニュアルによって設計される。そのため、クロック発生器の設計の際、クロック発生器の構成要件として抵抗素子やキャパシタ素子、またはトランジスタ素子等の素子レベルでの設計が可能となる。すなわち、スタンダードセルでは実現できなかった機能を持たせることが出来る。その結果、遅延時間の厳密な制御など、クロック制御の精度を向上させることが出来る。また、個々の素子レベルで設計することにより、従来のようにインバータのみで遅延回路を構成する場合に比べて、遅延回路の素子数を激減させることが可能となる。
【００３４】
なお、図３のパルス発生回路において、本構成の回路全てをファンクションブロック５０内に設ける必要は必ずしもない。なぜなら、図３の構成においてスタンダードセルで実現できないのはトランジスタ５３、５４及び抵抗素子５２（遅延部６１）だけであり、その他のＡＮＤゲート５１やインバータ５５はスタンダードセルでも実現できるからである。よって、トランジスタ５３、５４及び抵抗素子５２のみをファンクションブロック５０内で作成し、その他の素子はテスト回路部分のマクロ３０内で作成しても良い。
【００３５】
上記のような半導体集積回路及びその設計方法であると、設計期間の増加を招かずに、最適な回路設計が可能となる。
【００３６】
次に、この発明の第２の実施形態に係る半導体集積回路及びその設計方法について図４を用いて説明する。図４はシステムＬＳＩのブロック図であり、特にＤＲＡＭマクロの構成を示している。図示するように、本実施形態は第１の実施形態において、ＤＲＡＭ部分のマクロ２０内に更にテスト回路用ブロック６０を設けたものであり、ＤＲＡＭブロック４０からファンクションブロック５０へテストコマンドを入力できるようにしたものである。
【００３７】
第１の実施形態で説明したように、ファンクションブロック５０はＤＲＡＭブロック４０と直接的には電気的な接続を持たない。但し、テスト回路用ブロック６０との間では信号の授受を有し、テスト回路用ブロック６０から信号を受けて動作する。また、このテスト回路用ブロック６０は、ＤＲＡＭブロック４０からテストコマンドを入力され、それに従ってファンクションブロック５０は動作を行う。よって、テスト時ではない通常動作時には、ファンクションブロック５０はマクロ２０内のどの信号の影響も受けない。
【００３８】
図５はファンクションブロック５０内のクロック発生器の回路図である。本クロック発生器は、第１の実施形態で説明したクロック発生器において、インバータ５５の入力ノードと接地電位との間に容量５６を設け、更にスイッチ５７を介在させて、容量５８を設けたものである。そして、スイッチ５７に電位を与えるインバータ５９と、インバータ５９の入力ノードにテストコマンド信号が入力されるテストコマンド入力端子Ｔ１を更に設けている。
【００３９】
このような構成のクロック発生器であると、テストコマンド信号によって容量５８を付加することが出来るため、テスト時に使用する内部クロック信号の周波数やパルス幅等を自在に変えることが出来る。
【００４０】
次にこの発明の第３の実施形態に係る半導体集積回路及びその設計方法について図６を用いて説明する。図６はＤＲＡＭマクロのブロック図であり、特にＤＲＡＭ部分のマクロについて示している。
【００４１】
図示するように、本実施形態におけるファンクションブロック５０には、バッファ７０が形成されている。当然ながら、このバッファはＤＲＡＭブロック４０と電気的な接続は一切持たないものである。
【００４２】
上記のようにファンクションブロック５０内にバッファ７０を設けておくことの効果について図７を用いて説明する。図７は複数のマクロを有する半導体集積回路のブロック図である。
【００４３】
図示するように、半導体集積回路１０はマクロＡ〜Ｆの６つのマクロ８１〜８６を有している。そして、マクロＢからマクロＦへの配線が必要であったとする。この場合に、マクロＡに本実施形態に係るマクロを配置しておき、マクロＡ上を通過する通過配線のために、マクロＡのファンクションブロック内に予め用意されたバッファを用いる。すると、このバッファ７０により、通過配線を伝搬する信号波形を整形することが出来る。
【００４４】
上記のように、本実施形態に係る半導体集積回路及びその設計方法であると、ファンクションブロック内に予めバッファを用意しておくことにより、マクロ上通過配線の信号波形の鈍りを防止することが出来、半導体集積回路の動作信頼性を向上できる。
【００４５】
次にこの発明の第４の実施形態に係る半導体集積回路及びその設計方法について図８を用いて説明する。図８はＤＲＡＭマクロのブロック図であり、特にＤＲＡＭ部分のマクロについて示している。
【００４６】
図示するように本実施形態は、ファンクションブロック５０内に複数の配線を設けたものである。勿論、これらの配線がＤＲＡＭブロック４０から独立していることは言うまでもない。
【００４７】
本実施形態に係るＤＲＡＭマクロであると、ファンクションブロックが設けられた領域が、マクロ上通過配線を配置するべき領域として、予め決められている。そのため、その他の領域がＤＲＡＭブロック４０用の配線領域として自由に使用されることを妨げずに済む。また、ファンクションブロック内に多数の配線を用意しておくことで、配線禁止領域とマクロ上通過配線との配線密度の差を小さくすることが出来る。その結果、製造プロセス時におけるプロセスマージンの問題を解消できる。勿論、ファンクションブロック内に予め用意された配線の全てをマクロ上通過配線として使用しなければならないと言うことはなく、使用しないものについては、ダミーとして例えば接地電位に固定しておけばよい。
【００４８】
このように、本実施形態によれば、マクロ上の配線パターンに疎密が生じることを防止でき、製造時のプロセスマージンの問題を解消できる。
【００４９】
次にこの発明の第５の実施形態に係る半導体集積回路及びその設計方法について図９を用いて説明する。図９はＤＲＡＭマクロのブロック図であり、特にＤＲＡＭ部分のマクロについて示している。
【００５０】
図示するように本実施形態は、上記第３、第４の実施形態を組み合わせたものである。すなわち、ファンクションブロック５０内に複数の配線を設けると共に、各配線にバッファ７０を設けている。
【００５１】
上記構成にすることで、マクロ上通過配線を伝搬する信号の波形整形が出来ると共に、マクロ上通過配線の製造プロセスを容易にすることが出来る。本実施形態でも、上記第４の実施形態で述べたように、ファンクションブロック内に予め用意された配線の全てをマクロ上通過配線として使用する必要はない。そして、予めダミーとして使用することが前提となっている配線には、必ずしもバッファ７０を設ける必要もない。
【００５２】
次にこの発明の第６の実施形態に係る半導体集積回路及びその設計方法について図１０を用いて説明する。図１０はＤＲＡＭマクロのブロック図であり、特にＤＲＡＭ部分のマクロについて示している。
【００５３】
図示するように本実施形態は、ファンクションブロック５０内にヒューズ素子７２を設けたものであり、このヒューズ素子７２は勿論ＤＲＡＭブロック４０と信号の授受を行うものではない。ヒューズ素子もまたスタンダードセルでは実現不可能な素子である。
【００５４】
このようにファンクションブロック５０内にヒューズ素子７２を設けたことによって得られる効果について、図１１を用いて説明する。本例は入力信号の遅延時間を制御する例である。
【００５５】
図示するように、入力端子ＩＮより入力信号が入力され、その入力信号は４段に直列接続された遅延用インバータ８７、及び２段に直列接続されたインバータ８７に入力される。４段に直列接続されたインバータ８７の出力信号は、インバータ８８で反転されたヒューズ素子７２から信号と、ＡＮＤゲート８９で論理積演算が行われる。また、２段に直列接続されたインバータ８７の出力信号は、ヒューズ素子７２からの信号と、ＡＮＤゲート９０で論理積演算が行われる。そして、ＡＮＤゲート８９、９０の出力はＮＯＲゲート９１で否定論理和演算が行われ、その演算結果がインバータ９２で反転されて出力端子ＯＵＴより出力される。
【００５６】
上記回路において、ヒューズ素子が切れている場合をヒューズデータ＝“０”、切れていない場合をヒューズデータ＝“１”と仮定する。すると、ファンクションブロック５０内のヒューズ素子７２が切れている場合には、ＡＮＤゲート９０の出力は常時“０”、すなわち、入力端子ＩＮから２段のインバータ８７を介してＡＮＤゲート９０に至るパスは非選択状態となり、４段のインバータ８７を介してＡＮＤゲート８９に至るパスが選択される。
【００５７】
逆に、ヒューズ素子が切れていない場合には、ＡＮＤゲート８９の出力は常時“０”となり、２段のインバータ８７を介してＡＮＤゲート９０に至るパスが選択される。
【００５８】
このように、ファンクションブロック５０内に設けたヒューズ素子７２の状態によって、入力端子ＩＮから出力端子ＯＵＴまでの遅延時間を変化させることが出来る。従って、信号の入力タイミングの細かな調整を行うことが出来る。
【００５９】
次にこの発明の第７の実施形態に係る半導体集積回路及びその設計方法について図１２を用いて説明する。図１２はＤＲＡＭマクロのブロック図であり、特にＤＲＡＭ部分のマクロについて示している。
【００６０】
図示するように本実施形態では、ファンクションブロック５０内に固定電位発生回路７３を設けたものである。当然ながら、この固定電位発生源の発生する電源がＤＲＡＭブロックへ供給されることはない。そしてこの固定電位発生源７３は当該ＤＲＡＭブロックの仕様のメルクマールとして機能させることが出来る。
【００６１】
すなわち、図１３に示すようにＤＲＡＭ部分のマクロ２０を制御するマクロコントローラ９３に、当該ファンクションブロック内に設けられた固定電位発生源の発生する電位を入力する。そして、ＤＲＡＭの容量等に応じて電位を変化させてやれば、マクロコントローラはそのＤＲＡＭの容量を認識し、その容量に応じて制御することが出来る。
【００６２】
ここで、ＤＲＡＭマクロの設計方法について図１４を用いて説明する。図１４はＤＲＡＭマクロの設計方法の概念を示す図である。
【００６３】
前述の通りＤＲＡＭマクロは計算機を用いてソフトウェア上で設計されるのが通常である。このソフトウェアは、ＤＲＡＭを構成するメモリセルやデコーダ等の各構成要素が各パーツとして登録されたライブラリを有している。そして、このライブラリ中に登録されたパーツを必要な数だけ用いて、所望の構成のＤＲＡＭを設計する。このような設計方法を採用することで、ＤＲＡＭの構成を顧客の要望に応じて、容量、アドレス構成、及びバンク数等を可変にすることが出来る。
【００６４】
ところで、ＤＲＡＭマクロには、ＤＲＡＭ部分のマクロを制御するためのマクロコントローラが必要であるが、このマクロコントローラはＤＲＡＭマクロの構成によって制御を変える必要がある。そのため従来は汎用のマクロコントローラを作成することが出来ず、個々のＤＲＡＭマクロ毎にマクロコントローラを設計する必要があった。しかし、本実施形態によれば、固定電位発生源の発生する電位をＤＲＡＭ部分のマクロの構成に応じて変えてやることにより、マクロコントローラはＤＲＡＭ部分のマクロの構成を認識することが出来る。そのため、個々のＤＲＡＭマクロ毎にマクロコントローラを設計する必要がなく、設計の際には汎用のマクロコントローラをライブラリに登録しておけば良い。
【００６５】
このように本実施形態によれば、当該マクロ内の構成に応じた情報を、ファンクションブロックから出力することにより、設計の簡単化を図ることが出来る。
【００６６】
上記第１乃至第７の実施形態で説明したように、この発明によれば、ボトムアップ手法等のマニュアルで設計される機能マクロ内に、当該マクロとは独立して機能するファンクションブロックを設けている。そして、スタンダードセルやゲートアレイで設計される他の機能マクロの一部を抽出して、このファンクションブロック内に設けている。すなわち、従来はスタンダードセルやゲートアレイといった手法によってのみ設計されていた機能マクロを、ファンクションブロックを使用することで、ボトムアップ手法等のマニュアル手法を併せて設計することが出来る。従って、トランジスタ素子や抵抗素子、容量素子等のレベルで設計することが可能となり、機能マクロの機能を拡張することが出来る。
【００６７】
このように本発明の１つの主旨は、スタンダードセル等によって設計される機能マクロの一部を、マニュアルによって設計される機能マクロ内に含めることによって、スタンダードセルによっては実現できない素子を用いて設計することを可能とするものである。従って、ファンクションブロック内に形成される素子は、上記説明で用いたクロック生成器や、ヒューズ素子、固定電位発生源等に限られるものではない。
【００６８】
また、ファンクションブロックをマクロ上通過配線の形成領域とすることで、マクロ上通過配線を伝搬する信号波形、及びその製造プロセスの信頼性を向上できる。
【００６９】
また、ファンクションブロックが機能マクロ内に設けられる位置は特に限定されるものではなく、例えば図１５に示すように、機能マクロの中央部に設けても良いし、図１６に示すように、場合によっては複数のファンクションブロックを設けても構わない。
【００７０】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【００７１】
【発明の効果】
以上説明したように、この発明によれば、設計期間の増加を抑えつつ最適な回路設計を可能とする半導体集積回路及びその設計方法を提供できる。
【図面の簡単な説明】
【図１】この発明の第１の実施形態に係るシステムＬＳＩのブロック図。
【図２】この発明の第１の実施形態に係るシステムＬＳＩのブロック図であり、各領域の設計手法について示す図。
【図３】この発明の第１の実施形態に係るシステムＬＳＩにおけるクロック生成器の回路図。
【図４】この発明の第２の実施形態に係るシステムＬＳＩのブロック図。
【図５】この発明の第２の実施形態に係るシステムＬＳＩにおけるクロック生成器の回路図。
【図６】この発明の第３の実施形態に係るＤＲＡＭ部分のマクロのブロック図。
【図７】この発明の第３の実施形態に係るシステムＬＳＩのブロック図。
【図８】この発明の第４の実施形態に係るＤＲＡＭ部分のマクロのブロック図。
【図９】この発明の第５の実施形態に係るＤＲＡＭ部分のマクロのブロック図。
【図１０】この発明の第６の実施形態に係るＤＲＡＭ部分のマクロのブロック図。
【図１１】この発明の第７の実施形態に係るＤＲＡＭマクロのブロック図。
【図１２】この発明の第７の実施形態に係るＤＲＡＭ部分のマクロのブロック図。
【図１３】この発明の第７の実施形態に係るＤＲＡＭマクロのブロック図。
【図１４】この発明の第７の実施形態に係るＤＲＡＭマクロの設計方法の概念図。
【図１５】この発明の第１乃至第７の実施形態の第１の変形例に係るＤＲＡＭ部分のマクロのブロック図。
【図１６】この発明の第１乃至第７の実施形態の第２の変形例に係るＤＲＡＭ部分のマクロのブロック図。
【図１７】従来のシステムＬＳＩのブロック図。
【図１８】従来のシステムＬＳＩについて示しており、（ａ）図はＤＲＡＭマクロのブロック図、（ｂ）図はクロック生成器の遅延回路の回路図。
【図１９】従来のシステムＬＳＩのブロック図。
【図２０】従来のマクロ上の配線の様子を示す図。
【符号の説明】
１０…システムＬＳＩ（ＤＲＡＭマクロ）
２０、２１０…ＤＲＡＭ部分のマクロ
３０、２２０…テスト回路部分のマクロ
４０…ＤＲＡＭブロック
４１…メモリセルアレイ
４２…センスアンプ
４３…カラムデコーダ
４４…ロウデコーダ
４５…制御回路
５０…ファンクションブロック
５１…ＡＮＤゲート
５２…抵抗素子
５３、５４…ＭＯＳトランジスタ
５５、５９、８７、８８、９２、２４０…インバータ
５６、５８…容量素子
５７…スイッチ
６０…テスト回路
７０、１７０…バッファ
７２…ヒューズ素子
７３…固定電位電源
８１〜８６…マクロ
８９、９０…ＡＮＤゲート
９１…ＮＯＲゲート
９３…マクロコントローラ
１００、２００…システムＬＳＩ
１１０〜１６０…機能マクロ
２３０…クロック発生器
【図１】
0004170600.tif 000002
【図２】
0004170600.tif 000003
【図３】
0004170600.tif 000004
【図４】
0004170600.tif 000005
【図５】
0004170600.tif 000006
【図６】
0004170600.tif 000007
【図７】
0004170600.tif 000008
【図８】
0004170600.tif 000009
【図９】
0004170600.tif 000010
【図１０】
0004170600.tif 000011
【図１１】
0004170600.tif 000012
【図１２】
0004170600.tif 000013
【図１３】
0004170600.tif 000014
【図１４】
0004170600.tif 000015
【図１５】
0004170600.tif 000016
【図１６】
0004170600.tif 000017
【図１７】
0004170600.tif 000018
【図１８】
0004170600.tif 000019
【図１９】
0004170600.tif 000020
【図２０】
0004170600.tif 000021