(57)【要約】【課題】クロックのスキュー対策に多大な時間やコストをかけずに、サブモジュール単位で個別にクロックを制御可能にすること【解決手段】集積回路装置内のフィリッププロップに供給されるクロックの同期がとれるように、クロックラインにクロックバッファを挿入するクロックツリー構築ツールを用いて、個別にクロック停止の制御を行いたいフィリッププロップに接続されたクロックラインに、クロック停止機能付きクロックバッファを挿入する。クロックツリー構築ツールは、ネットリストに定義されたフィリッププロップとクロック停止制御信号との関連づけに基づきフィリッププロップのグループ化を行うステップと、グループ化された各フィリッププロップのクロックライン停止機能付きクロックバッファを挿入するステップと、ネットリストの定義に基づき停止機能付きクロックバッファにクロック停止制御信号を接続することを特徴とする。【選択図】        図４
2006065389.tif 000002
【特許請求の範囲】
【請求項１】
集積回路装置内のフィリッププロップに供給されるクロックの同期がとれるように、クロックラインにクロックバッファを挿入するクロックツリー構築ツールを用いて、
個別にクロック停止の制御を行いたいフィリッププロップに接続されたクロックラインに、クロック停止機能付きクロックバッファを挿入することを特徴とする集積回路装置の設計方法。
【請求項２】
請求項１において、
クロック停止制御信号とクロック停止制御信号の制御対象となるフィリッププロップの対応付けを定義するネットリストを作成し、前記ネットリストに基づきクロックツリー構築ツールを実行させて、
個別にクロック停止の制御を行いたいフィリッププロップに接続されたクロックラインに、クロック停止機能付きクロックバッファを挿入することを特徴とする集積回路装置の設計方法。
【請求項３】
集積回路装置内のフィリッププロップに供給されるクロックの同期がとれるように、クロックラインにクロックバッファを挿入するクロックツリー構築ツールであって、
ネットリストに定義されたフィリッププロップとクロック停止制御信号との関連づけに基づきフィリッププロップのグループ化を行うステップと、
グループ化された各フィリッププロップのクロックライン停止機能付きクロックバッファを挿入するステップと、
ネットリストの定義に基づき停止機能付きクロックバッファにクロック停止制御信号を接続することを特徴とするクロックツリー構築ツール。
【請求項４】
請求項１乃至２のいずれかに記載された集積回路装置の設計方法又は請求項３に記載されたクロックツリー構成ツールを用いて設計製造されたことを特徴とする集積回路装置。
【請求項５】
請求項４に記載の集積回路装置を含むことを特徴とするマイクロコンピュータ。
【請求項６】
請求項５に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置の設計方法、クロックツリー構築ツール及び集積回路装置に関する。
【背景技術】
【０００２】
多くの半導体集積回路装置において、消費電力の削減を実現するためには内部のサブモジュールに対して個別にクロックを停止させることが好ましい。
【０００３】
同期回路設計の半導体集積回路装置は、クロック・ツリー・シンセシス等のクロックツリー構築ツールを使用してクロックスキューの対策を行っているため、クロックドライバーの前段か、クロックツリーの最終段のクロックバッファ後段にクロック停止回路を挿入して実現している。
【特許文献１】特開平８−２８９１５３号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところがクロック・ツリーの最終段のクロックバッファ後段でクロック停止回路を実現した場合、フィリップフロップのクロック入力までのクロックスキューが拡大し、これを防ぐための回路設計やフロアプラン及びレイアウトの行程において多くのコストと時間を費やしていた。
【０００５】
またクロックドライバーの前段にクロック停止回路を実現した場合は各サブモジュールや各機能モジュール毎の細かなブロックでのクロック停止の実現が困難であった。
【０００６】
このように個別にクロックを停止させるための回路を挿入すると、クロックのスキューの発生を伴うため、サブモジュール単位で個別にクロックを制御することは困難であった。
【０００７】
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、クロックのスキュー対策に多大な時間やコストをかけずに、サブモジュール単位で個別にクロックを制御可能な集積回路の設計方法、クロックツリー構築ツール及び集積回路装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
（１）本発明は、
集積回路装置内のフィリッププロップに供給されるクロックの同期がとれるように、クロックラインにクロックバッファを挿入するクロックツリー構築ツールを用いて、
個別にクロック停止の制御を行いたいフィリッププロップに接続されたクロックラインに、クロック停止機能付きクロックバッファを挿入することを特徴とする集積回路装置の設計方法である。
【０００９】
ここで停止機能付きクロックバッファとは、バッファの一種であり、所定のクロック停止制御信号によりクロックバッファに入力されるクロックの出力を停止させる機能を有するクロック停止回路であり、例えばクロック停止制御信号とクロック信号のアンド回路として構成してもよい。
【００１０】
クロックツリー構成ツールを用いることにより、各フィリッププロップへのクロックのスキューを防止するようにクロックラインにクロックバッファが挿入されるため、当該ツールを使用することでクロックツリー構築の段階で内部サブモジュール単位でクロックの供給、停止を制御するためのクロック停止回路（停止機能付きクロックバッファ）の自動挿入が可能になる。
【００１１】
従ってクロックのスキュー等を心配することなく、サブモジュール毎又はＬＳＩ全体で簡単にクロック停止回路を挿入することが可能になり、半導体回路の低消費電力化を実現することができる。
【００１２】
（２）本発明の集積回路装置の設計方法は、
クロック停止制御信号とクロック停止制御信号の制御対象となるフィリッププロップの対応付けを定義するネットリストを作成し、前記ネットリストに基づきクロックツリー構築ツールを実行させて、
個別にクロック停止の制御を行いたいフィリッププロップに接続されたクロックラインに、クロック停止機能付きクロックバッファを挿入することを特徴とする。
【００１３】
（３）本発明は、
集積回路装置内のフィリッププロップに供給されるクロックの同期がとれるように、クロックラインにクロックバッファを挿入するクロックツリー構築ツールであって、
ネットリストに定義されたフィリッププロップとクロック停止制御信号との関連づけに基づきフィリッププロップのグループ化を行うステップと、
グループ化された各フィリッププロップのクロックライン停止機能付きクロックバッファを挿入するステップと、
ネットリストの定義に基づき停止機能付きクロックバッファにクロック停止制御信号を接続することを特徴とする。
【００１４】
本発明のクロックツリー構築ツールは、挿入する任意のクロックバッファとしてクロック停止機能付きクロックバッファを指定可能に構成する。これによりメインクロック・ドライバーの後段に内部サブモジュールやフィリッププロップ毎にクロックの供給／停止を制御可能なクロック停止回路（クロック停止機能付きバッファ）の自動挿入を行うことができる。
【００１５】
またクロックツリー構築ツールは、ファイルやスクリプトの記述にしたがって任意のクロック停止制御信号と停止機能付きクロックバッファを接続するように構成してもよい。
【００１６】
ここで停止機能付きクロックバッファとは、バッファの一種であり、所定のクロック停止制御信号によりクロックバッファに入力されるクロックの出力を停止させる機能を有するクロック停止回路であり、例えばクロック停止制御信号とクロック信号のアンド回路として構成してもよい。
【００１７】
（４）本発明は、
上記のいずれかに記載された集積回路装置の設計方法又はクロックツリー構成ツールを用いて設計製造されたことを特徴とする集積回路装置である。
【００１８】
（５）本発明は、
上記に記載の集積回路装置を含むことを特徴とするマイクロコンピュータである。
【００１９】
（６）本発明は、
上記に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器である。
【発明を実施するための最良の形態】
【００２０】
１．集積回路装置、集積回路装置の設計方法、クロックツリー構築ツール
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００２１】
図１〜図３は本実施の形態で使用するクロックツリー構築ツール（クロック停止機能付きバッファを挿入可能なクロックバッファ挿入ツール）について説明するための図である。
【００２２】
クロックツリー構築ツールは、集積回路装置（ＩＣ）内のフィリッププロップに供給するクロックの同期がとれるようにクロックラインにクロックバッファ（クロック停止機能付きバッファを含む）を挿入してクロックツリーを構築するツールである。
【００２３】
本実施の形態のクロックツリー構築ツールは、挿入する任意のクロックバッファとしてクロック停止機能付きクロックバッファを指定可能に構成する。これによりメインクロック・ドライバーの後段に内部サブモジュールやフィリッププロップ毎にクロックの供給／停止を制御可能なクロック停止回路（クロック停止機能付きバッファ）の自動挿入を行うことができる。
【００２４】
またクロックツリー構築ツールは、ファイルやスクリプトの記述にしたがって任意のクロック停止制御信号と停止機能付きクロックバッファを接続するように構成してもよい。
【００２５】
図１はクロックツリー構築ツールの機能定義の記述の一例である。
【００２６】
フィリッププロップセル名２０と任意のクロック停止制御信号３０を関連づけて記載したネットリス１０を指定してクロックツリー構成ツールを実行することにより、セル名がFF1のフィリッププロップについてクロック停止制御信号Stopaでクロックの供給／停止を制御可能にするためのクロック停止機能付きバッファをクロックラインに挿入することができる。
【００２７】
ここで停止機能付きクロックバッファとは、バッファの一種であり、所定のクロック停止制御信号によりクロックバッファに入力されるクロックの出力を停止させる機能を有するクロック停止回路であり、例えば図３の３２０や３３０に示すようなクロック停止制御信号とクロック信号のアンド回路として構成してもよい。
【００２８】
図２はクロックツリー構成ツールの対象となるサブモジュールを示している。
【００２９】
サブモジュールＡ（１００）、サブモジュールＢ（２００）は、集積回路装置（ＩＣ）に含まれたサブモジュールである。サブモジュールＡ（１００）はＵ１（１１０）、Ｕ２（１２０）、Ｕ３（１３０）、Ｕ４（１４０）、Ｕ５（１５０）、Ｕ６（１６０）の６個のフィリッププロップを含んで構成されている。サブモジュールＢ（２００）はＵ２１（２１０）、Ｕ２２（２２０）、Ｕ２３（２３０）、Ｕ２４（２４０）、Ｕ２５（２５０）、Ｕ２６（２６０）の６個のフィリッププロップを含んで構成されている。
【００３０】
ここでサブモジュールＡ及びサブモジュールＢの各フィリッププロップをいずれもメインクロックで同期制御し、クロックの供給及び停止についてはモジュール単位で個別に制御可能な構成にする場合を例にとり説明する。
【００３１】
例えばサブモジュールＡはクロック停止制御信号Ａによりクロックの供給及び停止を制御し、サブモジュールＢはクロック停止制御信号Ｂによりクロックの供給及び停止を制御するとする。
【００３２】
かかる場合本実施の形態では、各フィリッププロップについてクロックの供給及び停止を制御するためのクロック停止制御信号を関連づけて記載したねっとりすとを指定してクロックツリー構成ツールを実行する。
【００３３】
例えば１１２、１２２、１３２，１４２，１５２、１６２に示すように、サブモジュールＡに属する各フィリッププロップについてはクロック停止制御信号Ａ（Stopa）をネットリストで指定し、２１２、２２２、２３２，２４２，２５２、２６２に示すようにサブモジュールＢに属する各フィリッププロップについてはクロック停止制御信号Ｂ（Stopb）をネットリストで指定する。
【００３４】
図３はクロックツリー構成ツール実行によって生成されたクロックツリーについて説明するための図である。
【００３５】
クロックツリー３００は指定したネットリストにしたがってクロックツリー構成ツールが自動配置配線を行って生成された回路（集積回路装置の一部）である。
【００３６】
３００に示すようにクロックツリー構成ツールによって、メイン・クロック・ドライバー３１０の後段のクロックライン上に停止機能付き一次クロックバッファ３２０、３３０、２次クロックバッファ３４０，３４２，３４４，３５０，３５２，３５４が挿入されている。
【００３７】
停止機能付き一次クロックバッファ３２０の入力は、メイン・クロック・ドライバー３１０から供給されるクロックライン３１２及びクロック停止制御信号Ａ（３２２）に接続され、その出力は２次クロックバッファ３４０，３４２，３４４を経て、サブモジュールＡに属する各フィリッププロップ１１０〜１６０に接続される。
【００３８】
また停止機能付き一次クロックバッファ３３０の入力は、メイン・クロック・ドライバー３１０から供給されるクロックライン３１２及びクロック停止制御信号Ｂ（３３２）に接続され、その出力は２次クロックバッファ３５０，３５２，３５４を経て、サブモジュールＢに属する各フィリッププロップ２１０〜２６０に接続される。
【００３９】
このように配置配線されることにより、サブモジュールＡ（１００）、サブモジュールＢ（２００）に属する各フィリッププロップにはスキューなしにメインクロック３１２が供給されるとともに、サブモジュールＡ（１００）、サブモジュールＢ（２００）に対し、それぞれクロック停止制御信号Ａ（３２２）、クロック停止制御信号Ｂ（３３２）により個別にクロックの供給、停止の制御を行うことができる。
【００４０】
クロックツリー構成ツールを用いることにより、各フィリッププロップへのクロックのスキューを防止するようにクロックラインにクロックバッファが挿入されるため、当該ツールを使用することでクロックツリー構築の段階で内部サブモジュール単位でクロックの供給、停止を制御するためのクロック停止回路（停止機能付きクロックバッファ）の自動挿入が可能になる。
【００４１】
従ってクロックのスキュー等を心配することなく、サブモジュール毎又はＬＳＩ全体で簡単にクロック停止回路を挿入することが可能になり、半導体回路の低消費電力化を実現することができる。
【００４２】
図４は、本実施の形態の半導体の設計方法（製造方法）について説明するためのフローチャート図である。
【００４３】
まずクロック停止制御信号と各フィリッププロップにクロック停止制御信号を関連づける機能を定義する（ステップＳ１０）。例えば図１に示すように各フィリッププロップのセル名とクロック停止制御信号の関連づけを定義する。
【００４４】
次に機能定義に基づきクロックツリー構成ツールに対して指定するネットリストをツールにより作成する（ステップＳ２０）。これにより図２に示すような各フィリッププロップがセル名＋クロック停止制御信号で定義されたネットリストが生成される。
【００４５】
次にネットリストを指定してクロックツリー構成ツールを実行してクロックツリーを作成する（ステップＳ３０）。これにより図３の３００に示すようなクロックツリーが生成される。
【００４６】
クロックツリー構成ツールで構築されたクロックツリーの機能を確認する（ステップＳ４０）。
【００４７】
図５は、本実施の形態のクロックツリー構成ツールの処理について説明するためのフローチャート図である。
【００４８】
まずネットリストに定義されたフィリッププロップとクロック停止制御信号との関連づけに基づきフィリッププロップのグループ化を行う（ステップＳ１１０）。
【００４９】
次にグループ化に基づき各フィリッププロップのクロックラインにクロックバッファ又は停止機能付きクロックバッファを挿入する（ステップＳ１２０）。
【００５０】
次にネットリストの定義に基づき停止機能付きクロックバッファにクロック停止制御信号を接続する（ステップＳ１３０）。
【００５１】
２．マイクロコンピュータ
図６は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【００５２】
本マイクロコンピュータ７００は、ＣＰＵ５１０、キャッシュメモリ５２０、ＲＡＭ７１０，ＲＯＭ７２０、ＭＭＵ７３０、ＬＣＤコントローラ５３０、リセット回路５４０、プログラマブルタイマ５５０、リアルタイムクロック（ＲＴＣ）５６０、ＤＲＡＭコントローラ５７０、割り込みコントローラ５８０、通信制御装置５９０、バスコントローラ６００、Ａ／Ｄ変換器６１０、Ｄ／Ａ変換器６２０、入力ポート６３０、出力ポート６４０、Ｉ／Ｏポート６５０、クロック発生装置６６０、プリスケーラ６７０、クロック停止制御回路７４０及びそれらを接続する汎用バス６８０、専用バス７５０等、各種ピン６９０等を含む。
【００５３】
３．電子機器
図７に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器８００は、マイクロコンピュータ（またはＡＳＩＣ）８１０、入力部８２０、メモリ８３０、電源生成部８４０、ＬＣＤ８５０、音出力部８６０を含む。
【００５４】
ここで、入力部８２０は、種々のデータを入力するためのものである。マイクロコンピュータ８１０は、この入力部８２０により入力されたデータに基づいて種々の処理を行うことになる。メモリ８３０は、マイクロコンピュータ８１０などの作業領域となるものである。電源生成部８４０は、電子機器８００で使用される各種電源を生成するためのものである。ＬＣＤ８５０は、電子機器が表示する各種の画像（文字、アイコン、グラフィック等）を出力するためのものである。  音出力部８６０は、電子機器８００が出力する各種の音（音声、ゲーム音等）を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００５５】
図８（Ａ）に、電子機器の１つである携帯電話９５０の外観図の例を示す。この携帯電話９５０は、入力部として機能するダイヤルボタン９５２や、電話番号や名前やアイコンなどを表示するＬＣＤ９５４や、音出力部として機能し音声を出力するスピーカ９５６を備える。
【００５６】
図８（Ｂ）に、電子機器の１つである携帯型ゲーム装置９６０の外観図の例を示す。この携帯型ゲーム装置９６０は、入力部として機能する操作ボタン９６２、十字キー９６４や、ゲーム画像を表示するＬＣＤ９６６や、音出力部として機能しゲーム音を出力するスピーカ９６８を備える。
【００５７】
図８（Ｃ）に、電子機器の１つであるパーソナルコンピュータ９７０の外観図の例を示す。このパーソナルコンピュータ９７０は、入力部として機能するキーボード９７２や、文字、数字、グラフィックなどを表示するＬＣＤ９７４、音出力部９７６を備える。
【００５８】
本実施の形態のマイクロコンピュータを図８（Ａ）〜図８（Ｃ）の電子機器に組みむことにより、低価格で画像処理速度の速いコストパフォーマンスの高い電子機器を提供することができる。
【００５９】
なお、本実施形態を利用できる電子機器としては、図８（Ａ）、（Ｂ）、（Ｃ）に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のＬＣＤを使用する種々の電子機器を考えることができる。
【００６０】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【００６１】
例えば上記実施の形態では、１次クロックバッファに停止機能付きクロックバッファを配置する場合を例にとり説明したが、これに限られない。２次クロックバッファやより高次のクロックバッファに停止機能付きクロックバッファを配置してより細かなクロックの供給／停止を制御するようにしてもよい。
【図面の簡単な説明】
【００６２】
【図１】クロックツリー構築ツールの機能定義の記述の一例である。
【図２】クロックツリー構成ツールの対象となるサブモジュールを示している。
【図３】クロックツリー構成ツール実行によって生成されたクロックツリーについて説明するための図である。
【図４】本実施の形態の半導体の設計方法（製造方法）について説明するためのフローチャート図である。
【図５】本実施の形態のクロックツリー構成ツールの処理について説明するためのフローチャート図である。
【図６】本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【図７】マイクロコンピュータを含む電子機器のブロック図の一例を示す。
【図８】図８（Ａ）（Ｂ）（Ｃ）は、種々の電子機器の外観図の例である。
【符号の説明】
【００６３】
１０  ネットリスト、１００  サブモジュールＡ、１１０〜１６０  サブモジュールＡに属するフィリップフロップ、２００  サブモジュールＢ、２１０〜２６０  サブモジュールＢに属するフィリップフロップ、３００  クロックツリー、３１０  メイン・クロックドライバー、３１２  メインクロック、３２０  停止機能付き１次バッファ、３２２  クロック停止制御信号Ａ、３３２  クロック停止制御信号Ｂ、３４０〜３４４  ２次クロックバッファ、３３０  停止機能付き１次バッファ、３５０〜３５４  ２次クロックバッファ、５１０  ＣＰＵ、５２０  キャッシュメモリ５３０  ＬＣＤコントローラ、５４０  リセット回路、５５０  プログラマブルタイマ、５６０  リアルタイムクロック（ＲＴＣ）、５７０  DMAコントローラ兼バスＩ／Ｆ、５８０  割り込みコントローラ、５９０  通信制御回路（シリアルインターフェース）、６００  バスコントローラ、６１０  Ａ／Ｄ変換器、６２０  Ｄ／Ａ変換器、６３０  入力ポート、６４０  出力ポート、６５０  Ｉ／Ｏポート、６６０  クロック発生装置（ＰＬＬ）、６７０  プリスケーラ、６８０  汎用バス、６９０  各種ピン、７００  マイクロコンピュータ、７１０  ＲＯＭ、７２０  ＲＡＭ、７３０  ＭＭＵ、７４０  クロック停止制御回路、７５０  専用バス、８００  電子機器、８１０  マイクロコンピュータ（ＡＳＩＣ）、８２０  入力部、８３０  メモリ、８４０  電源生成部８５０  ＬＣＤ、８６０  音出力部、９５０  携帯電話、９５２  ダイヤルボタン、９５４  ＬＣＤ、９５６  スピーカ、９６０  携帯型ゲーム装置、９６２  操作ボタン、９６４  十字キー、９６６  ＬＣＤ、９６８  スピーカ、９７０  パーソナルコンピュータ、９７２  キーボード、９７４  ＬＣＤ、９７６  音出力部
【図１】
2006065389.tif 000003
【図２】
2006065389.tif 000004
【図３】
2006065389.tif 000005
【図４】
2006065389.tif 000006
【図５】
2006065389.tif 000007
【図６】
2006065389.tif 000008
【図７】
2006065389.tif 000009
【図８】
2006065389.tif 000010