(57)【特許請求の範囲】
【請求項１】
Ｎ個の初期値を記憶する初期値記憶手段と、前記各初期値が設定され、クロックに同期してカウントするＮ個のカウンタが割り当てられたカウンタ記憶手段と、前記各初期値を前記各カウンタに設定し、その後カウンタ処理を時分割で繰り返して行う制御回路と、を備え、前記制御回路は、クロックを分周して得られる複数のスロットで１つのカウンタに対する前記カウンタ処理を行い、該カウンタ処理は、前記複数のスロットの内の２つのスロットの各々において、前記カウンタの値を読み出して所定値の加減算を行う処理と、その結果を再度前記カウンタに書込む処理とを行うことを特徴とするパルス発生回路。
【請求項２】
前記制御回路は、前記複数のスロットを３つのスロットで構成し、１番目のスロットで、カウンタを制御するＣＰＵが前記初期値を前記カウンタに書き込んだり、または値を読み出したりする処理を行い、２番目のスロットで、前記カウンタの値を読み出して前記所定値の加減算処理を行い、３番目のスロットで、その結果を再度前記カウンタに書込む処理を行うことを特徴とする請求項１に記載のパルス発生回路。
【請求項３】
前記制御回路は、前記カウンタを順次選択するアドレスカウンタ回路を備え、該アドレスカウンタ回路は、カウント動作を行わせるカウンタの使用数Ｘ（Ｘ＝＜Ｎ）を記憶する使用カウンタ数記憶手段と、該使用カウンタ数記憶手段に記憶されているカウンタ数の範囲においてカウンタを順次選択し、且つその順次選択動作を繰り返して行うカウンタアドレス更新回路と、を備えてなる請求項１又は２に記載のパルス発生回路。
【請求項４】
前記制御回路は、前記初期値記憶手段と前記カウンタ記憶手段のそれぞれのデータ書込みを可能にするライト信号端子に対して、同時にライト信号を出力するゲート回路を備えたことを特徴とする、請求項１〜３のいずれかに記載のパルス発生回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、周期がそれぞれ異なった複数のパルス信号をカウンタを用いて連続的に発生させるカウンタ回路に関する。
【０００２】
【従来の技術】
従来のカウンタ回路を図１に示す。
【０００３】
このカウンタ回路は、初期値を記録する初期レジスタ１と、カウンタレジスタ２と、カウントアップ信号を出力するカウントアップ回路３と、初期レジスタ１及びカウンタレジスタ２の間に配置される制御回路４とで構成される。
【０００４】
リセット信号によってカウンタレジスタ２が０にクリアされると、図外のＣＰＵによって初期レジスタ１に初期値が書き込まれる。この初期値はカウンタレジスタ２によってカウントする最初の値である。クロックがカウンタレジスタ２に入力すると、カウンタレジスタ２の値が０の場合、制御回路４内のセレクタ回路４０を介して初期値がカウンタレジスタ２に書き込まれる。比較器４１は、カウンタレジスタの出力値が０になっているか判定し、０でなければ演算器４２においてカウンタレジスタ出力値から−１した値をセレクタ４０を介してカウンタレジスタ２に再書き込みする。これにより、カウンタレジスタ２に初期値が書き込まれた後、クロック入力ごとに−１されていく。カウンタレジスタ２の値が０になった時、カウントアップ回路３がカウントアップ信号を出力する。その後、再びカウンタレジスタ２に初期値が書き込まれ上記と同様の動作を繰り返す。この動作が繰り返されることによって、カウントアップ回路３からは、クロック周期×初期値の長さを周期とするパルス信号がカウントアップ回路３から出力される。
【０００５】
従来、それぞれ異なった周期を有する多数のパルス信号を形成する場合、上記の構成からなるカウンタ回路をその周期の種類の数だけ用意して、各カウンタ回路の初期値をそれぞれ異なった値に設定していた。
【０００６】
【発明が解決しようとする課題】
しかし、上記の構成のカウンタ回路では、必要とする周期の数と同数のカウンタ回路が必要であるために、たとえば、数千種類の周期のパルス信号を形成する場合には、その数と同数のカウンタ回路を並べなくてはならなくなり、全体の回路実装のために膨大な面積を必要とする問題がある。
【０００７】
この問題に対して、特開平３−８５８１６号に示されるタイマ多重化回路が提案されている。この回路では、タイマ回路を共有することによって回路規模を減少させることができる。しかし、同一周期の割り込みは複数発生させることができるが、タイマの周期を設定できないために、それぞれ異なった周期の複数のパルス信号を形成することが困難である。また、特開平８−１７９９９８号の多段ハードウェアタイマでは、ＲＡＭに初期値を代入することによって複数のカウンタ値を複数個格納できるようにしているが、初期値が設定されるとカウントアップ信号を１回発生するだけの単発のパルス信号しか発生することができず、周期の異なった複数のパルス信号を形成することができない。
【０００８】
本発明の目的は、回路規模が増大することなくそれぞれ周期の異なった複数のパルス信号を形成することのできるカウンタ回路を提供することにある。
【０００９】
本発明は、上記の課題を解決するため、Ｎ個の初期値を記憶する初期値記憶手段と、前記各初期値が設定され、クロックに同期してカウントするＮ個のカウンタが割り当てられたカウンタ記憶手段と、前記各初期値を前記各カウンタに設定し、その後前記カウントの制御を行うカウンタ処理を時分割で繰り返して行う制御回路と、を備えたものである。また、前記制御回路は、クロックを分周して得られる複数のスロットで１つのカウンタに対する前記カウンタ処理を行い、該カウンタ処理は、前記複数のスロットの内の２つのスロットの各々において、前記カウンタの値を読み出して所定値の加減算を行う処理と、その結果を再度前記カウンタに書込む処理とを行うことを特徴とする。
【００１０】
本発明では、初期値記憶手段にＮ個の初期値を記憶するとともに、カウンタ記憶手段に、Ｎ個のカウンタが割り当てられている。この初期値記憶手段とカウンタ記憶手段は、それぞれＲＡＭによって構成することができる。そして、各初期値が各カウンタに設定され、各カウンタでのカウンタ処理を、時分割で各初期値（各カウンタ）ごとに行う。また、その処理を繰り返して連続的に行う。これにより、制御回路は１つでよく、カウンタ回路全体の規模を大きくするのを防ぐことができる。また、カウンタ処理が繰り返して行われるために、それぞれ周期の異なるパルス信号を多数出力することができる。
【００１１】
初期値記憶手段及びカウンタ記憶手段にシングルポートＲＡＭを使用することによって、初期値記憶手段の出力ポートとカウンタ記憶手段の入力ポート間に上記制御回路が配置される。各ＲＡＭは、時分割処理によって各スロット（クロックを分周して得られる単位割当て時間）ごとにアドレスが割り当てられ、初期値及びカウンタがセレクトされるようになる。本発明では、図１に示すような制御回路４をＮ個用意する必要がなく、１個でよいこと、及び、多数のトランジスタを必要とするフリップフロップで構成される図１のようなカウンタ回路に対しトランジスタが少なくてすむＲＡＭ等の記憶手段で構成することができることから、回路規模が大幅に縮小可能となる。
【００１２】
【発明の実施の形態】
図２は、本発明の実施形態のカウンタ回路の概略構成図である。
【００１３】
初期値レジスタシングルポートＲＡＭ５には、Ｎ個の初期値レジスタ５０が割り当てられている。また、カウンタレジスタシングルポートＲＡＭ６には、Ｎ個のカウンタレジスタ６０が割り当てられている。初期値ｎのレジスタ５０ｎは、カウンタｎのカウンタレジスタ６０ｎに対応する。すなわち、後述のアドレスカウンタによってこれらの対応する初期値レジスタとカウンタレジスタのアドレスが同期してセレクトされるようになっている。
【００１４】
初期値レジスタシングルポートＲＡＭ５とカウンタレジスタシングルポートＲＡＭ６との間には制御回路７が配置されている。この制御回路７は、前記各初期値を前記各カウンタに設定し、その後各カウンタでのカウンタ処理を行う。カウンタ処理は時分割で且つ繰り返して行われる。この制御回路７は、演算回路７０と、カウントアップ回路７１とアドレスカウンタ回路７２とを少なくとも含んでいる。
【００１５】
前記演算回路７０は、カウンタ処理を行うための回路である。基本的には、図１の制御回路４に示す機能を持っている。すなわち、セレクトされているカウンタの値を読みだして。所定値の減算又は加算（カウントダウン又はカウントアップ）を行い、その後に演算結果を当該カウンタに再書き込みする処理を行う。また、リセット信号が入力された場合とカウンタの値が０の場合、カウンタに対し対応の初期値を初期値レジスタ５０から読みだしてセットする処理も行う。
【００１６】
この演算回路７０は、上記カウンタ処理を各カウンタごとに時分割で行うために、１つでよい。
【００１７】
前記カウントアップ回路７１は、図１に示す従来のカウンタ回路のカウントアップ回路３に対応するものである。このカウントアップ回路７１は、Ｎ個の周期を持つカウントアップ信号をそれぞれ出力するために、Ｎ個のカウントアップ用フリップフロップを備えている。
【００１８】
前記アドレスカウンタ回路７２は、クロックに同期して、初期値レジスタシングルポートＲＡＭ５及びカウンタレジスタシングルポートＲＡＭ６に対しアドレス信号を出力する。アドレス信号は、初期値レジスタシングルポートＲＡＭ５の初期値レジスタ５０のアドレスと、カウンタレジスタシングルポートＲＡＭ６のカウンタレジスタ６０のアドレスを指定する。そのときの両者のアドレスは、初期値ｎとカウンタｎの各レジスタを示すアドレスである。また、両者のアドレスは、時分割処理における一つのスロットで同時に指定される。
【００１９】
以上により、図３に示すように、スロットごとにカウンタｎおよび初期値ｎが選択され、各カウンタでは上記カウンタ処理が時分割で繰り返して行われていく。本実施形態では、図３に示すように、各スロットがＴＡ、ＴＢ、ＴＣ、ＴＤに４分割されている。これらの区間はクロックを分周することによって形成される。区間ＴＡおよび区間ＴＣでは、ＣＰＵが初期値レジスタシングルポートＲＡＭ５またはカウンタレジスタシングルポートＲＡＭ６に対するアクセスが可能となっている。読み出し時は、ＲＡＭ選択信号によって、初期値レジスタシングルポートＲＡＭ５から読み出すか、カウンタレジスタシングルポートＲＡＭ６から読み出す。書込み時は、ＣＰＵ初期値ライト信号を入力するか、ＣＰＵカウントライト信号により、いずれのＲＡＭへのアクセスかを決める。このように、これらの区間において、ＣＰＵは必要に応じてデータのリードライトを行うことができる。区間ＴＢでは、カウンタの内容が演算回路７０によって読みだされる。そして、その値が０かどうか判定され、０の場合に、そのときのスロットで指定されている初期値レジスタから初期値が読みだされ、且つ、カウントアップ回路７１の対応フリップフロップからカウントアップ信号が出力される。０でない場合には、カウント値から１を減算してその値を保持する。
【００２０】
区間ＴＤにおいては、上記保持していた値をカウンタに対し書き込む。以上のようにして、ＴＡ〜ＴＤの４区間において１サイクルのカウンタ処理を終了する。カウンタｎに対する処理を終了すると、続いて次のスロットに移ってカウンタｎ＋１に対する処理を行う。Ｎ番目のカウンタＮに対するカウンタ処理を行うと、次に、カウンタ１に対する処理を繰り返す。こうして、各カウンタレジスタ６０に対し、時分割で且つ繰り返してカウンタ処理を行っていく。これにより、カウントアップ回路７１のＮ個のフリップフロップからは、それぞれ周期の異なったパルス信号が連続出力される。
【００２１】
以上の構成において、演算回路７０は、１つの回路ですむために、Ｎが大きいほど、全体としての回路規模をより縮小することができる。
【００２２】
図４は、上記カウンタ回路の第１の実施例のブロック図である。
【００２３】
演算回路７０は、初期値レジスタシングルポートＲＡＭ５からのデータをセレクタ７００を介してレジスタで構成される保持回路７０１に一旦保持する。この保持されたデータは、セレクタ７０２を介して、カウンタレジスタシングルポートＲＡＭ６に入力し現在の処理スロットに対応するカウンタに書き込まれる。カウンタレジスタシングルポートＲＡＭ６から出力されるデータは、比較器７０３で０になっているかどうかの判定が行われ、０の時には、セレクタ７００によって初期値レジスタシングルポートＲＡＭ５から出力されるデータを選択する。これにより、カウンタ処理が行われているカウンタの値が０になるとそのカウンタに対応する初期値レジスタから初期値が再度保持回路７０１に保持される。また、上記データが０でない時には、減算器７０４によって所定値である「−１」が減算され、セレクタ７００によってこの減算結果が選択されて保持回路７０１に保持される。なお、減算器７０４によって減算される値は「−１」に限らない。減算される値を適当に設定することで、カウンタの値が０になるまでの時間を早くしたり遅くすることが出来る。また、減算器７０４を加算器に代えて、「＋１」等の所定値を加算するようにしても良い。この場合には、カウンタの値は増えていくことになるから、オーバフローしてゼロになったタイミングが比較器７０３で検出されることになる。
【００２４】
上記初期値が保持回路７０１に保持されるタイミングは、図３の区間ＴＡまたはＴＣでＣＰＵ初期値ライト信号が入力されたときである。また、減算器７０４によって−１されたデータが保持回路７０１に保持されるタイミングはセレクト信号が０のときのクロックの立ち上がりであり、図３の区間ＴＢおよびＴＤである。保持回路７０１に一旦保持されたデータは、区間ＴＤにおいてカウンタレジスタシングルポートＲＡＭ６の対応カウンタに書き込まれる。保持回路７０１には、セレクト信号とクロックが入力している。セレクト信号は、区間ＴＡ〜ＴＤを決める信号である。なお、動作開始時にはリセット信号によってセレクタ７００が初期値レジスタシングルポートＲＡＭ５の出力データを選択するようにしている。これにより、動作開始時の区間ＴＣにおいて保持回路７０１に初期値が保持されるようにしている。
【００２５】
セレクタ７０５には、カウンタライト信号とＣＰＵカウンタライト信号が入力し、いずれかの信号がセレクト信号によってセレクトされ、カウンタレジスタシングルポートＲＡＭ６のライト端子（書込み制御端子）に入力する。このＣＰＵ初期値ライト信号又はＣＰＵカウンタライト信号は、初期値レジスタシングルポートＲＡＭ５又はカウンタレジスタシングルポートＲＡＭ６に対しＣＰＵ側からデータの書き込みを行う時の制御信号である。
【００２６】
区間ＴＡおよび区間ＴＣは、ＣＰＵから初期値レジスタシングルポートＲＡＭ５又はカウンタレジスタシングルポートＲＡＭ６に対してアクセスすることのできる区間である。したがって、区間ＴＡおよび区間ＴＣにおいてＣＰＵカウントライト信号がアクティブで且つセレクト信号が１の時にはセレクタ７０５はカウンタレジスタシングルポートＲＡＭ６のライト端子にＣＰＵカウンタライト信号を出力する。初期値レジスタシングルポートＲＡＭ５への初期値の書き込みについては、ライト端子にＣＰＵ初期値ライト信号が直接入力しているため、上記区間とは関係なく書き込むことが可能である。
【００２７】
一方、カウンタライト信号は、保持回路７０１に保持されているデータをカウンタレジスタシングルポートＲＡＭ６内のカウンタ処理を行っているカウンタに対して書き込むために形成される制御信号である。このカウンタライト信号は、セレクト信号によって区間ＴＤが選択されている時にカウンタレジスタシングルポートＲＡＭ６のライト端子に入力する。この結果、区間ＴＤにおいては、保持回路７２に保持されているデータが対応のカウンタに対して書き込まれる。
【００２８】
制御回路７０は、さらにセレクタ７０６と保持回路７０７とを備えている。セレクタ７０６は、ＲＡＭ選択信号によって初期値レジスタシングルポートＲＡＭ５からのデータかカウンタレジスタシングルポートＲＡＭ６からのデータをセレクトする。セレクトされたデータはセレクト信号が１で且つクロックの立ち上がりで保持回路７０７に保持され、ＣＰＵからその値を読み出せる。初期値レジスタシングルポートＲＡＭ５のデータ入力端子にはＣＰＵライトデータが直接入力し、カウンタレジスタシングルポートＲＡＭ６のデータ入力端子にはＣＰＵライトデータがセレクタ７０２を介して入力している。ＣＰＵライトデータはＣＰＵからＲＡＭ５又は６に書き込まれるデータである。このデータは、初期値レジスタシングルポートＲＡＭ５に対し初期値として書き込まれ、カウンタレジスタシングルポートＲＡＭ６に対しては、必要に応じて、カウンタに対する初期値に代わるプリセットデータとして書き込まれる。
【００２９】
カウントアップ回路７１は、デコード出力が０〜Ｎ−１となっているデコード回路７１０と、各デコード出力端子に接続されるフリップフロップからなるカウントアップフリップフロップ７１１とで構成されている。各カウントアップフリップフロップ７１１からは、カウンタレジスタシングルポートＲＡＭ６の各カウンタ１〜Ｎに対応してカウントアップ信号が出力される。各カウントアップフリップフロップ７１１のＤ入力端子には比較器７０３が０を検出した時のアクティブ信号が入力されるため、各カウントアップフリップフロップ７１１は、対応のカウンタがカウントアップした時にカウントアップ信号を出力する。デコード回路７１０の入力にはアドレスカウンタ回路７２からのアドレス信号が入力する。すなわち、デコード回路７１０は、現在示しているスロット対応アドレスをデコードして該アドレスに対応するカウントアップフリップフロップ７１１を選択する。
【００３０】
アドレスカウンタ回路７２は、アドレスカウンタ７２０と、このアドレスカウンタ７２０が示すアドレス又はＣＰＵによって指定されるＣＰＵアドレスのいずれかをセレクトするセレクタ７２１とで構成される。ＣＰＵから、初期値レジスタシングルポートＲＡＭ５又はカウンタレジスタシングルポートＲＡＭ６を直接選択してデータの読み書きを行う時には、ＣＰＵアドレスがセレクトされる。カウンタ処理を行う時にはアドレスカウンタ７２０のアドレスが選択される。すなわち、セレクタ７２１は、区間ＴＡ及びＴＣにおいてＣＰＵアドレスを選択し、区間ＴＢ及び区間ＴＤにおいてアドレスカウンタ７２０のアドレスを選択する。
【００３１】
図５は、制御信号形成回路を示している。この回路は、Ｄフリップフロップ８、９と排他的論理和回路１０とで構成される。カウンタライト及びセレクト信号は図６に示すようになる。図７は、上記カウンタ回路によるタイミングチャートを示している。図に示すように、４クロック分で１スロットを形成し、スロット内の区間ＴＡ及び区間ＴＣにおいて、ＣＰＵから初期値レジスタシングルポートＲＡＭ５又はカウンタレジスタシングルポートＲＡＭ６へアクセスが可能となる。また、区間ＴＢにおいてカウンタレジスタシングルポートＲＡＭ６内のスロット対応カウンタからデータが読みだされ、比較器７０３においてそのデータが０かどうかの判定が行われる。０の場合に、初期値がスロット対応初期値レジスタから読み出され、保持回路７０１に保持される。また、同時にスロット対応カウントアップフリップフロップ７１１からカウントアップ信号が出力される。０でない場合には、演算器７０４で読みだされたデータが−１され、その結果が保持回路７０１に保持される。そして、区間ＴＤにおいて保持回路７０１に保持されていたデータがスロット対応カウンタに対し再書き込みされる。
【００３２】
以下、次のスロット（サイクル）に対する処理が同様にして行われる。
【００３３】
上記のようにして、シングルポートＲＡＭ５及び６を用い、カウンタ処理を行う制御回路７０を各スロットで共用することによってカウンタ回路全体の回路規模を大幅に縮小することができる。また、カウンタ１からカウンタＮまでの処理を終えると、再びカウンタ１に対する処理を繰り返すため、カウントアップ信号は、それぞれ周期の異なったＮ個のパルス信号列となる。
【００３４】
図８〜図１０は、本発明の第２の実施例を示している。この第２の実施例のカウンタ回路構成図は図４に示すものと同一であり、制御信号発生回路が図８に示すように異なったものとなっている。制御信号発生回路は、２つのＤフリップフロップ８、９とＤフリップフロップ８のＤ入力端子に接続される論理和回路１１とで構成され、セレクト信号とカウンタライトのタイミングは図９に示すようになる。この回路では、１スロットはＴＡ、ＴＢ、ＴＣの３つの区間で構成され、区間ＴＡはＣＰＵが初期値レジスタシングルポートＲＡＭ５又はカウンタレジスタシングルポートＲＡＭ６に対するアクセスが可能となり、区間ＴＢは図７の区間ＴＢと同じ機能となり、区間ＴＣは図７の区間ＴＤと同じ機能となる。すなわち、区間ＴＢではカウンタレジスタシングルポートＲＡＭ６のスロット対応カウンタからデータ（カウント値）が読みだされ、その値が０かどうかの比較が比較器７０３で行われ、０の場合、スロット対応初期値レジスタから初期値が保持回路７０１に保持される。また、スロット対応カウントアップフリップフロップ７１１からカウントアップ信号が出力される。０でない場合には、上記データ（カウント値）から演算器７０４によって−１され、その値が保持回路７０１に保持される。そして、区間ＴＣにおいて、保持回路７０１に保持されたデータがスロット対応カウンタに書き込まれる。
【００３５】
以下同様にして、各カウンタに対するカウンタ処理が時分割に且つ繰り返して実行されていく。
【００３６】
本実施例では、１スロットが３区間で構成されるために、第１の実施例に比べて３／４の周期でカウンタを動作させることができるから、より高速処理が可能となる。
【００３７】
なお、上記の実施形態で使用した初期値レジスタシングルポートＲＡＭ５及びカウンタレジスタシングルポートＲＡＭ６は、その外の記憶手段に変えることも可能である。
【００３８】
（別の実施形態１）
図１１は、本発明の別の実施形態のカウンタ回路を示している。
【００３９】
構成において、図４に示す実施形態と相違する点は、アドレスカウンタ回路７２の構成である。
【００４０】
このアドレスカウンタ回路７２は、カウンタの使用数Ｘ（カウンタレジスタシングルポートＲＡＭ６に割り当てられているカウンタ数をＮとしたとき、Ｘ＝＜Ｎ）を記憶する使用カウンタ数保持回路７２２と、この使用カウンタ数保持回路７２２に記憶されているカウンタ数の範囲内においてカウンタを順次選択し（カウンタアドレスを０→１→２・・・のように順次選択する）、且つその順次選択動作を繰り返して行うカウンタアドレス更新回路とを備えている。
【００４１】
カウンタアドレス更新回路は、現在のカウンタアドレスを保持するアドレス保持回路７２３と、このアドレス保持回路７２３で保持しているカウンタアドレスと上記使用カウンタ数保持回路７２２で保持しているカウンタ数とを比較する比較器７２４と、アドレス保持回路７２３で保持しているカウンタアドレスに＋１する加算器７２５と、比較器７２４の比較結果に応じて、加算器７２５の出力か０を選択するセレクタ７２６と、区間ＴＡ及び区間ＴＣにおいてＣＰＵアドレスを選択し、区間ＴＢ及び区間ＴＤにおいてアドレス保持回路７２３で保持しているカウンタアドレスを選択するセレクタ７２１とで構成される。
【００４２】
上記カウンタアドレス更新回路は、例えば、使用カウンタ数保持回路７２２に４が記憶されているとすると、セレクタ７２１は、１カウンタ処理毎に区間ＴＢ及び区間ＴＤにおいて、カウンタアドレスを０→１→２→３→４→０→２・・・・と繰り返し出力する。このため、カウンタレジスタシングルポートＲＡＭ６に多数のカウンタが割り当てられていても、カウンタの更新は、使用カウンタ数保持回路に７２２に記憶されているカウンタ数においてだけ行われる。そのため、無駄なカウンタ更新がなくなり、その分高速にカウント出来るようになる。なお、使用カウンタ数保持回路７２２には、予め、ＣＰＵによって使用カウンタ数が記憶される。
【００４３】
（別の実施形態２）
図１２は、本発明のさらに別の実施形態のカウンタ回路を示している。
【００４４】
構成において、図４に示す実施形態と相違する点は、演算回路７０の構成である。すなわち、演算回路７０のセレクタ７０５には、ＯＲゲート７０８を介してＣＰＵカウンタライト信号とＣＰＵ初期値ライト信号が入力し、また、セレクタ７００のセレクト信号は比較器７０３の出力信号だけで形成されるようになっている。したがって、ＣＰＵ初期値ライト信号は、初期値レジスタシングルポートＲＡＭ５と共に、カウンタレジスタシングルポートＲＡＭ６にも同時に入力し、そのときのＣＰＵライトデータが双方のＲＡＭ５、６に記憶される。すなわち、初期値が初期値レジスタシングルポートＲＡＭ５とカウンタレジスタシングルポートＲＡＭ６とに記憶されることになる。図４に示す回路では、リセット信号をセレクタ７００のセレクト信号として入力することにより、初期値レジスタシングルポートＲＡＭ５に記憶されている初期値をカウンタレジスタシングルポートＲＡＭ６に入力するようにしているが、本実施形態では、初期値レジスタシングルポートＲＡＭ５に初期値を入力して記憶させるときに同時に、その初期値をカウンタレジスタシングルポートＲＡＭ６にも入力して記憶させる。これにより、リセット信号を形成するリセット回路がなくても初期値をカウンタレジスタシングルポートＲＡＭ６に記憶させることが出来、その分回路規模を小さくすることが出来る。
【００４５】
【発明の効果】
本発明によれば、多数のカウンタに対するカウンタ処理を時分割で且つ繰り返して行い、制御回路を各カウンタのカウンタ処理において共用することができるため、カウンタ回路の回路規模を大幅に縮小することができる。
【００４６】
また、カウント動作を行わせるカウンタの使用数を使用カウンタ数記憶手段に記憶しておくことにより、カウンタの更新は、使用するカウンタにおいてだけ行われる。そのため、無駄なカウンタ更新がなくなり、その分、使用するカウンタのカウント動作を高速に出来、より短い周期のパルス信号を形成出来る。
【図面の簡単な説明】
【図１】従来のカウンタ回路の構成図
【図２】本発明のカウンタ回路の実施形態の構成図
【図３】時分割処理について説明する図
【図４】第１の実施例の構成図
【図５】第１の実施例の制御信号発生回路の構成図
【図６】第１の実施例のセレクト信号及びカウンタライトのタイミングチャート
【図７】カウンタ処理のカウンタ処理のタイミングチャート
【図８】第２の実施例の制御信号発生回路の構成図
【図９】第２の実施例のセレクト信号及びカウンタライトのタイミングチャート
【図１０】第２の実施例のカウンタ処理のタイミングチャート
【図１１】本発明のカウンタ回路の別の実施形態の構成図
【図１２】本発明のカウンタ回路のさらに別の実施形態の構成図
【図１】
0003949995.tif 000002
【図２】
0003949995.tif 000003
【図３】
0003949995.tif 000004
【図４】
0003949995.tif 000005
【図５】
0003949995.tif 000006
【図６】
0003949995.tif 000007
【図７】
0003949995.tif 000008
【図８】
0003949995.tif 000009
【図９】
0003949995.tif 000010
【図１０】
0003949995.tif 000011
【図１１】
0003949995.tif 000012
【図１２】
0003949995.tif 000013