JP2009296373A - クロック生成回路、システムlsi - Google Patents
クロック生成回路、システムlsi Download PDFInfo
- Publication number
- JP2009296373A JP2009296373A JP2008148432A JP2008148432A JP2009296373A JP 2009296373 A JP2009296373 A JP 2009296373A JP 2008148432 A JP2008148432 A JP 2008148432A JP 2008148432 A JP2008148432 A JP 2008148432A JP 2009296373 A JP2009296373 A JP 2009296373A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- pattern
- system lsi
- generation circuit
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulation Of Pulses (AREA)
Abstract
【課題】システムLSIに好適なクロックを生成するクロック生成回路を提供する。
【解決手段】複数の機能モジュールを有するシステムLSIの各機能モジュールに供給するクロックを生成するクロック生成回路200である。クロック生成回路200は、周期的に読み出されることにより複数の異なるクロック信号を与えるクロックパターンを記録したクロックパターンメモリ210と、クロックパターンメモリ210のアドレスを順に指定して周期的なクロックパターンの読み出しを制御するポインタ制御部220と、を備える。
【選択図】 図2
【解決手段】複数の機能モジュールを有するシステムLSIの各機能モジュールに供給するクロックを生成するクロック生成回路200である。クロック生成回路200は、周期的に読み出されることにより複数の異なるクロック信号を与えるクロックパターンを記録したクロックパターンメモリ210と、クロックパターンメモリ210のアドレスを順に指定して周期的なクロックパターンの読み出しを制御するポインタ制御部220と、を備える。
【選択図】 図2
Description
本発明は、クロック生成回路およびシステムLSIに関する。具体的には、システムLSIを構成する各機能部に供給するクロックを生成するクロック生成回路およびこのクロック生成回路を備えたシステムLSIに関する。
多数の機能を一つのチップに組み込んで組み込みシステム製品の主要機能を1チップに集積したシステムLSIが開発されている。例えば、携帯電話やデジタルカメラの高機能化と小型化とを同時に実現するための主要な要素となっている。
システムLSIでは、内部に異なる動作周波数の領域を持ちながら動作することになる。
従来は、システムLSIの設計段階で各モジュールに使用する周波数の組み合わせを決定しておき、それに合わせた分周回路を組み込んでいた。
また、動作に応じて複数の周波数の組み合わせを選択可能とする場合には、複数のクロック周波数および乗換用信号を生成できるように分周回路を組み込み、ユーザーによるレジスタ操作またはCPUによる制御によって動作に応じた最適なクロックパターンを選択する構成が知られていた(例えば、特許文献1)。これにより実行処理内容の負荷に応じた周波数パターンを選択し、たとえば、高い性能を必要としない場合などには全体の消費電力を抑えることができる。
従来は、システムLSIの設計段階で各モジュールに使用する周波数の組み合わせを決定しておき、それに合わせた分周回路を組み込んでいた。
また、動作に応じて複数の周波数の組み合わせを選択可能とする場合には、複数のクロック周波数および乗換用信号を生成できるように分周回路を組み込み、ユーザーによるレジスタ操作またはCPUによる制御によって動作に応じた最適なクロックパターンを選択する構成が知られていた(例えば、特許文献1)。これにより実行処理内容の負荷に応じた周波数パターンを選択し、たとえば、高い性能を必要としない場合などには全体の消費電力を抑えることができる。
しかしながら、多くのクロックを生成するための分周回路を組み込むとなると、分周の論理回路部分で大きなスペースを必要とし、また、クロック生成部の設計が複雑になる。
さらに、クロックパターンの選択の自由度を増やすとなると、設計の複雑さが飛躍的に増す。
したがって、実際には、クロックの系統数を非常に絞った設計になってしまうのが実状である。例えば、クロックパターンは一つに限定し、しかも、モジュールごとに最適なクロックを供給するのではなく、2または3系統のクロックから各ドメインにおおよそ適するものを選択して供給する設計を行っている。
さらに、クロックパターンの選択の自由度を増やすとなると、設計の複雑さが飛躍的に増す。
したがって、実際には、クロックの系統数を非常に絞った設計になってしまうのが実状である。例えば、クロックパターンは一つに限定し、しかも、モジュールごとに最適なクロックを供給するのではなく、2または3系統のクロックから各ドメインにおおよそ適するものを選択して供給する設計を行っている。
ここで、複数のクロック信号を生成するにあたり、分周回路で分周していくのではなく、予めメモリに複数の信号パターンを用意しておき、メモリに書き込まれたデータを周期的に読み出すことで複数のクロック信号を生成する構成が特許文献2、特許文献3に開示されている。従来の構成は、中心となる一つのCPUの周辺に数個の周辺機能部が設けられている程度のマイコンにクロックを与えることが想定されている構成である。
そして、一つの中心CPUがメモリからのクロック信号の読み出しを制御し、各周辺機能部に対してクロックを与えていた。
そして、一つの中心CPUがメモリからのクロック信号の読み出しを制御し、各周辺機能部に対してクロックを与えていた。
しかしながら、近年、システムLSIでは、複数のCPUと多様な専用回路が搭載される傾向にある。そして、それぞれのCPUや専用回路は役割が異なり、各モジュールの実行処理内容によって必要な動作速度が異なってくる。
さらには、各モジュールにおける実行動作によっては最適なクロック周波数が時々によって異なってくるので、それぞれのモジュールごとにクロックを切り替えることが消費電力やメモリ帯域性能の効率の点で必要となる。そこで、システムLSIに好適なクロック生成の構成が求められていた。
さらには、各モジュールにおける実行動作によっては最適なクロック周波数が時々によって異なってくるので、それぞれのモジュールごとにクロックを切り替えることが消費電力やメモリ帯域性能の効率の点で必要となる。そこで、システムLSIに好適なクロック生成の構成が求められていた。
本発明のクロック生成回路は、複数の機能モジュールを有するシステムLSIの前記各機能モジュールに供給するクロックを生成するクロック生成回路を内蔵したシステムLSIであって、前記クロック生成回路は、周期的に読み出されることにより複数の異なるクロック信号を与えるクロックパターンを記録したクロックパターンメモリと、前記クロックパターンメモリのアドレスを周期的に順番に指定して前記クロックパターンの読み出しを制御するポインタ制御部と、を備えることを特徴とする。
また、本発明のシステムLSIは、複数の機能モジュールを有するシステムLSIの前記各機能モジュールに供給するクロックを生成するクロック生成回路を内蔵したシステムLSIであって、前記クロック生成回路は、周期的に読み出されることにより複数の異なるクロック信号を与えるクロックパターンを記録したクロックパターンメモリと、前記クロックパターンメモリのアドレスを順に指定して周期的な前記クロックパターンの読み出しを制御するポインタ制御部と、を備えることを特徴とする。
また、本発明のシステムLSIは、複数の機能モジュールを有するシステムLSIの前記各機能モジュールに供給するクロックを生成するクロック生成回路を内蔵したシステムLSIであって、前記クロック生成回路は、周期的に読み出されることにより複数の異なるクロック信号を与えるクロックパターンを記録したクロックパターンメモリと、前記クロックパターンメモリのアドレスを順に指定して周期的な前記クロックパターンの読み出しを制御するポインタ制御部と、を備えることを特徴とする。
本発明の構成において、ポインタ制御部によってクロックパターンメモリのアドレスが指定されてこのメモリに記録された信号パターンが読みだされる。ポインタ制御部がメモリの記録領域を周期的に順番に指定することにより所定周期のクロック信号が生成される。そして、クロックパターンメモリに予め複数の異なるクロック信号を与えるパターンが設定されていることから、複数の異なるクロック信号が同時に生成される。このようにクロックパターンをメモリに記録し、その記録したクロックパターンを読み出すことによって簡易に複数のクロック信号を生成することができる。
このように簡易に複数のクロック信号を生成することができるので、複数のCPUと多様な専用回路を搭載したシステムLSIに対し、複数のクロック信号のうちから各モジュールに対して時々で適したクロック信号を供給することができる。その結果、システムLSIの処理速度の向上や全体の消費電力の低減を図ることができる。このように、本発明によれば、システムLSIに好適なクロック生成回路を提供することができる。
このように簡易に複数のクロック信号を生成することができるので、複数のCPUと多様な専用回路を搭載したシステムLSIに対し、複数のクロック信号のうちから各モジュールに対して時々で適したクロック信号を供給することができる。その結果、システムLSIの処理速度の向上や全体の消費電力の低減を図ることができる。このように、本発明によれば、システムLSIに好適なクロック生成回路を提供することができる。
本発明の実施の形態を図示するとともに図中の各要素に付した符号を参照して説明する。
(第1実施形態)
図1は、システムLSIの構成の一例を示す図である。
図に示されるように、システムLSI100は、一のチップ110上に、第1プロセッサ101、第2プロセッサ102、第3プロセッサ103、第1画像処理部104、第2画像処理部105、音源処理部106、RAM107、ROM108など、複数の異なる機能モジュールを備え、これらがバス109を介して接続されている。さらに、システムLSI100は、クロック生成回路200と、システムクロック切替回路300と、を備えている。
(第1実施形態)
図1は、システムLSIの構成の一例を示す図である。
図に示されるように、システムLSI100は、一のチップ110上に、第1プロセッサ101、第2プロセッサ102、第3プロセッサ103、第1画像処理部104、第2画像処理部105、音源処理部106、RAM107、ROM108など、複数の異なる機能モジュールを備え、これらがバス109を介して接続されている。さらに、システムLSI100は、クロック生成回路200と、システムクロック切替回路300と、を備えている。
図2は、クロック生成回路200とシステムクロック切替回路300の構成を示す図である。
クロック生成回路200は、クロックパターンメモリ210と、ポインタ制御部220と、セレクタ230と、ラッチ部240と、クロック切替部250と、を備える。
クロック生成回路200は、クロックパターンメモリ210と、ポインタ制御部220と、セレクタ230と、ラッチ部240と、クロック切替部250と、を備える。
クロックパターンメモリ210は、読み書き可能かつランダムアクセス可能な記憶装置で構成されている。以下の説明においてはクロックパターンメモリ210がRAMで構成されている場合を例にして説明する。
図3は、クロックパターンメモリ210にセットされるクロックパターンを周期的にアドレス順に読み出す様子を模式的に表す図である。
図3に示されるように、クロックパターンメモリ210には、複数のクロック信号を発生させるビットパターン211が記録され、これを周期的にアドレス順に読み出すことによって複数の信号周期(クロック)が得られる構成となっている。
以下の説明では、このようにクロックパターンメモリ210から読み出されて供給されるクロック信号をメモリ出力クロックという。
また、クロックパターンメモリ210にセットされるクロックパターンとしては、各機能モジュール(101〜108)にクロック信号として供給されるメモリ出力クロックの信号パターンに加えて、一のクロックから他のクロックに乗り換える際のタイミングを与えるクロック乗換信号のパターンが含まれている。
メモリ出力クロックおよびクロック乗換信号の例については図4のタイミングチャートを参照して後述する。
また、クロックパターンメモリ210はRAMで構成されるところ、システムLSI100の起動時にクロックパターンメモリ210にクロックパターンを書き込む動作処理が必要となるが、この点についても後述する。
図3は、クロックパターンメモリ210にセットされるクロックパターンを周期的にアドレス順に読み出す様子を模式的に表す図である。
図3に示されるように、クロックパターンメモリ210には、複数のクロック信号を発生させるビットパターン211が記録され、これを周期的にアドレス順に読み出すことによって複数の信号周期(クロック)が得られる構成となっている。
以下の説明では、このようにクロックパターンメモリ210から読み出されて供給されるクロック信号をメモリ出力クロックという。
また、クロックパターンメモリ210にセットされるクロックパターンとしては、各機能モジュール(101〜108)にクロック信号として供給されるメモリ出力クロックの信号パターンに加えて、一のクロックから他のクロックに乗り換える際のタイミングを与えるクロック乗換信号のパターンが含まれている。
メモリ出力クロックおよびクロック乗換信号の例については図4のタイミングチャートを参照して後述する。
また、クロックパターンメモリ210はRAMで構成されるところ、システムLSI100の起動時にクロックパターンメモリ210にクロックパターンを書き込む動作処理が必要となるが、この点についても後述する。
ポインタ制御部220は、クロックパターンメモリ210のアドレスを周期的に順に指定してクロックパターンメモリ210に対する書込みおよび読み出しを制御する。
セレクタ230は、R/W(書込み/読出し)制御信号の切り替えとともに、クロックパターン読出し時のリードアドレスとクロックパターン書込み時のライトアドレスとを切り替えてクロックパターンメモリ210に与える。
ラッチ部240は、クロックパターンメモリ210からの出力データ(メモリ出力クロック、クロック乗換信号)をラッチしてクロック信号の出力タイミングを揃える。
クロック切替部250は、ラッチ部240の後段に配置されている。
クロック切替部250は、システムLSI100の起動時においてクロックパターンメモリ210にクロックパターンを書き込む前や書き込んでいる最中には、メモリ210からのメモリ出力クロックではなく、システムクロック切替回路300を介して供給される低周波時のシステムクロックを各系統に供給する。
そして、クロックパターンメモリ210にクロックパターンが書き込まれて、メモリ210からのメモリ出力クロックを供給する場合には前記システムクロックからメモリ210のメモリ出力クロックに切り替える。このとき、クロック切替部250にはシステムクロック切替回路300から供給されるシステムクロックSCKをスルーして各機能モジュールに供給する系統も保持する。
さらに、クロック切替部250は、必要に応じてあえてクロックを微調整してタイミングを変えたい場合に遅延調整を行う機能も含んでいる。
クロック切替部250は、ラッチ部240の後段に配置されている。
クロック切替部250は、システムLSI100の起動時においてクロックパターンメモリ210にクロックパターンを書き込む前や書き込んでいる最中には、メモリ210からのメモリ出力クロックではなく、システムクロック切替回路300を介して供給される低周波時のシステムクロックを各系統に供給する。
そして、クロックパターンメモリ210にクロックパターンが書き込まれて、メモリ210からのメモリ出力クロックを供給する場合には前記システムクロックからメモリ210のメモリ出力クロックに切り替える。このとき、クロック切替部250にはシステムクロック切替回路300から供給されるシステムクロックSCKをスルーして各機能モジュールに供給する系統も保持する。
さらに、クロック切替部250は、必要に応じてあえてクロックを微調整してタイミングを変えたい場合に遅延調整を行う機能も含んでいる。
次に、システムクロック切替回路300について説明する。
システムクロック切替回路300は、周波数シンセサイザ310と、セレクタ320と、を備える。
システムクロック切替回路300には、外部から低周波数クロックLCKが与えられている。この低周波数クロックLCKは、たとえば水晶発振などで得られるものであってもよい。
周波数シンセサイザ310は、この低周波クロックLCKを逓倍して高周波数クロックHCKを生成する。周波数シンセサイザ310は、たとえば、PLL(Phase-locked loop、位相同期回路)で構成される。
セレクタ320は、低周波数クロックLCKと、高周波数クロックHCKとを切り替えてシステムクロックSCKとして出力し、クロック生成回路200に供給する。
たとえば、システムLSI100の起動時などにおいて、セレクタ320は外部からの低周波数クロックLCKをシステムクロックSCKとしてクロック生成回路200に与え、周波数シンセサイザ310が立ち上がって高周波数クロックHCKが生成される場合には高周波数クロックHCKにシステムクロックSCKを切り替えて出力する。
システムクロック切替回路300は、周波数シンセサイザ310と、セレクタ320と、を備える。
システムクロック切替回路300には、外部から低周波数クロックLCKが与えられている。この低周波数クロックLCKは、たとえば水晶発振などで得られるものであってもよい。
周波数シンセサイザ310は、この低周波クロックLCKを逓倍して高周波数クロックHCKを生成する。周波数シンセサイザ310は、たとえば、PLL(Phase-locked loop、位相同期回路)で構成される。
セレクタ320は、低周波数クロックLCKと、高周波数クロックHCKとを切り替えてシステムクロックSCKとして出力し、クロック生成回路200に供給する。
たとえば、システムLSI100の起動時などにおいて、セレクタ320は外部からの低周波数クロックLCKをシステムクロックSCKとしてクロック生成回路200に与え、周波数シンセサイザ310が立ち上がって高周波数クロックHCKが生成される場合には高周波数クロックHCKにシステムクロックSCKを切り替えて出力する。
このような構成を備える第1実施形態の動作について説明する。
まず、システムLSI100の起動時の動作について説明する。
システムLSI100の起動時においては、まだ、クロックパターンメモリ210にクロックパターンが記録されていないため、クロック生成回路200からのメモリ出力クロックで動作することはできない。
システムLSI100の起動時では、まず、システムクロック切替回路300は、外部からの低周波数クロックLCKをセレクタ320を介してクロック生成回路200に供給する。
クロック生成回路200は、この低周波数クロックLCKのもとでクロックパターンメモリ210にクロックパターンの書き込みを行う。このときクロックパターンメモリ210に書き込まれるクロックパターンは、図示しない外部のROMなどに予め用意されているものであり、データ書換バスからセレクタ230を介してメモリ210に書き込まれる。
また、システムLSI100の起動時において、クロック生成回路200は、システムクロック切替回路300から供給される低周波数クロックLCKをクロック切替回路250を介して各系統に供給する。
いわば、クロック切替回路250は、低周波数クロックLCKをスルーして各系統に供給する。
システムLSI100を構成する各機能モジュール101〜108は、システムLSI100の起動時においてはこの低周波数クロックLCKを用いて立ち上がり動作を行う。
このように低周波数クロックLCKの状態でクロックパターンメモリ210にクロックパターンの書き込みを終え、さらに、システムクロック切替回路300の周波数シンセサイザ310が立ち上がったところで、システムLSI100の起動時動作は終了する。
このような起動時の動作は、起動時動作モードとして予め設定し、システムLSIの電源投入時に自動的に実行されるようになっていてもよい。
まず、システムLSI100の起動時の動作について説明する。
システムLSI100の起動時においては、まだ、クロックパターンメモリ210にクロックパターンが記録されていないため、クロック生成回路200からのメモリ出力クロックで動作することはできない。
システムLSI100の起動時では、まず、システムクロック切替回路300は、外部からの低周波数クロックLCKをセレクタ320を介してクロック生成回路200に供給する。
クロック生成回路200は、この低周波数クロックLCKのもとでクロックパターンメモリ210にクロックパターンの書き込みを行う。このときクロックパターンメモリ210に書き込まれるクロックパターンは、図示しない外部のROMなどに予め用意されているものであり、データ書換バスからセレクタ230を介してメモリ210に書き込まれる。
また、システムLSI100の起動時において、クロック生成回路200は、システムクロック切替回路300から供給される低周波数クロックLCKをクロック切替回路250を介して各系統に供給する。
いわば、クロック切替回路250は、低周波数クロックLCKをスルーして各系統に供給する。
システムLSI100を構成する各機能モジュール101〜108は、システムLSI100の起動時においてはこの低周波数クロックLCKを用いて立ち上がり動作を行う。
このように低周波数クロックLCKの状態でクロックパターンメモリ210にクロックパターンの書き込みを終え、さらに、システムクロック切替回路300の周波数シンセサイザ310が立ち上がったところで、システムLSI100の起動時動作は終了する。
このような起動時の動作は、起動時動作モードとして予め設定し、システムLSIの電源投入時に自動的に実行されるようになっていてもよい。
次に、システムLSIが起動動作を終了したのちの通常動作について説明する。
周波数シンセサイザ310が立ち上がると、この周波数シンセサイザ310から高周波数である高周波数クロックHCKが出力される。
他の各機能モジュールが立ち上がったところで所定のプロセッサ等(例えば全体を統御するプロセッサ。第1プロセッサ101としてもよい)からクロック選択信号が出力され、クロック選択信号はシステムクロック切替部300のセレクタ320およびクロック生成回路200のポインタ制御部220に入力される。
セレクタ320は、クロック選択信号を受けて、低周波数クロックLCKから高周波数クロックHCKにシステムクロックを切り替えて出力する。
ポインタ制御部220は、クロックパターンメモリ210のアドレスを周期的に順番に指定してビットパターン211の読み出しを指示する。
また、ポインタ制御部220は、メモリ210からのクロックパターンの読み出し指示とともに、クロック切替部250に向けて指示を出し、メモリ210から供給されるクロックパターン(メモリ出力クロック、クロック乗換信号)を出力するように切り換えさせる。
なお、通常動作時においても、クロック切替部250は、メモリ210から供給されるクロックパターンに加えてシステムクロックSCKをスルーする系統を持っていてもよい。
メモリ210から読み出されたメモリ出力クロックおよびクロック乗換信号は、一旦、ラッチ部240にてラッチされる。
ラッチされたメモリ出力クロックおよびクロック乗換信号は、クロック切替部250に入力され、クロック切替部250から各系統に供給される。
周波数シンセサイザ310が立ち上がると、この周波数シンセサイザ310から高周波数である高周波数クロックHCKが出力される。
他の各機能モジュールが立ち上がったところで所定のプロセッサ等(例えば全体を統御するプロセッサ。第1プロセッサ101としてもよい)からクロック選択信号が出力され、クロック選択信号はシステムクロック切替部300のセレクタ320およびクロック生成回路200のポインタ制御部220に入力される。
セレクタ320は、クロック選択信号を受けて、低周波数クロックLCKから高周波数クロックHCKにシステムクロックを切り替えて出力する。
ポインタ制御部220は、クロックパターンメモリ210のアドレスを周期的に順番に指定してビットパターン211の読み出しを指示する。
また、ポインタ制御部220は、メモリ210からのクロックパターンの読み出し指示とともに、クロック切替部250に向けて指示を出し、メモリ210から供給されるクロックパターン(メモリ出力クロック、クロック乗換信号)を出力するように切り換えさせる。
なお、通常動作時においても、クロック切替部250は、メモリ210から供給されるクロックパターンに加えてシステムクロックSCKをスルーする系統を持っていてもよい。
メモリ210から読み出されたメモリ出力クロックおよびクロック乗換信号は、一旦、ラッチ部240にてラッチされる。
ラッチされたメモリ出力クロックおよびクロック乗換信号は、クロック切替部250に入力され、クロック切替部250から各系統に供給される。
図4は、クロック生成回路の動作のタイミングチャートである。
図に示されるように、システムクロック切替部300を介して供給される高周波数システムクロックHCKのもとでポインタ制御部220のアドレス指示が行われ、このアドレス指示に従ってメモリ210からメモリ出力クロックおよびクロック乗換信号が出力される。
このメモリ出力クロックおよびクロック乗換信号がラッチ部240でラッチされ、続いて、各機能モジュールに供給クロックとして出力されていく。
ここで、図4中、メモリ出力クロック1は、高周波数システムクロックHCKに対して2分の1になる周波数パターンのクロックである。
メモリ出力クロック2は、高周波数システムクロックHCKをスルーした周波数パターンのクロックである。
メモリ出力クロック3は、システムクロックに対して3分の1になる周波数パターンのクロックである。そして、クロック乗換信号は、上記メモリ出力クロック2から上記メモリ出力クロック3に乗り換え可能なタイミングを示す信号パターンである。
クロック乗換信号が立ち上がる次のサイクルでメモリ出力クロック2とメモリ出力クロック3とが同時に立ち上がりもしくは立ち下がりになっている。
なお、図4は、メモリ210から出力されるクロックパターンの代表的なものを例示しているにすぎず、メモリ210から出力されるクロック信号はもっと多くてもよいことはもちろんである。
図に示されるように、システムクロック切替部300を介して供給される高周波数システムクロックHCKのもとでポインタ制御部220のアドレス指示が行われ、このアドレス指示に従ってメモリ210からメモリ出力クロックおよびクロック乗換信号が出力される。
このメモリ出力クロックおよびクロック乗換信号がラッチ部240でラッチされ、続いて、各機能モジュールに供給クロックとして出力されていく。
ここで、図4中、メモリ出力クロック1は、高周波数システムクロックHCKに対して2分の1になる周波数パターンのクロックである。
メモリ出力クロック2は、高周波数システムクロックHCKをスルーした周波数パターンのクロックである。
メモリ出力クロック3は、システムクロックに対して3分の1になる周波数パターンのクロックである。そして、クロック乗換信号は、上記メモリ出力クロック2から上記メモリ出力クロック3に乗り換え可能なタイミングを示す信号パターンである。
クロック乗換信号が立ち上がる次のサイクルでメモリ出力クロック2とメモリ出力クロック3とが同時に立ち上がりもしくは立ち下がりになっている。
なお、図4は、メモリ210から出力されるクロックパターンの代表的なものを例示しているにすぎず、メモリ210から出力されるクロック信号はもっと多くてもよいことはもちろんである。
このようにクロックパターンメモリ210から出力されて供給されるメモリ出力クロックおよびクロック乗換信号はバス109を介してシステムLSIの各機能モジュールに供給される。そして、各機能モジュールは、それぞれ所定の動作を実行するにあたりメモリ出力クロックのうちから選択して使用する。
このとき、処理負荷が低いときは周波数が低いメモリ出力クロックを使用し、処理負荷が高いときは周波数が高いメモリ出力クロックを選択するなど、その時々の動作内容に応じた選択をすることができる。
また、一のメモリ出力クロックから他のメモリ出力クロックに切り替えるにあたっては、前後の動作が円滑に連続するように切替前と切替後のクロックの立ち上がりまたは立ち下がりを一致させる必要があるところ、必要なクロック乗換信号を参照して一のメモリ出力クロックと他のメモリ出力クロックとで立ち上がりまたは立ち下がりのタイミングが一致する乗換可能タイミングをはかることができる。
このように、異なる動作周波数で動作する機能モジュールを複数有するシステムLSIにおいて、それぞれの機能モジュールが時々で最適なクロックを用いて動作することにより、処理動作の迅速性を向上させるとともに全体の消費電力を低減させることができる。
このとき、処理負荷が低いときは周波数が低いメモリ出力クロックを使用し、処理負荷が高いときは周波数が高いメモリ出力クロックを選択するなど、その時々の動作内容に応じた選択をすることができる。
また、一のメモリ出力クロックから他のメモリ出力クロックに切り替えるにあたっては、前後の動作が円滑に連続するように切替前と切替後のクロックの立ち上がりまたは立ち下がりを一致させる必要があるところ、必要なクロック乗換信号を参照して一のメモリ出力クロックと他のメモリ出力クロックとで立ち上がりまたは立ち下がりのタイミングが一致する乗換可能タイミングをはかることができる。
このように、異なる動作周波数で動作する機能モジュールを複数有するシステムLSIにおいて、それぞれの機能モジュールが時々で最適なクロックを用いて動作することにより、処理動作の迅速性を向上させるとともに全体の消費電力を低減させることができる。
また、クロックパターンメモリ210を書き換え可能な記憶装置(たとえばRAM)で構成しているので、実機に合わせたメモリ出力クロックのパターンをメモリ210に自在に書き込むことができる。
たとえば、環境温度や、動作内容の変化などによって必要なクロックパターンが異なってきたり微調したりすることも必要となるところ、本実施形態のごとくメモリ210をRAMで構成することにより事後の調整が非常に簡便に行える。
たとえば、環境温度や、動作内容の変化などによって必要なクロックパターンが異なってきたり微調したりすることも必要となるところ、本実施形態のごとくメモリ210をRAMで構成することにより事後の調整が非常に簡便に行える。
(第2実施形態)
次に、本発明の第2実施形態について説明する。
第2実施形態の基本的構成は第1実施形態と同様であるが、第2実施形態では、クロックパターンが動作モードごとにセットで設けられている点に特徴を有する。
第2実施形態を図5、図6、図7を用いて説明する。
図5は第2実施形態に係るクロック生成回路の構成を示す図であり、図6はクロックパターンメモリに記録されるクロックパターンとそれを読み出す様子を模式的に示す図である。
まず、図6において、クロックパターンメモリ410の記憶領域はいくつかに分けられ、領域ごとに各動作モード用のクロックパターンがセットになって設定されている。
次に、本発明の第2実施形態について説明する。
第2実施形態の基本的構成は第1実施形態と同様であるが、第2実施形態では、クロックパターンが動作モードごとにセットで設けられている点に特徴を有する。
第2実施形態を図5、図6、図7を用いて説明する。
図5は第2実施形態に係るクロック生成回路の構成を示す図であり、図6はクロックパターンメモリに記録されるクロックパターンとそれを読み出す様子を模式的に示す図である。
まず、図6において、クロックパターンメモリ410の記憶領域はいくつかに分けられ、領域ごとに各動作モード用のクロックパターンがセットになって設定されている。
ここで、システムLSI100はその用途によって実行する動作内容がいくつかのパターンに分けられる。
たとえば、画像処理動作や、音源処理動作などがあり、さらに、画像処理動作においても、符号化、圧縮、デコード、表示など数種類の処理動作がある。
このような処理動作のうち時間ごと区切れる一動作を一つの動作モードとしてまとめ、その動作モードにおいて各機能モジュールに供給する最適なクロック信号の組み合わせをその動作モード用のクロックパターンセットとする。
そして、動作モードごとに用意したクロックパターンセットをメモリ210に設定しておく。
たとえば、画像処理動作や、音源処理動作などがあり、さらに、画像処理動作においても、符号化、圧縮、デコード、表示など数種類の処理動作がある。
このような処理動作のうち時間ごと区切れる一動作を一つの動作モードとしてまとめ、その動作モードにおいて各機能モジュールに供給する最適なクロック信号の組み合わせをその動作モード用のクロックパターンセットとする。
そして、動作モードごとに用意したクロックパターンセットをメモリ210に設定しておく。
各動作モードのクロックパターンセットは、そのクロックパターンを周期的に読み出せばよいところ、クロックパターンを構成するビットパターン411にはそのクロックパターンセットの周期を示す周期指示ビット(周期指示情報)が含まれている。図6中の符号412で示す。
この周期指示ビットが出るタイミングでそのクロックパターンセットに含まれるクロック信号の周期が揃う。そこで、一の動作モードから他の動作モードに移行する場合には、この周期指示ビットで指示されるタイミングで次の動作モードのクロックパターンセットに移行すると、すべてのクロックが円滑に切り替え可能となる。
この周期指示ビットが出るタイミングでそのクロックパターンセットに含まれるクロック信号の周期が揃う。そこで、一の動作モードから他の動作モードに移行する場合には、この周期指示ビットで指示されるタイミングで次の動作モードのクロックパターンセットに移行すると、すべてのクロックが円滑に切り替え可能となる。
第2実施形態の動作について説明する。
システムLSIの起動時において、低周波数クロックLCKのもと、メモリ410にクロックパターンを書き込む動作については第1実施形態と同様である。
通常動作に移行すると、所定のプロセッサ等(例えば全体を統御するプロセッサ。第1プロセッサ101としてもよい)からのクロック選択信号によってシステムクロック切替部300のセレクタ320およびクロック生成回路200のポインタモード制御部420が動作制御される。
すなわち、セレクタ320は、クロック選択信号を受けて、システムクロックを低周波数クロックLCKから高周波数クロックHCKに切り替えて出力する。
ポインタモード制御部420は、クロックパターンメモリ410のアドレスを周期的に順番に指定してビットパターン411の読み出しを指示する。
ここで、所定のプロセッサ等から動作モード指示信号がポインタモード制御部420に入力され、動作モードが指示される。
ポインタモード制御部420は、指示された動作モードに対応するクロックパターンセットの領域で周期的にアドレスを指定してビットパターン411の読み出し指示を行う。すると、その動作モードに応じた複数のメモリ出力クロックおよびクロック乗換信号が出力される。その後、ラッチ部240、クロック切替部250を介して各機能モジュールに供給される点は、第1実施形態に同様である。さらに、所定のプロセッサ等からの動作モード指示信号によって動作モード指示の切り替えが指示された場合、ポインタモード制御部420は、現在のクロックパターンセットの周期指示ビットを待って、この周期指示ビットが出たところで次の指示された動作モードに対応するクロックパターンセットに移行する。そして、ポインタモード制御部420は、次のクロックパターンセットに移行させたところで、クロックパターンセットが移行したことを所定のプロセッサに通知するクロックパターンセット移行通知を出力する。
システムLSIの起動時において、低周波数クロックLCKのもと、メモリ410にクロックパターンを書き込む動作については第1実施形態と同様である。
通常動作に移行すると、所定のプロセッサ等(例えば全体を統御するプロセッサ。第1プロセッサ101としてもよい)からのクロック選択信号によってシステムクロック切替部300のセレクタ320およびクロック生成回路200のポインタモード制御部420が動作制御される。
すなわち、セレクタ320は、クロック選択信号を受けて、システムクロックを低周波数クロックLCKから高周波数クロックHCKに切り替えて出力する。
ポインタモード制御部420は、クロックパターンメモリ410のアドレスを周期的に順番に指定してビットパターン411の読み出しを指示する。
ここで、所定のプロセッサ等から動作モード指示信号がポインタモード制御部420に入力され、動作モードが指示される。
ポインタモード制御部420は、指示された動作モードに対応するクロックパターンセットの領域で周期的にアドレスを指定してビットパターン411の読み出し指示を行う。すると、その動作モードに応じた複数のメモリ出力クロックおよびクロック乗換信号が出力される。その後、ラッチ部240、クロック切替部250を介して各機能モジュールに供給される点は、第1実施形態に同様である。さらに、所定のプロセッサ等からの動作モード指示信号によって動作モード指示の切り替えが指示された場合、ポインタモード制御部420は、現在のクロックパターンセットの周期指示ビットを待って、この周期指示ビットが出たところで次の指示された動作モードに対応するクロックパターンセットに移行する。そして、ポインタモード制御部420は、次のクロックパターンセットに移行させたところで、クロックパターンセットが移行したことを所定のプロセッサに通知するクロックパターンセット移行通知を出力する。
図7は、第2実施形態における動作のタイミングチャートである。
図に示されるように、所定のプロセッサ等からの動作モード指示信号にて動作モードの切り替えが指示された場合でも(図7中ではモード1からモード2)、周期指示ビットによる周期指示信号の立ち上がりまではクロックパターンセットを移行せずに現在の動作モード(モード1)のクロックパターンセット1を継続する。そして、周期指示信号の立ち上がりの次のタイミングでクロックパターンセットを移行させる。すると、すべてのクロック系統が円滑に切り替わることができる。
図7中では、メモリ出力クロック1は、システムクロックの2分の1からシステムクロックの3分の1の周波数のクロック信号に移行している。
メモリ出力クロック2は、システムクロックのスルーからシステムクロックの2分の1の周波数のクロック信号に移行している。
メモリ出力クロック3は、システムクロックの3分の1からシステムクロックの4分の1の周波数のクロック信号に移行している。
図に示されるように、所定のプロセッサ等からの動作モード指示信号にて動作モードの切り替えが指示された場合でも(図7中ではモード1からモード2)、周期指示ビットによる周期指示信号の立ち上がりまではクロックパターンセットを移行せずに現在の動作モード(モード1)のクロックパターンセット1を継続する。そして、周期指示信号の立ち上がりの次のタイミングでクロックパターンセットを移行させる。すると、すべてのクロック系統が円滑に切り替わることができる。
図7中では、メモリ出力クロック1は、システムクロックの2分の1からシステムクロックの3分の1の周波数のクロック信号に移行している。
メモリ出力クロック2は、システムクロックのスルーからシステムクロックの2分の1の周波数のクロック信号に移行している。
メモリ出力クロック3は、システムクロックの3分の1からシステムクロックの4分の1の周波数のクロック信号に移行している。
このような第2実施形態によれば、動作モードに合わせたクロックパターンセットの移行が確実かつ容易にできる。
クロック信号を切り替えるためには切替前と切替後とで信号が連続することが必要であるところ、1系統や2系統でクロック信号を切り替える場合にはクロック乗換信号を参照しながらクロックを切り替えてもよい。
しかしながら、システムLSI全体で動作内容が移行する場合には数十系統で一斉にクロックの切り替えを実行しなければならず、このような場合に一つ一つの系統でクロック乗換信号を参照しながらクロックを切り替えることには膨大な処理が必要となってきて、実際のところ現実的ではない。
この点、本実施形態では、動作モードに合わせたクロックパターンセットを用意し、さらに、各クロックパターンセットには周期指示ビットを設けている。そして、この周期指示ビットによってクロックパターンセットの切り替え可能なタイミングを知ることで、複数系統のクロックを一斉に円滑に切り換えることができる。
これにより、各動作モードで異なる動作周波数で動作するシステムLSIにおいて、それぞれの機能モジュールが時々で最適なクロックを用いて動作することにより、処理動作の迅速性を向上させるとともに全体の消費電力を低減させることができる。
クロック信号を切り替えるためには切替前と切替後とで信号が連続することが必要であるところ、1系統や2系統でクロック信号を切り替える場合にはクロック乗換信号を参照しながらクロックを切り替えてもよい。
しかしながら、システムLSI全体で動作内容が移行する場合には数十系統で一斉にクロックの切り替えを実行しなければならず、このような場合に一つ一つの系統でクロック乗換信号を参照しながらクロックを切り替えることには膨大な処理が必要となってきて、実際のところ現実的ではない。
この点、本実施形態では、動作モードに合わせたクロックパターンセットを用意し、さらに、各クロックパターンセットには周期指示ビットを設けている。そして、この周期指示ビットによってクロックパターンセットの切り替え可能なタイミングを知ることで、複数系統のクロックを一斉に円滑に切り換えることができる。
これにより、各動作モードで異なる動作周波数で動作するシステムLSIにおいて、それぞれの機能モジュールが時々で最適なクロックを用いて動作することにより、処理動作の迅速性を向上させるとともに全体の消費電力を低減させることができる。
また、本実施形態では、クロックパターンセットの周期を示す周期指示ビット(周期指示情報)を含めたビットパターン411をクロックパターンメモリ410に記録しているため、この周期指示ビット412によって簡便にクロックパターンセットの移行タイミングを知ることができる。したがって、例えば、複数のクロックの周期情報を別途レジスタ等でカウントさせるなどの複雑な構成に比べて非常に簡易な構成とすることができる。
本発明は、上記実施形態にのみ限定されず、本発明の趣旨を逸脱しない範囲で種々変更してもよいことはもちろんである。
たとえば、第1実施形態において、クロックパターンメモリは、読み書き可能かつランダムアクセス可能なメモリで構成されている場合を説明したが、必ずしもこの構成に限られない。
例えば、第1実施形態のごとくメモリから周期的にクロック信号パターンの情報を読み出して複数のクロック信号を供給するだけであれば、ランダムアクセスできなくてもシーケンシャルなアクセスで情報を読み出すメモリであればよい。
また、クロックパターンメモリをROMで構成して、不揮発性かつ読出しだけできるメモリ構成にしてもよい。クロックパターンを設計時においてメモリにセットし、それを読み出せば複数の異なるクロック信号を供給することができる。そしてこの場合にはシステム起動時にクロックパターンをメモリに書き込む動作は不要となる。
また、EPROMやフラッシュメモリ(フラッシュROM)でクロックパターンメモリを構成し、必要な場合にはクロックパターンを書き換えてもよい。
第2実施形態において、クロックパターンセットの周期指示ビットもクロックパターンメモリに記録する場合を例にして説明したが、クロックパターンセットの移行タイミングを計るために複数のクロックの周期情報をカウントするレジスタを別途設けてもよい。
たとえば、第1実施形態において、クロックパターンメモリは、読み書き可能かつランダムアクセス可能なメモリで構成されている場合を説明したが、必ずしもこの構成に限られない。
例えば、第1実施形態のごとくメモリから周期的にクロック信号パターンの情報を読み出して複数のクロック信号を供給するだけであれば、ランダムアクセスできなくてもシーケンシャルなアクセスで情報を読み出すメモリであればよい。
また、クロックパターンメモリをROMで構成して、不揮発性かつ読出しだけできるメモリ構成にしてもよい。クロックパターンを設計時においてメモリにセットし、それを読み出せば複数の異なるクロック信号を供給することができる。そしてこの場合にはシステム起動時にクロックパターンをメモリに書き込む動作は不要となる。
また、EPROMやフラッシュメモリ(フラッシュROM)でクロックパターンメモリを構成し、必要な場合にはクロックパターンを書き換えてもよい。
第2実施形態において、クロックパターンセットの周期指示ビットもクロックパターンメモリに記録する場合を例にして説明したが、クロックパターンセットの移行タイミングを計るために複数のクロックの周期情報をカウントするレジスタを別途設けてもよい。
101-108…機能モジュール、104、105…画像処理部、106…音源処理部、109…バス、110…チップ、200…クロック生成回路、210…クロックパターンメモリ、211…ビットパターン、220…ポインタ制御部、230…セレクタ、240…ラッチ部、250…クロック切替部、300…システムクロック切替回路、310…周波数シンセサイザ、320…セレクタ、410…クロックパターンメモリ、411…ビットパターン、412…周期指示ビット、420…ポインタモード制御部。
Claims (15)
- 周期的に読み出されることにより複数の異なるクロック信号を与えるクロックパターンを記録したクロックパターンメモリと、
前記クロックパターンメモリのアドレスを順に指定して周期的な前記クロックパターンの読み出しを制御するポインタ制御部と、を備える
ことを特徴とするクロック生成回路。 - 請求項1に記載のクロック生成回路において、
前記クロックパターンメモリは、読み書き可能な記憶装置にて構成されている
ことを特徴とするクロック生成回路。 - 請求項2に記載のクロック生成回路において、
前記読み書き可能な記憶装置には、当該クロック生成回路の起動時にデータ書換バスを介して外部のメモリに記憶されているクロックパターンが書き込まれる
ことを特徴とするクロック生成回路。 - 請求項1に記載のクロック生成回路において、
前記クロックパターンメモリは、不揮発性の記憶装置にて構成されている
ことを特徴とするクロック生成回路。 - 請求項1から請求項4のいずれかに記載のクロック生成回路において、
前記クロックパターンとして、複数のクロック信号が組み合わされて構成されたクロックパターンのセットが複数用意され、
このクロック生成回路がクロックを供給するシステムの動作モードごとに前記クロックパターンのセットを選択可能である
ことを特徴とするクロック生成回路。 - 請求項5に記載のクロック生成回路において、
前記クロックパターンには、前記クロックパターンのセットごとにそのクロックパターンのセット中の総てのクロック信号の周期が揃うタイミングを指示する周期指示情報が組み込まれ、
前記ポインタ制御部は、前記クロックパターンメモリから読み出すクロックパターンのセットを一のセットから他のセットに切り替える際には前記一のセットの周期指示情報に指示されるタイミングで他のセットに切り替える
ことを特徴とするクロック生成回路。 - 請求項1から請求項6のいずれかに記載のクロック生成回路において、
前記クロックパターンには、一のクロック信号と他のクロック信号とで立ち上がりあるいは立ち下がりが一致して一のクロック信号から他のクロック信号へ乗り換え可能となるタイミングを指示するクロック乗換信号のパターンが含まれる
ことを特徴とするクロック生成回路。 - 複数の機能モジュールを有するシステムLSIの前記各機能モジュールに供給するクロックを生成するクロック生成回路を内蔵したシステムLSIであって、
前記クロック生成回路は、
周期的に読み出されることにより複数の異なるクロック信号を与えるクロックパターンを記録したクロックパターンメモリと、
前記クロックパターンメモリのアドレスを順に指定して周期的な前記クロックパターンの読み出しを制御するポインタ制御部と、を備える
ことを特徴とするシステムLSI。 - 請求項8に記載のシステムLSIにおいて、
前記クロックパターンメモリは、読み書き可能な記憶装置にて構成されている
ことを特徴とするシステムLSI。 - 請求項9に記載のシステムLSIにおいて、
前記読み書き可能な記憶装置には、システムLSIの起動時にデータ書換バスを介して外部メモリに記憶されているクロックパターンが書き込まれる
ことを特徴とするシステムLSI。 - 請求項10に記載のシステムLSIにおいて、
外部から与えられる低周波数クロックの周波数を逓倍して高周波数クロックを生成する周波数シンセサイザを有するとともに前記低周波数クロックと前記高周波数クロックとを切り替えてシステムクロックを出力するシステムクロック切替部を備え、
当該システムLSIの起動時には、前記システムクロック切替部は前記低周波数クロックを前記クロック生成回路に供給し、前記読み書き可能な記憶装置には前記低周波数クロックのもとで前記クロックパターンが書き込まれる
ことを特徴とするシステムLSI。 - 請求項8に記載のシステムLSIにおいて、
前記クロックパターンメモリは、不揮発性の記憶装置にて構成されている
ことを特徴とするシステムLSI。 - 請求項8から請求項12のいずれかに記載のシステムLSIにおいて、
前記クロックパターンとして、複数のクロック信号が組み合わされて構成されたクロックパターンのセットが複数用意され、
当該システムLSIの動作モードごとに前記クロックパターンのセットを選択可能である
ことを特徴とするシステムLSI。 - 請求項13に記載のシステムLSIにおいて、
前記クロックパターンには、前記クロックパターンのセットごとにそのクロックパターンのセット中の総てのクロック信号の周期が揃うタイミングを指示する周期指示情報が組み込まれ、
前記ポインタ制御部は、前記クロックパターンメモリから読み出すクロックパターンのセットを一のセットから他のセットに切り替える際には前記一のセットの周期指示情報に指示されるタイミングで他のセットに切り替える
ことを特徴とするシステムLSI。 - 請求項8から請求項14のいずれかに記載のシステムLSIにおいて、
前記クロックパターンには、一のクロック信号と他のクロック信号とで立ち上がりあるいは立ち下がりが一致して一のクロック信号から他のクロック信号へ乗り換え可能となるタイミングを指示するクロック乗換信号のパターンが含まれる
ことを特徴とするシステムLSI。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008148432A JP2009296373A (ja) | 2008-06-05 | 2008-06-05 | クロック生成回路、システムlsi |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008148432A JP2009296373A (ja) | 2008-06-05 | 2008-06-05 | クロック生成回路、システムlsi |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009296373A true JP2009296373A (ja) | 2009-12-17 |
Family
ID=41544123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008148432A Pending JP2009296373A (ja) | 2008-06-05 | 2008-06-05 | クロック生成回路、システムlsi |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009296373A (ja) |
-
2008
- 2008-06-05 JP JP2008148432A patent/JP2009296373A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI463302B (zh) | 用於協調效能參數之方法及相關之系統單晶片及邏輯電路 | |
CN103677210B (zh) | 用于动态电压频率调整的方法、应用处理器和移动装置 | |
JP2000285016A (ja) | メモリ制御回路 | |
JP6940585B2 (ja) | 電圧降下のためのクロック調整 | |
JP4027874B2 (ja) | クロック変更回路 | |
JP5610566B2 (ja) | 半導体装置及びデータ処理システム | |
KR101898176B1 (ko) | 반도체 메모리 장치의 버퍼 제어회로 | |
JP2005339310A (ja) | 半導体装置 | |
JP2007048022A (ja) | 非同期バスインタフェース及びその処理方法 | |
JP2004095155A (ja) | 部分的に制御される遅延同期ループを備える半導体メモリ装置 | |
JP2010250905A (ja) | 半導体集積回路およびそのテスト方法 | |
JP2015103262A (ja) | 半導体装置 | |
JP5887989B2 (ja) | 情報処理装置、制御装置および画像形成装置 | |
JP6585000B2 (ja) | 半導体集積回路 | |
US7463547B2 (en) | Micro computer and method of optimizing microcomputer | |
JP2003316566A (ja) | パイプラインプロセッサ | |
JP2007087284A (ja) | 集積回路におけるメモリ・インタフェース制御方式 | |
JP2004273008A (ja) | クロック同期式半導体記憶装置 | |
JP2009296373A (ja) | クロック生成回路、システムlsi | |
JP4200969B2 (ja) | 半導体装置及び電子機器 | |
JP4882807B2 (ja) | Sdram制御回路及び情報処理装置 | |
JP2006202172A (ja) | バスタイミング制御回路 | |
US8271820B2 (en) | Micro-processor | |
JP2008257776A (ja) | 半導体記憶装置及びその制御方法 | |
KR100891390B1 (ko) | 마이크로 컨트롤러 및 업데이트 방법 |