(57)【要約】【課題】レイアウトを考慮することにより、同期式のカウンタ回路における出力信号のタイミングのずれを防止する。【解決手段】Ｍ（例えば、４）個のＮ（例えば、４）ビット同期カウンタＢＬＫ１〜ＢＬＫ４を用いてＭ×Ｎビットのカウント値Ｑ０〜Ｑ１５を出力すると共に、このカウント値が所定Ｓ０〜Ｓ１５の値になったときに一致検出信号ＤＥＴを出力する一致検出回路３０を備えたカウンタ回路において、Ｍ個のＮビット同期カウンタＢＬＫ１〜ＢＬＫ４を隣接して平行に配置すると共に、この平行に配置されたＮビット同期カウンタＢＬＫ１〜ＢＬＫ４の端部に隣接して一致検出回路３０を配置する。【選択図】図１
2008301325.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ個のＮビット同期カウンタ（但し、Ｍ，Ｎは２以上の整数）を用いてＭ×Ｎビットのカウント値を出力すると共に、該カウント値が所定の値になったことを検出する一致検出部を備えたカウンタ回路において、
前記Ｍ個のＮビット同期カウンタを隣接して平行に配置すると共に、該平行に配置されたＮビット同期カウンタの端部に隣接して前記一致検出部を配置したことを特徴とするカウンタ回路。
【請求項２】
前記Ｎビット同期カウンタは、Ｎビットのカウント部が１列に並んだ構成であることを特徴とする請求項１記載のカウンタ回路。
【請求項３】
前記Ｍは偶数とし、Ｍ／２番目と（Ｍ／２）−１番目の同期カウンタの境界線を軸にして前記Ｍ個の同期カウンタと前記一致検出部とを対称的に配置したことを特徴とする請求項１または２記載のカウンタ回路。
【請求項４】
前記Ｎビット同期カウンタは、最上位桁から最下位桁までのＮビットのカウント部を桁順に１列に並べて構成すると共に、平行に配置されたＭ個のＮビット同期カウンタにおける同位桁のカウント部同士を隣接するよう配置し、該Ｍ個のＮビット同期カウンタの最上位桁のカウント部に隣接して前記一致検出部を配置したことを特徴とする請求項１記載のカウンタ回路。
【請求項５】
前記Ｎビット同期カウンタは、設定されたカウント値をクロック信号に従って１ずつ減少させるダウンカウンタであり、前記一致検出部は前記Ｍ×Ｎビットのカウント値が０であることを検出することを特徴とする請求項４記載のカウンタ回路。
【請求項６】
Ｍ個のＮビット同期カウンタ（但し、Ｍ，Ｎは２以上の整数）を用いてＭ×Ｎビットのカウント値を出力すると共に、該カウント値が所定の値になったことを検出する一致検出部を備えたカウンタ回路において、
前記一致検出部を中心にして、前記Ｍ個のＮビット同期カウンタを等距離に配置したことを特徴とするカウンタ回路。
【請求項７】
Ｍ個のＮビット同期カウンタ（但し、Ｍ，Ｎは２以上の整数）を用いてＭ×Ｎビットのカウント値を出力すると共に、該カウント値が所定の値になったことを検出する一致検出部を備えたカウンタ回路のレイアウト方法であって、
前記Ｍ個のＮビット同期カウンタを隣接して平行に配置し、
前記平行に配置されたＮビット同期カウンタの端部に隣接して前記一致検出部を配置し、
前記Ｎビット同期カウンタと前記一致検出部に対する配線を行う、
ことを特徴とするカウンタ回路のレイアウト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同期式のカウンタ回路のレイアウトに関するものである。
【背景技術】
【０００２】
図２は、下記特許文献２に記載された一般的な同期カウンタの構成図である。
図２（ａ）は、４ビットの同期カウンタで、クロック信号ＣＬＫに同期して４ビットのカウント値（Ｑ０〜Ｑ３）を出力するための４つのＤ型フリップフロップ（以下、「ＤＦＦ」という）１〜４を有している。この同期カウンタは、カウント動作を制御するキャリー入力信号ＣＡＩ（または、イネーブル信号ＥＮ）が共通に与えられる排他的論理和ゲート（以下、「ＥＸＯＲ」という）５、２入力の論理積ゲート（以下、「ＡＮＤ」という）７、３入力のＡＮＤ１０、４入力のＡＮＤ１３及び５入力のＡＮＤ１６を有している。
【０００３】
ＥＸＯＲ５の他方の入力側にはＤＦＦ１の出力信号Ｑ０が与えられ、キャリー入力信号ＣＡＩがレベル“Ｌ”（例えば、第１の電位レベルとしての接地電位レベル）のときは出力信号Ｑ０と同じ状態を出力し、このキャリー入力信号ＣＡＩがレベル“Ｈ”（例えば、第２の電位レベルとしての電源電位レベル）のときは出力信号Ｑ０と逆の状態を出力するようになっている。ＥＸＯＲ５の出力側は、２入力のＡＮＤ６の一方の入力側に接続され、このＡＮＤ６の他方の入力側にはクリア信号ＣＬＲが与えられるようになっている。ＡＮＤ６の出力側は、ＤＦＦ１の入力端子Ｄに接続されている。
【０００４】
ＡＮＤ７の第２入力にはＤＦＦ１の出力信号Ｑ０が与えられ、このＡＮＤ７の出力信号とＤＦＦ２の出力信号Ｑ１がＥＸＯＲ８に与えられている。ＥＸＯＲ８の出力側は、２入力のＡＮＤ９の一方の入力側に接続され、このＡＮＤ９の他方の入力側にはクリア信号ＣＬＲが与えられるようになっている。ＡＮＤ９の出力側は、ＤＦＦ２の入力端子Ｄに接続されている。
【０００５】
ＡＮＤ１０の第２と第３入力にはＤＦＦ１，２の出力信号Ｑ０，Ｑ１が与えられ、このＡＮＤ１０の出力信号とＤＦＦ３の出力信号Ｑ２がＥＸＯＲ１１に与えられている。ＥＸＯＲ１１の出力側は、２入力のＡＮＤ１２の一方の入力側に接続され、このＡＮＤ１２の他方の入力側にはクリア信号ＣＬＲが与えられるようになっている。ＡＮＤ１２の出力側は、ＤＦＦ３の入力端子Ｄに接続されている。
【０００６】
ＡＮＤ１３の第２〜第４入力にはＤＦＦ１〜３の出力信号Ｑ０〜Ｑ２が与えられ、このＡＮＤ１３の出力信号とＤＦＦ４の出力信号Ｑ３がＥＸＯＲ１４に与えられている。ＥＸＯＲ１４の出力側は、２入力のＡＮＤ１５の一方の入力側に接続され、このＡＮＤ１５の他方の入力側にはクリア信号ＣＬＲが与えられるようになっている。ＡＮＤ１５の出力側は、ＤＦＦ４の入力端子Ｄに接続されている。更に、ＡＮＤ１６の第２〜第５入力にはＤＦＦ１〜４の出力信号Ｑ０〜Ｑ３が与えられ、このＡＮＤ１６の出力側から、キャリー出力信号ＣＡＯが出力されるようになっている。
【０００７】
ＡＮＤ７，１０，１３の各第１入力にはキャリー入力信号ＣＡＩが共通に入力される。
この４ビットの同期カウンタでは、クリア信号ＣＬＲが“Ｌ”のとき、ＡＮＤ６，９，１２，１５の出力が“Ｌ”となり、ＤＦＦ１〜４の入力端子Ｄに“Ｌ”が与えられる。これにより、ＤＦＦ１〜４のクロック端子に与えられるクロック信号ＣＬＫのタイミングで、これらのＤＦＦ１〜４が同期クリアされる。
【０００８】
クリア信号ＣＬＲが“Ｈ”のとき、ＡＮＤ６，９，１２，１５は、他方の入力側に与えられた信号の状態を出力する。キャリー入力信号ＣＡＩが“Ｈ”で、クリア信号ＣＬＲが“Ｌ”から“Ｈ”になって初めてクロック信号ＣＬＫがＤＦＦ１に供給されると、このＤＦＦ１の入力端子ＤにはＥＸＯＲ５により、このＤＦＦ１の出力を反転した信号が与えられる。これにより、ＥＸＯＲ５、ＡＮＤ６及びＤＦＦ１からなるカウント部Ａは、“Ｌ”からスタートしてトグル動作を行い、最下位ビットの出力信号Ｑ０を出力する。
【０００９】
ＤＦＦ２は、キャリー入力信号ＣＡＩ及びＤＦＦ１の出力信号Ｑ０が入力されるＡＮＤ７の出力信号とＤＦＦ２の出力信号Ｑ１が与えられるＥＸＯＲ８により、このキャリー入力信号ＣＡＩと出力信号Ｑ０が“Ｈ”のときにＤＦＦ２の出力信号Ｑ１を反転した信号を入力端子Ｄに供給する。また、キャリー入力信号ＣＡＩまたは出力信号Ｑ０が“Ｌ”のときには、出力信号Ｑ１がそのままＤＦＦ２の入力端子Ｄに与えられる。これにより、ＡＮＤ７、ＥＸＯＲ８、ＡＮＤ９及びＤＦＦ２からなるカウント部Ｂは、下位２ビット目の出力信号Ｑ１を出力する。
【００１０】
ＤＦＦ３の入力端子Ｄには、キャリー入力信号ＣＡＩと出力信号Ｑ０，Ｑ１がすべて“Ｈ”のときにのみ、ＤＦＦ３の出力信号Ｑ２を反転した信号が供給され、それ以外のときは、出力信号Ｑ２がそのまま与えられる。これにより、ＡＮＤ１０、ＥＸＯＲ１１、ＡＮＤ１２及びＤＦＦ３からなるカウント部Ｃは、下位３ビット目の出力信号Ｑ２を出力する。
【００１１】
ＤＦＦ４の入力端子Ｄには、キャリー入力信号ＣＡＩと出力信号Ｑ０〜Ｑ２がすべて“Ｈ”のときにのみ、ＤＦＦ４の出力信号Ｑ３を反転した信号が供給され、それ以外のときは、出力信号Ｑ３がそのまま与えられる。これにより、ＡＮＤ１３、ＥＸＯＲ１４、ＡＮＤ１５及びＤＦＦ４からなるカウント部Ｄは、最上位ビットの出力信号Ｑ３を出力する。
【００１２】
また、回路Ｅを構成するＡＮＤ１６には、キャリー入力信号ＣＡＩと出力信号Ｑ０〜Ｑ３が与えられており、このキャリー入力信号ＣＡＩが“Ｈ”のとき、出力信号Ｑ０〜Ｑ３がすべて“Ｈ”になったタイミングで、最大カウント値をデコードしてキャリー出力信号ＣＡＯを“Ｈ”にして出力する。
【００１３】
図２（ｂ）は、１６ビットの同期カウンタで、図２（ａ）の同期カウンタを４段縦続接続したものである。図２（ｂ）中のブロックＢＬＫ１〜ＢＬＫ４は、それぞれ図２（ａ）の同期カウンタと同様な動作を行う構成をブロックで示している。
【００１４】
この同期カウンタは、図２（ｂ）に示すように、ブロックＢＬＫ１のキャリー出力信号ＣＡＯ１をブロックＢＬＫ２のキャリー入力端子ＣＡＩに与え、ブロックＢＬＫ２のキャリー出力信号ＣＡＯ２をブロックＢＬＫ３のキャリー入力端子ＣＡＩに与え、ブロックＢＬＫ３のキャリー出力信号ＣＡＯ３をブロックＢＬＫ４のキャリー入力端子ＣＡＩに与えるようにしている。また、ブロックＢＬＫ１のキャリー入力端子ＣＡＩには、カウント動作を制御するイネーブル信号ＥＮを与えるようにしている。なお、ブロックＢＬＫ４ではキャリー出力を必要としないので、回路Ｅ（ＡＮＤ１６）は未使用状態となっている。
【００１５】
この同期カウンタでは、イネーブル信号ＥＮとクリア信号ＣＬＲが“Ｈ”のとき、ブロックＢＬＫ１は、図２（ａ）と同様にカウント動作を行う。ブロックＢＬＫ２では、キャリー入力端子ＣＡＩに前段のブロックＢＬＫ１のキャリー出力信号ＣＡＯ１が与えられるので、このブロックＢＬＫ１が１回転する毎に、１ずつカウントアップする。同様に、ブロックＢＬＫ３では、キャリー入力端子ＣＡＩに前段のブロックＢＬＫ２のキャリー出力信号ＣＡＯ２が与えられるので、このブロックＢＬＫ２が１回転する毎に、１ずつカウントアップする。ブロックＢＬＫ４も同様に動作し、これらのブロックＢＬＫ１〜ＢＬＫ４により、出力信号Ｑ０（最下位ビット）〜Ｑ１５（最上位ビット）の１６ビットのカウント値が出力される。
【００１６】
なお、図示していないが、出力信号Ｑ０〜Ｑ１５は一致検出回路に与えられ、予め設定された値に一致したときに一致検出信号を出力するように構成されることが一般的である。
【００１７】
この１６ビットの同期カウンタは、４ビットの同期カウンタを４段縦続接続した構成となっているので、図２（ａ）の４ビットの同期カウンタを単純に１６ビットに拡張したものに比べ、各ＤＦＦ（特にＤＦＦ１）のファンアウト数が増大したり、ＥＸＯＲの前に接続される多入力のＡＮＤのファンイン数が増大したりするということがなく、所定の動作速度が得られるという利点がある。
【００１８】
【特許文献１】特開平５−９０９５２号公報
【特許文献２】特開２００３−３７４９５号公報
【特許文献３】特開平１１−８６５３１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
近年、カウンタ等のデジタル回路設計はＲＴＬ（レジスタ・トランスファ・レベル）で行われ、論理合成によってレイアウトを自動生成するようになっている。ところが、レイアウトの自動生成では、各ブロックＢＬＫ１〜ＢＬＫ４と一致検出回路を配置する位置が周囲の回路との関係で決められるので、各ブロックＢＬＫの出力側と一致検出回路の入力側の間の配線長が極端に異なってしまうおそれがある。このため、特に高速なカウンタでは、一致検出回路に入力されるブロックＢＬＫ１〜ＢＬＫ４の出力信号Ｑ０〜Ｑ１５の遅延時間差により、カウント値が予め設定された値になっても一致検出信号が出力されなかったり、誤った一致検出信号が出力されたりするというおそれが有った。
【００２０】
このような遅延によるタイミングのずれを補償するために、タイミング調整用の遅延バッファを自動的に追加する機能を持ったレイアウト自動生成プログラムもあるが、生成される回路規模が大きくなり、消費電流もその分だけ増加するという問題がある。
【００２１】
なお、図２のような一般的な同期カウンタに限らず、カウント開始前にカウント値をセットすることが可能で、クロック信号に同期してそのカウント値を１ずつカウントダウンするプリセット機能付き同期式ダウンカウンタを用い、各ブロックの出力信号がすべて０になったときに検出信号を出力するカウンタ回路でも、同様の問題がある。
【００２２】
本発明は、レイアウトを考慮することにより、同期式のカウンタ回路における出力信号のタイミングのずれを防止することを目的としている。
【課題を解決するための手段】
【００２３】
本発明は、Ｍ個のＮビット同期カウンタ（但し、Ｍ，Ｎは２以上の整数）を用いてＭ×Ｎビットのカウント値を出力すると共に、該カウント値が所定の値になったことを検出する一致検出部を備えたカウンタ回路において、前記Ｍ個のＮビット同期カウンタを隣接して平行に配置すると共に、該平行に配置されたＮビット同期カウンタの端部に隣接して前記一致検出部を配置したことを特徴としている。
【発明の効果】
【００２４】
本発明では、Ｍ（例えば、４）個のＮ（例えば、４）ビット同期カウンタを隣接して平行に配置し、この平行に配置されたＮビット同期カウンタの端部に隣接して一致検出部を配置している。これにより、各Ｎビット同期カウンタの出力側と一致検出部の入力側をほぼ等しい長さで、かつ短距離で配線することができる。これにより、同期式のカウンタ回路における出力信号のタイミングのずれを防止することができるという効果がある。
【発明を実施するための最良の形態】
【００２５】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例１】
【００２６】
図１は、本発明の実施例を模式的に示すカウンタ回路のレイアウト図である。
このカウンタ回路は、図２（ｂ）に示す１６ビットの同期カウンタに一致検出回路３０を接続したものである。図１中のブロックＢＬＫ１〜ＢＬＫ４は、それぞれ図２（ｂ）におけるブロックＢＬＫ１〜ＢＬＫ４を表しており、更に各ブロックＢＬＫ中の回路部Ａ，Ｂ，Ｃ，Ｄ，Ｅは、それぞれ図２（ａ）中のカウント部Ａ，Ｂ，Ｃ，Ｄと、回路Ｅを表している。ブロックＢＬＫ１〜４それぞれの４ビットの同期カウンタにおいて、カウント部Ａが最下位ビットとなり、Ｄが最上位ビットとなっており、カウント部Ａ〜Ｄの出力が回路Ｅに入力される。
【００２７】
この図１において、各ブロックＢＬＫ１〜ＢＬＫ４内の回路部Ａ〜Ｅは順番に一列に配置され、これらの４つのブロックＢＬＫ１〜ＢＬＫ４が隣接して平行に４列縦隊に配置されている。一方、一致検出回路３０は、４列縦隊に配置されたブロックＢＬＫ１〜ＢＬＫ４の回路部Ｅ側に隣接して配置される。
【００２８】
更に、ブロックＢＬＫ１〜ＢＬＫ４は、ブロックＢＬＫ２とブロックＢＬＫ３の境界線を軸として線対称に配置され、一致検出回路３０もこの境界線を軸として線対称に配置される。なお、一致検出回路３０は、１６ビットの設定値Ｓ０〜Ｓ１５と、１６ビットの同期カウンタの出力信号Ｑ０〜Ｑ１５とのビット毎の一致を判定する１６個のＥＸＯＲ３１と、４個のＥＸＯＲ３１毎にその出力信号の否定的論理和を取る４個の否定的論理和ゲート（以下、「ＮＯＲ」という）３２と、これらのＮＯＲ３２の論理積を取るＡＮＤ３３で構成されている。そして、ＡＮＤ３３から一致検出信号ＤＥＴが出力されるようになっている。
【００２９】
このようなレイアウトのカウンタ回路は、ＲＴＬで回路設計を行った後、論理合成によってレイアウトを自動生成する際に、予めブロックＢＬＫ１〜ＢＬＫ４と一致検出回路３０の位置関係を図１のような配置となるように指定しておくことにより得ることができる。これにより、各ブロックＢＬＫ１〜ＢＬＫ４間、及び一致検出回路３０との間の配線が、ブロックＢＬＫ２とブロックＢＬＫ３の境界線を軸として対称的に、かつ最短距離で行われる。
【００３０】
即ち、各ブロックＢＬＫ１〜ＢＬＫ４に対するクロック信号ＣＬＫとクリア信号ＣＬＲの配線が行われ、各ブロックＢＬＫ１〜ＢＬＫ４から一致検出回路３０に対する出力信号Ｑ０〜Ｑ１５の配線が行われる。更に、ブロックＢＬＫ１〜ＢＬＫ４の回路部Ｅの間で必要に応じてキャリー信号の配線が行われる。また、ブロックＢＬＫ１の回路部Ａに対するイネーブル信号ＥＮ、及び一致検出回路３０からの一致検出信号ＤＥＴの配線が行われる。
【００３１】
なお、このカウンタ回路の動作は、図２（ｂ）の説明で行った通りである。
以上のように、この実施例のカウンタ回路は、４ビットの同期カウンタを構成するブロックＢＬＫ１〜ＢＬＫ４を線対称に４列縦隊に配置し、これらのブロックＢＬＫ１〜ＢＬＫ４の終端に隣接して一致検出回路３０を配置している。これにより、ブロックＢＬＫ１〜ＢＬＫ４と一致検出回路３０との距離をほぼ等しく、かつ短くすることができる。従って、ブロックＢＬＫ１〜ＢＬＫ４の出力信号Ｑ０〜Ｑ１５が一致検出回路３０に到達するまでの遅延時間の差が小さくなるので、出力信号Ｑ０〜Ｑ１５間のタイミングのずれを低減することができるという利点がある。
【００３２】
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
（ａ）  ４ビットの同期カウンタを４個用いて１６ビットの同期カウンタを構成した例を示したが、更に多ビットの同期カウンタを、同様の配置によって構成することもできる。
（ｂ）  一致検出回路３０の回路構成は一例である。例えば、設定値が固定であれば、ＥＯＲ３１を用いずにＡＮＤやＯＲ等を用いることもできる。
（ｃ）  ブロックＢＬＫ１〜ＢＬＫ４の回路構成は一例である。例えば、ブロックＢＬＫ１〜ＢＬＫ４に示した一般的な同期カウンタに代えて、プリセット機能付き同期式ダウンカウンタを用いても良い。その場合、一致検出回路３０に代えて、０検出回路を用いることになる。０検出回路は、例えば多入力のＮＯＲで実現することができる。
（ｄ）  ４列縦隊に配置したブロックＢＬＫ１〜ＢＬＫ４の終端部に隣接して一致検出回路３０を配置したが、各ブロックＢＬＫ１〜ＢＬＫ４と一致検出回路３０との距離が等しくかつ短くなる配置であれば、各ブロックＢＬＫ１〜ＢＬＫ４の配置の仕方は自由である。例えば、一致検出回路３０を中心に、複数のブロックを放射状に配置しても良い。
（ｅ）  各ブロックＢＬＫ１〜ＢＬＫ４内の回路部Ａ〜Ｅを、最下位桁の回路部Ａから最上位桁の回路部Ｅまで桁順に一列に配置すると共に、各ブロックＢＬＫ１〜ＢＬＫ４における同位桁の回路部が隣接するように平行に配置する。更に、各ブロックＢＬＫ１〜ＢＬＫ４の最上位桁の回路部Ｅに隣接して一致検出回路３０を配置する。これにより、各ブロックＢＬＫ１〜ＢＬＫ４と一致検出回路３０間の配線長を均一の長さに固定できるだけでなく、各回路部Ｅと一致検出回路３０を最短の配線で接続することができる。
【００３３】
例えば、予め設定したカウント値をクロック信号に従って１ずつ減少させるダウンカウンタの場合、クロック信号に対する遅延が一番厳しい条件は、最上位ビットが変化するときである（出力Ｑ０〜Ｑ２が同時に変化するとき）。従って、上記のように各カウント部の出力が入力される回路部Ｅに隣接して一致検出回路３０（この場合は、０検出回路）を配置することにより、この回路部Ｅを最短で配線して遅延を最小に抑えておけば、各カウンタ部からの出力を適切なタイミング調整を行うことによって高速なクロック信号に容易に対応できるという効果がある。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施例を模式的に示すカウンタ回路のレイアウト図である。
【図２】一般的な同期カウンタの構成図である。
【符号の説明】
【００３５】
３０    一致検出回路
３１    ＥＸＯＲ
３２    ＮＯＲ
３３    ＡＮＤ
ＢＫＬ１〜ＢＬＫ４    ブロック（４ビット同期カウンタ）
Ａ〜Ｅ    回路部（カウント部）
【図１】
2008301325.tif 000003
【図２】
2008301325.tif 000004