(57)【要約】【課題】アナログ回路の各入力の寄生抵抗及び寄生容量を抽出することなく、かつ、シミュレーションモデルを再作成することなく、シミュレーション精度を向上することができる半導体集積回路装置の設計方法を提供すること。【解決手段】基本機能セルを使用し、リピータブロックの回路情報を作成し（Ｓ１０）、デジタルブロック及びアナログブロックとリピータブロックの間の接続情報及びレイアウト情報を作成し（Ｓ１２、Ｓ１４）、デジタルブロックとリピータブロックの間の各配線の寄生抵抗・容量の情報を含む配線ＲＣ情報を作成し（Ｓ１６）、シミュレーション用のネットリストを生成し（Ｓ１８、Ｓ２０）、基本機能セルのシミュレーションモデル、論理シミュレーション用のネットリスト及び配線ＲＣ情報を使用して論理シミュレーションを実行し（Ｓ２２）、回路シミュレーション用のネットリストを使用して回路シミュレーションを実行する（Ｓ２４）。【選択図】図４
2008250396.tif 000002
【特許請求の範囲】
【請求項１】
デジタルブロックとアナログブロックを含む半導体集積回路装置の設計方法であって、
所定の基本機能を有し、少なくとも論理情報と遅延情報を含むシミュレーションモデルが作成された基本機能セルを使用し、前記デジタルブロックと前記アナログブロックの間で信号の中継を行うリピータブロックの回路情報を作成するステップと、
前記デジタルブロック及び前記アナログブロックと前記リピータブロックの間の接続情報を作成するステップと、
前記デジタルブロックと前記リピータブロックの間の配線のレイアウト情報を作成するステップと、
前記デジタルブロックと前記リピータブロックの間の前記接続情報及び前記レイアウト情報に基づいて、前記デジタルブロックと前記リピータブロックの間の各配線の寄生抵抗及び寄生容量を抽出し、当該寄生抵抗及び寄生容量の情報を含む配線ＲＣ情報を作成するステップと、
前記デジタルブロックの回路情報、前記リピータブロックの前記回路情報及び前記デジタルブロックと前記リピータブロックの間の前記接続情報から論理シミュレーション用のネットリストを生成するステップと、
前記アナログブロックの回路情報及び前記アナログブロックと前記リピータブロックの間の前記接続情報から回路シミュレーション用のネットリストを生成するステップと、
少なくとも、前記基本機能セルの前記シミュレーションモデル、前記論理シミュレーション用のネットリスト及び前記配線ＲＣ情報を使用して論理シミュレーションを実行するステップと、
前記回路シミュレーション用のネットリストを使用して回路シミュレーションを実行するステップと、を含むことを特徴とする半導体集積回路装置の設計方法。
【請求項２】
請求項１において、
前記リピータブロックのレイアウト情報を作成するステップを含み、
前記配線ＲＣ情報を作成するステップでは、
前記リピータブロックの前記回路情報及び前記レイアウト情報に基づいて、前記リピータブロックに含まれる各配線の寄生抵抗及び寄生容量を抽出し、当該寄生抵抗及び寄生容量の情報をさらに含む前記配線ＲＣ情報を作成することを特徴とする半導体集積回路装置の設計方法。
【請求項３】
デジタルブロックとアナログブロックを含む半導体集積回路装置の設計方法であって、
所定の基本機能を有する基本機能セルの少なくとも論理情報と遅延情報を含むシミュレーションモデルを作成するステップと、
前記基本機能セルのシミュレーションモデルにより構成され、各半導体集積回路装置の設計に共通に使用可能なシミュレーションライブラリを作成するステップと、
前記基本機能セルを使用し、前記デジタルブロックと前記アナログブロックの間で信号の中継を行うリピータブロックの回路情報を作成するステップと、
少なくとも、前記シミュレーションライブラリに含まれる前記基本機能セルの前記シミュレーションモデルを使用し、前記リピータブロックを含む回路の論理シミュレーションを実行するステップと、を含むことを特徴とする半導体集積回路装置の設計方法。
【請求項４】
請求項１乃至３において、
前記リピータブロックと前記アナログブロックが隣り合うようにレイアウトするステップを含むことを特徴とする半導体集積回路装置の設計方法。
【請求項５】
請求項１乃至４のいずれかに記載された半導体集積回路装置の設計方法によって設計製造されたことを特徴とする半導体集積回路装置。
【請求項６】
請求項５に記載の半導体集積回路装置を含むことを特徴とするマイクロコンピュータ。
【請求項７】
請求項６に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置の設計方法、半導体集積回路装置、マイクロコンピュータ、電子機器に関する。
【背景技術】
【０００２】
一般に、デジタル回路とアナログ回路が混在する半導体集積回路装置では、デジタル回路とアナログ回路の接続部分について精度のよいシミュレーションを実施することが要求される。例えば、特開２００５−２４２３９８号公報では、デジタル回路とアナログ回路の間の配線の寄生抵抗及び寄生容量を抽出し、抽出した寄生抵抗及び寄生容量に基づいて、デジタル回路とアナログ回路の間に存在する論理素子の波形の傾きのテーブルを書き換えることにより、シミュレーション精度を向上する手法が提案されている。
【特許文献１】特開２００５−２４２３９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、デジタル回路とアナログ回路の間の配線が長い場合には、配線の寄生抵抗及び寄生容量も大きくなり、デジタル回路とアナログ回路の間に存在する論理素子の波形の傾きのテーブルの精度が低下し、アナログ回路のシミュレーション精度が劣化するという問題があった。また、各配線の寄生抵抗及び寄生容量を考慮した精度のよい論理シミュレーションを高速に実行することは比較的容易であるが、各配線の寄生抵抗及び寄生容量を考慮した精度の良い回路シミュレーションは多大な時間を要する場合もある。さらに、特開２００５−２４２３９８号公報の手法では、デジタル回路とアナログ回路の間の接続又はレイアウトを変更する毎にシミュレーションモデルを作成し直す必要があり、設計工数の増加をもたらすという問題もあった。
【０００４】
本発明は、以上のような問題点に鑑みてなされたものであり、アナログ回路の各入力の寄生抵抗及び寄生容量を抽出することなく、かつ、シミュレーションモデルを再作成することなく、シミュレーション精度を向上することができる半導体集積回路装置の設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
（１）本発明に係る半導体集積回路装置の設計方法は、
デジタルブロックとアナログブロックを含む半導体集積回路装置の設計方法であって、
所定の基本機能を有し、少なくとも論理情報と遅延情報を含むシミュレーションモデルが作成された基本機能セルを使用し、前記デジタルブロックと前記アナログブロックの間で信号の中継を行うリピータブロックの回路情報を作成するステップと、
前記デジタルブロック及び前記アナログブロックと前記リピータブロックの間の接続情報を作成するステップと、
前記デジタルブロックと前記リピータブロックの間の配線のレイアウト情報を作成するステップと、
前記デジタルブロックと前記リピータブロックの間の前記接続情報及び前記レイアウト情報に基づいて、前記デジタルブロックと前記リピータブロックの間の各配線の寄生抵抗及び寄生容量を抽出し、当該寄生抵抗及び寄生容量の情報を含む配線ＲＣ情報を作成するステップと、
前記デジタルブロックの回路情報、前記リピータブロックの前記回路情報及び前記デジタルブロックと前記リピータブロックの間の前記接続情報から論理シミュレーション用のネットリストを生成するステップと、
前記アナログブロックの回路情報及び前記アナログブロックと前記リピータブロックの間の前記接続情報から回路シミュレーション用のネットリストを生成するステップと、
少なくとも、前記基本機能セルの前記シミュレーションモデル、前記論理シミュレーション用のネットリスト及び前記配線ＲＣ情報を使用して論理シミュレーションを実行するステップと、
前記回路シミュレーション用のネットリストを使用して回路シミュレーションを実行するステップと、を含むことを特徴とする。
【０００６】
半導体集積回路装置は、デジタルブロックとアナログブロックを含んでいればよく、レイアウト配置上、複数のデジタルブロック又はアナログブロックを含んでいてもよい。
【０００７】
所定の基本機能は、例えば、バッファ論理やインバータ論理などの１入力論理を実現する機能であってもよいし、ＡＮＤ論理やＯＲ論理などの多入力論理を実現する機能であってもよい。所定の基本機能を有する基本機能セルは、例えば、バッファセル、インバータセル、ＡＮＤ論理セル又はＯＲ論理セル等であってもよい。また、入力ゲート容量やドライブ能力の異なる同一論理の基本機能セルを何種類か用意しておいてもよい。
【０００８】
論理情報は、少なくとも、論理０又は論理１のすべての組み合わせの入力に対する出力の論理が定義されている情報であればよく、さらに、例えば不定値ＸやハイインピーダンスＺが入力された時の出力が定義されていてもよい。論理情報は、論理関数、論理式、真理値表等のいずれの形式であってもよい。
【０００９】
遅延情報は、基本機能セルの入力が変化してから出力が変化するまでの時間（遅延値）を示す情報であり、例えば、入力信号の遷移時間と出力の負荷容量（次段のゲート容量と配線寄生容量の和）をパラメータとする遅延値のテーブルであってもよい。また、入力の立ち上がり（論理０から論理１への変化）に対する遅延値のテーブルと入力の立ち下がり（論理１から論理０への変化）に対する遅延値のテーブルを別々に有しているような場合でもよい。
【００１０】
基本機能セルのシミュレーションモデルは、論理シミュレーションにおいて使用するモデルであり、少なくとも、論理情報と遅延情報を有していればよく、入力ゲート容量やドライブ能力等その他の情報を含んでいてもよい。
【００１１】
リピータブロックは、デジタルブロックとアナログブロックの間で信号の中継を行うブロックであり、デジタルブロックからアナログブロックに供給される信号を中継するように機能してもよいし、アナログブロックからデジタルブロックに供給される信号を中継するように機能してもよい。
【００１２】
リピータブロックの回路情報は、リピータブロックの回路構成を特定するために十分な情報であればよく、例えば、リピータブロックを構成する基本機能セルの情報、基本機能セル間の接続情報、入力端子及び出力端子と基本機能セルの接続情報を含む情報である。回路情報は、例えば、回路図であってもよいし、テキストファイルやバイナリファイルであってもよい。
【００１３】
デジタルブロック及びアナログブロックとリピータブロックの間の接続情報は、デジタルブロック及びアナログブロックとリピータブロックの間の接続関係を特定するために十分な情報であればよい。接続情報は、例えば、回路図であってもよいし、テキストファイルやバイナリファイルであってもよい。
【００１４】
デジタルブロックとリピータブロックの間の配線のレイアウト情報は、デジタルブロックとリピータブロックの間の配線の物理的な位置を特定するために十分な情報であればよい。レイアウト情報は、例えば、レイアウト図であってもよいし、テキストファイルやバイナリファイルであってもよい。デジタルブロックとリピータブロックの間の接続情報に基づいて、デジタルブロックとリピータブロックの間の配線のレイアウト情報を作成するようにしてもよい。
【００１５】
配線ＲＣ情報は、各配線の寄生抵抗及び寄生容量の情報であり、少なくとも、デジタルブロックとリピータブロック間の各配線の寄生抵抗及び寄生容量の情報を含んでいればよい。デジタルブロック内部の各配線及びリピータブロック内部の各配線の寄生抵抗及び寄生容量の情報を含む配線ＲＣ情報がより好ましい。論理シミュレーションは配線ＲＣ情報を使用して実行すればよく、各配線の配線ＲＣ情報を各ネット間の遅延情報に変換してから論理シミュレーションを実行してもよい。
【００１６】
論理シミュレーションと回路シミュレーションは、それぞれ独立に実行してもよいが、シミュレーションの精度を向上させるためには同期をとりながら並行して実行するのがより好ましい。
【００１７】
本発明によれば、デジタルブロックとアナログブロックの間に信号を中継するためのリピータブロックを接続し、デジタルブロックとリピータブロックを含む回路に対して、デジタルブロックとリピータブロックの間の配線の寄生抵抗及び寄生容量を考慮して論理シミュレーションを実行することができる。従って、デジタルブロックとアナログブロックの間の信号の受け渡しのタイミングに関する動作検証を精度よく実施することができる。その結果、半導体集積回路装置の製造前に、デジタルブロックとアナログブロックの間の信号の受け渡しのタイミングに関する不具合を発見することが容易になり、ＥＣＯによる工数およびコストの増加を防止することができる。また、本発明によれば、基本機能セルのシミュレーションモデルを使用するので、リピータブロックの構成を変更してもリピータブロック全体のシミュレーションモデルを作成する必要がない。従って、リピータブロック全体のシミュレーションモデルの作成工数が不要であり、設計工数を削減することができる。
【００１８】
（２）本発明に係る半導体集積回路装置の設計方法は、
前記リピータブロックのレイアウト情報を作成するステップを含み、
前記配線ＲＣ情報を作成するステップでは、
前記リピータブロックの前記回路情報及び前記レイアウト情報に基づいて、前記リピータブロックに含まれる各配線の寄生抵抗及び寄生容量を抽出し、当該寄生抵抗及び寄生容量の情報をさらに含む前記配線ＲＣ情報を作成することを特徴とする。
【００１９】
リピータブロックのレイアウト情報を作成するステップでは、リピータブロックの回路情報に基づいて、リピータブロックのレイアウト情報を作成するようにしてもよい。
【００２０】
本発明によれば、リピータブロック内部の配線の寄生抵抗及び寄生容量も考慮して論理シミュレーションを実行することができる。従って、デジタルブロックとアナログブロックの間の信号の受け渡しのタイミングに関する動作検証を精度よく実施することができる。その結果、半導体集積回路装置の製造前に、デジタルブロックとアナログブロックの間の信号の受け渡しのタイミングに関する不具合を発見することが容易になり、ＥＣＯによる工数およびコストの増加を防止することができる。
【００２１】
（３）本発明に係る半導体集積回路装置の設計方法は、
デジタルブロックとアナログブロックを含む半導体集積回路装置の設計方法であって、
所定の基本機能を有する基本機能セルの少なくとも論理情報と遅延情報を含むシミュレーションモデルを作成するステップと、
前記基本機能セルのシミュレーションモデルにより構成され、各半導体集積回路装置の設計に共通に使用可能なシミュレーションライブラリを作成するステップと、
前記基本機能セルを使用し、前記デジタルブロックと前記アナログブロックの間で信号の中継を行うリピータブロックの回路情報を作成するステップと、
少なくとも、前記シミュレーションライブラリに含まれる前記基本機能セルの前記シミュレーションモデルを使用し、前記リピータブロックを含む回路の論理シミュレーションを実行するステップと、を含むことを特徴とする。
【００２２】
本発明によれば、基本機能セルのシミュレーションモデルのシミュレーションライブラリを作成するので、リピータブロックの構成を変更してもリピータブロック全体のシミュレーションモデルを作成する必要がない。従って、リピータブロック全体のシミュレーションモデルの作成工数が不要であり、設計工数を削減することができる。
【００２３】
（４）本発明に係る半導体集積回路装置の設計方法は、
前記リピータブロックと前記アナログブロックが隣り合うようにレイアウトするステップを含むことを特徴とする。
【００２４】
本発明によれば、リピータブロックとアナログブロックの間の各配線を短くすることができる。従って、リピータブロックとアナログブロックの間の各配線の寄生抵抗及び寄生容量の影響を無視することができ、精度の良い回路シミュレーションを高速に実行することができる。一方、デジタルブロックとリピータブロックの間の各配線は長くなる場合もあるが、デジタルブロックとリピータブロックの間の各配線の寄生抵抗及び寄生容量を考慮した論理シミュレーションを実行することができるので、デジタルブロックとアナログブロックの間の信号の受け渡しのタイミングに関する動作検証を精度よく実施することができる。その結果、半導体集積回路装置の製造前に、デジタルブロックとアナログブロックの間の信号の受け渡しのタイミングに関する不具合を発見することが容易になり、ＥＣＯによる工数およびコストの増加を防止することができる。
【００２５】
（５）本発明は、
上記のいずれかに記載された半導体集積回路装置の設計方法によって設計製造されたことを特徴とする半導体集積回路装置である。
【００２６】
（６）本発明は、
上記に記載の半導体集積回路装置を含むことを特徴とするマイクロコンピュータである。
【００２７】
（７）本発明は、
上記に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器である。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００２９】
１．半導体集積回路装置の設計方法、半導体集積回路装置
図１は、本実施の形態の半導体集積回路の設計方法によって設計製造された半導体集積回路の例を説明するための図である。
【００３０】
半導体集積回路装置１００は、リピータブロック１０、デジタルブロック２０及びアナログブロック３０を含んで構成されている。デジタルブロック２０は、例えば、バッファ（他の論理セルでもよい）２２、２４、２６及び出力端子Ｏ２２、Ｏ２４、Ｏ２６を含んで構成されており、バッファ２２、２４、２６の出力がそれぞれ出力端子Ｏ２２、Ｏ２４、Ｏ２６と接続されている。アナログブロック２０は、例えば、バッファ（他の論理セルでもよい）３２、３４、３６及び入力端子Ｉ３２、Ｉ３４、Ｉ３６を含んで構成されており、バッファ３２、３４、３６の入力がそれぞれ入力端子Ｉ３２、Ｉ３４、Ｉ３６と接続されている。リピータブロック１０は、所定の基本機能を有する基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３、入力端子Ｉ１２、Ｉ１４、Ｉ１６及び出力端子Ｏ１２、Ｏ１４、Ｏ１６を含んで構成されている。ここで、Ｎ１、Ｎ２、Ｎ３はともに１以上の整数であり、Ｎ１個の基本機能セル１２−１〜Ｎ１、Ｎ２個の基本機能セル１４−１〜Ｎ２、Ｎ３個の基本機能セル１６−１〜Ｎ３はそれぞれ直列に接続されている。基本機能セル１２−１、１４−１、１６−１の入力がそれぞれ入力端子Ｉ１２、Ｉ１４、Ｉ１６と接続されており、基本機能セル１２−Ｎ１、１４−Ｎ２、１６−Ｎ３の出力がそれぞれ出力端子Ｏ１２、Ｏ１４、Ｏ１６と接続されている。さらに、デジタルブロック２０の出力端子Ｏ２２、Ｏ２４、Ｏ２６とリピータブロック１０の入力端子Ｉ１２、Ｉ１４、Ｉ１６がそれぞれ配線４２、４４、４６で接続されており、リピータブロック１０の出力端子Ｏ１２、Ｏ１４、Ｏ１６とアナログブロック３０の入力端子Ｉ３２、Ｉ３４、Ｉ３６がそれぞれ配線５２、５４、５６で接続されている。リピータブロック１０は、配線４２、４４、４６、５２、５４、５６を介してデジタルブロック２０とアナログブロック３０の間で信号の中継を行う。
【００３１】
半導体集積回路装置１００の動作検証において、デジタルブロック２０とリピータブロック１０は論理シミュレーションの対象となり、アナログブロック３０は回路シミュレーションの対象となる。ここで、各配線の寄生抵抗及び寄生容量を考慮して論理シミュレーションを行うことは比較的容易である。従って、配線４２、４４、４６が長い場合であっても、配線４２、４４、４６の寄生抵抗及び寄生容量を考慮して精度よく論理シミュレーションを実行することができる。一方、精度のよい回路シミュレーションは多大な実行時間を必要とする場合が多く、配線５２、５４、５６の寄生抵抗及び寄生容量を考慮した精度のよい回路シミュレーションを実行できない場合もある。そのため、配線５２、５４、５６の寄生抵抗及び寄生容量の影響を無視することができるような構成とするのが望ましい。例えば、リピータブロック１０とアナログブロック３０が隣り合うようにレイアウトして配線５２、５４、５６の配線をできる限り短くするのが望ましい。
【００３２】
基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３が有する所定の基本機能は、例えば、入力信号をそのまま出力に伝播するバッファとしての機能であってもよいし、入力信号の極性を反転して出力に伝播するインバータとしての機能であってもよい。すなわち、基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３は、例えば、バッファセルやインバータセルであってもよい。さらに、基本機能セルは、例えば、ドライブ能力や入力ゲート容量の異なる複数種類のバッファセルやインバータセルから選択できるようにしてもよい。例えば、Ｎ１＝１、Ｎ２＝１、Ｎ３＝２とし、１２−１と１４−１はバッファセルとし、１６−１と１６−２はインバータセルとしてリピータブロック１０を構成してもよい。さらに、例えば、１２−１のバッファセルと１４−１のバッファセルはドライブ能力が異なっていてもよいし、１６−１は入力ゲート容量の小さいインバータセルとし、１６−２はドライブ能力の高いインバータセルとするような構成にしてもよい。
【００３３】
また、基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３は、少なくとも論理情報と遅延情報を含むシミュレーションモデルが作成されている基本機能セルであればよい。すなわち、リピータブロック１０は論理シミュレーションの対象となるので、リピータブロック１０を構成する基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３は、論理シミュレーションを実行するために必要な論理情報と遅延情報を含むシミュレーションモデルを有していればよい。ここで、半導体集積回路装置ごとにリピータブロックの構成は異なるが、基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３のシミュレーションモデルと基本機能セル間の接続情報に基づいてリピータブロックの論理シミュレーションを実行することができる。すなわち、例えば、各種の基本機能セルのシミュレーションモデルを共通ライブラリ化しておけば、リピータブロックの構成を変更してもリピータブロック全体のシミュレーションモデルを作成する必要がなく、設計工数の削減を実現することができる。
【００３４】
図２（Ａ）、（Ｂ）は、シミュレーションモデルに含まれる論理情報の例を示す図である。図２（Ａ）は論理式として表現された論理情報の例を示す図であり、図２（Ｂ）は真理値表として表現された論理情報の例を示す図である。図２（Ａ）、（Ｂ）ともに、基本機能セルがバッファである場合の論理情報の例を示す図である。図２（Ａ）の論理式は、基本機能セルの出力Ｑが常に入力Ｉと一致することを示している。図２（Ｂ）の真理値表では、入力Ｉが論理０、論理１、不定値Ｘの時は出力Ｑは入力Ｉと一致するが、入力ＩがハイインピーダンスＺの時は出力Ｑは不定値Ｘになることを示している。一般に、真理値表の形式の方が複雑な論理を表現することが容易である。
【００３５】
例えば、設計者が各基本機能セルの論理を実現する論理関数、論理式、真理値表等を定義することによって各基本機能セルの論理情報を作成することができる。
【００３６】
図３（Ａ）、（Ｂ）は、シミュレーションモデルに含まれる遅延情報の例を示す図である。図３（Ａ）は入力Ｉの立ち上がり（論理０から論理１への変化）に対して出力Ｑが変化するまでの時間を表す遅延情報を示す図であり、図３（Ｂ）は入力Ｉの立ち下がり（論理１から論理０への変化）に対して出力Ｑが変化するまでの時間を表す遅延情報を示す図である。図３（Ａ）、（Ｂ）ともに、基本機能セルがバッファである場合に、入力の遷移時間と出力の負荷容量をパラメータとするテーブル形式の遅延情報の例を示す図である。図３（Ａ）は、入力の遷移時間がｔＩ１〜ｔＩ４のいずれかであり、出力の負荷容量がｃＬ１〜ｃＬ４のいずれかである時に、入力の遷移時間と出力の負荷容量の組に対して遅延値がｔｒ１１〜ｔｒ４４のいずれかであることを示している。例えば、入力の遷移時間がｔＩ１で出力の負荷容量がｃＬ１の時は遅延値はｔｒ１１である。同様に、図３（Ｂ）は、入力の遷移時間がｔＩ１〜ｔＩ４のいずれかであり、出力の負荷容量がｃＬ１〜ｃＬ４のいずれかである時に、入力の遷移時間と出力の負荷容量の組に対して遅延値がｔｆ１１〜ｔｆ４４のいずれかであることを示している。例えば、入力の遷移時間がｔＩ１で出力の負荷容量がｃＬ１の時は遅延値はｔｆ１１である。
【００３７】
例えば、各基本機能セルについて入力の遷移時間と出力の負荷容量の２つのパラメータをそれぞれ変更しながら、回路シミュレーションを実行することにより、実行結果に基づいて各基本機能セルの遅延情報を作成することができる。
【００３８】
図４は、本実施の形態の半導体集積回路装置の設計フローチャートの例である。
【００３９】
まず、所定の基本機能を有する基本機能セルを使用し、リピータブロックの回路情報を作成する（ステップＳ１０）。例えば、図１の半導体集積回路装置１００の設計においては、リピータブロック１０について、それぞれ直列に接続された基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３を含み、基本機能セル１２−１、１４−１、１６−１の各入力がリピータブロック１０の入力端子Ｉ１２、Ｉ１４、Ｉ１６とそれぞれ接続されており、基本機能セル１２−Ｎ１、１４−Ｎ２、１６−Ｎ３の各出力がリピータブロック１０の出力端子Ｏ１２、Ｏ１４、Ｏ１６とそれぞれ接続されていることを表す回路情報を作成する。例えば、設計者が回路図エディタを使用してリピータブロック１０の回路図を作成してもよいし、テキストエディタを使用してＨＤＬ（Hardware Description Language）記述等でリピータブロック１０の回路情報を有するテキストファイルを作成してもよい。
【００４０】
なお、基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３は、少なくとも論理情報と遅延情報を含むシミュレーションモデルが作成されていることが要求される。さらに、基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３のシミュレーションモデルを含んで構成され、各半導体集積回路装置の設計に共通に使用可能なシミュレーションライブラリが作成されていることが好ましい。
【００４１】
次に、デジタルブロック及びアナログブロックとリピータブロックの間の接続情報を作成する（ステップＳ１２）。すなわち、デジタルブロックとアナログブロックの間にリピータブロックを配置し、デジタルブロックとリピータブロックの間の接続情報を作成するとともに、アナログブロックとリピータブロックの間の接続情報を作成する。例えば、図１の半導体集積回路装置１００の設計においては、デジタルブロック２０の出力端子Ｏ２２、Ｏ２４、Ｏ２６とリピータブロック１０の入力端子Ｉ１２、Ｉ１４、Ｉ１６がそれぞれ配線４２、４４、４６で接続されており、リピータブロック１０の出力端子Ｏ１２、Ｏ１４、Ｏ１６とアナログブロック３０の入力端子Ｉ３２、Ｉ３４、Ｉ３６がそれぞれ配線５２、５４、５６で接続されていることを表す接続情報を作成する。
【００４２】
次に、デジタルブロックとリピータブロックの間の接続情報（ステップＳ１２で作成）に基づいて、デジタルブロックとリピータブロックの間の配線のレイアウト情報を作成する（ステップＳ１４）。例えば、設計者がレイアウトエディタを使用してデジタルブロックとリピータブロックの間の配線のレイアウトを行ってもよい。例えば、図１の半導体集積回路装置１００の設計においては、デジタルブロック２０の出力端子Ｏ２２、Ｏ２４、Ｏ２６とリピータブロック１０の入力端子Ｉ１２、Ｉ１４、Ｉ１６をそれぞれ接続する配線４２、４４、４６のレイアウト情報を作成する。さらに、リピータブロック１０の回路情報に基づいて、リピータブロック１０のレイアウト情報を作成するようにしてもよい。
【００４３】
次に、デジタルブロックとリピータブロックの間の接続情報（ステップＳ１２で作成）及びレイアウト情報（ステップＳ１４で作成）に基づいて、デジタルブロックとリピータブロックの間の各配線の寄生抵抗及び寄生容量を抽出し、当該寄生抵抗及び寄生容量の情報を含む配線ＲＣ情報を作成する（ステップＳ１６）。例えば、図１の半導体集積回路装置１００の設計においては、寄生抵抗・寄生容量抽出ツール等を使用してデジタルブロック２０とリピータブロック１０の間の各配線４２、４４、４６の寄生抵抗及び寄生容量を抽出し、当該寄生抵抗及び寄生容量の情報を含む配線ＲＣ情報を作成する。また、リピータブロック１０の回路情報及びレイアウト情報に基づいて、リピータブロック１０に含まれる各配線の寄生抵抗及び寄生容量を抽出し、当該寄生抵抗及び寄生容量の情報をさらに含む配線ＲＣ情報を作成するようにしてもよい。さらに、デジタルブロック２０の回路情報及びレイアウト情報に基づいて、デジタルブロック２０内部の各配線の寄生抵抗及び寄生容量を抽出し、当該寄生抵抗及び寄生容量の情報をさらに含む配線ＲＣ情報を作成してもよい。
【００４４】
次に、デジタルブロックの回路情報、リピータブロックの回路情報（ステップＳ１０で作成）及びデジタルブロックとリピータブロックの間の接続情報（ステップＳ１２で作成）から論理シミュレーション用のネットリストを生成する（ステップＳ１８）。例えば、図１の半導体集積回路装置１００の設計においては、デジタルブロック２０の回路情報、リピータブロック１０の回路情報及びデジタルブロック２０とリピータブロック１０の間の接続情報から論理シミュレーション用のネットリストを生成する。例えば、回路図エディタの機能を利用して、デジタルブロックとリピータブロックを含む回路図からネットリストを生成してもよいし、設計者がテキストエディタを使用してネットリストを作成してもよい。また、例えば、Ｖｅｒｉｌｏｇシミュレータを使用して論理シミュレーションを行う場合は、Ｖｅｒｉｌｏｇ−ＨＤＬで記述されたネットリストを作成すればよい。
【００４５】
次に、アナログブロックの回路情報及びアナログブロックとリピータブロックの間の接続情報（ステップＳ１２で作成）から回路シミュレーション用のネットリストを生成する（ステップＳ２０）。例えば、図１の半導体集積回路装置１００の設計においては、アナログブロック３０の回路情報及びアナログブロック３０とリピータブロック１０の間の接続情報から回路シミュレーション用のネットリストを生成する。例えば、回路図エディタの機能を利用して、アナログブロックを含む回路図からネットリストを生成してもよいし、設計者がテキストエディタを使用してネットリストを作成してもよい。また、例えば、ＳＰＩＣＥシミュレータを使用して回路シミュレーションを行う場合は、ＳＰＩＣＥネットリストを作成すればよい。
【００４６】
次に、少なくとも、基本機能セルのシミュレーションモデル、論理シミュレーション用のネットリスト（ステップＳ１８で生成）及び配線ＲＣ情報（ステップＳ１６で作成）を使用して論理シミュレーションを実行する（ステップＳ２２）。例えば、図１の半導体集積回路装置１００の設計においては、デジタルブロック２０及びリピータブロック１０を含む回路のネットリストに対して論理シミュレーションを実行する。ステップＳ１８で生成されるネットリストにはリピータブロック１０の回路情報が含まれており、デジタルブロック２０とリピータブロック１０の間の配線の寄生抵抗及び寄生容量を考慮した論理シミュレーションを実行する。ここで、例えば、配線ＲＣ情報を、ＳＤＦ（Standard Delay Format）形式等の遅延情報に変換して論理シミュレータに入力し、論理シミュレーションを実行してもよい。
【００４７】
次に、回路シミュレーション用のネットリスト（ステップＳ２０で生成）を使用して回路シミュレーションを実行する（ステップＳ２４）。例えば、図１の半導体集積回路装置１００の設計においては、アナログブロック３０のネットリストに対して回路シミュレーションを実行する。ステップＳ２２における論理シミュレーションとステップＳ２４における回路シミュレーションは、同期をとりながら並行して実行するようにしてもよい。
【００４８】
２．マイクロコンピュータ
図５は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【００４９】
本マイクロコンピュータ７００は、ＣＰＵ５１０、キャッシュメモリ５２０、ＲＯＭ７１０、ＲＡＭ７２０、ＭＭＵ７３０、ＬＣＤコントローラ５３０、リセット回路５４０、プログラマブルタイマ５５０、リアルタイムクロック（ＲＴＣ）５６０、ＤＭＡコントローラ５７０、割り込みコントローラ５８０、通信制御回路５９０、バスコントローラ６００、Ａ／Ｄ変換器６１０、Ｄ／Ａ変換器６２０、入力ポート６３０、出力ポート６４０、Ｉ／Ｏポート６５０、クロック発生装置６６０、プリスケーラ６７０、クロック停止制御回路７４０及びそれらを接続する汎用バス６８０、専用バス７５０等、各種ピン６９０等を含む。
【００５０】
３．電子機器
図６に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器８００は、マイクロコンピュータ（またはＡＳＩＣ）８１０、入力部８２０、メモリ８３０、電源生成部８４０、ＬＣＤ８５０、音出力部８６０を含む。
【００５１】
ここで、入力部８２０は、種々のデータを入力するためのものである。マイクロコンピュータ８１０は、この入力部８２０により入力されたデータに基づいて種々の処理を行うことになる。メモリ８３０は、マイクロコンピュータ８１０などの作業領域となるものである。電源生成部８４０は、電子機器８００で使用される各種電源を生成するためのものである。ＬＣＤ８５０は、電子機器が表示する各種の画像（文字、アイコン、グラフィック等）を出力するためのものである。
【００５２】
音出力部８６０は、電子機器８００が出力する各種の音（音声、ゲーム音等）を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００５３】
図７（Ａ）に、電子機器の１つである携帯電話９５０の外観図の例を示す。この携帯電話９５０は、入力部として機能するダイヤルボタン９５２や、電話番号や名前やアイコンなどを表示するＬＣＤ９５４や、音出力部として機能し音声を出力するスピーカ９５６を備える。
【００５４】
図７（Ｂ）に、電子機器の１つである携帯型ゲーム装置９６０の外観図の例を示す。この携帯型ゲーム装置９６０は、入力部として機能する操作ボタン９６２、十字キー９６４や、ゲーム画像を表示するＬＣＤ９６６や、音出力部として機能しゲーム音を出力するスピーカ９６８を備える。
【００５５】
図７（Ｃ）に、電子機器の１つであるパーソナルコンピュータ９７０の外観図の例を示す。このパーソナルコンピュータ９７０は、入力部として機能するキーボード９７２や、文字、数字、グラフィックなどを表示するＬＣＤ９７４、音出力部９７６を備える。
【００５６】
本実施の形態のマイクロコンピュータを図７（Ａ）〜図７（Ｃ）の電子機器に組み込むことにより、低価格でコストパフォーマンスの高い電子機器を短期間で提供することができる。
【００５７】
なお、本実施形態を利用できる電子機器としては、図７（Ａ）、（Ｂ）、（Ｃ）に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のＬＣＤを使用する種々の電子機器を考えることができる
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【００５８】
例えば、図１で説明したリピータブロック１０に含まれる基本機能セル１２−１〜Ｎ１、１４−１〜Ｎ２、１６−１〜Ｎ３は、すべてデジタルブロック２０からアナログブロック３０に供給される信号を中継するように機能するが、アナログブロック３０からデジタルブロック２０に供給される信号を中継するように機能してもよい。リピータブロックに含まれる基本機能セルがアナログブロックからデジタルブロックに供給される信号を中継するように機能する場合であっても、図４の設計フローは同様に適用することができる。また、その場合でも、同様に、リピータブロックとアナログブロックが隣り合うようにレイアウトして、リピータブロックとアナログブロックの間の各配線の配線長をできる限り短くするのが望ましい。
【００５９】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【図面の簡単な説明】
【００６０】
【図１】本実施の形態の半導体集積回路の設計方法によって設計製造された半導体集積回路の例を説明するための図。
【図２】図２（Ａ）は、論理式として表現された論理情報の例を示す図であり、図２（Ｂ）は真理値表として表現された論理情報の例を示す図である。
【図３】図３（Ａ）は入力の立ち上がり（論理０から論理１への変化）に対して出力が変化するまでの時間を表す遅延情報を示す図であり、図３（Ｂ）は入力の立ち下がり（論理１から論理０への変化）に対して出力が変化するまでの時間を表す遅延情報を示す図である。
【図４】本実施の形態の半導体集積回路装置の設計フローチャートの例。
【図５】本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【図６】マイクロコンピュータを含む電子機器のブロック図の一例を示す。
【図７】図７（Ａ）（Ｂ）（Ｃ）は、種々の電子機器の外観図の例である。
【符号の説明】
【００６１】
１０  リピータブロック、１２−１〜Ｎ１  基本機能セル、１４−１〜Ｎ２  基本機能セル、１６−１〜Ｎ３  基本機能セル、２０  デジタルブロック、２２  バッファ（論理セル）、２４  バッファ（論理セル）、２６  バッファ（論理セル）、３０  アナログブロック、３２  バッファ（論理セル）、３４  バッファ（論理セル）、３６  バッファ（論理セル）、４２  配線、４４  配線、４６  配線、５２  配線、５４  配線、５６  配線、１００  半導体集積回路装置、５１０  ＣＰＵ、５２０  キャッシュメモリ、５３０  ＬＣＤコントローラ、５４０  リセット回路、５５０  プログラマブルタイマ、５６０  リアルタイムクロック（ＲＴＣ）、５７０  ＤＭＡコントローラ兼バスＩ／Ｆ、５８０  割り込みコントローラ、５９０  通信制御回路（シリアルインターフェース）、６００  バスコントローラ、６１０  Ａ／Ｄ変換器、６２０  Ｄ／Ａ変換器、６３０  入力ポート、６４０  出力ポート、６５０  Ｉ／Ｏポート、６６０  クロック発生装置（ＰＬＬ）、６７０  プリスケーラ、６８０  汎用バス、６９０  各種ピン、７００  マイクロコンピュータ、７１０  ＲＯＭ、７２０  ＲＡＭ、７３０  ＭＭＵ、７４０  クロック停止制御回路、７５０  専用バス、８００  電子機器、８１０  マイクロコンピュータ（ＡＳＩＣ）、８２０  入力部、８３０  メモリ、８４０  電源生成部、８５０  ＬＣＤ、８６０  音出力部、９５０  携帯電話、９５２  ダイヤルボタン、９５４  ＬＣＤ、９５６  スピーカ、９６０  携帯型ゲーム装置、９６２  操作ボタン、９６４  十字キー、９６６  ＬＣＤ、９６８  スピーカ、９７０  パーソナルコンピュータ、９７２  キーボード、９７４  ＬＣＤ、９７６  音出力部
【図１】
2008250396.tif 000003
【図２】
2008250396.tif 000004
【図３】
2008250396.tif 000005
【図４】
2008250396.tif 000006
【図５】
2008250396.tif 000007
【図６】
2008250396.tif 000008
【図７】
2008250396.tif 000009