(57)【要約】【課題】予備回路を設けることなく固定故障に対応可能な発振回路を提供する。【解決手段】  発振回路は、オン状態で発振しオフ状態で停止する複数のリングオシレータを含む発振部と、周波数制御信号に応じて複数のリングオシレータの各々をオン状態又はオフ状態のいずれかに選択的に設定する発振制御信号を供給することにより発振部の発振周波数の制御を行う制御回路と、複数のリングオシレータのうちの少なくとも１つのリングオシレータを特定する情報を保持する情報保持部とを含み、制御回路は、情報に基づいて特定した１つのリングオシレータを含む複数のリングオシレータについては発振周波数の制御において周波数制御信号に応じてオン状態又はオフ状態のいずれかに選択的に設定する対象から除外するとともに、周波数制御信号に関わらず常時オン状態に設定する発振制御信号を前記複数のリングオシレータに供給する。【選択図】図４
2019149706.tif 000002
【特許請求の範囲】
【請求項１】
出力が互いに結合されオン状態で発振しオフ状態で停止する複数のリングオシレータを含む発振部と、
外部からの周波数制御信号に応じて前記複数のリングオシレータの各々を前記オン状態又は前記オフ状態のいずれかに選択的に設定する発振制御信号を供給することにより前記発振部の発振周波数の制御を行う制御回路と、
前記複数のリングオシレータのうちの少なくとも１つのリングオシレータを特定する情報を保持する情報保持部と、
を含み、前記制御回路は、前記情報に基づいて特定した前記１つのリングオシレータを含む複数のリングオシレータについては前記発振周波数の制御において前記周波数制御信号に応じて前記オン状態又は前記オフ状態のいずれかに選択的に設定する対象から除外するとともに、前記周波数制御信号に関わらず常時前記オン状態に設定する前記発振制御信号を前記複数のリングオシレータに供給することを特徴とする発振回路。
【請求項２】
前記複数のリングオシレータは複数の行及び複数の列にマトリクス状に配置され、前記複数のリングオシレータは互いに隣接する複数のリングオシレータである請求項１記載の発振回路。
【請求項３】
前記互いに隣接する複数のリングオシレータは同一行に配置される複数のリングオシレータである請求項２記載の発振回路。
【請求項４】
前記互いに隣接する複数のリングオシレータは同一列に配置される複数のリングオシレータである請求項２記載の発振回路。
【請求項５】
前記情報により特定される前記１つのリングオシレータは前記オン状態に固定される固定故障を有するリングオシレータである請求項１乃至４のいずれか一項記載の発振回路。
【請求項６】
前記複数のリングオシレータは複数の行及び複数の列にマトリクス状に配置され、前記制御回路は、
前記複数の行に一対一に対応する１ビットの値を格納する複数のロー制御フラグと、
前記複数の列に一対一に対応する１ビットの値を格納する複数のコラム制御フラグと、
周波数変化を指示する前記周波数制御信号の値に応じて前記複数のコラム制御フラグのうちで前記オン状態を示す値を格納するフラグの数を変化させ、前記複数のコラム制御フラグのうちで前記オン状態を示す値を格納するフラグの数の変化に応じて前記複数のロー制御フラグのうちで前記オン状態を示す値を格納するフラグの数を変化させる制御部と、
を含み、前記制御部は、前記複数のロー制御フラグ又は前記複数のコラム制御フラグの少なくともいずれか一方において、前記オン状態を示す値を格納するフラグの数を変化させる際に状態を変化させる対象のフラグが前記１つのリングオシレータに対応する位置のフラグである場合、当該フラグを飛ばして当該フラグの次の位置のフラグの状態を変化させる請求項１記載の発振回路。
【請求項７】
出力が互いに結合されオン状態で発振しオフ状態で停止する複数のリングオシレータを含み、外部からの周波数制御信号に応じて前記複数のリングオシレータの各々を前記オン状態又は前記オフ状態のいずれかに選択的に設定する発振制御信号を供給することにより発振周波数の制御が行われる発振回路の制御方法であって、
前記複数のリングオシレータのうちで前記オン状態又は前記オフ状態のいずれかに固定される固定故障を有する少なくとも１つのリングオシレータを特定する情報に基づいて、前記１つのリングオシレータを含む複数のリングオシレータについては前記発振周波数の制御において前記周波数制御信号に応じて前記オン状態又は前記オフ状態のいずれかに選択的に設定する対象から除外し、
前記周波数制御信号に関わらず常時前記オン状態に設定する前記発振制御信号を前記複数のリングオシレータに供給する
各段階を含む発振回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願開示は、発振回路及び発振回路の制御方法に関する。
【背景技術】
【０００２】
完全デジタル位相同期（ＡＤＰＬＬ：All Digital Phase-Locked Loop）回路は、構成要素の全てがデジタル回路で構成される位相同期回路（ＰＬＬ：Phase-Locked Loop）回路である。ＡＤＰＬＬ回路は、位相検出回路（Phase Frequency Detector）、デジタルフィルタ、デジタル制御発振器（ＤＣＯ：Digitally Controlled Oscillator）、及び分周器を含む。
【０００３】
分周器は、ＤＣＯの出力する発振信号をＮ分の１に分周し、分周信号を生成する。位相検出回路は、基準周波数で発振する基準信号と分周信号との位相を比較し、位相比較結果を示す信号を出力する。デジタルフィルタは、位相比較結果を示す信号を積分し、積分結果に応じて周波数アップ又は周波数ダウンを指示する周波数制御信号をＤＣＯに供給する。ＤＣＯは、周波数制御信号に応じてアップ又はダウンされるデジタルコードに応じた周波数で発振する。デジタルコードに応じてＤＣＯが発振したときに基準信号と分周信号との周波数差及び位相差がゼロになると、デジタルコードは一定値に収束し、ＡＤＰＬＬ回路が所望の周波数にロックした状態となる。
【０００４】
あるタイプのＤＣＯは、互いに同一の段数を有し同一の周波数で発振する複数個のリングオシレータを含み、これら複数個のリングオシレータの発振出力が互いに結合されている。全てのリングオシレータのうちでオン状態（発振状態）にあるリングオシレータが発振駆動力として機能し、オフ状態（停止状態）にあるリングオシレータが負荷として機能する。オン状態にあるリングオシレータの数を増加させオフ状態にあるリングオシレータの数を減少させると発振周波数が上昇し、オン状態にあるリングオシレータの数を減少させオフ状態にあるリングオシレータの数を増加させると発振周波数が低下する。オン状態にあるリングオシレータの数をデジタルコードにより設定することにより、発振周波数を調整することが可能となる。
【０００５】
ＡＤＰＬＬ回路においては、常時ＤＣＯの発振周波数を上下させることにより、温度変化や電源ノイズ等の環境条件の変化により発生する発振周波数の自然変動を補正することができる。しかしながら、ＤＣＯの複数のリングオシレータのうちの例えば１つのリングオシレータが常時オン状態又は常時オフ状態となってしまう固定故障が発生すると、当該リングオシレータをオン又はオフしても発振周波数を上下させることができなくなってしまう。そのために想定したタイミングで発振周波数の補正ができないことになり、発振周波数の補正に時間がかかったり、ジッタが悪化したりする等の問題が生じ、ＡＤＰＬＬ回路の性能が劣化してしまう。
【０００６】
製造不良のＬＳＩを破棄することなく固定故障に対応するため、従来の技術では、予備のリングオシレータを用意しておき、固定故障が発生したリングオシレータを予備のリングオシレータに置換えていた。しかしながら、予備のリングオシレータを用意しておくことは、通常発振用の予備でない複数のリングオシレータの出力に予備のリングオシレータの出力が結合されることとなり、余分な負荷が増えて電力消費が増大してしまう。また予備のリングオシレータの分だけ回路サイズが大きくなるという問題があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２５２９５５号公報
【特許文献２】特開２０１７−１１８４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以上を鑑みると、予備回路を設けることなく固定故障に対応可能な発振回路を提供することが望まれる。
【課題を解決するための手段】
【０００９】
発振回路は、出力が互いに結合されオン状態で発振しオフ状態で停止する複数のリングオシレータを含む発振部と、外部からの周波数制御信号に応じて前記複数のリングオシレータの各々を前記オン状態又は前記オフ状態のいずれかに選択的に設定する発振制御信号を供給することにより前記発振部の発振周波数の制御を行う制御回路と、前記複数のリングオシレータのうちの少なくとも１つのリングオシレータを特定する情報を保持する情報保持部とを含み、前記制御回路は、前記情報に基づいて特定した前記１つのリングオシレータを含む複数のリングオシレータについては前記発振周波数の制御において前記周波数制御信号に応じて前記オン状態又は前記オフ状態のいずれかに選択的に設定する対象から除外するとともに、前記周波数制御信号に関わらず常時前記オン状態に設定する前記発振制御信号を前記複数のリングオシレータに供給することを特徴とする。
【発明の効果】
【００１０】
少なくとも１つの実施例によれば、予備回路を設けることなく固定故障に対応可能な発振回路を提供できる。
【図面の簡単な説明】
【００１１】
【図１】ＡＤＰＬＬ回路の構成の一例を示す図である。
【図２】ＡＤＰＬＬ回路の制御動作の一例を示す図である。
【図３】ＤＣＯに固定故障が存在する場合におけるＡＤＰＬＬ回路の制御動作の一例を示す図である。
【図４】ＡＤＰＬＬ回路の実施形態の構成の一例を示す図である。
【図５】発振部の構成の一例を示す図である。
【図６】固定故障が存在する場合の発振部の発振動作について説明するための図である。
【図７】固定故障が存在する場合の発振部の発振動作について説明するための図である。
【図８】発振回路の制御方法の一例を示すフローチャートである。
【図９】ＤＣＯの第１の実施例の構成の一例を示す図である。
【図１０】発振部にマトリクス状に配置されるリングオシレータの構成の一例を示す図である。
【図１１】スキップ＆常時オン制御部の行毎の部分回路の構成の一例を示す図である。
【図１２】ＤＣＯの第２の実施例の構成の一例を示す図である。
【図１３】発振部にマトリクス状に配置されるリングオシレータの構成の一例を示す図である。
【図１４】スキップ＆常時オン制御部の列毎の部分回路の構成の一例を示す図である。
【図１５】図９に示す第１の実施例の構成において故障がオン固定故障ではなくオフ固定故障の場合を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。各図において、同一又は対応する構成要素は同一又は対応する番号で参照され、重複する説明は適宜省略される。
【００１３】
図１は、ＡＤＰＬＬ回路の構成の一例を示す図である。図１及び以下の同様の図において、各ボックスで示される各回路又は機能ブロックと他の回路又は機能ブロックとの境界は、基本的には機能的な境界を示すものであり、物理的な位置の分離、電気的な信号の分離、制御論理的な分離等に対応するとは限らない。各回路又は機能ブロックは、他のブロックと物理的にある程度分離された１つのハードウェアモジュールであってもよいし、或いは他のブロックと物理的に一体となったハードウェアモジュール中の１つの機能を示したものであってもよい。
【００１４】
図１のＡＤＰＬＬ回路は、位相検出回路１０、デジタルフィルタ１１、デジタル制御発振器（ＤＣＯ）１２、及び分周器１３を含む。ＤＣＯ１２は、デジタルフィルタ１１から供給される周波数制御信号に応じてアップ又はダウンされるデジタルコードに応じた周波数で発振し、発振信号ＯＵＴを出力する。ＤＣＯ１２の出力する発振信号ＯＵＴは分周器１３に供給される。分周器１３は、分周率設定コードに応じた分周率で発振信号ＯＵＴを分周して分周信号を生成してよい。分周率は固定の分周率であってもよい。
【００１５】
位相検出回路１０は、分周器１３から供給される分周信号と基準周波数で発振する基準信号ＲＦとの位相差に応じた位相検出信号を生成する。具体的には、位相検出回路１０は、分周信号の立ち上がりエッジと基準信号ＲＦの立ち上がりエッジとのいずれが早いかを検出し、当該検出結果を反映する信号値を有する位相検出信号を出力してよい。位相検出信号は、分周信号の位相が基準信号ＲＦの位相より遅い場合には例えばマイナス値（或いは所定の基準値より小さい値）となり、分周信号の位相が基準信号ＲＦの位相より早い場合には例えばプラス値（或いは所定の基準値より大きい値）となってよい。また位相検出信号は、その値の大きさ（或いは所定の基準値からの差の大きさ）が、分周信号の位相と基準信号ＲＦの位相との差に応じたものであってもよい。位相検出信号は、例えば、各ビットが０又は１の値をとる１ビット又は複数ビットの長さのデジタルコードであってよい。
【００１６】
デジタルフィルタ（ループフィルタ）１１は、位相検出回路１０から出力される位相検出信号の低周波成分を通過させ高周波成分を遮断又は抑制する低域通過フィルタである。デジタルフィルタ１１は、位相検出信号を低域通過フィルタ処理することにより、一時的な細かい変動に影響されずにある程度長い期間に亘る位相差の傾向を示す位相差情報を生成し、生成した位相差情報を周波数制御信号としてＤＣＯ１２に供給する。周波数制御信号は、例えば、各ビットが０又は１の値をとる１ビット又は複数ビットの長さのデジタルコードであってよい。以降の説明では、周波数制御信号は、位相遅れの状態及び位相進みの状態をそれぞれ例えば０及び１の値により示す１ビットの信号であるとする。この周波数制御信号は、ＤＣＯ１２に対して周波数の増加又は減少を指示する１ビットの信号である。
【００１７】
ＤＣＯ１２は、互いに同一の段数を有し同一の周波数で発振する複数個のリングオシレータを含み、これら複数個のリングオシレータの発振出力が互いに結合されている。ＤＣＯ１２は、周波数制御信号が周波数増加を指示する場合には発振状態にあるリングオシレータの数を増加させることにより、発振信号ＯＵＴの周波数を増加させる。ＤＣＯ１２は、周波数制御信号が周波数減少を指示する場合には発振状態にあるリングオシレータの数を減少させることにより、発振信号ＯＵＴの周波数を減少させる。このフィードバック制御動作により、発振信号ＯＵＴの周波数は基準信号ＲＦの周波数に一致するように調整される。
【００１８】
図２は、図１に示すＡＤＰＬＬ回路の制御動作の一例を示す図である。図２において
横軸は時間を示し、縦軸はＡＤＰＬＬ回路の発振信号ＯＵＴの周波数を示す。図２に示すように、基準信号の基準周波数ＲＦ０から発振信号ＯＵＴの周波数がずれると、上述のフィードバック制御動作により、例えばタイミングＴ１において基準周波数ＲＦ０に一致するように発振信号ＯＵＴの周波数が調整される。
【００１９】
図３は、ＤＣＯに固定故障が存在する場合におけるＡＤＰＬＬ回路の制御動作の一例を示す図である。図３において横軸は時間を示し、縦軸はＡＤＰＬＬ回路の発振信号ＯＵＴの周波数を示す。図３に示すように、基準信号の基準周波数ＲＦ０から発振信号ＯＵＴの周波数がずれると、上述のフィードバック制御動作により、本来であれば例えばタイミングＴ１において基準周波数ＲＦ０に一致するように発振信号ＯＵＴの周波数が調整される。しかしながら、フィードバック制御動作により状態変化させようとした対象のリングオシレータが固定故障を有する場合、ＤＣＯ１２の発振信号ＯＵＴの周波数が所望のタイミングＴ１で変化せず、図３に示すようにそのまま周波数のずれが増大してしまう。そのために、発振周波数の補正に時間がかかったり、ジッタが悪化したりする等の問題が生じ、ＡＤＰＬＬ回路の性能が劣化してしまう。
【００２０】
図４は、ＡＤＰＬＬ回路の実施形態の構成の一例を示す図である。図４に示すＡＤＰＬＬ回路は、発振部２０、コラム制御部２１、ロー制御部２２、常時オン選択信号生成部２３、障害情報保持レジスタ２４、及び周波数制御部２５を含む。周波数制御部２５は、図１に示される分周器１３、位相検出回路１０、及びデジタルフィルタ１１の機能を１つに纏めたものに相当する。周波数制御部２５は、発振周波数の増加又は減少を指示する１ビットの信号をコラム制御部２１に供給してよい。発振部２０、コラム制御部２１、及びロー制御部２２が図１に示されるＤＣＯ１２に相当する。
【００２１】
図５は、発振部２０の構成の一例を示す図である。図５に示す発振部２０は、複数の行及び複数の列にマトリクス状に配置された複数のリングオシレータ４０を含む。複数のリングオシレータ４０は、出力が互いに結合されオン状態で発振しオフ状態で停止する。図５に示す例では、３行及び３列のマトリクスとなっているが、行及び列の数は３個に限られず所望の数であってよい。リングオシレータ４０の各々は、図５の例では３個の論理反転回路がループ状に直列接続されている。論理反転回路の数は３個に限られず、所望の数であってよい。
【００２２】
リングオシレータ４０の３個の論理反転回路は、論理反転回路４１、インバータ４２、及びインバータ４３である。第１行乃至第３行に配置されるリングオシレータ４０の論理反転回路４１には、ロー発振制御信号Ｒ１乃至Ｒ３が印加される。第１列乃至第３列に配置されるリングオシレータ４０の論理反転回路４１には、コラム発振制御信号Ｃ１乃至Ｃ３が印加される。ロー発振制御信号Ｒ１乃至Ｒ３はサーモメータコードであり、（Ｒ１，Ｒ２，Ｒ３）の値は（０，０，０）、（１，０，０）、（１，１，０）、又は（１，１，１）である。コラム発振制御信号Ｃ１乃至Ｃ３も同様のサーモメータコードである。ロー又はコラム発振制御信号は、例えば値"１"であるときにリングオシレータ４０にオン状態を指示し、例えば値"０"であるときにリングオシレータ４０にオフ状態を指示する。
【００２３】
ロー発振制御信号の値が"１"である行においては、コラム発振制御信号Ｃ１乃至Ｃ３の値に関わらず全ての列の論理反転回路４１がインバータとして機能し、行内の全てのリングオシレータ４０が発振する。ロー発振制御信号の値が"０"である行においては、原則として、コラム発振制御信号Ｃ１乃至Ｃ３の値に関わらず全ての列の論理反転回路４１の出力が固定され、行内のリングオシレータ４０は発振しない。但しロー発振制御信号の値が"０"であるｉ番目の行において、その直ぐ下のｉ−１番目の行でのロー発振制御信号の値が"１"であれば、コラム発振制御信号の値が"１"である列の論理反転回路４１がインバータとして機能し、リングオシレータ４０が発振する。このｉ番目の行において、コラム発振制御信号の値が"０"である列のリングオシレータ４０は発振しない。
【００２４】
リングオシレータ４０の論理反転回路４１がインバータとして動作するか否かに関する上記の説明で示された構成は、発振部２０の最も基本的な回路構成におけるものである。後ほど説明する各実施例において、論理反転回路４１の動作及び構成は各実施例の趣旨に合わせて適宜変形される。
【００２５】
図４に戻り、コラム制御部２１は、コラム制御フラグ列３１、シフト制御部３２、及びスキップ＆常時オン制御部３３を含む。ロー制御部２２は、スキップ＆常時オン制御部３４、シフト制御部３５、ロー制御フラグ列３６を含む。
【００２６】
コラム制御フラグ列３１は、複数の列に一対一に対応する１ビットの値を格納する複数のコラム制御フラグ（例えば図６の３１Ａ）を含む。シフト制御部３２は、周波数制御部２５からの周波数変化を指示する周波数制御信号の値に応じて、複数のコラム制御フラグのうちでオン状態を示す値"１"を格納するフラグの数を、所定の更新タイミングで変化させる。各コラム制御フラグの格納値が、対応する列のリングオシレータにオン状態又はオフ状態を指示するコラム発振制御信号となる。
【００２７】
周波数制御部２５から周波数増加を指示する周波数制御信号を受け取った場合、シフト制御部３２は以下の動作を実行する。シフト制御部３２は、次の更新タイミングにおいて、ｊ番目のコラム制御フラグの値をｊ＋１番目のコラム制御フラグに格納する。１番目のコラム制御フラグには"１"を格納する。但し、最終列（ｊが最大値の列）のコラム制御フラグの値が"１"の場合には、次の更新タイミングにおいて、１番目のコラム制御フラグの値を"１"にし、残りの全てのコラム制御フラグの値を"０"にする。
【００２８】
周波数制御部２５から周波数減少を指示する周波数制御信号を受け取った場合、シフト制御部３２は以下の動作を実行する。シフト制御部３２は、次の更新タイミングにおいて、ｊ番目のコラム制御フラグの値をｊ−１番目のコラム制御フラグに格納する。最終列（ｊが最大値の列）のコラム制御フラグには"０"を格納する。但し、１番目のコラム制御フラグの値が"０"の場合には、次の更新タイミングにおいて、最終列のコラム制御フラグの値を"０"にし、残りの全てのコラム制御フラグの値を"１"にする。
【００２９】
ロー制御フラグ列３６は、複数の行に一対一に対応する１ビットの値を格納する複数のロー制御フラグ（例えば図６の３６Ａ）を含む。各ロー制御フラグの格納値が、対応する行のリングオシレータにオン状態又はオフ状態を指示するロー発振制御信号となる。
【００３０】
シフト制御部３５は、コラム側の複数のコラム制御フラグのうちでオン状態を示す値"１"を格納するフラグの数の変化に応じて、複数のロー制御フラグのうちでオン状態を示す値"１"を格納するフラグの数を、所定の更新タイミングで変化させる。具体的には、最終列のコラム制御フラグの値が"１"の状態において周波数制御信号が周波数増加を指示する場合に、ロー増加指示がシフト制御部３２からシフト制御部３５に供給される。これに応じてシフト制御部３５は、次の更新タイミングにおいて、複数のロー制御フラグのうちでオン状態を示す値"１"を格納するフラグの数を増加させる。また１番目のコラム制御フラグの値が"０"の状態において周波数制御信号が周波数減少を指示する場合に、ロー減少指示がシフト制御部３２からシフト制御部３５に供給される。これに応じてシフト制御部３５は、次の更新タイミングにおいて、複数のロー制御フラグのうちでオン状態を示す値"１"を格納するフラグの数を減少させる。
【００３１】
シフト制御部３２からロー増加指示を受け取った場合、シフト制御部３５は以下の動作を実行する。シフト制御部３５は、次の更新タイミングにおいて、ｉ番目のロー制御フラグの値をｉ＋１番目のロー制御フラグに格納する。１番目のロー制御フラグには"１"を格納する。
【００３２】
シフト制御部３２からロー減少指示を受け取った場合、シフト制御部３５は以下の動作を実行する。シフト制御部３５は、次の更新タイミングにおいて、ｉ番目のロー制御フラグの値をｉ−１番目のロー制御フラグに格納する。最終行（ｉが最大値の列）のロー制御フラグには"０"を格納する。
【００３３】
上記のシフト制御部３２によりコラム制御フラグ列３１を制御する動作及びシフト制御部３５によりロー制御フラグ列３６を制御する動作は、固定故障が存在しない場合における動作又は固定故障が存在しない箇所における動作である。固定故障が存在する場合、シフト制御部３２及び３５の何れか一方は、固定故障を有する１つのリングオシレータを含む互いに隣接する複数のリングオシレータについては、周波数制御の対象から除外する。即ち、固定故障を有する１つのリングオシレータを含む互いに隣接する複数のリングオシレータについては、フィードバック制御による発振周波数の制御において、周波数制御信号に応じてオン状態又はオフ状態のいずれかに選択的に設定する対象から除外する。また更に、シフト制御部３２及び３５の何れか一方は、周波数制御部２５からの周波数制御信号に関わらず常時オン状態に設定する発振制御信号を、固定故障を有する１つのリングオシレータを含む互いに隣接する複数のリングオシレータに供給する。
【００３４】
上記の互いに隣接する複数のリングオシレータは、同一行に配置される複数のリングオシレータ又は同一列に配置される複数のリングオシレータであってよい。このように常時オン状態に設定する発振制御信号を供給することにより、例えば固定故障のリングオシレータが存在する行全体を常時オン状態に設定してよい。或いは固定故障のリングオシレータが存在する列全体を常時オン状態に設定してもよい。
【００３５】
以下に、固定故障が存在する場合について、図４に示すＡＤＰＬＬ回路の動作を説明する。障害情報保持レジスタ２４は、固定故障（例えばオン故障）を有するリングオシレータを特定する情報を保持する。当該情報は固定故障箇所を特定する情報であってよく、例えば、固定故障を有するリングオシレータのローアドレス或いはコラムアドレスを示す情報であってよい。障害情報保持レジスタ２４は、情報保持機能を有する回路であればよく、ＲＯＭ等のメモリ回路を用いたレジスタである必要はない。例えばフューズの切断により情報を格納できるフューズ回路等を障害情報保持レジスタ２４として用いてもよい。
【００３６】
常時オン選択信号生成部２３は、障害情報保持レジスタ２４に格納される固定故障箇所を示す情報に基づいて、固定故障位置の行を示す常時オン制御信号又は固定故障位置の列を示す常時オン制御信号を生成する。行を示す常時オン制御信号はスキップ＆常時オン制御部３４に供給され、列を示す常時オン制御信号はスキップ＆常時オン制御部３３に供給される。常時オン選択信号生成部２３は例えばデコーダであり、故障アドレスをデコードすることにより、各行又は各列に対応する１ビットの信号線のうち故障位置に対応する行又は列の１ビットの信号線をアサートしてよい（例えば"１"の値に設定してよい）。
【００３７】
列側のスキップ＆常時オン制御部３３に供給された常時オン制御信号は、各列に一対一に対応する１ビットの信号であり、故障箇所においてのみ値"１"に設定されそれ以外の列においては"０"に設定されてよい。スキップ＆常時オン制御部３３は、現在のコラム制御フラグ列３１の各コラム制御フラグの値を受け取り、次の更新タイミングにおいて、現在の各列のコラム制御フラグの値を一列ずらした値を更新後の各列のコラム制御フラグの値として設定させる。一列ずらす方向は、シフト制御部３２の制御により、周波数制御部２５からの周波数制御信号が周波数増加を指示するか周波数減少を指示するかに応じて定まる。但し固定故障の位置の列においては、当該列を跨ぐようにスキップすることにより、現在のコラム制御フラグの値を２列ずらした値を、更新後のコラム制御フラグの値として設定させる。また固定故障の位置の列においては、例えば、当該列に配置されるリングオシレータに対して常時オン状態（即ち発振状態）を指示するコラム発振制御信号を生成するように動作してよい。スキップ＆常時オン制御部３３の詳細については後ほど説明する。
【００３８】
行側のスキップ＆常時オン制御部３４に供給された常時オン制御信号は、各行に一対一に対応する１ビットの信号であり、故障箇所においてのみ値"１"に設定されそれ以外の行においては"０"に設定されてよい。スキップ＆常時オン制御部３４は、現在のロー制御フラグ列３６の各ロー制御フラグの値を受け取り、次の更新タイミングにおいて、現在の各行のロー制御フラグの値を一行ずらした値を更新後の各行のロー制御フラグの値として設定させる。
【００３９】
一行ずらす方向は、シフト制御部３５の制御により、周波数制御部２５からの周波数制御信号が周波数増加を指示するか周波数減少を指示するかに応じて定まる。但し固定故障の位置の行においては、当該行を跨ぐようにスキップすることにより、現在のロー制御フラグの値を２行ずらした値を、更新後のロー制御フラグの値として設定させる。このようにして、オン状態を示す値を格納するフラグの数を変化させる際に状態を変化させる対象のフラグが故障位置のフラグである場合、当該フラグを飛ばして当該フラグの次の位置のフラグの状態を変化させる。このような構成によって、単純な回路構成により故障箇所を周波数制御の対象から除外することが可能になる。
【００４０】
なお固定故障の位置の行においては、当該行に配置されるリングオシレータに対して常時オン状態（即ち発振状態）を指示するロー発振制御信号を生成するように動作してよい。スキップ＆常時オン制御部３４の詳細については後ほど説明する。
【００４１】
図６及び図７は、固定故障が存在する場合の発振部２０の発振動作について説明するための図である。図６は固定故障を考慮していない場合におけるリングオシレータの発振パターンを示し、図７は固定故障を考慮した場合におけるリングオシレータの発振パターンを示す。
【００４２】
図６に示される状態では、コラム制御フラグ列３１の各コラム制御フラグ３１Ａの値は（１，１，０，０）である。即ち第１列及び第２列がオンであり、第３列及び第４列がオフである。またロー制御フラグ列３６の各ロー制御フラグ３６Ａの値は（１，１，１，１，１，０，０，０，０，０，０，０，０，０）である。即ち第１行乃至第５行がオンであり、第６行乃至第１４行がオフである。このとき図６に示される発振部２０において塗りつぶされたリングオシレータ４０として示されるように、第１行乃至第５行では全てのリングオシレータ４０が発振し、第６行では第１列及び第２列のリングオシレータ４０が発振する。この発振パターンは固定故障を考慮しておらず、固定故障が救済されていない。
【００４３】
図６において、マトリクス状に配置されたリングオシレータ４０のうちで、オン固定故障（固定的にオン状態となる故障）を有するリングオシレータがリングオシレータ４０Ａとして示されている。この例では、オン固定故障を有するリングオシレータ４０Ａは第１０行の第３列に存在する。なお図６及び図７に示される行の個数及び列の個数は一例にすぎず、図示の数に限定されるものではない。
【００４４】
固定故障を有するリングオシレータ４０Ａが周波数制御に悪影響を及ぼすことを防ぐためには、固定故障箇所を考慮に入れたリングオシレータ４０の発振パターンとする必要がある。固定故障箇所を救済するために、図６に示される障害情報保持レジスタ２４に、第１０行を示すアドレス情報が格納される。デコーダ（常時オン選択信号生成部）２３は、当該アドレス情報をデコードする。これによりデコーダ２３は、第１０行においてのみ値"１"となり他の行で値"０"となる常時オン制御信号を、スキップ＆常時オン制御部３４の各行毎の部分回路３４Ａ（図６及び図７の行側の"Ｃ"）に供給する。
【００４５】
図７において、第１０行においてのみ値"１"となる常時オン制御信号Ｒ１乃至Ｒｍ（ｍ＝１４）が、デコーダ２３からスキップ＆常時オン制御部３４の各行毎の部分回路３４Ａに供給されると、第１０行のロー制御フラグの値が常時オン状態に設定されてよい。より正確には、第１０行の常時オン制御信号Ｒｋの値"１"に応じて、第１０行のロー発振制御信号が常時オン状態に設定されればよい。これにより、図７に示すように第１０行（Ｒｋの行）に配置される複数のリングオシレータ４０（第１０行の全てのリングオシレータ４０）は常時オン状態即ち発振状態に設定される。またＡＤＰＬＬ回路のフィードバック制御による周波数制御動作において、故障箇所である第１０行がスキップされることについては前述の通りである。
【００４６】
ＡＤＰＬＬ回路のフィードバック制御により、分周周波数が基準周波数に一致するように発振部２０の発振周波数が調整される。従って、図６のように固定故障を無視した発振パターンの場合と比較すると、図７のように固定故障箇所の行全体を常時発振状態とした場合、領域５０として示される部分のリングオシレータ４０がオフ状態に変化する。これにより、発振状態のリングオシレータ４０の個数が図６の場合と図７の場合とで同じ数となり、各素子のバラツキを無視すれば、図６の発振パターンと図７の発振パターンとでは同一の周波数で発振することになる。
【００４７】
図７に示されるようにオン固定故障のリングオシレータを含む行全体を常時オン状態に設定し、且つ当該行をフィードバック制御による周波数制御の対象から除外することにより、オン固定故障を救済することができる。即ち、固定故障の存在する行をフィードバック制御による周波数制御の対象から除外することにより、オン状態のリングオシレータの数を調整して発振周波数を制御する際に正常に動作するリングオシレータのみを用いることになり、適切な制御が可能になる。またオン固定故障のリングオシレータのみではなく、固定故障の存在する行全体を常時オン状態に設定することにより、発振状態にあるリングオシレータの群の中に固定故障の存在する行を取り込むことが可能になる。故障箇所の行全体を発振動作から外す構成や、故障箇所の行全体を予備の行で入れ替える構成では、一行分のリングオシレータが発振に寄与しないことになり非効率なだけでなく、これらのリングオシレータが負荷として働くため無駄な電力が消費されてしまう。発振状態にあるリングオシレータの群の中に固定故障の存在する行を取り込んでしまうことで、故障箇所の行全体を有効に発振動作に用いて効率的な構成を実現するとともに、無駄な消費電力が発生するのを避けることができる。
【００４８】
ＬＳＩの製造ではバラツキの発生が不可避である。一般に、同一の発振周波数を得るために発振させるリングオシレータの数はチップによって異なる。このためＡＤＰＬＬ回路のＤＣＯでは、製造バラツキを考慮して、本来、所望の発振周波数に対してマージンを持って設計することが一般的に行われている。ある特定のＬＳＩに着目すると、高周波数側又は低周波数側に必ず周波数の余裕があることになる。このマージン分を確保するために用意してある常時オン状態のリングオシレータ部分を利用し、製造不良が発生したリングオシレータを常時オン状態となるリングオシレータ領域に取り込むことで、効率的な発振動作を実現できる。また製造不良によりＬＳＩを破棄する必要がなく、製造歩留りが向上する。
【００４９】
また更には、オン固定故障のリングオシレータのみではなく固定故障の存在する行全体を常時オン状態に設定することにより、マトリクス中の行及び列の交差箇所に対する例外的な制御を行う必要なく、行単位での例外的な制御を行えばよい。従って、故障箇所を周波数制御動作から除外するとともに常時オン状態に設定するために必要な回路の規模は小さくてすむ。
【００５０】
なお救済対象の固定故障がオン固定故障であれば、余計な負荷となる発振に寄与しないリングオシレータが存在しないことになり効率がよい。それに対して固定故障がオフ故障（常にオフ状態である故障）の場合には、当該故障のリングオシレータは発振に寄与せずに余計な負荷となってしまう。従って、図４の回路構成により救済する固定故障はオン固定故障であることが好ましい。しかしながら、オフ固定故障の場合であっても、同様に救済できることに変わりはない。
【００５１】
なお図６及び図７に示される回路の列側において、スキップ＆常時オン制御部３３の各列毎の部分回路３３Ａが示されているが、行単位の制御により故障箇所の行全体を常時オン状態に設定するのであれば、列側のスキップ＆常時オン制御部３３を設ける必要はない。逆に列単位の制御により故障箇所の列全体を常時オン状態に設定する場合には、行側のスキップ＆常時オン制御部３４を設ける必要はない。これらの異なる構成については、後述する実施例において詳細に説明する。但し、例えば同一の列において複数行にわたり固定故障のリングオシレータが存在する場合には列単位での制御を行うことが好ましく、逆に同一の行において複数列にわたり固定故障のリングオシレータが存在する場合には行単位での制御を行うことが好ましい。従って、行側のスキップ＆常時オン制御部３４と列側のスキップ＆常時オン制御部３３との両方を設けておいてもよい。
【００５２】
図８は発振回路（ＤＣＯ）の制御方法の一例を示すフローチャートである。
【００５３】
図８において、フローチャートに記載された各ステップの実行順序は一例にすぎず、本願の意図する技術範囲が、記載された実行順番に限定されるものではない。例えば、Ａステップの次にＢステップが実行されるように本願に説明されていたとしても、Ａステップの次にＢステップを実行することが可能なだけでなく、Ｂステップの次にＡステップを実行することが、物理的且つ論理的に可能である場合がある。この場合、どちらの順番でステップを実行しても、当該フローチャートの処理に影響する全ての結果が同一であるならば、本願に開示の技術の目的のためには、Ｂステップの次にＡステップが実行されてもよいことは自明である。Ａステップの次にＢステップが実行されるように本願に説明されていたとしても、上記のような自明な場合を本願の意図する技術範囲から除外することを意図するものではなく、そのような自明な場合は、当然に本願の意図する技術範囲内に属する。
【００５４】
ステップＳ１において、ＤＣＯ（図４の発振部２０）に障害があるか否かを判定する。これは例えば、発振信号ＯＵＴの発振周波数を外部の測定器等で測定しながら、発振部２０のリングオシレータを１つずつ順番にオン状態に設定していき、周波数が変動しない箇所があるか否かを判定すればよい。
【００５５】
ステップＳ２において、特定された障害がオン固定故障であるか否かを判定する。これは例えば、全てのリングオシレータをオフ状態に設定する発振制御信号を発振部２０に供給している状態において、発振信号ＯＵＴを外部の測定器等で測定すればよい。発振信号ＯＵＴが発振していることが観測されれば、オン固定故障が発生していることが分かる。
【００５６】
ステップＳ３において、ステップＳ１で特定された障害箇所に関する情報（アドレス情報）を障害情報保持レジスタ２４に書き込む。ステップＳ４において、常時オン選択信号生成部２３が常時オン制御信号を生成する。即ち、常時オン選択信号生成部２３が、障害情報保持レジスタ２４に格納される障害位置アドレス情報に基づいて、固定オン故障が存在する行を指し示す常時オン制御信号を生成する。
【００５７】
ステップＳ５において、常時オン制御信号を受け取ったスキップ＆常時オン制御部が、当該常時オン制御信号が示す障害の存在する行については、行内の全てのリングオシレータをオン状態に設定するように発振制御信号を生成する。ステップＳ６において、常時オン制御信号を受け取ったスキップ＆常時オン制御部が、当該常時オン制御信号が示す障害の存在する行については、フィードバック制御による周波数制御においてオン状態又はオフ状態に選択的に設定する対象から外す。
【００５８】
ステップＳ７において、ＡＤＰＬＬ回路の周波数制御動作を実行する。以上により周波数ロック状態が実現される。
【００５９】
上記の方法において、行単位の制御ではなく列単位の制御を実行するようにしてもよい。即ち、障害の存在する列を周波数制御の対象から外すとともに、当該列を常時オン状態に設定する発振制御信号を生成してもよい。また上記の方法においては、オン固定故障を特定して救済する場合について説明したが、救済対象はオン固定故障に特定しなくともよい。即ち、オン固定かオフ固定かの特定をすることなく固定故障が発生している箇所のみを特定して、その箇所の故障を救済するようにしてもよい。
【００６０】
図９は、ＤＣＯの第１の実施例の構成の一例を示す図である。図９に示すＤＣＯは行単位での故障箇所の救済を行う構成であり、図４に示される行側のスキップ＆常時オン制御部３４のみが設けられ、列側のスキップ＆常時オン制御部３３は設けられていない。マトリクス状に配置されたリングオシレータ４０のうちで、オン固定故障を有するリングオシレータがリングオシレータ４０Ａとして示されている。
【００６１】
列側には、コラム制御フラグ列３１のコラム制御フラグ３１Ａが各列に対応して設けられる。行側には、ロー制御フラグ列３６のロー制御フラグ３６Ａが各行に対応して設けられる。障害情報保持レジスタ２４にはオン固定故障が存在する位置を特定する情報が格納されている。デコーダ（常時オン選択信号生成部）２３が、障害情報保持レジスタ２４に格納される情報に基づいて、常時オン制御信号Ｒ１乃至Ｒｍを生成する。ｋ番目の行に対応する常時オン制御信号Ｒｋのみが常時オン状態（即ち"１"に固定の状態）となっており、それ以外の行に対応する常時オン制御信号は"０"に設定されている。この常時オン制御信号Ｒ１乃至Ｒｍは、デコーダ２３からスキップ＆常時オン制御部３４の各行毎の部分回路３４Ａにそれぞれ供給される。図９において、図４に示される列側のシフト制御部３２及び行側のシフト制御部３５については図示が省略されているが、コラム制御フラグ３１Ａの値はシフト制御部３２が制御し、ロー制御フラグ３６Ａの値はシフト制御部３５が制御する。
【００６２】
図１０は、発振部２０にマトリクス状に配置されるリングオシレータ４０の構成の一例を示す図である。図１０に示される発振部２０のリングオシレータ４０は、図５を参照して説明したリングオシレータ４０と同様の構成及び機能を有するが、第１段の論理反転回路４１（図５参照）の回路構成を明示的に示してある。
【００６３】
図１０に示されるようにリングオシレータ４０の第１段の論理反転回路は、ＡＮＤ回路９１、ＯＲ回路９２、及びＮＡＮＤ回路９３を含む。このリングオシレータ４０はｉ行ｊ列に配置される。ＡＮＤ回路９１は、ｉ−１行の発振制御信号ＲＯＷ［ｉ−１］とｊ列の発振制御信号ＣＯＬ［ｊ］とを入力として受け取り、これら２つの入力が両方ともに"１"のときにその出力が"１"になる。ＯＲ回路９２は、ＡＮＤ回路９１の出力とｉ行の発振制御信号ＲＯＷ［ｉ］を受け取り、これら２つの入力の何れか一方が"１"のときにその出力が"１"になる。ＯＲ回路９２の出力が"１"のときにＮＡＮＤ回路９３はリングオシレータ４０の第１段のインバータとして機能して、リングオシレータ４０が発振する。ＯＲ回路９２の出力が"０"のときにＮＡＮＤ回路９３の出力は"１"固定となり、リングオシレータ４０は発振しない。
【００６４】
このリングオシレータ４０を用いることにより、ロー発振制御信号の値が"１"である行においては、行内の全てのリングオシレータ４０が発振する。ロー発振制御信号の値が"０"である行においては、原則として、行内のリングオシレータ４０は発振しない。但しロー発振制御信号の値が"０"であるｉ番目の行において、その直ぐ下のｉ−１番目の行でのロー発振制御信号の値が"１"であれば、コラム発振制御信号の値が"１"である列のリングオシレータ４０が発振する。
【００６５】
図１１は、スキップ＆常時オン制御部３４の行毎の部分回路３４Ａの構成の一例を示す図である。部分回路３４Ａは、ＯＲ回路６１、ＡＮＤ回路６２、ＡＮＤ回路６３、ＯＲ回路６４、ＡＮＤ回路６５、ＡＮＤ回路６６、及びＯＲ回路６７を含む。第ｉ行の部分回路３４Ａは、常時オン制御信号Ｒｉをデコーダ（常時オン選択信号生成部）２３から受け取る。第ｉ行の部分回路３４Ａは更に、第ｉ行のロー制御フラグ３６Ａの出力と、下隣にある第ｉ−１行のロー制御フラグの出力ＲＯＷ［ｉ−１］と、上隣にある第ｉ＋１行のロー制御フラグの出力ＲＯＷ［ｉ＋１］とを受け取る。
【００６６】
ＯＲ回路６１、ＡＮＤ回路６２、及びＡＮＤ回路６３は選択回路として機能する。この選択回路は、第ｉ行のロー制御フラグ３６Ａの出力又は第ｉ−１行のロー制御フラグの出力ＲＯＷ［ｉ−１］の何れかを常時オン制御信号Ｒｉの値に応じて選択し、選択した信号を第ｉ＋１行のコラム制御フラグの入力として供給する。同様に、ＯＲ回路６４、ＡＮＤ回路６５、及びＡＮＤ回路６６は選択回路として機能する。この選択回路は、第ｉ行のロー制御フラグ３６Ａの出力又は第ｉ＋１行のロー制御フラグの出力ＲＯＷ［ｉ＋１］の何れかを常時オン制御信号Ｒｉの値に応じて選択し、選択した信号を第ｉ−１行のコラム制御フラグの入力として供給する。
【００６７】
常時オン制御信号Ｒｉが"０"である場合、第ｉ行はオン固定故障が存在する行ではないので、常時オンに設定する制御もスキップする制御も実行されない。この場合、上述の選択回路の動作により、第ｉ行のロー制御フラグ３６Ａの出力が第ｉ−１行及び第ｉ＋１行に供給される。各行のロー制御フラグ３６Ａはシフト制御部３５により制御され、周波数増大する必要がある場合には、下側の行から供給されたロー制御フラグの値を当該行のロー制御フラグに取り込む。周波数減少する必要がある場合には、上側の行から供給されたロー制御フラグの値を当該行のロー制御フラグに取り込む。これにより、オン状態になる行が１行ずつ増大又は減少する制御動作を実現することができる。
【００６８】
常時オン制御信号Ｒｉが"１"である場合、第ｉ行はオン固定故障が存在する行であるので、常時オンに設定する制御とスキップする制御とが両方ともに実行される。この場合、上述の選択回路の動作により、第ｉ−１行及び第ｉ＋１行のロー制御フラグ３６Ａの出力が、それぞれ第ｉ＋１行及び第ｉ−１行に供給される。各行のロー制御フラグ３６Ａはシフト制御部３５により制御され、周波数増大する場合には、下側の行から供給されたロー制御フラグの値を当該行のロー制御フラグに取り込む。周波数減少する場合には、上側の行から供給されたロー制御フラグの値を当該行のロー制御フラグに取り込む。例えば第ｋ行に故障が存在し、現在のタイミングにおいて、第１行乃至第ｋ−１行のロー制御フラグの値が"１"であり、第ｋ行乃至第ｍ行のロー制御フラグの値が"０"であるとする。この状態から次の更新タイミングにおいて、第１行乃至第ｋ＋１行のロー制御フラグの値が"１"であり、第ｋ＋２行乃至第ｍ行のロー制御フラグの値が"０"である状態に一回の更新動作で移行することができる。即ち、故障が存在する行では１行スキップしての周波数増大及び周波数減少の制御動作を実現することができる。
【００６９】
第ｉ行のリングオシレータ４０に供給する発振制御信号ＲＯＷ［ｉ］はＯＲ回路６７の出力である。ＯＲ回路６７の一方の入力はロー制御フラグ３６Ａの出力であり、他方の入力は常時オン制御信号Ｒｉである。従って、常時オン制御信号Ｒｉの値が"１"である場合には、第ｉ行のリングオシレータ４０に供給する発振制御信号ＲＯＷ［ｉ］は常時"１"である。これにより、故障がある行の全てのリングオシレータ４０を常時オン状態になるように設定する発振制御信号を供給することができる。
【００７０】
なお上述した図９に示される第１の実施例の構成では、固定故障の行を予備回路の行で置き換えて救済する従来のＤＣＯに比較して、予備回路及び行置換のための切替回路の分だけ回路素子の数が少なくなっている。但し、スキップ＆常時オン制御部３４（即ち複数の部分回路３４Ａ）の分は回路素子の数が増えることになる。一行分の予備回路及び行置換の切替回路のトランジスタ数と複数の部分回路３４Ａのトランジスタ数とでは、略同等或いは複数の部分回路３４Ａのトランジスタ数の方が若干少なくなる。
【００７１】
図１２は、ＤＣＯの第２の実施例の構成の一例を示す図である。図１２に示すＤＣＯは列単位での故障箇所の救済を行う構成であり、図４に示される列側のスキップ＆常時オン制御部３３のみが設けられ、行側のスキップ＆常時オン制御部３４は設けられていない。マトリクス状に配置されたリングオシレータ４０のうちで、オン固定故障を有するリングオシレータがリングオシレータ４０Ａとして示されている。
【００７２】
列側には、コラム制御フラグ列３１のコラム制御フラグ３１Ａが各列に対応して設けられる。行側には、ロー制御フラグ列３６のロー制御フラグ３６Ａが各行に対応して設けられる。障害情報保持レジスタ２４にはオン固定故障が存在する位置を特定する情報が格納されている。デコーダ（常時オン選択信号生成部）２３が、障害情報保持レジスタ２４に格納される情報に基づいて、常時オン制御信号Ｃ１乃至Ｃｎを生成する。ｌ番目の列に対応する常時オン制御信号Ｃｌのみが常時オン状態（即ち"１"に固定の状態）となっており、それ以外の列に対応する常時オン制御信号は"０"に設定されている。この常時オン制御信号Ｃ１乃至Ｃｎは、デコーダ２３からスキップ＆常時オン制御部３３の各列毎の部分回路３３Ａにそれぞれ供給される。図１２において、図４に示される列側のシフト制御部３２及び行側のシフト制御部３５については図示が省略されているが、コラム制御フラグ３１Ａの値はシフト制御部３２が制御し、ロー制御フラグ３６Ａの値はシフト制御部３５が制御する。
【００７３】
図１３は、発振部２０にマトリクス状に配置されるリングオシレータ４０の構成の一例を示す図である。図１３に示される発振部２０のリングオシレータ４０は、図５を参照して説明したリングオシレータ４０と同様の構成及び機能を有するが、第１段の論理反転回路４１（図５参照）の回路構成を明示的に示してある。
【００７４】
図１３に示されるようにリングオシレータ４０の第１段の論理反転回路は、ＡＮＤ回路８１、ＯＲ回路８２、ＯＲ回路８３、及びＮＡＮＤ回路８４を含む。このリングオシレータ４０はｉ行ｊ列に配置される。ＡＮＤ回路８１は、ｉ−１行の発振制御信号ＲＯＷ［ｉ−１］とｊ列の発振制御信号ＣＯＬ［ｊ］とを入力として受け取り、これら２つの入力が両方ともに"１"のときにその出力が"１"になる。ＯＲ回路８２は、ＡＮＤ回路８１の出力とｉ行の発振制御信号ＲＯＷ［ｉ］とを受け取り、これら２つの入力の何れか一方が"１"のときにその出力が"１"になる。ＯＲ回路８３は、ＯＲ回路８２の出力とｉ行の常時オン制御信号Ｃｊとを受け取り、これら２つの入力の何れか一方が"１"のときにその出力が"１"になる。
【００７５】
ＯＲ回路８３の出力が"１"のときにＮＡＮＤ回路８４はリングオシレータ４０の第１段のインバータとして機能して、リングオシレータ４０が発振する。ＯＲ回路８３の出力が"０"のときにＮＡＮＤ回路８４の出力は"１"固定となり、リングオシレータ４０は発振しない。
【００７６】
このリングオシレータ４０を用いることにより、ロー発振制御信号の値が"１"である行においては、行内の全てのリングオシレータ４０が発振する。ロー発振制御信号の値が"０"である行においては、原則として、行内のリングオシレータ４０は発振しない。但しロー発振制御信号の値が"０"であるｉ番目の行において、その直ぐ下のｉ−１番目の行でのロー発振制御信号の値が"１"であれば、コラム発振制御信号の値が"１"である列のリングオシレータ４０が発振する。また常時オン制御信号Ｃｊの値が"１"である列においては、無条件に全てのリングオシレータ４０が発振する。
【００７７】
図１４は、スキップ＆常時オン制御部３３の列毎の部分回路３３Ａの構成の一例を示す図である。部分回路３３Ａは、ＯＲ回路７１、ＡＮＤ回路７２、ＡＮＤ回路７３、ＯＲ回路７４、ＡＮＤ回路７５、及びＡＮＤ回路７６を含む。第ｊ列の部分回路３３Ａは、常時オン制御信号Ｃｊをデコーダ（常時オン選択信号生成部）２３から受け取る。第ｊ列の部分回路３３Ａは更に、第ｊ列のコラム制御フラグ３１Ａの出力と、左隣にある第ｊ−１列のコラム制御フラグの出力ＣＯＬ［ｊ−１］と、右隣にある第ｊ＋１列のコラム制御フラグの出力ＣＯＬ［ｊ＋１］とを受け取る。
【００７８】
ＯＲ回路７１、ＡＮＤ回路７２、及びＡＮＤ回路７３は選択回路として機能する。この選択回路は、第ｊ列のコラム制御フラグ３１Ａの出力又は第ｊ＋１列のコラム制御フラグの出力ＣＯＬ［ｊ＋１］の何れかを常時オン制御信号Ｃｊの値に応じて選択し、選択した信号を第ｊ−１列のコラム制御フラグの入力として供給する。同様に、ＯＲ回路７４、ＡＮＤ回路７５、及びＡＮＤ回路７６は選択回路として機能する。この選択回路は、第ｊ列のコラム制御フラグ３１Ａの出力又は第ｊ−１列のコラム制御フラグの出力ＣＯＬ［ｊ−１］の何れかを常時オン制御信号Ｃｊの値に応じて選択し、選択した信号を第ｊ＋１列のコラム制御フラグの入力として供給する。
【００７９】
常時オン制御信号Ｃｊが"０"である場合、第ｊ列はオン固定故障が存在する列ではないので、常時オンに設定する制御もスキップする制御も実行されない。この場合、上述の選択回路の動作により、第ｊ列のコラム制御フラグ３１Ａの出力が第ｊ−１列及び第ｊ＋１列に供給される。各列のコラム制御フラグ３１Ａはシフト制御部３５により制御され、周波数増大する必要がある場合には、左側の列から供給されたコラム制御フラグの値を当該列のコラム制御フラグに取り込む。周波数減少する必要がある場合には、右側の列から供給されたコラム制御フラグの値を当該列のコラム制御フラグに取り込む。これにより、オン状態になる列が１列ずつ増大又は減少する制御動作を実現することができる。
【００８０】
常時オン制御信号Ｃｊが"１"である場合、第ｊ列はオン固定故障が存在する列であるので、常時オンに設定する制御とスキップする制御とが両方ともに実行される。この場合、上述の選択回路の動作により、第ｊ−１列及び第ｊ＋１列のコラム制御フラグ３１Ａの出力が、それぞれ第ｊ＋１列及び第ｊ−１列に供給される。各列のコラム制御フラグ３１Ａはシフト制御部３２により制御され、周波数増大する場合には、左側の列から供給されたコラム制御フラグの値を当該列のコラム制御フラグに取り込む。周波数減少する場合には、右側の列から供給されたコラム制御フラグの値を当該列のコラム制御フラグに取り込む。例えば第ｌ列に故障が存在し、現在のタイミングにおいて、第１列乃至第ｌ−１列のコラム制御フラグの値が"１"であり、第ｌ列乃至第ｎ列のコラム制御フラグの値が"０"であるとする。この状態から次の更新タイミングにおいて、第１列乃至第ｌ＋１列のコラム制御フラグの値が"１"であり、第ｌ＋２列乃至第ｎ列のコラム制御フラグの値が"０"である状態に一回の更新動作で移行することができる。即ち、故障が存在する列では１列スキップしての周波数増大及び周波数減少の制御動作を実現することができる。
【００８１】
第ｊ列のリングオシレータ４０には、常時オン制御信号Ｃｊとコラム制御フラグ３１Ａの出力である発振制御信号ＣＯＬ［ｊ］とが供給される。常時オン制御信号Ｃｊの値が"１"である場合には、図１３を用いて説明したように第ｊ列の全てのリングオシレータ４０が発振する。このようにして、故障がある列の全てのリングオシレータ４０を常時オン状態になるように設定する発振制御信号（この場合は常時オン制御信号Ｃｊも発振制御信号の一種である）を供給することができる。
【００８２】
図１５は、図９に示す第１の実施例の構成において故障がオン固定故障ではなくオフ固定故障の場合を示す図である。図１５に示すように故障がオフ固定故障の場合であっても、図９に示す第１実施例と同一又は類似の構成及び動作により、固定故障を救済することができる。即ち、故障が存在する行では１行スキップしての周波数増大及び周波数減少の制御動作を実現することができるとともに、故障がある行の全てのリングオシレータ４０に対して常時オン状態を指示する発振制御信号を供給することができる。
【００８３】
オフ固定故障であるリングオシレータがリングオシレータ４０Ｂとして示されている。このリングオシレータ４０Ｂは、常時オン状態を指示する発振制御信号が供給されても、当然ながら発振はしない。但し、このリングオシレータ４０Ｂが属する行内の他の全てのリングオシレータ４０は常時発振することになる。
【００８４】
図１５の構成の場合には、リングオシレータの総数をＭ個として、設計上の最高周波数（Ｍ個全てのリングオシレータが発振する場合の周波数）を実現することはできず、リングオシレータ４０Ｂは無駄な負荷として消費電力を増大させる方向に影響を及ぼす。但し、設計上の最高周波数に近いＭ−１個のリングオシレータが発振するときの発振周波数を実現可能であり、常時負荷として影響する無駄なリングオシレータが１個だけ存在するにすぎない。それに対して一行分の例えばｐ個の予備回路を設けて行単位で置換する構成では、設計上の最高周波数を実現できる能力を実現するために、常時負荷として影響するｐ個の無駄なリングオシレータが存在することになる。またこれらのｐ個の無駄なリングオシレータの分だけ、無駄な回路資源及び回路スペースを消費することになる。従って、設計上の最高周波数が要求される場合を除き、図１５の構成によりオフ固定故障を救済するようにしてもよい。
【００８５】
なお図１５の構成のように故障が存在する行を常時オン状態にするのではなく、常時オフ状態にすることも可能ではある。故障がある行を常時オフ状態にする構成では、１個だけ発振させることも可能であるという意味で低周波数側の可動範囲が広くなるために、故障の行を常時オン状態にする構成と比較して可動範囲の広さ自体は変わらない。しかしそのような構成にすると、一行にｐ個のリングオシレータが存在するとして、最大でＭ−ｐ個のリングオシレータが発振するときの発振周波数しか実現できず、しかも常時負荷として影響する無駄なリングオシレータがｐ個存在することになる。
【００８６】
前述のように、ＬＳＩの製造ではバラツキの発生が不可避であり、同一の発振周波数を得るために発振させるリングオシレータの数はチップによって異なる。従って一般に、各ＬＳＩには、製造バラツキを考慮して高周波数側又は低周波数側に周波数の余裕が設けられている。設計としては、低周波側にマージンがある構成（常時オンであるリングオシレータが複数個存在する構成）の方が、高周波側にマージンがある構成（常時オフであるリングオシレータが複数個存在する構成）よりも、回路資源の有効利用という観点から好ましい。従って、故障のある行を常時オフ状態にするよりは、故障のある行を常時オン状態にして、低周波側のマージンとして常時オン状態が想定されているリングオシレータに組み込む方が好ましいことになる。
【００８７】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【符号の説明】
【００８８】
１０  位相検出回路
１１  デジタルフィルタ
１２  デジタル制御発振器（ＤＣＯ）
１３  分周器
２０  発振部
２１  コラム制御部
２２  ロー制御部
２３  常時オン選択信号生成部
２４  障害情報保持レジスタ
２５  周波数制御部
３１  コラム制御フラグ列
３２  シフト制御部
３３  スキップ＆常時オン制御部
３４  スキップ＆常時オン制御部
３５  シフト制御部
３６  ロー制御フラグ列
【図１】
2019149706.tif 000003
【図２】
2019149706.tif 000004
【図３】
2019149706.tif 000005
【図４】
2019149706.tif 000006
【図５】
2019149706.tif 000007
【図６】
2019149706.tif 000008
【図７】
2019149706.tif 000009
【図８】
2019149706.tif 000010
【図９】
2019149706.tif 000011
【図１０】
2019149706.tif 000012
【図１１】
2019149706.tif 000013
【図１２】
2019149706.tif 000014
【図１３】
2019149706.tif 000015
【図１４】
2019149706.tif 000016
【図１５】
2019149706.tif 000017