JPH118549A - カウンタ回路 - Google Patents

カウンタ回路

Info

Publication number
JPH118549A
JPH118549A JP9161386A JP16138697A JPH118549A JP H118549 A JPH118549 A JP H118549A JP 9161386 A JP9161386 A JP 9161386A JP 16138697 A JP16138697 A JP 16138697A JP H118549 A JPH118549 A JP H118549A
Authority
JP
Japan
Prior art keywords
flop
output
counter
latch
flip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP9161386A
Other languages
English (en)
Inventor
Takahiro Hikosaka
貴弘 彦坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP9161386A priority Critical patent/JPH118549A/ja
Publication of JPH118549A publication Critical patent/JPH118549A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Logic Circuits (AREA)

Abstract

(57)【要約】 【課題】 カウンタを停止することなく正しいカウンタ
値を読み出し得ると共に、高速処理を行い得るようにな
ったカウンタ回路を提供すること。 【解決手段】 カウンタのカウンタ値は、カウンタ・ク
ロックが入力される度に更新される。各ラッチ用フリッ
プ・フロップは、リード信号の前縁又は後縁でカウンタ
の出力をラッチする。ラッチ用フリップ・フロップの出
力の全て又は一部はセレクタ回路に入力される。比較回
路には全てのラッチ用フリップ・フロップの出力が入力
され、比較回路は入力されたラッチ用フリップ・フロッ
プの出力値を比較し、多数決により1個のラッチ用フリ
ップ・フロップの出力を選択し、選択されたラッチ用フ
リップ・フロップの出力を示す選択信号をセレクタ回路
に送る。セレクタ回路は、選択信号の値に基づいて1個
の入力データを選択し、選択された入力データを出力す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子回路のカウン
タ値をカウンタのクロックとは非同期な信号で読み出さ
なければならないカウンタ回路に関し、DMAコントロ
ーラのアドレス・ポインタやインターバル・タイマな
ど,コンピュータ・システムの様々な分野で利用され
る。
【0002】
【従来の技術】図13は従来のカウンタ回路を示す図で
ある。同図において、1はラッチ用フリップ・フロッ
プ、5はカウンタを示している。カウンタ5のカウンタ
値は、クロック信号CKが入力される度にカウント・アッ
プされる。リード信号READが立ち上がると、ラッチ用フ
リップ・フロップ1はカウンタ5の出力をラッチする。
【0003】図14はカウンタ・リード時の誤動作を説
明するための図である。従来のカウンタ回路では、カウ
ンタ5のクロック信号CKと非同期なリード信号READでカ
ウンタ5の内容を読み出しラッチ用フリップ・フロップ
1にラッチする場合、カウンタ値の切り替わりで読み出
すと、間違った値を読み出す可能性がある。
【0004】図示の例では、カウンタ5のカウンタ値が
0111(10進数で7)から1000に変化している
途中の不確定期間で、リード信号READが立ち上がってい
る。この立上がり時点ではラッチ用フリップ・フロップ
1の入力データD0(20 の重みを持つ)は高レベル
(論理1に対応),入力データD1は低レベル,入力デ
ータD2も低レベル,入力データD3も低レベルである
ので、本来であれば1000(10進数で8)がラッチ
されるべき所、間違った値0001(10進数で1)が
ラッチ用フリップ・フロップ1にラッチされる。
【0005】間違った値を読み出されるのを防止するた
め、従来の技術においては、 カウンタをいったん止めて読み出す。 カウンタ値をソフトウェアで複数回読み出して、確
からしい値を推定する。 と言う方法が取られていた。
【0006】
【発明が解決しようとする課題】しかしながら、カウン
タを常に動作させていなければならないシステムにおい
ては、上述のの方法は使用できない。また、上述の
の方法では、ソフトウェアで処理しなければならず、高
速処理が出来ないと言う問題がある。本発明は、この点
に鑑みて創作されたものであって、カウンタを停止する
ことなく正しいカウンタ値を読み出し得ると共に、高速
処理を行い得るようになったカウンタ回路を提供するこ
とを目的としている。
【0007】
【課題を解決するための手段】図1は本発明の原理説明
図である。請求項1のカウンタ回路は、カウンタと、リ
ード信号生成手段と、リード信号の前縁又は後縁でカウ
ンタの出力をラッチするラッチ用フリップ・フロップの
n個(nは3以上の整数)と、n個のラッチ用フリップ
・フロップの出力の値に基づいて、1個のラッチ用フリ
ップ・フロップを示す選択信号を出力する比較回路と、
n個のラッチ用フリップ・フロップの出力の全部又は一
部が入力されるセレクタ回路とを具備するカウンタ回路
であって、リード信号生成手段は、リード信号が印加さ
れる直列接続された(n−1)個のディレイ・セルを有
し、1番目のラッチ用フリップ・フロップには1番目の
ディレイ・セルに入力されるリード信号が送られ、i番
目(iは2,…,n)のラッチ用フリップ・フロップに
は(i−1)番目のディレイ・セルから出力されるリー
ド信号が送られ、比較回路は、入力データに基づいて1
個のラッチ用フリップ・フロップを選択し、選択したラ
ッチ用フリップ・フロップを示す選択信号を出力し、セ
レクタ回路は、選択信号の値に基づいてラッチ用フリッ
プ・フロップの出力を選択し、選択したデータを出力す
ることを特徴とするものである。
【0008】請求項2のカウンタ回路は、請求項1のカ
ウンタ回路において、比較回路は、入力データの値を比
較し、多数決により1個のラッチ用フリップ・フロップ
を選択することを特徴とするものである。
【0009】請求項3のカウンタ回路は、請求項1又は
請求項2のカウンタ回路において、比較回路は、安定し
ている最新のデータを最適な値として出力することを特
徴とするものである。
【0010】請求項4のカウンタ回路は、請求項1また
は請求項2または請求項3のカウンタ回路において、セ
レクタ回路には、最も早くカウンタの出力をラッチした
ラッチ用フリップ・フロップの出力と、最も遅くカウン
タの出力をラッチしたラッチ用フリップ・フロップの出
力とが入力されることを特徴とするものである。
【0011】請求項5のカウンタ回路は、請求項1また
は請求項2または請求項3または請求項4のカウンタ回
路において、比較回路には、各ラッチ用フリップ・フロ
ップの出力のうちの一部のビットの値が入力されること
を特徴とするものである。
【0012】請求項6のカウンタ回路は、請求項1のカ
ウンタ回路において、ラッチ用フリップ・フロップの個
数は3であり、比較回路は、1番目のラッチ用フリップ
・フロップの出力値をA,2番目のラッチ用フリップ・
フロップの出力値をB,3番目のラッチ用フリップ・フ
ロップの出力値をCとするとき、A=BでB≠Cの場合
には、1番目のラッチ用フリップ・フロップを示す選択
信号を出力し、A≠BでB=Cの場合には、3番目のラ
ッチ用フリップ・フロップを示す選択信号を出力し、A
=B=Cの場合には、2番目のラッチ用フリップ・フロ
ップを示す選択信号を出力し、A≠BでB≠Cの場合に
は、1番目のラッチ用フリップ・フロップ又は3番目の
ラッチ用フリップ・フロップを示す選択信号を出力する
ことを特徴とするものである。
【0013】請求項7のカウンタ回路は、請求項1のカ
ウンタ回路において、カウンタ出力において、カウンタ
・クロックを基準として最も遅れて変化したビットの変
化時刻をT2とし、最も早く変化したビットの変化時刻
をT1とするとき、1つのディレイ・セルのディレイ値
を(T2−T1)以上とし、全てのディレイ・セルのデ
ィレイ値の総和をカウンタ・クロックの周期以下にする
ことを特徴とするものである。
【0014】
【発明の実施の形態】図2は本発明のカウンタ回路の第
1のハードウェア構成例を示す図である。同図におい
て、1〜4はラッチ用フリップ・フロップ、5はカウン
タ、6〜8はディレイ・セル、9は比較回路、10はセ
レクタ回路を示している。また、Aはラッチ用フリップ
・フロップ1の出力、Bはラッチ用フリップ・フロップ
2の出力、Cはラッチ用フリップ・フロップ3の出力、
Dはラッチ用フリップ・フロップ4の出力を示す。
【0015】カウンタ5は4ビット構成のものであり、
例えばバイナリ・カウンタである。ラッチ用フリップ・
フロップ1〜4も、4ビット構成のものである。ラッチ
用フリップ・フロップ1はリード信号READの立上がりで
カウンタ5の出力をラッチし、ラッチ用フリップ・フロ
ップ2はリード信号READ2 の立上がりでカウンタ5の出
力をラッチし、ラッチ用フリップ・フロップ3はリード
信号READ3 の立上がりでカウンタ5の出力をラッチし、
ラッチ用フリップ・フロップ4はリード信号READ4 の立
上がりでカウンタ5の出力をラッチする。ラッチ用フリ
ップ・フロップ1〜4として、リード信号の立上がり又
は立下がりでデータを取り込むフリップ・フロップを使
用することも出来、レベル・ラッチを使用することも出
来る。
【0016】リード信号READ2 はリード信号READをディ
イレ・セル6で遅延したものであり、リード信号READ3
はリード信号READ2 をディイレ・セル7で遅延したもの
であり、リード信号READ4 はリード信号READ3 をディイ
レ・セル8で遅延したものである。ディレイ・セルの遅
延時間やカウンタのクロック・サイクルについては後述
する。
【0017】セレクタ回路10にはラッチ用フリップ・
フロップ1,2,3,4の出力A,B,C,Dが入力さ
れる。セレクタ回路10は、比較回路9からの信号SEL
に基づいて入力データA〜Dのうちの一つを選択し、出
力する。比較回路9は、ラッチ用フリップ・フロップ
1,2,3,4の出力A,B,C,Dを取り込み、これ
らを比較して最適な出力を選択する信号SEL を出力す
る。
【0018】図3は図2のカウンタ回路の状態ならびに
カウンタ出力A,B,C,Dの関係を示す図である。同
図において、○は更新後のカウンタ値、△は更新前のカ
ウンタ値、×は更新中のカウンタ値を示す。
【0019】状態S1は、ラッチの最中にカウンタ値が
変化しなかった場合を示す。状態S1では、ラッチ用フ
リップ・フロップの出力A,B,C,Dは、A=B=C
=Dとなる。
【0020】状態S2は、ラッチ用フリップ・フロップ
1がラッチ動作を行っている最中にカウンタ値が変化し
た場合(即ち、ラッチ用フリップ・フロップ1が不確定
期間のデータを取り込んだ場合)を示す。状態S2で
は、ラッチ用フリップ・フロップの出力A,B,C,D
は、A≠B,B=C=Dとなる。
【0021】状態S3は、ラッチ1とラッチ2の間にカ
ウンタ値が変化した場合(即ち、ラッチ用フリップ・フ
ロップ1のデータ取込時刻とラッチ用フリップ・フロッ
プ2のデータ取込時刻との間に不確定期間が存在する場
合)を示す。状態S3では、ラッチ用フリップ・フロッ
プの出力A,B,C,Dは、A≠B,B=C=Dとな
る。
【0022】状態S4は、ラッチ2にラッチしている最
中にカウンタ値が変化した場合を示す。状態S4では、
ラッチ用フリップ・フロップの出力A,B,C,Dは、
A≠B,B≠C,C=Dとなる。状態S5は、ラッチ2
とラッチ3の間にカウンタ値が変化した場合を示す。状
態S5では、ラッチ用フリップ・フロップの出力A,
B,C,Dは、A=B,B≠C,C=Dとなる。
【0023】状態S6は、ラッチ3にラッチしている最
中にカウンタ値が変化した場合を示す。状態S6では、
A=B,B≠C,C≠Dとなる。状態S7は、ラッチ3
とラッチ4の間にカウンタ値が変化した場合を示す。状
態S7では、ラッチ用フリップ・フロップの出力A,
B,C,Dは、A=B=C,C≠Dとなる。状態S8
は、ラッチ4にラッチしている最中にカウンタ値が変化
した場合を示す。状態S8では、ラッチ用フリップ・フ
ロップの出力A,B,C,Dは、A=B=C,C≠Dと
なる。
【0024】比較回路9は、ラッチ用フリップ・フロッ
プの出力A,B,C,Dを比較し、多数決で最適なカウ
ンタ出力を選択し、選択したカウンタ出力を示す選択信
号SEL を出力するものである。比較回路9は、図3の状
態S1〜S8の場合には、以下のようなラッチ用フリッ
プ・フロップの出力を指定するような選択信号SEL を出
力すれば良い。
【0025】 状態S1 A=B=C=D → A,B,C,Dのどれでも良い 状態S2 A≠B,B=C=D → B,C,Dのどれか 状態S3 A≠B,B=C=D → B,C,Dのどれか 状態S4 A≠B,B≠C,C=D → C,Dのどちらか 状態S5 A=B,B≠C,C=D → A若しくはBのどちらか又はC若 しくはDのどちらか 状態S6 A=B,B≠C,C≠D → A,Bのどちらか 状態S7 A=B=C,C≠D → A,B,Cのどれか 状態S8 A=B=C,C≠D → A,B,Cのどれか
【0026】上述の説明では、比較回路9は複数のラッ
チ用フリップ・フロップの出力を同一の値を持つグルー
プにグループ分けし、出力の個数が最も多いグループを
選択し、選択したグループに属するラッチ用フリップ・
フロップを指示する選択信号SEL を出力しているが、出
力の個数が最も多いグループが複数個存在する場合に
は、最も最新のデータを持つグループを選択するように
しても良い。この場合には、状態S1〜S8のそれぞれ
に対応して以下のような値を出力する比較回路(比較回
路9′と呼ぶ)を作成すれば良い。比較回路9と比較回
路9′の相違は、状態S5の場合の動作が相違するだけ
である。
【0027】 状態S1 A=B=C=D → A,B,C,Dのどれでも良い 状態S2 A≠B,B=C=D → B,C,Dのどれか 状態S3 A≠B,B=C=D → B,C,Dのどれか 状態S4 A≠B,B≠C,C=D → C,Dのどちらか 状態S5 A=B,B≠C,C=D → C,Dのどちらか 状態S6 A=B,B≠C,C≠D → A,Bのどちらか 状態S7 A=B=C,C≠D → A,B,Cのどれか 状態S8 A=B=C,C≠D → A,B,Cのどれか
【0028】図4は本発明のカウンタ回路の第2のハー
ドウェア構成例を示す図である。同図において、11は
比較回路、12はセレクタ回路をそれぞれ示している。
なお、図2と同一符号は同一物を示す。
【0029】図2においては比較回路は多数決でラッチ
用フリップ・フロップの出力A,B,C,Dの何れかを
選択しているが、カウンタの特性上、最初にラッチ動作
を行うラッチ用フリップ・フロップ1または最後にラッ
チ動作を行うラッチ用フリップ・フロップ4に確定した
値が入っているため、ラッチ用フリップ・フロップ1の
出力Aおよびラッチ用フリップ・フロップ4の出力Dを
セレクタ回路に入力し、出力Aまたは出力Dの何れかを
選択すれば良い。これはセレクタ回路が二者択一である
ことを意味しているため、比較回路の出力は1ビットで
良い。
【0030】図4のハードウェアは上述のような考え方
に基づいて作成されたものである。図4においては、セ
レクタ回路12にはラッチ用フリップ・フロップ1の出
力Aとラッチ用フリップ・フロップ4の出力Dが入力さ
れ、セレクタ回路12は比較回路11からの選択信号SE
L に基づいて入力データAまたはDの何れかを選択し、
選択したデータを出力する。比較回路11にはラッチ用
フリップ・フロップ1〜4の出力A〜Dが入力され、比
較回路11はこれらの値を比較し、出力AまたはDを示
す1ビットの選択信号SEL を出力する。
【0031】比較回路11は、図3の状態S1〜S8で
は、以下のようなラッチ用フリップ・フロップの出力を
選択するための選択信号SEL を出力する。 状態S1 A=B=C=D → A,Dのどちらか 状態S2 A≠B,B=C=D → D 状態S3 A≠B,B=C=D → D 状態S4 A≠B,B≠C,C=D → D 状態S5 A=B,B≠C,C=D → A,Dのどちらか 状態S6 A=B,B≠C,C≠D → A 状態S7 A=B=C,C≠D → A 状態S8 A=B=C,C≠D → A
【0032】図5は本発明のカウンタ回路の第3のハー
ドウェア構成例を示す図である。同図において、13は
比較回路、14はセレクタ回路をそれぞれ示している。
なお、図2と同一符号は同一物を示す。
【0033】バイナリ・カウンタのように、最下位のビ
ットが各サイクルによって必ず変化する場合、全てのビ
ットの比較は必ずしも必要ではなく、一部のビットにつ
いてのみ比較すれば良い。例えば、バイナリ・カウンタ
では最下位のビットが各サイクル毎に必ず変化している
ため、少なくとも最下位のビットを比較すれば、変化点
を推測でき、確定しているデータを選択することが出来
る。
【0034】図5のハードウェアは上述のような考え方
に基づいて作成されたものである。図5においては、カ
ウンタ5はバイナリ・カウンタである。セレクタ回路1
4にはラッチ用フリップ・フロップの出力A,B,C,
Dが入力され、セレクタ回路14は比較回路13からの
選択信号SEL に基づいて入力データA,B,C,Dの何
れかを選択し、選択したデータを出力する。比較回路1
3にはラッチ用フリップ・フロップ1の下位2ビット
(Q0とQ1),ラッチ用フリップ・フロップ2の下位
2ビット,ラッチ用フリップ・フロップ3の下位2ビッ
ト及びラッチ用フリップ・フロップ4の下位2ビットが
入力され、比較回路13はこれらのデータを比較し、出
力A,B,C,Dを指定する選択信号SEL を出力する。
【0035】図6は本発明のカウンタ回路の第4のハー
ドウェア構成例を示す図である。同図において、15は
比較回路、16はセレクタ回路をそれぞれ示している。
なお、図2と同一符号は同一物を示す。
【0036】図6においても、カウンタ5はバイナリ・
カウンタである。比較回路15には、ラッチ用フリップ
・フロップ1の下位2ビット,ラッチ用フリップ・フロ
ップ2の下位2ビット,ラッチ用フリップ・フロップ3
の下位2ビット及びラッチ用フリップ・フロップ4の下
位2ビットが入力される。なお、4ビット構成のラッチ
用フリップ・フロップ2において、22 の重みを持つフ
リップ・フロップ及び23 の重みを持つフリップ・フロ
ップはなくても良い。4ビット構成のラッチ用フリップ
・フロップ3においても同様である。
【0037】比較回路15は、4個の入力データを比較
し、0か1かの選択信号SEL を出力する。セレクタ回路
16にはラッチ用フリップ・フロップ1の出力Aとラッ
チ用フリップ・フロップ4の出力Dが入力され、セレク
タ回路16は比較回路15から出力される1ビットの選
択信号SEL の値に基づいて入力データAまたは入力デー
タDの何れかを選択し、出力する。
【0038】図7は本発明のカウンタ回路の第5のハー
ドウェア構成例を示す図である。同図において、17は
比較回路、18はセレクタ回路をそれぞれ示す。なお、
図2と同一符号は同一物を示す。
【0039】図7においては、ラッチ用フリップ・フロ
ップの個数は3である。比較回路17には、ラッチ用フ
リップ・フロップ1の下位2ビット(Q0とQ1),ラ
ッチ用フリップ・フロップ2の下位2ビット及びラッチ
用フリップ・フロップ3の下位2ビットが入力される。
比較回路17は、これらの入力データを比較し、ラッチ
用フリップ・フロップの出力A,B,Cの何れかを指定
する選択信号SEL を出力する。ラッチ用フリップ・フロ
ップ1の出力A,ラッチ用フリップ・フロップ2の出力
B及びラッチ用フリップ・フロップ3の出力Cは、セレ
クタ回路18に入力される。セレクタ回路18は、比較
回路17からの選択信号SEL の値に基づいて、入力デー
タA,B,Cの何れかを選択し、選択したデータを出力
する。
【0040】図8は図7のカウンタ回路の状態ならびに
カウンタ出力A,B,Cの関係を示す図である。図7の
ように、複数ビット比較(図示の例では2ビット)の場
合には、次の12の状態が考えられる。
【0041】状態S1はラッチの最中にカウンタ値が変
化しなかった場合を示す。状態S1では、ラッチ用フリ
ップ・フロップの出力A,B,Cは、A=B=Cとな
る。状態S2は、ラッチ1にラッチしている最中にカウ
ンタ値が変化したが、下位2ビット(Q1,Q0)が未
だ変化していない場合を示す。状態S2では、A=B=
Cとなる。
【0042】状態S3は、ラッチ1にラッチしている最
中にカウンタ値が変化し、下位2ビット(Q1,Q0)
のうち1ビットだけ変化した場合を示す。状態S3で
は、A≠B,B=Cとなる。状態S4は、ラッチ1にラ
ッチしている最中にカウンタ値が変化し、下位2ビット
(Q1,Q0)が変化した場合を示す。状態S4では、
A≠B,B=Cとなる。
【0043】状態S5は、ラッチ1とラッチ2の間にカ
ウンタ値が変化した場合を示す。状態S5では、A≠
B,B=Cとなる。状態S6は、ラッチ2にラッチして
いる最中にカウンタ値が変化したが、下位2ビット(Q
1,Q0)が未だ変化していない場合を示す。状態S6
では、A≠B,B=Cとなる。
【0044】状態S7は、ラッチ2にラッチしている最
中にカウンタ値が変化し、下位2ビット(Q1,Q0)
のうち1ビットだけ変化した場合を示す。状態S7で
は、A≠B,B≠Cとなる。状態S8は、ラッチ2にラ
ッチしている最中にカウンタ値が変化し、下位2ビット
(Q1,Q0)が変化した場合を示す。状態S8では、
A=B,B≠Cとなる。
【0045】状態S9は、ラッチ2とラッチ3の間にカ
ウンタ値が変化した場合を示す。状態S9では、A=
B,B≠Cとなる。状態S10は、ラッチ3にラッチし
ている最中にカウンタ値が変化したが、下位2ビット
(Q1,Q0)が未だ変化していない場合を示す。状態
S10では、A=B,B≠Cとなる。
【0046】状態S11は、ラッチ3にラッチしている
最中にカウンタ値が変化し、下位2ビット(Q1,Q
0)のうち1ビットだけ変化した場合を示す。状態S1
1では、A=B,B≠Cとなる。状態S12は、ラッチ
3にラッチしている最中にカウンタ値が変化し、下位2
ビット(Q1,Q0)が変化した場合を示す。状態S1
2では、A=B=Cとなる。
【0047】A=B=Cのときの状態を考える。状態S
1のときは、どれでも問題はない。状態S2のときは出
力Aの値が不確定になり、状態S12のときは出力Cの
値が不確定になる。このことから、A=B=Cのとき
は、出力Bを選択すれば良いことが判る。
【0048】A≠B,B=Cのときの状態を考える。状
態S5のときは、どれでも問題はない。状態S3のとき
は出力Aの値が不確定になり、状態S4のときも出力A
の値は不確定になり、状態S6のときは出力Bの値が不
確定になる。このことから、A≠B,B=Cのときは、
出力Cを選択すれば良いことが判る。
【0049】A≠B,B≠Cのときの状態を考える。A
≠B,B≠Cになるのは、状態S7のときだけである。
このことから、A≠B,B≠Cのときは、出力Aまたは
出力Cを選択すれば良いことが判る。
【0050】A=B,B≠Cのときの状態を考える。状
態S9のときは、どれでも問題はない。状態S8のとき
は出力Bの値が不確定になり、状態S10のときは出力
Cの値が不確定になり、状態S11のときも出力Cの値
が不確定になる。このことから、A=B,B≠Cのとき
はAの値を選択すれば良いことが判る。
【0051】以上の説明から判るように、比較回路17
は下記のような動作を行えば良い。 (a) A=B=Cのときは、出力Bを指定する選択信号SE
L を出力する。 (b) A≠B,B=Cのときは、出力Cを指定する選択信
号SEL を出力する。 (c) A≠B,B≠Cのときは、出力A又は出力Cを指定
する選択信号SEL を出力する。 (d) A=B,B≠Cのときは、出力Aを指定する選択信
号SEL を出力する。
【0052】図9は本発明のカウンタ回路の第6のハー
ドウェア構成例を示す図である。同図において、19は
比較回路、20はセレクタ回路をそれぞれ示す。なお、
図2と同一符号は同一物を示す。
【0053】図9においても、ラッチ用フリップ・フロ
ップの個数は3である。比較回路19には、ラッチ用フ
リップ・フロップ1の最下位ビット,ラッチ用フリップ
・フロップ2の最下位ビット及びラッチ用フリップ・フ
ロップ3の最下位ビットが入力される。比較回路19
は、これらの入力データを比較し、ラッチ用フリップ・
フロップの出力A,B,Cの何れかを指定する選択信号
SEL を出力する。ラッチ用フリップ・フロップ1の出力
A,ラッチ用フリップ・フロップ2の出力B及びラッチ
用フリップ・フロップ3の出力Cは、セレクタ回路20
に入力される。セレクタ回路20は、比較回路19から
の選択信号SEL の値に基づいて、入力データA,B,C
の何れかを選択し、選択したデータを出力する。
【0054】図10は図9のカウンタ回路の状態ならび
にカウンタ出力A,B,Cの関係を示す図である。図9
のように、最下位ビット比較の場合には、次の9つの状
態が考えられる。
【0055】状態S1はラッチの最中にカウンタ値が変
化しなかった場合を示す。状態S1では、ラッチ用フリ
ップ・フロップの出力A,B,Cは、A=B=Cとな
る。状態S2は、ラッチ1にラッチしている最中にカウ
ンタ値が変化したが、最下位ビット(Q0)が未だ変化
していない場合を示す。状態S2では、A=B=Cとな
る。
【0056】状態S3は、ラッチ1にラッチしている最
中にカウンタ値が変化し、最下位ビット(Q0)が変化
した場合を示す。状態S3では、A≠B,B=Cとな
る。状態S4は、ラッチ1とラッチ2の間にカウンタ値
が変化した場合を示す。状態S4では、A≠B,B=C
となる。
【0057】状態S5は、ラッチ2にラッチしている最
中にカウンタ値が変化したが、最下位ビット(Q0)が
未だ変化していない場合を示す。状態S5では、A≠
B,B=Cとなる。状態S6は、ラッチ2にラッチして
いる最中にカウンタ値が変化し、最下位ビット(Q0)
が変化した場合を示す。状態S6では、A=B,B≠C
となる。
【0058】状態S7は、ラッチ2とラッチ3の間にカ
ウンタ値が変化した場合を示す。状態S7では、A=
B,B≠Cとなる。状態S8は、ラッチ3にラッチして
いる最中にカウンタ値が変化したが、最下位ビット(Q
0)が未だ変化していない場合を示す。状態S8では、
A=B,B≠Cとなる。状態S9は、ラッチ3にラッチ
している最中にカウンタ値が変化し、最下位ビット(Q
0)が変化した場合を示す。状態S9では、A=B=C
となる。
【0059】A=B=Cのときの状態を考える。状態S
1のときはどれでも問題はない。状態S2のときは出力
Aの値が不確定になり、状態S9のときは出力Cの値が
不確定になる。このことから、A=B=Cのときは出力
Bの値を選択すれば良いことが判る。
【0060】A≠B,B=Cのときを考える。状態S4
のときはどれでも問題はない。状態S3のときは出力A
の値が不確定になり、状態S5のときは出力Bの値が不
確定になる。このことから、A≠B,B=Cの時はCの
値を選択すれば良いことが判る。
【0061】A=B,B≠Cのときの状態を考える。状
態S7のときは、どれでも問題はない。状態S8のとき
は出力Cの値が不確定になり、状態S6のときは出力B
の値が不確定になる。このことから、A=B,B≠Cの
ときはAの値を選択すれば良いことになる。なお、1ビ
ット比較の場合、A≠B,B≠Cの条件はなくても問題
はない。
【0062】以上の説明から判るように、比較回路19
は下記のような動作を行えば良い。 (a) A=B=Cのときは、Bを指定する選択信号SEL を
出力する。 (b) A≠B,B=Cのときは、出力Cを指定する選択信
号SEL を出力する。 (c) A=B,B≠Cのときは、出力Aを指定する選択信
号SEL を出力する。
【0063】図11は不確定期間を2回以上ラッチした
場合の不具合を説明するための図、図12は1サイクル
のラッチ間に2回以上カウンタ・アップした場合の不具
合を説明するための図である。
【0064】考慮しなければならない時間としては、以
下の2つの時間がある。 (1) クロックが入り、カウンタ値が変化を始めてから安
定するまでの時間 (2) カウンタのクロック・サイクル
【0065】これらを図1のカウンタ回路を例にして説
明する。まず、カウンタ値が不確定な期間であるが、図
11のように、例えば7から8にカウント・アップして
いる最中にリードを行った場合、不確定期間で2回以上
(図11では2回)ラッチすると、正確な値(図示の例
では7または8)ではなく、間違った値(図示の例では
15)を選択してしまう。この不具合は、ディレイ・セ
ルのディレイを不確定期間の値以上にすることにより、
解決できる。
【0066】図11の例では、カウンタ出力(Q3)が
最も早く変化し、次いでカウンタ出力(Q2,Q1,Q
0)が変化している。カウンタ・クロックの立上がりを
基準としたカウンタ出力(Q2,Q1,Q0)の変化時
刻をT2とし、カウンタ・クロックの立上がりを基準と
したカウンタ出力(Q3)の変化時刻をT1とする。デ
ィレイ・セルのディレイ時間を(T2−T1)以上にす
れば、不確定期間において2回以上ラッチが行われると
言う不具合を防止することが出来る。
【0067】図12を参照して、カウンタのクロック・
サイクルについて説明する。図12に示すように、クロ
ック・サイクルの周期よりラッチの1サイクルの時間
(ディレイ・セル6,7,8のディレイ値の総和)が長
い場合を想定する。このような状態の下で、例えば7か
ら8にカウント・アップしている最中にリードが起こる
と、1サイクルのラッチの間に2回のカウント・アップ
が発生し、その中に不確定期間をラッチしたラッチ用フ
リップ・フロップが存在すると、どれが正しいかを多数
決では判断できない。この不具合は、ディレイ・セルの
ディレイ値の総和をクロック・サイクルの周期よりも小
さくすることにより、解決できる。
【0068】
【発明の効果】以上の説明から明らかなように、本発明
によれば、簡単な回路でカウンタ動作中の不確定期間に
おける読取ミスを無くすことが出来る。また、バイナリ
・カウンタ以外のカウンタでも柔軟に対応できる。
【0069】請求項1,2又は3の発明によれば、ラッ
チした任意の数のカウンタの値を比較し、最適な方法で
選択することにより、読み出し時に誤動作のないカウン
タ回路を作成することが出来る。請求項4の発明によれ
ば、2つのラッチ・データ(最新データと最も古いデー
タ)だけを選択すれば良いため、比較回路が簡単にな
り、回路規模を小さくすることが出来る。
【0070】請求項5の発明によれば、一部のビットの
みの比較で良いため、比較回路を小さくすることが出来
る。また、請求項5の発明と請求項4の発明を組み合わ
せることにより、更に回路規模を小さくすることが出来
る。請求項6の発明によれば、3個のラッチ用フリップ
・フロップしか使用しないため、回路規模が小さくな
る。請求項6の発明において、1ビットのみを比較する
ようにすれば、回路構成を更に小さくすることが出来
る。請求項7の発明によれば、誤動作を起こさない高速
なカウンタ回路を作成することが可能となる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明のカウンタ回路の第1のハードウェア構
成例を示す図である。
【図3】図1のカウンタ回路の状態とカウンタ出力の関
係を示す図である。
【図4】本発明のカウンタ回路の第2のハードウェア構
成例を示す図である。
【図5】本発明のカウンタ回路の第3のハードウェア構
成例を示す図である。
【図6】本発明のカウンタ回路の第4のハードウェア構
成例を示す図である。
【図7】本発明のカウンタ回路の第5のハードウェア構
成例を示す図である。
【図8】図7のカウンタ回路の状態とカウンタ出力の関
係を示す図である。
【図9】本発明のカウンタ回路の第6のハードウェア構
成例を示す図である。
【図10】図9のカウンタ回路の状態とカウンタ出力の
関係を示す図である。
【図11】不確定期間を2回以上ラッチした場合の不具
合を説明するための図である。
【図12】1サイクルのラッチ間に2回以上カウント・
アップした場合の不具合を説明するための図である。
【図13】従来のカウンタ回路を示す図である。
【図14】カウンタ・リード時の誤動作を説明するため
の図である。
【符号の説明】
1〜4 ラッチ用フリップ・フロップ 5 カウンタ 6〜8 ディレイ・セル 9 比較回路 10 セレクタ回路 11 比較回路 12 セレクタ回路 13 比較回路 14 セレクタ回路 15 比較回路 16 セレクタ回路 17 比較回路 18 セレクタ回路 19 比較回路 20 セレクタ回路

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 カウンタと、 リード信号生成手段と、 リード信号の前縁又は後縁でカウンタの出力をラッチす
    るラッチ用フリップ・フロップのn個(nは3以上の整
    数)と、 n個のラッチ用フリップ・フロップの出力の値に基づい
    て、1個のラッチ用フリップ・フロップを示す選択信号
    を出力する比較回路と、 n個のラッチ用フリップ・フロップの出力の全部又は一
    部が入力されるセレクタ回路とを具備するカウンタ回路
    であって、 リード信号生成手段は、リード信号が印加される直列接
    続された(n−1)個のディレイ・セルを有し、1番目
    のラッチ用フリップ・フロップには1番目のディレイ・
    セルに入力されるリード信号が送られ、i番目(iは
    2,…,n)のラッチ用フリップ・フロップには(i−
    1)番目のディレイ・セルから出力されるリード信号が
    送られ、 比較回路は、入力データに基づいて1個のラッチ用フリ
    ップ・フロップを選択し、選択したラッチ用フリップ・
    フロップを示す選択信号を出力し、 セレクタ回路は、選択信号の値に基づいてラッチ用フリ
    ップ・フロップの出力を選択し、選択したデータを出力
    することを特徴とするカウンタ回路。
  2. 【請求項2】 比較回路は、入力データの値を比較し、
    多数決により1個のラッチ用フリップ・フロップを選択
    することを特徴とする請求項1のカウンタ回路。
  3. 【請求項3】 比較回路は、安定している最新のデータ
    を最適な値として出力することを特徴とする請求項1ま
    たは請求項2のカウンタ回路。
  4. 【請求項4】 セレクタ回路には、最も早くカウンタの
    出力をラッチしたラッチ用フリップ・フロップの出力
    と、最も遅くカウンタの出力をラッチしたラッチ用フリ
    ップ・フロップの出力とが入力されることを特徴とする
    請求項1または請求項2または請求項3のカウンタ回
    路。
  5. 【請求項5】 比較回路には、各ラッチ用フリップ・フ
    ロップの出力のうちの一部のビットの値が入力されるこ
    とを特徴とする請求項1または請求項2または請求項3
    または請求項4のカウンタ回路。
  6. 【請求項6】 ラッチ用フリップ・フロップの個数は3
    であり、 比較回路は、1番目のラッチ用フリップ・フロップの出
    力値をA,2番目のラッチ用フリップ・フロップの出力
    値をB,3番目のラッチ用フリップ・フロップの出力値
    をCとするとき、 A=BでB≠Cの場合には、1番目のラッチ用フリップ
    ・フロップを示す選択信号を出力し、 A≠BでB=Cの場合には、3番目のラッチ用フリップ
    ・フロップを示す選択信号を出力し、 A=B=Cの場合には、2番目のラッチ用フリップ・フ
    ロップを示す選択信号を出力し、 A≠BでB≠Cの場合には、1番目のラッチ用フリップ
    ・フロップ又は3番目のラッチ用フリップ・フロップを
    示す選択信号を出力することを特徴とする請求項1のカ
    ウンタ回路。
  7. 【請求項7】カウンタ出力において、カウンタ・クロッ
    クを基準として最も遅れて変化したビットの変化時刻を
    T2とし、最も早く変化したビットの変化時刻をT1と
    するとき、1つのディレイ・セルのディレイ値を(T2
    −T1)以上とし、 全てのディレイ・セルのディレイ値の総和をカウンタ・
    クロックの周期以下にすることを特徴とする請求項1の
    カウンタ回路。
JP9161386A 1997-06-18 1997-06-18 カウンタ回路 Withdrawn JPH118549A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9161386A JPH118549A (ja) 1997-06-18 1997-06-18 カウンタ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9161386A JPH118549A (ja) 1997-06-18 1997-06-18 カウンタ回路

Publications (1)

Publication Number Publication Date
JPH118549A true JPH118549A (ja) 1999-01-12

Family

ID=15734114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9161386A Withdrawn JPH118549A (ja) 1997-06-18 1997-06-18 カウンタ回路

Country Status (1)

Country Link
JP (1) JPH118549A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277218A (ja) * 2009-05-27 2010-12-09 Oki Semiconductor Co Ltd nビット比較回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277218A (ja) * 2009-05-27 2010-12-09 Oki Semiconductor Co Ltd nビット比較回路

Similar Documents

Publication Publication Date Title
US5459855A (en) Frequency ratio detector for determining fixed frequency ratios in a computer system
EP0740420A2 (en) N+1 Frequency divider counter and method therefor
JP3714570B2 (ja) 並列処理用割り算回路
JPS62188446A (ja) 同期検出回路及び方法
JPH118549A (ja) カウンタ回路
KR100355302B1 (ko) 프로그램 가능한 고속의 주파수 분주기
JP2022083858A (ja) 多ビットグレイコード生成回路
US11870444B1 (en) Entropy source circuit
CN114095015B (zh) 去毛刺时钟分频电路、方法及终端
JP2766133B2 (ja) パラレル・シリアル・データ変換回路
JPH06176561A (ja) 並列化差分フラッグ論理
JP2618723B2 (ja) テスト回路
JP3471275B2 (ja) 同期化回路
US6680990B1 (en) Elastic integrated circuit
CN222785979U (zh) 计数器读出电路
KR200155054Y1 (ko) 카운터 회로
CN217213701U (zh) 用于多时钟切换的电路、fpga和电子设备
JP4189729B2 (ja) タイマーカウント値の非同期読み出し方法及びタイマー
JP2006318002A (ja) クロック分周回路
JPH05175829A (ja) データ入出力方法および装置
JP2000011637A (ja) Fifo型記憶装置
JPH08102658A (ja) ロード機能付きカウンタ回路
JP3145988B2 (ja) データs/p変換回路
JP3115756B2 (ja) デマルチプレクサ回路
JP2001160751A (ja) カウンタ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907