(57)【要約】【課題】フリップフロップ間の速度マージンを削減する。【解決手段】マスターラッチ１１０およびスレーブラッチ１２０は基本クロックｃｋ０に従って動作し、マスタースレーブ型フリップフロップを構成する。リカバーラッチ１３０は基本クロックｃｋ０よりも位相が遅延した遅延クロックｃｋ１に従って動作する。比較器１４０はマスターラッチ１１０およびリカバーラッチ１３０の出力を比較して、両者が不一致の場合には、リカバーラッチ１３０の出力をスレーブラッチ１２０に供給するよう選択器１５０を制御する。これにより、入力信号Ｄの変化が基本クロックｃｋ０のタイミングよりも遅れた場合であっても、遅延クロックｃｋ１のタイミングに間に合えば、出力Ｑは正しい値に修復される。【選択図】図１
2011023941.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号に従って入力信号を保持するマスターラッチと、
前記第１のクロック信号よりも位相が遅れた第２のクロック信号に従って前記入力信号を保持するリカバーラッチと、
前記マスターラッチおよび前記リカバーラッチの何れか一方の出力を選択する選択器と、
前記マスターラッチおよび前記リカバーラッチの出力を比較して前記マスターラッチおよび前記リカバーラッチの出力が不一致である場合には前記第２のクロック信号に従って前記リカバーラッチの出力を選択するよう前記選択器を制御する比較器と、
前記第１のクロック信号に従って前記選択器の出力を保持するスレーブラッチと
を具備するフリップフロップ。
【請求項２】
前記第１および第２のクロック信号は、第１の状態と第２の状態とを繰り返すクロック信号であり、
前記マスターラッチは、前記第１のクロック信号が前記第１の状態を示す間に前記入力信号を取り込んで、前記第１のクロック信号が前記第２の状態を示す間は前記入力信号を保持し、
前記リカバーラッチは、前記第２のクロック信号が前記第１の状態を示す間に前記入力信号を取り込んで、前記第２のクロック信号が前記第２の状態を示す間は前記入力信号を保持し、
前記比較器は、前記第２のクロック信号が前記第２の状態を示す間に前記マスターラッチおよび前記リカバーラッチの出力が不一致である場合には前記リカバーラッチの出力を選択するよう前記選択器を制御し、
前記スレーブラッチは、前記第１のクロック信号が前記第２の状態を示す間に前記選択器の出力を取り込んで、前記第１のクロック信号が前記第１の状態を示す間は前記選択器の出力を保持する
請求項１記載のフリップフロップ。
【請求項３】
前記第１および第２のクロック信号の少なくとも何れか一方を生成するクロック生成回路をさらに具備する請求項１記載のフリップフロップ。
【請求項４】
基本クロック信号および前記基本クロック信号よりも位相が遅れた遅延クロック信号を供給するクロック供給回路と、
前記基本クロック信号に従って入力信号を保持するマスターラッチと、
前記遅延クロック信号に従って前記入力信号を保持するリカバーラッチと、
前記マスターラッチおよび前記リカバーラッチの何れか一方の出力を選択する選択器と、
前記マスターラッチおよび前記リカバーラッチの出力を比較して前記マスターラッチおよび前記リカバーラッチの出力が不一致である場合には前記遅延クロック信号に従って前記リカバーラッチの出力を選択するよう前記選択器を制御する比較器と、
前記基本クロック信号に従って前記選択器の出力を保持するスレーブラッチと
を具備する半導体回路。
【請求項５】
基本クロック信号および前記基本クロック信号よりも位相が早い先行クロック信号を供給するクロック供給回路と、
前記先行クロック信号に従って入力信号を保持するマスターラッチと、
前記基本クロック信号に従って前記入力信号を保持するリカバーラッチと、
前記マスターラッチおよび前記リカバーラッチの何れか一方の出力を選択する選択器と、
前記マスターラッチおよび前記リカバーラッチの出力を比較して前記マスターラッチおよび前記リカバーラッチの出力が不一致である場合には前記基本クロック信号に従って前記リカバーラッチの出力を選択するよう前記選択器を制御する比較器と、
前記先行クロック信号に従って前記選択器の出力を保持するスレーブラッチと
を具備する半導体回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フリップフロップに関し、特にマスタースレーブ型フリップフロップおよびそれを含む半導体回路に関する。
【背景技術】
【０００２】
近年、ＬＳＩ技術に関して、ＧＨｚレベルへの高速化や、ＳｏＣ（システムオンチップ）化に伴う大規模化への要求が高まっている。実際の設計状況を考察すると、ＬＳＩ設計においては、設計者が内部目標とするターゲット周波数はトランジスタ能力の限界速度に近くなっている。このターゲット周波数は、仕様上のスペック周波数に対してさらに種々の速度マージンを加味したものであり、スペック周波数よりも高く設定される。ここで加味される値は、プロセスばらつきや動作温度および動作電圧のようにスペック周波数に対する割合として上乗せされる要素と、クロックジッターや電圧降下のように固定値としての上乗せされる要素の大きく二つに分類される。また、トランジスタのゲート遅延ばらつきと配線遅延ばらつきとでは互いにばらつき基準が異なるため、速度マージンが過剰に見積もられることも多い。多種の要素に起因する速度マージンがターゲット周波数を引き上げ、ターゲット周波数が高くなるほどパイプラインを刻むためのフリップフロップの数が増加する。そして、ターゲット周波数が高くなるほどパイプライン間の論理回路を駆動するための負荷が増大するため、それを駆動するバッファのセルサイズが増加して、その結果、マクロ面積が増加することになる。
【０００３】
ＬＳＩ設計の手法は、大きく分けてカスタム設計と論理合成設計とに分類される。前者のカスタム設計では、設計者の意図が反映され易いため、マクロ面積を小さくすることは可能ではあるが、その反面、フリップフロップの挿入位置がブロック間や論理区切りなどに限定されてしまうため、設計適応効率が悪いと考えられる。この場合、フリップフロップの量が増加してしまうという問題がある。一方、後者の論理合成設計は、ターゲット周波数への適応効率が良いが、マクロ面積は設計ツールの性能に依存することとなる。この設計ツールは、フリップフロップ間の時間配分を考慮してクロックスキュー調整（time tolerant）を行うが、これはターゲット周波数を満たす程度であってそれ以上の調整は行われない。また、合成結果における周波数とマクロ面積の関係として、ターゲット周波数がライブラリの設計限界周波数（トランジスタ能力に起因）に近くなる程、マクロ面積変化量は大きくなることが経験的に知られている。逆に、僅かなターゲット周波数の緩和でマクロ面積の削減が期待される。
【０００４】
このようなＬＳＩ設計においては、動作の安定性の観点からマスタースレーブ型のフリップフロップ回路が利用されることが多い。このマスタースレーブ型のフリップフロップ回路９００は、図１２に示すように、互いに逆相のクロック信号により動作するマスターラッチ９１０とスレーブラッチ９２０との組合せにより実現される（例えば、特許文献１参照。）。このマスタースレーブ型のフリップフロップ回路９００では、クロック信号の前半にマスターラッチ９１０において入力信号の取り込みが行われ、後半にスレーブラッチ９２０においてマスターラッチ９１０の出力の取り込みが行われる。これにより、データのすり抜けが回避され、安定した動作を得ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−０６４５５７号公報（図４）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
フリップフロップ回路を用いたＬＳＩ設計を行う場合、フリップフロップ回路の直前の論理回路において時間を要した結果、フリップフロップ回路においてクロックに同期してデータを取り込めないという事象が生じ得る。この場合、システムはクロックストールを引き起こすため、過度であっても速度マージンを加えたターゲット周波数を設定することになり、マクロ面積が増大してしまう。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、フリップフロップ間の速度マージンを削減することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、第１のクロック信号に従って入力信号を保持するマスターラッチと、上記第１のクロック信号よりも位相が遅れた第２のクロック信号に従って上記入力信号を保持するリカバーラッチと、上記マスターラッチおよび上記リカバーラッチの何れか一方の出力を選択する選択器と、上記マスターラッチおよび上記リカバーラッチの出力を比較して上記マスターラッチおよび上記リカバーラッチの出力が不一致である場合には上記第２のクロック信号に従って上記リカバーラッチの出力を選択するよう上記選択器を制御する比較器と、上記第１のクロック信号に従って上記選択器の出力を保持するスレーブラッチとを具備するフリップフロップである。これにより、第１のクロック信号のタイミングと第２のクロック信号のタイミングにおいてラッチされた入力信号が異なる場合、後者の値を採用することにより出力を正しい値に修復させるという作用をもたらす。
【０００９】
また、この第１の側面において、上記第１および第２のクロック信号は、第１の状態と第２の状態とを繰り返すクロック信号であり、上記マスターラッチは、上記第１のクロック信号が上記第１の状態を示す間に上記入力信号を取り込んで、上記第１のクロック信号が上記第２の状態を示す間は上記入力信号を保持し、上記リカバーラッチは、上記第２のクロック信号が上記第１の状態を示す間に上記入力信号を取り込んで、上記第２のクロック信号が上記第２の状態を示す間は上記入力信号を保持し、上記比較器は、上記第２のクロック信号が上記第２の状態を示す間に上記マスターラッチおよび上記リカバーラッチの出力が不一致である場合には上記リカバーラッチの出力を選択するよう上記選択器を制御し、上記スレーブラッチは、上記第１のクロック信号が上記第２の状態を示す間に上記選択器の出力を取り込んで、上記第１のクロック信号が上記第１の状態を示す間は上記選択器の出力を保持するようにしてもよい。これにより、第１のクロック信号が第１の状態から第２の状態に遷移するタイミングと第２のクロック信号が第１の状態から第２の状態に遷移する移タイミングにおいてラッチされた入力信号が異なる場合、後者の値を採用することにより出力を正しい値に修復させるという作用をもたらす。
【００１０】
また、この第１の側面において、上記第１および第２のクロック信号の少なくとも何れか一方を生成するクロック生成回路をさらに具備してもよい。これにより、クロックのエッジを鋭くさせるという作用をもたらす。
【００１１】
また、本発明の第２の側面は、基本クロック信号および上記基本クロック信号よりも位相が遅れた遅延クロック信号を供給するクロック供給回路と、上記基本クロック信号に従って入力信号を保持するマスターラッチと、上記遅延クロック信号に従って上記入力信号を保持するリカバーラッチと、上記マスターラッチおよび上記リカバーラッチの何れか一方の出力を選択する選択器と、上記マスターラッチおよび上記リカバーラッチの出力を比較して上記マスターラッチおよび上記リカバーラッチの出力が不一致である場合には上記遅延クロック信号に従って上記リカバーラッチの出力を選択するよう上記選択器を制御する比較器と、上記基本クロック信号に従って上記選択器の出力を保持するスレーブラッチとを具備する半導体回路である。これにより、基本クロック信号のタイミングと遅延クロック信号のタイミングにおいてラッチされた入力信号が異なる場合、後者の値を採用することにより出力を正しい値に修復させるという作用をもたらす。
【００１２】
また、本発明の第３の側面は、基本クロック信号および上記基本クロック信号よりも位相が早い先行クロック信号を供給するクロック供給回路と、上記先行クロック信号に従って入力信号を保持するマスターラッチと、上記基本クロック信号に従って上記入力信号を保持するリカバーラッチと、上記マスターラッチおよび上記リカバーラッチの何れか一方の出力を選択する選択器と、上記マスターラッチおよび上記リカバーラッチの出力を比較して上記マスターラッチおよび上記リカバーラッチの出力が不一致である場合には上記基本クロック信号に従って上記リカバーラッチの出力を選択するよう上記選択器を制御する比較器と、上記先行クロック信号に従って上記選択器の出力を保持するスレーブラッチとを具備する半導体回路である。これにより、基本クロック信号のタイミングと先行クロック信号のタイミングにおいてラッチされた入力信号が異なる場合、後者の値を採用することにより出力を正しい値に修復させるという作用をもたらす。
【発明の効果】
【００１３】
本発明によれば、フリップフロップ間の速度マージンを削減することができ、これによりマクロ面積を削減することができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。
【図２】本発明の実施の形態における比較器１４０の構成例を示す図である。
【図３】本発明の実施の形態における選択器１５０の機能動作例を示す真理値表である。
【図４】本発明の第１の実施の形態におけるフリップフロップ回路１００の動作タイミング例を示す図である。
【図５】本発明の第２の実施の形態等におけるクロック供給回路３００の構成例を示す図である。
【図６】本発明の第２の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。
【図７】本発明の第３の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。
【図８】本発明の第４の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。
【図９】本発明の第４の実施の形態におけるフリップフロップ回路１００の動作タイミング例を示す図である。
【図１０】本発明の第５の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。
【図１１】本発明の実施の形態におけるフリップフロップ回路１００を利用したＬＳＩ設計例の手順を示す図である。
【図１２】従来のマスタースレーブ型フリップフロップ回路９００の構成を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（基本クロックおよび遅延クロックをフリップフロップ回路内で生成する例）
２．第２の実施の形態（基本クロックのみをフリップフロップ回路内で生成し、遅延クロックをフリップフロップ回路外から供給する例）
３．第３の実施の形態（基本クロックおよび遅延クロックをフリップフロップ回路外から供給する例）
４．第４の実施の形態（基本クロックのみをフリップフロップ回路内で生成し、先行クロックをフリップフロップ回路外から供給する例）
５．第５の実施の形態（基本クロックおよび先行クロックをフリップフロップ回路外から供給する例）
６．応用例（本発明のフリップフロップ回路を利用したＬＳＩ設計の例）
【００１６】
＜１．第１の実施の形態＞
［フリップフロップ回路１００の構成例］
図１は、本発明の第１の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。この第１の実施の形態のフリップフロップ回路１００は、入力信号Ｄを一旦保持して、出力信号Ｑを出力するフリップフロップである。このフリップフロップ回路１００は、マスターラッチ１１０と、スレーブラッチ１２０と、リカバーラッチ１３０と、比較器１４０と、選択器１５０と、クロック生成回路１９０とを備えている。この第１の実施の形態では、クロック信号として、回路全体の基本クロックであるｃｋ０およびその反転クロックであるｃｋｂ０が用いられ、さらに、基本クロックよりも位相が遅延する遅延クロックｃｋ１およびその反転クロックであるｃｋｂ１が用いられる。これらクロック信号は、論理Ｌ状態および論理Ｈ状態を繰り返すものであり、この第１の実施の形態ではフリップフロップ回路１００内のクロック生成回路１９０により生成される。フリップフロップ回路１００内においてクロックを生成することにより、クロックのエッジを鋭くさせて高速動作時の誤動作を防止するという利点が得られる。
【００１７】
マスターラッチ１１０は、マスタースレーブ型フリップフロップを構成し、基本クロックｃｋ０およびｃｋｂ０に従って動作するマスターラッチである。このマスターラッチ１１０は、インバータ１１１および１１３と、トランスミッションゲート１１２と、トライステートインバータ１１４とを備えている。
【００１８】
インバータ１１１は、フリップフロップ回路１００への入力信号Ｄの極性を反転させるバッファである。これにより、トランスミッションゲート１１２には入力信号Ｄの反転信号が供給される。トランスミッションゲート１１２は、インバータ１１１から供給された入力信号Ｄの反転信号を通過させるか否かをクロック信号ｃｋ０およびｃｋｂ０に従って制御するものである。すなわち、このトランスミッションゲート１１２は、クロック信号ｃｋｂ０が論理Ｈ状態（クロック信号ｃｋ０が論理Ｌ状態）を示す間は信号を通過させ、クロック信号ｃｋｂ０が論理Ｌ状態（クロック信号ｃｋ０が論理Ｈ状態）を示す間は出力をハイインピーダンスにする。インバータ１１３は、トランスミッションゲート１１２またはトライステートインバータ１１４の出力の極性を反転させるバッファである。トライステートインバータ１１４は、インバータ１１３の出力の極性を反転させてインバータ１１３の入力に戻すか否かをクロック信号ｃｋ０およびｃｋｂ０に従って制御するものである。すなわち、このトライステートインバータ１１４は、クロック信号ｃｋ０が論理Ｈ状態（クロック信号ｃｋｂ０が論理Ｌ状態）を示す間はインバータ１１３の出力の極性を反転させてインバータ１１３の入力に戻す。また、トライステートインバータ１１４は、クロック信号ｃｋ０が論理Ｌ状態（クロック信号ｃｋｂ０が論理Ｈ状態）を示す間は出力をハイインピーダンスにする。このように、トランスミッションゲート１１２とトライステートインバータ１１４には互いに正反対の位相のクロック信号が入力されるため、インバータ１１３への信号は排他的に入力される。したがって、クロック信号ｃｋ０が論理Ｈ状態を示す間はインバータ１１３とトライステートインバータ１１４のループに値が保持される状態になり、クロック信号ｃｋ０が論理Ｌ状態を示す間は入力信号Ｄが通過する状態になる。なお、トライステートインバータは、クロックドインバータとも呼称される。
【００１９】
スレーブラッチ１２０は、マスタースレーブ型フリップフロップを構成し、基本クロックｃｋ０およびｃｋｂ０に従って動作するスレーブラッチである。このスレーブラッチ１２０は、インバータ１２１および１２３と、トランスミッションゲート１２２と、トライステートインバータ１２４とを備えている。
【００２０】
インバータ１２１は、選択器１５０の出力の極性を反転させるバッファである。これにより、トランスミッションゲート１２２には選択器１５０の出力の反転信号が供給される。トランスミッションゲート１２２は、インバータ１２１から供給された選択器１５０の出力の反転信号を通過させるか否かをクロック信号ｃｋ０およびｃｋｂ０に従って制御するものである。すなわち、このトランスミッションゲート１２２は、クロック信号ｃｋ０が論理Ｈ状態（クロック信号ｃｋｂ０が論理Ｌ状態）を示す間は信号を通過させ、クロック信号ｃｋ０が論理Ｌ状態（クロック信号ｃｋｂ０が論理Ｈ状態）を示す間は出力をハイインピーダンスにする。インバータ１２３は、トランスミッションゲート１２２またはトライステートインバータ１２４の出力の極性を反転させるバッファである。トライステートインバータ１２４は、インバータ１２３の出力の極性を反転させてインバータ１２３の入力に戻すか否かをクロック信号ｃｋ０およびｃｋｂ０に従って制御するものである。すなわち、このトライステートインバータ１２４は、クロック信号ｃｋｂ０が論理Ｈ状態（クロック信号ｃｋ０が論理Ｌ状態）を示す間はインバータ１２３の出力の極性を反転させてインバータ１２３の入力に戻す。また、トライステートインバータ１２４は、クロック信号ｃｋｂ０が論理Ｌ状態（クロック信号ｃｋ０が論理Ｈ状態）を示す間は出力をハイインピーダンスにする。このように、トランスミッションゲート１２２とトライステートインバータ１２４には互いに正反対の位相のクロック信号が入力されるため、インバータ１２３への信号は排他的に入力される。したがって、クロック信号ｃｋ０が論理Ｌ状態を示す間はインバータ１１３とトライステートインバータ１１４のループに値が保持される状態になり、クロック信号ｃｋ０が論理Ｈ状態を示す間は選択器１５０の出力が通過する状態になる。
【００２１】
リカバーラッチ１３０は、遅延クロックｃｋ１およびｃｋｂ１に従って動作するラッチである。このリカバーラッチ１３０は、インバータ１３１および１３３と、トランスミッションゲート１３２と、トライステートインバータ１３４とを備えている。
【００２２】
インバータ１３１は、フリップフロップ回路１００への入力信号Ｄの極性を反転させるバッファである。これにより、トランスミッションゲート１３２には入力信号Ｄの反転信号が供給される。トランスミッションゲート１３２は、インバータ１３１から供給された入力信号Ｄの反転信号を通過させるか否かをクロック信号ｃｋ１およびｃｋｂ１に従って制御するものである。すなわち、このトランスミッションゲート１３２は、クロック信号ｃｋｂ１が論理Ｈ状態（クロック信号ｃｋ１が論理Ｌ状態）を示す間は信号を通過させ、クロック信号ｃｋｂ１が論理Ｌ状態（クロック信号ｃｋ１が論理Ｈ状態）を示す間は出力をハイインピーダンスにする。インバータ１３３は、トランスミッションゲート１３２またはトライステートインバータ１３４の出力の極性を反転させるバッファである。トライステートインバータ１３４は、インバータ１３３の出力の極性を反転させてインバータ１３３の入力に戻すか否かをクロック信号ｃｋ１およびｃｋｂ１に従って制御するものである。すなわち、このトライステートインバータ１３４は、クロック信号ｃｋ１が論理Ｈ状態（クロック信号ｃｋｂ１が論理Ｌ状態）を示す間はインバータ１３３の出力の極性を反転させてインバータ１３３の入力に戻す。また、トライステートインバータ１３４は、クロック信号ｃｋ１が論理Ｌ状態（クロック信号ｃｋｂ１が論理Ｈ状態）を示す間は出力をハイインピーダンスにする。このように、トランスミッションゲート１３２とトライステートインバータ１３４には互いに正反対の位相のクロック信号が入力されるため、インバータ１３３への信号は排他的に入力される。したがって、クロック信号ｃｋ１が論理Ｈ状態を示す間はインバータ１３３とトライステートインバータ１３４のループに値が保持される状態になり、クロック信号ｃｋ１が論理Ｌ状態を示す間は入力信号Ｄが通過する状態になる。
【００２３】
比較器１４０は、遅延クロックｃｋ１およびｃｋｂ１に従って、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂとを比較するものである。すなわち、この比較器１４０は、クロック信号ｃｋ１が論理Ｈ状態（クロック信号ｃｋｂ１が論理Ｌ状態）を示す間はマスターラッチ１１０の出力とリカバーラッチ１３０の出力とを比較して、その比較結果Ｘを選択器１５０に出力する。一方、クロック信号ｃｋ１が論理Ｌ状態（クロック信号ｃｋｂ１が論理Ｈ状態）を示す間は、比較器１４０は両者の比較を行わない。なお、この比較器１４０の構成例については後述する。
【００２４】
選択器１５０は、比較器１４０における比較結果に従って、マスターラッチ１１０の出力およびリカバーラッチ１３０の出力の何れか一方を選択して、スレーブラッチ１２０に供給するものである。クロック信号ｃｋ１が論理Ｈ状態（クロック信号ｃｋｂ１が論理Ｌ状態）を示す間は、比較器１４０によってマスターラッチ１１０の出力とリカバーラッチ１３０の出力とが比較される。このとき、両者の出力が一致しない場合には、基本クロックｃｋ０のタイミングに間に合わなかったものの、遅延クロックｃｋ１のタイミングで修復（リカバー）可能と判断され、リカバーラッチ１３０の出力が選択される。両者の出力が一致した場合には、何れの出力を選択しても差異がないため、何れか一方の出力が適宜選択される。また、クロック信号ｃｋ１が論理Ｌ状態（クロック信号ｃｋｂ１が論理Ｈ状態）を示す間は、リカバーラッチ１３０の出力が確定していないため、両者の比較は行われず、マスターラッチ１１０の出力が選択される。
【００２５】
クロック生成回路１９０は、基本クロックｃｋ０およびその反転クロックｃｋｂ０、遅延クロックｃｋ１およびその反転クロックｃｋｂ１を生成する回路であり、インバータ１９１乃至１９４を備える。このクロック生成回路１９０には大元のクロック信号ＣＫが入力され、このクロック信号ＣＫに基づいて各クロック信号が生成される。
【００２６】
インバータ１９１乃至１９４は直列に接続されており、第１段目のインバータ１９１にはクロック信号ＣＫが入力される。インバータ１９１は基本クロックの反転クロックｃｋｂ０を出力する。インバータ１９２は基本クロックｃｋ０を出力する。インバータ１９３は遅延クロックの反転クロックｃｋｂ１を出力する。インバータ１９４は遅延クロックｃｋ１を出力する。
【００２７】
［比較器１４０の構成例］
図２は、本発明の実施の形態における比較器１４０の構成例を示す図である。この比較器１４０には、マスターラッチ１１０の出力Ａ、リカバーラッチ１３０の出力Ｂ、および、クロック信号ｃｋｘまたはその反転信号が入力され、選択器１５０の選択信号Ｘが出力される。クロック信号ｃｋｘは、第１の実施の形態においては、基本クロックｃｋ０である。
【００２８】
図２（ａ）は、比較器１４０の第１の構成例を示している。この比較器１４０の第１の構成例では、クロック信号ｃｋｘが入力されている。この比較器１４０の第１の構成例は、排他的論理和（ＸＯＲ）ゲート１４１と、論理積（ＡＮＤ）ゲート１４２とを備えている。排他的論理和ゲート１４１は、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂとの不一致を検出するものである。すなわち、この排他的論理和ゲート１４１は、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂが一致する場合には論理Ｌを示し、一致しない場合には論理Ｈを示す。論理積ゲート１４２は、排他的論理和ゲート１４１の出力とクロック信号ｃｋｘとの論理積を生成するものである。すなわち、この論理積ゲート１４２は、クロック信号ｃｋｘが論理Ｈを示している間には排他的論理和ゲート１４１の出力を通過させ、クロック信号ｃｋｘが論理Ｌを示している間には論理Ｌを出力する。したがって、クロック信号ｃｋｘが論理Ｈを示し、かつ、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂが一致しない場合にはリカバーラッチ１３０の出力Ｂが選択器１５０において選択される。また、それ以外の場合にはマスターラッチ１１０の出力Ａが選択される。クロック信号ｃｋｘが論理Ｈを示し、かつ、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂが一致する場合には、出力ＡまたはＢの何れを選択しても構わないが、ここでは回路構成を簡単にするため、前者を選択することとしている。
【００２９】
図２（ｂ）は、比較器１４０の第２の構成例を示している。この比較器１４０の第２の構成例では、クロック信号ｃｋｘの反転信号が入力されている。この比較器１４０の第２の構成例は、排他的否定論理和（ＸＮＯＲ）ゲート１４３と、否定論理和（ＮＯＲ）ゲート１４４とを備えている。排他的否定論理和ゲート１４３は、排他的論理和ゲート１４１と同様にマスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂとの不一致を検出するものであるが、出力の極性がことなる。すなわち、この排他的否定論理和ゲート１４３は、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂが一致する場合には論理Ｈを示し、一致しない場合には論理Ｌを示す。否定論理和ゲート１４４は、排他的否定論理和ゲート１４３とクロック信号ｃｋｘの反転信号との論理和の反転信号を生成するものである。すなわち、この否定論理和ゲート１４４は、クロック信号ｃｋｘが論理Ｈを示している間には排他的否定論理和ゲート１４３の出力の反転信号を通過させ、クロック信号ｃｋｘが論理Ｌを示している間には論理Ｌを出力する。したがって、最終的な動作は第１の構成例と同様になる。
【００３０】
［選択器１５０の機能動作例］
図３は、本発明の実施の形態における選択器１５０の機能動作例を示す真理値表である。
【００３１】
クロック信号ｃｋ１が論理Ｌ状態（クロック信号ｃｋｂ１が論理Ｈ状態）を示す間は、リカバーラッチ１３０の出力が確定していないため、比較対象外となり、マスターラッチ１１０の出力Ａが選択される。
【００３２】
クロック信号ｃｋ１が論理Ｈ状態（クロック信号ｃｋｂ１が論理Ｌ状態）を示す間は、以下のように、比較器１４０によってマスターラッチ１１０の出力とリカバーラッチ１３０の出力との関係に応じて何れか一方が選択される。両者の出力が一致しない場合には、基本クロックｃｋ０のタイミングに間に合わなかったものの、遅延クロックｃｋ１のタイミングで修復（リカバー）可能と判断され、リカバーラッチ１３０の出力Ｂが選択される。両者の出力が一致した場合には、何れの出力を選択しても差異がないため、何れか一方の出力ＡまたはＢが適宜選択される。本発明の第１の実施の形態においては、マスターラッチ１１０の出力Ａを選択している。
【００３３】
［フリップフロップ回路１００の動作タイミング例］
図４は、本発明の第１の実施の形態におけるフリップフロップ回路１００の動作タイミング例を示す図である。ここでは、クロック信号ＣＫが論理Ｌ状態にある期間の中間点を区切りとして、周期ｔ１乃至ｔ６を分けている。
【００３４】
周期ｔ１では、入力信号Ｄが論理Ｌであり、クロック信号ｃｋ０が論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａとクロック信号ｃｋ１が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂとがともに論理Ｌで一致している。したがって、選択器１５０においてマスターラッチ１１０の出力Ａが選択され、フリップフロップ回路１００の出力Ｑは論理Ｌとなる。
【００３５】
周期ｔ２では、入力信号Ｄが論理Ｈになり、クロック信号ｃｋ０が論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａとクロック信号ｃｋ１が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂとがともに論理Ｈで一致している。したがって、選択器１５０においてマスターラッチ１１０の出力Ａが選択され、フリップフロップ回路１００の出力Ｑは論理Ｈとなる。
【００３６】
周期ｔ３では、入力信号Ｄが論理Ｌになり、クロック信号ｃｋ０が論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａとクロック信号ｃｋ１が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂとがともに論理Ｌで一致している。したがって、選択器１５０においてマスターラッチ１１０の出力Ａが選択され、フリップフロップ回路１００の出力Ｑは論理Ｌとなる。
【００３７】
周期ｔ４では、入力信号Ｄが論理Ｈになり、クロック信号ｃｋ０が論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａは論理Ｌとなり、クロック信号ｃｋ１が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂは論理Ｈとなる。そのため、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂは不一致となる。したがって、選択器１５０においてリカバーラッチ１３０の出力Ｂが選択され、フリップフロップ回路１００の出力Ｑは論理Ｌから論理Ｈへと変化して正しい値を出力する。このときの遅延は、遅延クロックｃｋ１の基本クロックｃｋ０に対する位相の遅延差である。
【００３８】
周期ｔ５では、入力信号Ｄが論理Ｌになり、クロック信号ｃｋ０が論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａは論理Ｈとなり、クロック信号ｃｋ１が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂは論理Ｌとなる。そのため、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂは不一致となる。したがって、選択器１５０においてリカバーラッチ１３０の出力Ｂが選択され、フリップフロップ回路１００の出力Ｑは論理Ｈから論理Ｌへと変化して正しい値を出力する。
【００３９】
周期ｔ６では、入力信号Ｄが論理Ｈになり、クロック信号ｃｋ０が論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａとクロック信号ｃｋ１が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂとがともに論理Ｈで一致している。したがって、選択器１５０においてマスターラッチ１１０の出力Ａが選択され、フリップフロップ回路１００の出力Ｑは論理Ｈとなる。
【００４０】
このように、本発明の第１の実施の形態によれば、入力信号Ｄの変化が基本クロックｃｋ０のタイミングよりも遅れた場合であっても、遅延クロックｃｋ１のタイミングに間に合えば、出力Ｑを正しい値に修復（リカバー）することができる。
【００４１】
なお、この第１の実施の形態では、基本クロックおよび遅延クロックを生成するクロック生成回路１９０をフリップフロップ回路１００の内部に含めて構成することを想定したが、以下に説明するように、一部または全てのクロックを外部から供給してもよい。
【００４２】
＜２．第２の実施の形態＞
［クロック供給回路３００の構成例］
図５は、本発明の第２の実施の形態等におけるクロック供給回路３００の構成例を示す図である。このクロック供給回路３００は、大元のクロックＯ＿ＣＫをバッファまたはインバータにより分配するクロックツリーを構成している。ここでは、インバータ３０１から３２２まで直列に接続されているものとする。
【００４３】
インバータ３１１は、他のフリップフロップに分配されるクロック信号ＣＫを入力して、基本クロックの反転クロックｃｋｂ０を出力する。インバータ３１２は基本クロックｃｋ０を出力する。インバータ３２１は基本クロックよりも位相が遅延する遅延クロックの反転クロックｃｋｂ１を出力する。インバータ３２２は遅延クロックｃｋ１を出力する。また、インバータ３０１は、基本クロックよりも位相が早い先行クロックの反転クロックＰ＿ＣＫＢを出力する。インバータ３０２は、先行クロックＰ＿ＣＫを出力する。
【００４４】
スタンダードセルの場合、フリップフロップのセルの外部にこのようなクロック供給回路３００を設けることにより、基本クロックｃｋ０およびｃｋｂ０と遅延クロックｃｋ１およびｃｋｂ１との遅延差範囲の自由度を向上させることができる。以下の実施の形態では、一部または全てのクロックがこのクロック供給回路３００によって供給されることを想定する。
【００４５】
［フリップフロップ回路１００の構成例］
図６は、本発明の第２の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。この第２の実施の形態におけるフリップフロップ回路１００は、第１の実施の形態と同様に、マスターラッチ１１０と、スレーブラッチ１２０と、リカバーラッチ１３０と、比較器１４０と、選択器１５０と、クロック生成回路１９０とを備えている。全体としての動作は第１の実施の形態と同様である。
【００４６】
この第２の実施の形態では、クロック生成回路１９０において生成されたクロックは、基本クロックであるｃｋ０およびその反転クロックｃｋｂ０のみが使用される。そして、遅延クロックｃｋ１およびその反転クロックｃｋｂ１は、フリップフロップ回路１００の外部のクロック供給回路３００（図５）から供給される。
【００４７】
この第２の実施の形態によれば、フリップフロップ回路１００の内部では基本クロックｃｋ０およびｃｋｂ０のみを生成すればよいため、遅延クロック生成の自由度を向上させることができる。
【００４８】
＜３．第３の実施の形態＞
［フリップフロップ回路１００の構成例］
図７は、本発明の第３の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。この第３の実施の形態におけるフリップフロップ回路１００は、第１の実施の形態と同様に、マスターラッチ１１０と、スレーブラッチ１２０と、リカバーラッチ１３０と、比較器１４０と、選択器１５０とを備えている。ただし、この第３の実施の形態では、クロック生成回路１９０をフリップフロップ回路１００の内部に備えず、基本クロックおよび遅延クロックは外部のクロック供給回路３００（図５）から供給される。これ以外の全体としての動作は第１の実施の形態と同様である。
【００４９】
この第２の実施の形態によれば、基本クロックおよび遅延クロックをフリップフロップ回路１００の外部のクロック供給回路３００から供給するため、基本クロックと遅延クロックとの遅延差範囲の自由度を向上させることができる。
【００５０】
＜４．第４の実施の形態＞
［フリップフロップ回路１００の構成例］
図８は、本発明の第４の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。この第４の実施の形態におけるフリップフロップ回路１００は、第１の実施の形態と同様に、マスターラッチ１１０と、スレーブラッチ１２０と、リカバーラッチ１３０と、比較器１４０と、選択器１５０と、クロック生成回路１９０とを備えている。ただし、この第４の実施の形態では、マスターラッチ１１０およびスレーブラッチ１２０は、基本クロックよりも早い先行クロックＰ＿ＣＫおよびその反転クロックＰ＿ＣＫＢに従って動作する。また、リカバーラッチ１３０および比較器１４０は、基本クロックに従って動作する。
【００５１】
この第４の実施の形態では、クロック生成回路１９０において生成されたクロックは、基本クロックであるｃｋ０およびその反転クロックｃｋｂ０のみが使用される。そして、先行クロックＰ＿ＣＫおよびその反転クロックＰ＿ＣＫＢは、フリップフロップ回路１００の外部のクロック供給回路３００（図５）から供給される。
【００５２】
［フリップフロップ回路１００の動作タイミング例］
図９は、本発明の第４の実施の形態におけるフリップフロップ回路１００の動作タイミング例を示す図である。ここでは、図４と同様に、クロック信号ＣＫが論理Ｌ状態にある期間の中間点を区切りとして、周期ｔ１乃至ｔ６を分けている。
【００５３】
周期ｔ１では、入力信号Ｄが論理Ｌであり、クロック信号Ｐ＿ＣＫが論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａとクロック信号ｃｋ０が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂとがともに論理Ｌで一致している。したがって、選択器１５０においてマスターラッチ１１０の出力Ａが選択され、フリップフロップ回路１００の出力Ｑは論理Ｌとなる。
【００５４】
周期ｔ２では、入力信号Ｄが論理Ｈになり、クロック信号Ｐ＿ＣＫが論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａとクロック信号ｃｋ０が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂとがともに論理Ｈで一致している。したがって、選択器１５０においてマスターラッチ１１０の出力Ａが選択され、フリップフロップ回路１００の出力Ｑは論理Ｈとなる。
【００５５】
周期ｔ３では、入力信号Ｄが論理Ｌになり、クロック信号Ｐ＿ＣＫが論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａとクロック信号ｃｋ０が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂとがともに論理Ｌで一致している。したがって、選択器１５０においてマスターラッチ１１０の出力Ａが選択され、フリップフロップ回路１００の出力Ｑは論理Ｌとなる。
【００５６】
周期ｔ４では、入力信号Ｄが論理Ｈになり、クロック信号Ｐ＿ＣＫが論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａは論理Ｌとなり、クロック信号ｃｋ０が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂは論理Ｈとなる。そのため、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂは不一致となる。したがって、選択器１５０においてリカバーラッチ１３０の出力Ｂが選択され、フリップフロップ回路１００の出力Ｑは論理Ｌから論理Ｈへと変化して正しい値を出力する。このときの遅延は、基本クロックｃｋ０の先行クロックＰ＿ＣＫに対する位相の遅延差である。
【００５７】
周期ｔ５では、入力信号Ｄが論理Ｌになり、クロック信号Ｐ＿ＣＫが論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａは論理Ｈとなり、クロック信号ｃｋ０が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂは論理Ｌとなる。そのため、マスターラッチ１１０の出力Ａとリカバーラッチ１３０の出力Ｂは不一致となる。したがって、選択器１５０においてリカバーラッチ１３０の出力Ｂが選択され、フリップフロップ回路１００の出力Ｑは論理Ｈから論理Ｌへと変化して正しい値を出力する。
【００５８】
周期ｔ６では、入力信号Ｄが論理Ｈになり、クロック信号Ｐ＿ＣＫが論理Ｌ状態にある期間に変化するマスターラッチ１１０の出力Ａとクロック信号ｃｋ０が論理Ｌ状態にある期間に変化するリカバーラッチ１３０の出力Ｂとがともに論理Ｈで一致している。したがって、選択器１５０においてマスターラッチ１１０の出力Ａが選択され、フリップフロップ回路１００の出力Ｑは論理Ｈとなる。
【００５９】
このように、本発明の第４の実施の形態によれば、入力信号Ｄの変化が先行クロックＰ＿ＣＫのタイミングよりも遅れた場合であっても、基本クロックｃｋ０のタイミングに間に合えば、出力Ｑを正しい値に修復（リカバー）することができる。先行クロックＰ＿ＣＫを用いる利点は、入力信号Ｄが比較的早い遅延で値が確定する場合において基本クロックｃｋ０よりも速いタイミングで出力Ｑを確定することにより、それ以降のパスに時間的余裕を与えることが可能となるという点にある。この場合の時間的余裕とは、先行クロックＰ＿ＣＫおよびＰ＿ＣＫＢと基本クロックｃｋ０およびｃｋｂ０との遅延差異分である。また、この第４の実施の形態によれば、フリップフロップ回路１００の内部では基本クロックｃｋ０およびｃｋｂ０のみを生成すればよいため、先行クロック生成の自由度を向上させることができる。
【００６０】
＜５．第５の実施の形態＞
［フリップフロップ回路１００の構成例］
図１０は、本発明の第５の実施の形態におけるフリップフロップ回路１００の構成例を示す図である。この第５の実施の形態におけるフリップフロップ回路１００は、第４の実施の形態と同様に、マスターラッチ１１０と、スレーブラッチ１２０と、リカバーラッチ１３０と、比較器１４０と、選択器１５０とを備えている。すなわち、この第５の実施の形態では、マスターラッチ１１０およびスレーブラッチ１２０は、先行クロックＰ＿ＣＫおよびその反転クロックＰ＿ＣＫＢに従って動作する。また、リカバーラッチ１３０および比較器１４０は、基本クロックに従って動作する。
【００６１】
ただし、この第５の実施の形態では、クロック生成回路１９０をフリップフロップ回路１００の内部に備えず、基本クロックおよび先行クロックは外部のクロック供給回路３００（図５）から供給される。これ以外の全体としての動作は第４の実施の形態と同様である。
【００６２】
＜６．応用例＞
［フリップフロップ回路１００を利用した設計例］
図１１は、本発明の実施の形態におけるフリップフロップ回路１００を利用したＬＳＩ設計例の手順を示す図である。
【００６３】
まず、通常のＬＳＩ設計時と同じ設計基準による速度マージンが算出される（ステップＳ８０１）。そして、この速度マージンを含めたターゲット周波数が設定される（ステップＳ８０２）。例えば、スペック周波数８０ＭＨｚに対して、ターゲット周波数１００ＭＨｚが設定される。
【００６４】
次に、速度マージン緩和量が算出される（ステップＳ８０３）。この速度マージン緩和量は、以下の簡易式によりナノ秒（ｎｓ）単位で表される。
速度マージン緩和量＝Clock遅延差異−（CKtoQ増減差異＋セットアップ増減差異）
ここで、Clock遅延差異は、通常のフリップフロップ回路と本発明の実施の形態によるフリップフロップ回路との内部クロック遅延差異である。また、CKtoQ増減差異は、通常のフリップフロップ回路と本発明の実施の形態によるフリップフロップ回路とのCKtoQ遅延差異である。また、セットアップ増減差異は、通常のフリップフロップ回路と本発明の実施の形態によるフリップフロップ回路とのセットアップタイム差異である。この速度マージン緩和量は、セルを単位として算出される。
【００６５】
この算出された速度マージン緩和量に基づいて、緩和されたターゲット周波数が設定される（ステップＳ８０４）。この緩和されたターゲット周波数として、例えば、９０ＭＨｚが設定される。そして、この緩和されたターゲット周波数を満たすようにＬＳＩ設計が行われる（ステップＳ８０５）。このようにして設計された回路について、ステップＳ８０２において設定された本来のターゲット周波数（例えば、１００ＭＨｚ）に対して正常に動作するか否かのタイミング検証が行われる（ステップＳ８０６）。このとき、タイミングを満たしていれば設計完了となる（ステップＳ８０７）。
【００６６】
ただし、緩和されたターゲット周波数（例えば、９０ＭＨｚ）により設計されているため、本来のターゲット周波数（例えば、１００ＭＨｚ）では通常の場合、タイミングを満たすことが難しい。タイミング検証の結果、本来のターゲット周波数を満足できない場合は、違反パスにおけるデータ出力側およびデータ受取側のそれぞれのフリップフロップ回路について、本発明の実施の形態のフリップフロップ回路への置換が行われる（ステップＳ８０８）。例えば、データ出力側では、本発明の第４または５の実施の形態のように、先行クロックＰ＿ＣＫに従ってマスターラッチ１１０およびスレーブラッチ１２０が動作するフリップフロップ回路への置換が行われる。また、データ受取側では、本発明の第１乃至３の実施の形態のように、基本クロックｃｋ０に従ってマスターラッチ１１０およびスレーブラッチ１２０が動作するフリップフロップ回路への置換が行われる。このような置換が行われた回路について、再びタイミング検証が行われ（ステップＳ８０６）、タイミングを満たしていれば設計完了となる（ステップＳ８０７）。それでも本来のターゲット周波数を満足できない場合には、ステップＳ８０８およびＳ８０６が繰り返される。
【００６７】
これらの手順により、本発明の実施の形態によるフリップフロップ回路への置換が行われることで、ＬＳＩ設計時における速度マージンを緩和し、マクロ面積を削減することが可能となる。
【００６８】
このように、本発明の実施の形態によれば、入力信号Ｄの変化が本来のクロックのタイミングよりも遅れた場合であっても、本来のクロックよりも一定期間遅延したクロックのタイミングに間に合えば、出力Ｑを正しい値に修復（リカバー）することができる。
【００６９】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、本発明の実施の形態において明示したように、本発明の実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００７０】
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【符号の説明】
【００７１】
１００  フリップフロップ回路
１１０  マスターラッチ
１２０  スレーブラッチ
１３０  リカバーラッチ
１１１、１１３、１２１、１２３、１３１、１３３  インバータ
１１２、１２２、１３２  トランスミッションゲート
１１４、１２４、１３４  トライステートインバータ
１４０  比較器
１４１  排他的論理和（ＸＯＲ）ゲート
１４２  論理積（ＡＮＤ）ゲート
１４３  排他的否定論理和（ＸＮＯＲ）ゲート
１４４  否定論理和（ＮＯＲ）ゲート
１５０  選択器
１９０  クロック生成回路
１９１〜１９４  インバータ
３００  クロック供給回路
３０１、３０２、３１１、３１２、３２１、３２２  インバータ
９００  フリップフロップ回路
９１０  マスターラッチ
９２０  スレーブラッチ
【図１】
2011023941.tif 000003
【図２】
2011023941.tif 000004
【図３】
2011023941.tif 000005
【図４】
2011023941.tif 000006
【図５】
2011023941.tif 000007
【図６】
2011023941.tif 000008
【図７】
2011023941.tif 000009
【図８】
2011023941.tif 000010
【図９】
2011023941.tif 000011
【図１０】
2011023941.tif 000012
【図１１】
2011023941.tif 000013
【図１２】
2011023941.tif 000014