(57)【要約】【課題】ＬＳＩの面積削減を図った論理回路を提供する。【解決手段】前段フリップフロップ１０Ａ，１０Ｂと、後段フリップフロップ２０Ａ，２０Ｂと、組み合わせ論理回路３０と、セレクタ４０とを有する。フリップフロップ１０Ａ，２０Ａ用のクロックＣＬＫＡとフリップフロップ１０Ｂ，２０Ｂ用のクロックＣＬＫＢは、同一周期で逆相の関係にある。セレクタ４０は、セレクト信号ＳＬにより、前段フリップフロップ１０Ａ，１０Ｂの出力データを交互に選択して組み合わせ論理回路３０に転送する。【選択図】図１
2009130510.tif 000002
【特許請求の範囲】
【請求項１】
同一周期で互いに位相差を有するｎ個（ｎは正の整数）のクロックによってデータを順次巡回的に取り込むｎ個の前段フリップフロップと、
該ｎ個の前段フリップフロップの出力データを、前記ｎ個の前段フリップフロップの取り込み動作に同期して選択する選択手段と、
該選択手段で選択されたデータが入力される１つの組み合わせ論理回路と、
前記ｎ個のクロックによって前記組み合わせ論理回路の出力データを次巡回的に取り込むｎ個の後段フリップフロップとを備え、
前記ｎ個のクロックの内の同じクロックによってデータ取り込み動作を行う１つの前段フリップフロップおよび１つの後段フリップフロップと１つの組み合わせ論理回路とが１つの信号系統を構成するようにした、
ことを特徴とする論理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、前段と後段のフリップフロップ間に組み合わせ論理回路を接続した論理回路に関するものである。
【背景技術】
【０００２】
一般的な論理回路として、図３に示すように、同一のクロックＣＬＫで動作する前段フリップフロップ１０と後段フリップフロップ２０との間に、組み合わせ論理回路３０を接続して、前段フリップフロップ１０から取り込んだデータＤを組み合わせ論理回路３０で論理演算して、その演算結果を後段フリップフロップ２０に転送し、データＬＤとして出力する回路がある（例えば、非特許文献１参照）。なお、組み合わせ論理回路３０には、その論理機能に応じて、図示しない別のフリップフロップからデータが入力されることもある。
【０００３】
このような論理回路は、ＬＳＩの中には多数組み込まれ、全く同一構成の組み合わせ論理回路を使用した論理回路が複数使用される場合も多いが、このような場合、同じ組み合わせ論理回路を複製して配置することで、同じ論理処理が実現できるようにしている。図４にこのような場合の構成を示す。組み合わせ論理回路３０Ａ，３０Ｂは同じ論理演算を行う。１０Ａ，１０Ｂは前段フリップフロップ，２０Ａ，２０Ｂは後段フリップフロップ、ＤＡ，ＤＢは入力データ、ＬＤＡ，ＬＤＢは論理演算した結果の出力データである。
【特許文献１】小林房直  著、「ＡＳＩＣの論理回路設計法−スーパーマシンのためのディジタル・システム設計ノウハウ」、ＣＱ出版社、１５９頁、図６．７（ａ）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、同じ論理演算を行う組み合わせ論理回路が複数必要な場合に、個々に同一組み合わせ論理回路を配置することは、それだけＬＳＩの面積が増大し、特に組み合わせ論理回路の規模が大きい場合は、それが顕著となる。
【０００５】
本発明の目的は、１つの組み合わせ論理回路を、異なる信号系統間で共有できるようにして、ＬＳＩの面積削減を図った論理回路を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１にかかる発明の論理回路は、同一周期で互いに位相差を有するｎ個（ｎは正の整数）のクロックによってデータを順次巡回的に取り込むｎ個の前段フリップフロップと、該ｎ個の前段フリップフロップの出力データを、前記ｎ個の前段フリップフロップの取り込み動作に同期して選択する選択手段と、該選択手段で選択されたデータが入力される１つの組み合わせ論理回路と、前記ｎ個のクロックによって前記組み合わせ論理回路の出力データを次巡回的に取り込むｎ個の後段フリップフロップとを備え、前記ｎ個のクロックの内の同じクロックによってデータ取り込み動作を行う１つの前段フリップフロップおよび１つの後段フリップフロップと１つの組み合わせ論理回路とが１つの信号系統を構成するようにした、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、１つの組み合わせ論理回路をｎ個の信号系統間で共有できるので、組み合わせ論理回路の数を削減することができる。本発明では、新たに選択手段が必要となるが、通常では、選択手段を構成するセレクタ等の回路規模は、組み合わせ論理回路の回路規模に比べて十分小さいので、ＬＳＩ面積削減の効果は大きくなる。
【発明を実施するための最良の形態】
【０００８】
図１は本発明の１つの実施例の論理回路の構成を示すブロック図である。１０Ａ，１０Ｂは前段フリップフロップ、２０Ａ，２０Ｂは後段フリップフロップ、３０は共有にかかる組み合わせ論理回路、４０は選択手段としてのセレクタである。前段フリップフロップ１０Ａと後段フリップフロップ２０ＡはクロックＣＬＫＡの立上りエッジでＤ端子のデータを取り込み、前段フリップフロップ１０Ｂと後段フリップフロップ２０ＢはクロックＣＬＫＢの立上りエッジでＤ端子のデータを取り込む。そして、クロックＣＬＫＡとＣＬＫＢは、同一周期で逆相の関係にある。セレクタ４０は、クロックＣＬＫＢよりも若干（フリップフロップ１０Ａ，１０Ｂでの処理時間程度）位相が遅れたセレクト信号ＳＬ（クロックＣＬＫＡ，ＣＬＫＢと同じデューティ、同じ周期）により切り替え動作を行う。すなわち、セレクト信号ＳＬが「０」のとき前段フリップフロップ１０ＡのＱ端子の出力データＤＡを選択し、「１」のとき前段フリップフロップ１０ＢのＱ端子の出力データＤＢを選択し、それぞれデータＳ１として組み合わせ論理回路３０に転送する。組み合わせ論理回路３０の出力データＳ２は、後段フリップフロップ２０Ａ，２０ＢのＤ端子に入力する。
【０００９】
図２は図１の論理回路の動作のタイミングチャートである。データＤＡ（＝ＤＡ１，ＤＡ２，・・・）は、クロックＣＬＫＡの立ち上りエッジで前段フリップフロップ１０Ａに取り込まれ、そのＱ端子から出力してセレクタ４０で選択され、組み合わせ論理回路３０に入力する。それから半周期後に、データＤＢ（＝ＤＢ１，ＤＢ２，・・・）がクロックＣＬＫＢの立上りエッジで前段フリップフロップ１０Ｂに取り込まれ、そのＱ端子から出力してセレクタ４０で選択され、組み合わせ論理回路３０に入力する。このようにして、前段フリップフロップ１０Ａに取り込まれるデータＤＡ（＝ＤＡ１，ＤＡ２，・・・）と前段フリップフロップ１０Ｂに取り込まれるデータＤＢ（＝ＤＢ１，ＤＢ２，・・・）が交互に並んだデータＳ１（＝ＤＡ１，ＤＢ１，ＤＡ２，ＤＢ２，・・・）が、順次、組み合わせ論理回路３０で演算処理される。なお、クロックＣＬＫＡとＣＬＫＢの位相差は、後段のフリップフロップでデータが正しくとり込まれるように、設定される。組み合わせ論理回路３０で演算処理されたデータＳ２（＝ＬＤＡ１，ＬＤＢ１，ＬＤＡ２，ＬＤＢ２，・・・）は、クロックＣＬＫＡ，ＣＬＫＢにより、後段フリップフロップ２０Ａ，２０Ｂに振り分けられて取り込まれ、後段フリップフロップ２０ＡのＱ端子からはデータＬＤＡ（＝ＬＤＡ１，ＬＤＡ２，・・・）が出力し、フリップフロップ２０ＢのＱ端子からはデータＬＤＢ（＝ＬＤＢ１，ＬＤＢ２，・・・）が出力する。
【００１０】
以上のように、本実施例では、組み合わせ論理回路３０において、前段フリップフロップ１０Ａから出力するデータと前段フリップフロップ１０Ｂから出力するデータを、交互に演算させることができ、組み合わせ論理回路３０を２個の信号処理系統で共有させることができるので、各信号処理系統に個々に組み合わせ論理回路３０を配置する場合に比べて、組み合わせ論理回路に要する面積を半分に削減できる。本実施例では、セレクタ４０が特別に必要となるが、セレクタ４０はマルチプレクサ等を使用すれば４個のトランジスタで構成することができ、組み合わせ論理回路のトランジスタ数に比べて極めて小規模であり、組み合わせ論理回路を共有する効果は極めて大きい。
【００１１】
なお、上記実施例では、２個の信号系統に１個の組み合わせ論理回路を共有させたが、３個以上の信号系統に１個の組み合わせ論理回路を共有させることもできる。この場合は、１個のクロックから互いに位相の異なる３個以上のクロックを作成して使用すればよい。ただし、その位相差に相当する時間が、セレクタ（２−１セレクタの場合は複数段となる）と組み合わせ論理回路を経由したデータが後段フリップフロップで正しく取り込まれる時間以上である必要がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の１つの実施例の論理回路のブロック図である。
【図２】図１の論理回路の動作のタイムチャートである。
【図３】従来の論理回路のブロック図である。
【図４】従来の別の論理回路のブロック図である。
【符号の説明】
【００１３】
１０，１０Ａ，１０Ｂ：前段フリップフロップ
２０，２０Ａ，２０Ｂ：後段フリップフロップ
３０，３０Ａ，３０Ｂ：組み合わせ論理回路
４０：セレクタ
【図１】
2009130510.tif 000003
【図２】
2009130510.tif 000004
【図３】
2009130510.tif 000005
【図４】
2009130510.tif 000006