(57)【要約】【課題】  リアルタイムクロックモジュールにおけるレジスタの誤更新を防止する。【解決手段】  第１クロック信号に同期してデータの取り込みを可能とする第１レジスタ（４３）と、第２クロック信号に同期してライトデータの取り込みを可能とする第２レジスタ（４１）と、ＣＰＵからのライトアクセスが無い場合には、カウントアップ信号に基づいて上記第１レジスタの保持データをカウントアップさせ、上記ＣＰＵからのライトアクセスがある場合には、上記第２レジスタの出力値を上記第１レジスタに供給し、上記ＣＰＵからのライトイトアクセスと上記第１クロック信号が競合する場合には、上記第２レジスタの出力値を上記第１レジスタに再書き込みするための論理回路（４２）とを含んでリアルタイムクロックモジュールを構成することでハザードの発生を抑える。【選択図】        図１
2006222515.tif 000002
【特許請求の範囲】
【請求項１】
第１クロック信号に基づいてカウント動作可能なリアルタイムクロックモジュールと、
上記第１クロック信号とは周波数が異なる第２クロック信号に基づいて動作され、上記リアルタイムクロックモジュールに対してライトアクセス可能な中央処処理装置と、を含む半導体集積回路であって、
上記リアルタイムクロックモジュールは、
上記第１クロック信号に同期してデータの取り込みを可能とする第１レジスタと、
上記第２クロック信号に同期して上記中央処理装置からのライトアクセスにかかるライトデータの取り込みを可能とする第２レジスタと、
上記中央処理装置からのライトアクセスが無い場合には、カウントアップ信号に基づいて上記第１レジスタの保持データをカウントアップさせ、上記中央処理装置からのライトアクセスがある場合には、上記第２レジスタの出力値を上記第１レジスタに供給し、上記中央処理装置からのライトアクセスと上記第１クロック信号が競合する場合には、上記第２レジスタの出力値を上記第１レジスタに再書き込みするための論理回路と、を含んで成る半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、例えばシステムＬＳＩに適用して有効な技術に関する。
【背景技術】
【０００２】
コンピュータ等の情報処理装置およびその他の電子機器において使用されるリアルタイムクロック（ＲＴＣ）信号を供給可能なモジュールとして、リアルタイムクロックモジュールが知られている（例えば特許文献１参照）。システムＬＳＩに内蔵されるリアルタイムクロックモジュールは、秒カウントのための秒カウンタ、分カウントのための分カウンタ、時カウントのための時カウンタ、曜日カウントのための曜日カウンタ、日カウントのための日カウンタ、月カウントのための月カウンタ、及び年カウントのための年カウンタなど、各種カウンタを備える。
【０００３】
上記秒カウンタは、６４Ｈｚのカウンタの１Ｈｚ毎のキャリによってカウントアップするレジスタとされる。このレジスタは、ＣＰＵ（中央処理装置）によって書き込み可能とされ、キャリによるレジスタ更新とＣＰＵによるレジスタ書き込みとは異なる周波数のクロック信号で制御する論理構成となっている。
【０００４】
上記ＣＰＵによるレジスタ書き込みには、システムの消費電力を抑えるため、ＣＰＵの非動作時にクロック発振を一時的に停止させたり、システムの電源を一部停止させるスタンバイモード時に停止されるシステムクロック信号が使用される。それに対して秒カウンタのカウントアップに使用されるクロック信号には、スタンバイモード時にも停止されないＲＴＣ用基準クロック信号が用いられる。
【０００５】
【特許文献１】特開平７−２４８８４４号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のようにリアルタイムクロックモジュールに内蔵される秒カウンタは、キャリによるレジスタ更新とＣＰＵによるレジスタ更新とは異なる周波数のクロック信号で制御する必要があるため、キャリによるレジスタ更新の際のＲＴＣ用基準クロック信号と、ＣＰＵによるレジスタ書き込みの際のシステムクロック信号とを切り換える必要がある。このクロック信号の切り換えはセレクタで行われる。しかしながら、本願発明者がそれについて検討したところ、両クロック信号の位相差によっては、更新されるレジスタに供給されるクロック信号にハザードが発生することがあり、かかる場合には、ＣＰＵによるレジスタ書き込みが正常に行われないなど、レジスタの誤更新を生ずる可能性があることが見いだされた。
【０００７】
本発明の目的は、リアルタイムクロックモジュールにおけるレジスタの誤更新を防止するための技術を提供することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
すなわち、第１クロック信号に基づいてカウント動作可能なリアルタイムクロックモジュールと、上記第１クロック信号とは周波数が異なる第２クロック信号に基づいて動作され、上記リアルタイムクロックモジュールに対してライトアクセス可能な中央処処理装置とを含んで半導体集積回路が構成されるとき、上記リアルタイムクロックモジュールは、上記第１クロック信号に同期してデータの取り込みを可能とする第１レジスタと、上記第２クロック信号に同期して上記中央処理装置からのライトアクセスにかかるライトデータの取り込みを可能とする第２レジスタと、上記中央処理装置からのライトアクセスが無い場合には、カウントアップ信号に基づいて上記第１レジスタの保持データをカウントアップさせ、上記中央処理装置からのライトアクセスがある場合には、上記第２レジスタの出力値を上記第１レジスタに供給し、上記中央処理装置からのライトアクセスと上記第１クロック信号が競合する場合には、上記第２レジスタの出力値を上記第１レジスタに再書き込みするための論理回路とを含んで構成する。
【００１１】
上記の構成によれば、第１クロック信号と第２クロック信号に対して、それぞれ専用の上記第１レジスタ及び上記第２レジスタが設けられており、それによってクロックラインが分離された構成となる。そのため、クロックラインにセレクタを挿入する必要がなくなり、更新されるレジスタに供給されるクロック信号に含まれるハザードを抑えることができる。また、上記中央処理装置からのライトアクセスと上記第１クロック信号が競合する場合には、上記第２レジスタの出力値が上記第１レジスタに再書き込みされる。そのことが、リアルタイムクロックモジュールにおけるレジスタの誤更新の排除を達成する。
【発明の効果】
【００１２】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１３】
すなわち、リアルタイムクロックモジュールにおけるレジスタの誤更新を防止することができる。
【発明を実施するための最良の形態】
【００１４】
図５には、本発明にかかる半導体集積回路の一例であるシステムＬＳＩが示される。図５に示されるシステムＬＳＩ２０は、特に制限されないが、ＣＰＵ（中央処理装置）１０、ＲＡＭ（ランダムアクセスメモリ）１１、ＣＰＧ（クロックパルスジェネレータ）１２、ＢＳＣ（バスステートコントローラ）１３、第１周辺モジュール（ＰＵ１）１４、第２周辺モジュール（ＰＵ２）１５、ＲＴＣＭ（リアルタイムクロックモジュール）１６を含み、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。ＣＰＧ１２は、各モジュールの動作用基準クロックとされるシステムクロック信号ＳＹＳ−ＣＬＫを発生させる。このシステムクロック信号ＳＹＳ−ＣＬＫは、ＣＰＵ１０、ＲＡＭ１１、ＢＳＣ１３、第１周辺モジュール１４、第２周辺モジュール１５、及びＲＴＣＭ１６に供給される。ＣＰＵ１０は、データバスＤ−ＢＵＳ１及びアドレスバスＡ−ＢＵＳ１に結合され、所定のプログラムに従って各種演算処理及び各部の動作制御を可能とする。ＲＡＭ１１は、データバスＤ−ＢＵＳ１及びアドレスバスＡ−ＢＵＳ２に結合され、上記ＣＰＵ１０での演算処理における作業領域などに利用される。ＢＳＣ１３は、データバスＤ−ＢＵＳ１、アドレスバスＡ−ＢＵＳ１と、データバスＤ−ＢＵＳ２、アドレスバスＡ−ＢＵＳ２と、データバスＤ−ＢＵＳ３、アドレスバスＡ−ＢＵＳ３との間のバスステート制御を行う。データバスＤ−ＢＵＳ２、アドレスバスＡ−ＢＵＳ２には、外部に配置された外部メモリ（ＭＥＭ）１７が結合される。データバスＤ−ＢＵＳ３、アドレスバスＡ−ＢＵＳ３には、第１周辺回路１４、第２周辺回路１５、及びＲＴＣＭ１６が結合される。第１周辺回路１４及び第２周辺回路１５は、特に制限されないが、入力アナログ信号をディジタル信号に変換するためのＡＤコンバータや、外部との間でシリアル通信を可能とするインタフェースなどとされる。ＲＴＣＭ１６はリアルタイムクロック用基準クロック信号をカウントする。そのカウント結果はデータバスＤ−ＢＵＳ３に出力可能とされる。上記複数のレジスタは、キャリによるレジスタ更新と、ＣＰＵ１０によるレジスタ更新が可能とされる。キャリによるレジスタ更新は、外部から入力されたＲＴＣクロック信号ＲＴＣ−ＣＬＫに基づいて行われ、ＣＰＵ１０によるレジスタ更新は、ステムクロック信号ＳＹＳ−ＣＬＫに基づいて行われる。
【００１５】
図１には上記ＲＴＣＭ１６における主要部の構成が示される。
【００１６】
図１に示されるように上記ＲＴＣＭ１６は、特に制限されないが、レジスタ３１，３２，３５，３９，４１，４３、論理回路３４，３６，３８，４２、セレクタ４０，４４を含んで成る。レジスタ３１は、システムクロック信号ＳＹＳ−ＣＬＫに同期してＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫを取り込む。このレジスタ３１の出力信号は後段のレジスタ３２に伝達される。レジスタ３２は、システムクロック信号ＳＹＳ−ＣＬＫに同期して上記レジスタ３１の出力信号を取り込む。このレジスタ３２の出力信号は後段の論理回路３４に伝達される。論理回路３４は、レジスタ３２からの出力信号の立ち上がりエッジを検出する。この検出結果は、フラグクリア信号３３として後段の論理回路３８に伝達される。レジスタ３５は、システムクロック信号ＳＹＳ−ＣＬＫに同期してＣＰＵ１０からのＣＰＵライトアクセス信号ＣＰＵ−Ｗを取り込む。このレジスタ３５の出力信号は後段の論理回路３６に伝達される。論理回路３６は、レジスタ３５からの出力信号に基づいて所定のパルス幅の信号を発生する。この信号は、フラグセット信号として後段の論理回路３８に伝達される。論理回路３８は、上記論理回路３４からのフラグクリア信号３３と、上記論理回路３６からのフラグセット信号３７との判定を行う。この論理回路３６での判定は、図２にその真理値表が示されるように、フラグセット信号３７が論理値“１”の場合にはフラグクリア信号３３の論理値にかかわらず、論理回路３８の出力は論理値“１”となり、フラグセット信号３７が論理値“０”で、フラグクリア信号３３が論理値“１”の場合には論理回路３８の出力は論理値“０”とされる。また、フラグセット信号３７とフラグクリア信号３３との論理の組み合わせが上記以外（Ｅｌｓｅ）の場合にはレジスタ書き込みフラグの保持状態とされる。論理回路３８の出力信号は、後段のレジスタ３９に伝達される。このレジスタ３９は、システムクロック信号ＳＹＳ−ＣＬＫに同期して上記論理回路３８の出力信号を取り込む。このレジスタ３９の出力信号は、上記論理回路３８に帰還されるとともに、論理回路４２及びセレクタ４４に伝達される。セレクタ４０は、ＣＰＵ１０からのＣＰＵライトアクセス信号ＣＰＵ−Ｗに基づいて、ＣＰＵ１０からのライトデータＷＤとレジスタ４１の出力信号とを選択的に後段のレジスタ４１に伝達する。つまり、ＣＰＵライトアクセス信号ＣＰＵ−Ｗが論理値“１”の場合、ライトデータＷＤが選択的に後段のレジスタ４１に伝達され、ＣＰＵライトアクセス信号ＣＰＵ−Ｗが論理値“０”の場合、レジスタ４１の出力信号が選択的に後段のレジスタ４１に伝達される。レジスタ４１は、システムクロック信号ＳＹＳ−ＣＬＫに同期してセレクタ４０の出力信号を取り込む。このレジスタ４１の出力信号は後段のセレクタ４４に伝達される。論理回路４２は、上記レジスタ３９の出力信号（レジスタ書き込みフラグ４５）、レジスタ４１の出力信号、カウントアップ信号ＣＮＴ−ＵＰ及びレジスタ４３の出力信号の論理演算を行う。この論理演算は、図３にその真理値表が示されるように、レジスタ書き込みフラグ４５が論理値“１”の場合にはカウントアンプ信号ＣＮＴ−ＵＰの論理にかかわらず、レジスタ４１の出力信号がそのまま後段のレジスタ４３に伝達される。ここで、上記カウントアップ信号ＣＮＴ−ＵＰは、ＲＴＣクロック信号ＲＴＣ−ＣＬＫを分周して生成される。レジスタ書き込みフラグ４５が論理値“０”で、カウントアップ信号ＣＮＴ−ＵＰが論理値“１”の場合レジスタ４３の出力信号が後段のセレクタ４４に伝達される。レジスタ書き込みフラグ４５の論理とカウントアップ信号ＣＮＴ−ＵＰの論理との組み合わせが上記以外（Ｅｌｓｅ）の場合には、レジスタ４３の出力データが保持される。レジスタ４３の出力信号は後段のセレクタ４４に伝達される。このセレクタ４４は、上記レジスタ書き込みフラグ４５に基づいて上記レジスタ４１，４３の出力信号を選択的に後段回路へ伝達する。すなわち、上記レジスタ書き込みフラグ４５が論理値“１”の場合には、レジスタ４１の出力信号が後段回路へ伝達され、上記レジスタ書き込みフラグ４５が論理値“０”の場合には、レジスタ４３の出力信号が後段回路へ伝達される。ここで、上記後段回路は、ＲＴＣＭ１６における他のレジスタとされ、上記セレクタ４４の出力信号ＯＵＴはキャリとして上記他のレジスタに供給される。
【００１７】
図４には、図１に示される構成において、ＣＰＵ１０からのライトアクセスＣＰＵ−ＷとＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫとの競合時における主要部の動作タイミングが示される。ＣＰＵ１０からのライトアクセスＣＰＵ−ＷとＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫとの競合時には、レジスタ４３に誤書き込みされる虞がある。そこで、本例では、レジスタ書き込みフラグ４５はクリアせず、次のＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫが発生したときに再度レジスタ４３に書き込みを行うようにしている。例えば図４において４０１で示される箇所は、ＣＰＵ１０からのライトアクセスＣＰＵ−ＷとＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫとが競合し、そのタイミングにおいてレジスタ４１からレジスタ４３へデータが遷移中である可能性がある。その場合、レジスタ４３は誤更新されるおそれがある。そこで本例では、ＣＰＵ１０からのライトアクセスＣＰＵ−ＷとＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫとの競合時には、レジスタ４１の出力を再度レジスタ４３に書き込むことにより、レジスタ４３は誤更新を排除している。つまり、４０２で示される箇所は、フラグセット信号３７が論理値“１”であるため、フラグクリアされないことを示しており、４３で示される箇所はレジスタ書き込みフラグ４５が論理値“１”のため、再度レジスタ４０３へ書き込みが行われることを示している。４０４で示される箇所は、フラグセット信号３７が論理値“０”のため、フラグクリア（レジスタ４３へのデータ書き込みが終了）されたことを示している。
【００１８】
ここで、上記レジスタ４３が本発明における第１レジスタに対応し、上記レジスタ４１が本発明における第２レジスタに対応し、上記論理回路４２が本発明における論理回路に対応する。
【００１９】
図６には、図１に示される回路の比較対象とされる回路構成が示され、図７には、図６における論理回路２１の真理値表が示される。
【００２０】
図６に示される構成では、論理演算を行う論理回路２１と、ＣＰＵライトアクセス信号ＣＰＵ−Ｗによって動作制御されるセレクタ３０とが設けられ、このセレクタ３０によってシステムクロック信号ＳＹＳ−ＣＬＫと、ＲＴＣクロック信号ＲＴＣ−ＣＬＫとが選択的にレジスタ２２に伝達される。ＣＰＵ１０からのライトアクセスがあった場合、レジスタ２２はシステムクロック信号ＳＹＳ−ＣＬＫで動作され、ライトデータＷＤの書き込みが行われる。ＣＰＵ１０からのライトアクセスＣＰＵ−Ｗが無い場合には、ＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫで動作される。カウントアップ信号ＣＮＴ−ＵＰがアサートされていればカウントアップが行われ、カウントアップ信号ＣＮＴ−ＵＰがアサートされていなければ、データが保持される。かかる構成によれば、セレクタ３０によってシステムクロック信号ＳＹＳ−ＣＬＫと、ＲＴＣクロック信号ＲＴＣ−ＣＬＫとが選択的にレジスタ２２に伝達されるようになっているため、両クロック信号の位相差によっては、更新されるレジスタ２２に供給されるクロック信号にハザードが発生することがあり、かかる場合には、ハザードによる不所望なパルスが入力されるため、システムクロックＳＹＳ−ＣＬＫに基づくレジスタ更新が正常に行われない虞がある。
【００２１】
これに対して、図１に示される構成では、ＣＰＵ１０からのライトアクセスが生じた場合、ＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫに同期動作されるレジスタ４３とシステムクロック信号ＳＹＳ−ＣＬＫとの二つのクロック信号に対して、それぞれ専用のレジスタが設けられており、クロックラインが分離された構成となっているため、クロックラインにセレクタを挿入する必要がなくなり、ハザードの発生を抑えることができる。また、上記ＣＰＵ１０からのライトアクセス信号ＣＰＵ−Ｗと上記第ＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫが競合する場合には、上記レジスタ４１の出力値が上記レジスタ４３に再書き込みされる。そのことが、リアルタイムクロックモジュールにおけるレジスタの誤更新を防止することができる。
【００２２】
上記例によれば、以下の作用効果を得ることができる。
【００２３】
（１）ＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫとシステムクロック信号ＳＹＳ−ＣＬＫに対して、それぞれ専用の上記レジスタ４３及び上記レジスタ４１が設けられ、クロックラインが分離された構成となっているため、クロックラインにセレクタを挿入する必要がなくなり、ハザードの発生を抑えることができる。また、互いに異なるクロックラインでのレジスタ更新が同時に行われようとした場合は、上記第２レジスタの出力値が上記第１レジスタに再書き込みされる。これによりリアルタイムクロックモジュール１６におけるレジスタの誤更新を防止することができる。
【００２４】
（２）ＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫとシステムクロック信号ＳＹＳ−ＣＬＫとの二つのクロック信号に対して、それぞれ専用のレジスタが設けられており、クロックラインが分離された構成となっているため、図１に示される回路は単相設計と同等とみなすことができ、論理シミュレーションによる検証やタイミング検証が容易になる。
【００２５】
（３）上記（２）の作用効果により、同一工数であれば、より多くの検証を実行することが可能になり、高品質な設計が可能になる。また、同一検証項目であれば、工数の削減につながる。
【００２６】
（４）ＲＴＣ用基準クロック信号ＲＴＣ−ＣＬＫとシステムクロック信号ＳＹＳ−ＣＬＫとの二つのクロック信号に対して、それぞれ専用のレジスタが設けられており、クロックラインが分離された構成となっているため、スタンバイモードのように低消費電力のため特定のクロック信号以外のクロック信号が停止されるようなモジュールに有効とされる。
【００２７】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００２８】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるシステムＬＳＩに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路に広く適用することができる。
【００２９】
本発明は、リアルタイムクロックモジュールを含むことを条件に適用することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明にかかる半導体集積回路の一例であるシステムＬＳＩに含まれるＲＴＣＭの構成例ブロック図である。
【図２】上記ＲＴＣＭにおける主要部の動作説明図である。
【図３】上記ＲＴＣＭにおける主要部の別の動作説明図である。
【図４】上記ＲＴＣＭにおける主要部の動作タイミング図である。
【図５】上記システムＬＳＩの全体的な構成例ブロック図である。
【図６】図１に示されるＲＴＣＭの比較対象とされる回路の構成例ブロック図である。
【図７】図６に示される回路における主要部の動作説明図である。
【符号の説明】
【００３１】
１０  ＣＰＵ
１１  ＲＡＭ
１２  ＣＰＧ
１３  ＢＳＣ
１４，１５  周辺モジュール
１６  ＲＴＣＭ
３１，３２，３５，３９，４１，４３  レジスタ
３４，３６，３８，４２  論理回路
４０，４４  セレクタ
【図１】
2006222515.tif 000003
【図２】
2006222515.tif 000004
【図３】
2006222515.tif 000005
【図４】
2006222515.tif 000006
【図５】
2006222515.tif 000007
【図６】
2006222515.tif 000008
【図７】
2006222515.tif 000009