JP2000020392A - Cyclic address generating circuit - Google Patents
Cyclic address generating circuitInfo
- Publication number
- JP2000020392A JP2000020392A JP18740998A JP18740998A JP2000020392A JP 2000020392 A JP2000020392 A JP 2000020392A JP 18740998 A JP18740998 A JP 18740998A JP 18740998 A JP18740998 A JP 18740998A JP 2000020392 A JP2000020392 A JP 2000020392A
- Authority
- JP
- Japan
- Prior art keywords
- address
- cyclic
- increment
- output
- start address
- 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.)
- Pending
Links
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、メモリアクセスを
行う際に、一定のメモリ空間内を巡回してアクセスする
ためのアドレス(以下、巡回アドレスという)を発生する
ことができる巡回アドレス発生回路に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cyclic address generating circuit capable of generating an address for circulating and accessing a fixed memory space (hereinafter referred to as a "circular address") when performing memory access. .
【0002】[0002]
【従来の技術】近年、様々な製品にディジタル技術が応
用されているが、ディジタル信号処理においては、ある
一部の連続したメモリ空間に対してアクセスを繰り返す
ことが多い。2. Description of the Related Art In recent years, digital technology has been applied to various products. In digital signal processing, access to a certain continuous memory space is often repeated.
【0003】このため、従来技術では、データメモリに
アクセスするメモリ空間の最初のアドレスをセットする
ことで、その最初のアドレスからある一定範囲のアドレ
スを順番に繰り返してアクセスすることができる巡回ア
ドレス発生回路が提供されている(たとえば、特開昭6
3−158622号公報参照)。For this reason, in the prior art, by setting the first address of a memory space for accessing a data memory, a cyclic address generation that can repeatedly and sequentially access a certain range of addresses from the first address is performed. Circuits are provided (see, for example,
3-158622).
【0004】以下、従来のこの種の巡回アドレス発生回
路について、図面を参照しながら説明する。Hereinafter, this type of conventional cyclic address generation circuit will be described with reference to the drawings.
【0005】図7は、従来のディジタル信号処理プロセ
ッサ内に設けられている巡回アドレス発生回路の構成を
示すブロック図である。FIG. 7 is a block diagram showing a configuration of a cyclic address generation circuit provided in a conventional digital signal processor.
【0006】図中、1はデータメモリに対して指定する
巡回アドレスの開始点となるスタートアドレスを予め登
録しておくためのスタートアドレスレジスタ、10はア
ドレスを順次増加させるための2進カウンタ、3はレジ
スタ1と2進カウンタ10の出力を加算するアドレス生
成用加算器、9はメモリアクセスが起こるたびにアドレ
ス生成用加算器3の出力を取り込んでデータメモリ4の
アドレスを指定するバッファポインタ、4は所定のデー
タが格納されたデータメモリである。Referring to FIG. 1, reference numeral 1 denotes a start address register for registering in advance a start address serving as a starting point of a cyclic address specified in a data memory; 10 a binary counter for sequentially increasing addresses; Is an address generating adder for adding the outputs of the register 1 and the binary counter 10, and 9 is a buffer pointer which takes in the output of the address generating adder 3 and designates the address of the data memory 4 each time a memory access occurs. Is a data memory in which predetermined data is stored.
【0007】次に、図7に示す構成の巡回アドレス発生
回路の動作を説明する。Next, the operation of the cyclic address generation circuit having the configuration shown in FIG. 7 will be described.
【0008】2進カウンタ10でカウントされる値と、
スタートアドレスレジスタ1に予め保持されているスタ
ートアドレスAsとをアドレス生成用加算器3において
加算する。この加算結果をバッファポインタ9に保持
し、このバッファポインタ9で指定されるデータメモリ
4のアドレスをアクセスする。A value counted by the binary counter 10;
The address generation adder 3 adds the start address As held in the start address register 1 in advance. The result of the addition is held in the buffer pointer 9 and the address of the data memory 4 specified by the buffer pointer 9 is accessed.
【0009】この場合、アドレス生成用加算器3におい
て加算される加算結果は 図8に示すように、最初はA
sのアドレスから始まって連続的に更新され、最終のア
ドレスAs+2n-1が指定された後に2進カウンタ10の
カウント値は“0”に戻るので、バッファポインタ9
は、再度、スタートアドレスAsに更新し直され、巡回
的にアドレスをアクセスする。したがって、データメモ
リ4のメモリ領域内においては、As〜As+2n-1の範
囲のアドレス空間を持つことになる。In this case, the addition result added by the address generation adder 3 is initially A as shown in FIG.
Since the count value of the binary counter 10 returns to “0” after the last address As + 2 n−1 is continuously updated starting from the address of s, the buffer pointer 9
Is updated again to the start address As, and the address is accessed cyclically. Therefore, the memory area of the data memory 4 has an address space in the range of As to As + 2n-1 .
【0010】[0010]
【発明が解決しようとする課題】しかしながら、図7に
示した従来の巡回アドレス発生回路では、アドレスの増
分は常に“1”であるため、次のような不都合を生じる
ことがある。However, in the conventional cyclic address generation circuit shown in FIG. 7, since the address increment is always "1", the following inconvenience may occur.
【0011】(1) データをデータメモリ4に格納する
場合、格納すべきデータのデータ長がデータメモリの格
納可能なメモリ幅よりも長いときには、格納すべきデー
タを複数に分割してメモリに格納する必要が生じる。そ
の場合、従来のものでは、連続したアドレスを指定でき
ないときがある。(1) When storing data in the data memory 4, if the data length of the data to be stored is longer than the storage width of the data memory, the data to be stored is divided into a plurality of pieces and stored in the memory. Need to be done. In such a case, there is a case where continuous addresses cannot be designated by the conventional device.
【0012】例えば、16ビットのデータを書き込みた
いときに、データメモリ4が8ビット構成である場合に
は、通常、メモリの偶数番地と奇数番地に上位8ビット
と下位8ビットを分割して格納することになる。For example, when 16-bit data is to be written, if the data memory 4 has an 8-bit configuration, the upper 8 bits and lower 8 bits are usually divided and stored in even and odd addresses of the memory. Will do.
【0013】このようなデータ構造でデータの処理を行
う場合、演算精度があまり必要でないときには、上位8
ビットだけを使用しても演算結果としては十分な値であ
ることが有り得る。When data processing is performed with such a data structure, if the calculation accuracy is not so high, the top 8
Even if only the bits are used, the operation result may be a sufficient value.
【0014】このような状況下では、上位8ビットのデ
ータのみアクセスすればよいので、データメモリ4に対
しては、1つおき(すなわち偶数番地のみ、あるいは奇
数番地のみ)のアドレスを指定すればよいことになる。In such a situation, only the upper 8 bits of data need be accessed, so that every other address (ie, only even addresses or only odd addresses) can be specified for the data memory 4. It will be good.
【0015】しかし、従来の巡回アドレス発生回路で
は、アドレスの増分は常に“1”であるから、その構成
のままでは、一つおきにアドレス指定するといったこと
ができない。However, in the conventional cyclic address generation circuit, since the increment of the address is always "1", it is not possible to specify every other address with the configuration.
【0016】このようなアクセスを実現するには、加算
器3からデータメモリ4までの間に、別途、アドレスを
一つおきに間引くための演算回路を挿入するか、あるい
は、データをメモリに格納する際に、上位の8ビットを
新たなデータとして別のアドレス空間に配置し直して演
算を行わなければならない。In order to realize such access, an arithmetic circuit for thinning out every other address is separately inserted between the adder 3 and the data memory 4, or the data is stored in the memory. In this case, the upper 8 bits must be relocated to another address space as new data to perform the operation.
【0017】(2) データを項目ごとに蓄積してゆく場
合,通常では同じ意味を持ったデータをまとめて格納し
てゆく。このデータの数が各項目で全て同じであれば、
各項目のm番目のデータというのはすべて決まったステ
ップを持って格納されている。(2) When accumulating data for each item, usually, data having the same meaning is collectively stored. If the number of data is the same for each item,
The m-th data of each item is stored with a fixed step.
【0018】この各項目のm番目のデータどうしを操作
したいときなどには、ある決まった増分でアクセスでき
なければ、処理の効率が悪くなる。When it is desired to operate the m-th data of each item, if the data cannot be accessed in a fixed increment, the processing efficiency is reduced.
【0019】(3) データベース等では、内容は違うが
同じ種類のデータが入っている場合などが多い。これら
はデータの配置アドレスなどに制限を付けると、データ
の数を増やせなくなったり格納順序をかえられないた
め、メモリ空間のどこにでも配置できるようにしなけれ
ばならない。(3) In a database or the like, there are many cases where the contents are different but the same kind of data is contained. If these restrictions are placed on the data arrangement address, etc., the number of data cannot be increased or the storage order cannot be changed. Therefore, it must be arranged anywhere in the memory space.
【0020】このとき、従来の巡回アドレス発生回路で
は、図8に示したように、スタートアドレスAsが一つ
だけなので、これとは別のメモリ空間に置かれているデ
ータについて同じ処理を繰り返したい時などには、最初
の処理が終わった後、スタートアドレスを変更し直して
から再度、処理を行わなければならず、複数のメモリ空
間を連続してアドレス指定するといったことができな
い。At this time, in the conventional cyclic address generation circuit, as shown in FIG. 8, since there is only one start address As, it is desired to repeat the same processing for data placed in a memory space different from this. In some cases, for example, after the first processing is completed, the start address must be changed and the processing must be performed again, and it is not possible to continuously address a plurality of memory spaces.
【0021】本発明は、このような従来の問題点を解決
するものであり、任意のアドレス空間内を規則的に任意
の増分を加えながらアクセスできる巡回アドレスを発生
できるようにすることを課題とする。An object of the present invention is to solve such a conventional problem, and it is an object of the present invention to generate a cyclic address which can be accessed in an arbitrary address space while regularly adding an arbitrary increment. I do.
【0022】[0022]
【課題を解決するための手段】本発明では、上記課題を
解決するために、データメモリに対してその一部のメモ
リ空間内を巡回してアクセスするための巡回アドレスを
発生するための回路において、次のように構成してい
る。According to the present invention, there is provided a circuit for generating a cyclic address for cyclically accessing a data memory in a part of its memory space. The configuration is as follows.
【0023】すなわち、請求項1記載に係る発明では、
巡回アドレスの始点となるスタートアドレスを設定する
スタートアドレス設定手段と、巡回アドレスが一巡する
までの間のアドレスの増分を設定する増分設定手段と、
巡回アドレスが一巡するまでの間のデータメモリに対す
るアクセス回数を設定するアクセス回数設定手段と、デ
ータメモリがアクセスされるたびに増分設定手段で設定
された増分を順次積算し、その積算値をスタートアドレ
スに加算して巡回アドレスとして出力するとともに、前
記アクセス回数設定手段で設定されたアクセス回数に達
したときに前記積算値をクリアする演算手段とを備え
る。That is, in the invention according to claim 1,
Start address setting means for setting a start address serving as a start point of the cyclic address; increment setting means for setting an increment of an address until the cyclic address makes one round;
Access number setting means for setting the number of accesses to the data memory during one cycle of the cyclic address; and increments set by the increment setting means each time the data memory is accessed, and the integrated value is added to the start address. And output as a cyclic address, and an arithmetic means for clearing the integrated value when the number of accesses set by the access number setting means is reached.
【0024】また、請求項2記載の発明では、請求項1
記載の巡回アドレス発生回路において、前記スタートア
ドレス設定手段は、複数のスタートアドレスを設定でき
るように構成されており、演算手段は、各々のスタート
アドレスに対して前記積算値を個別に加算するように構
成されている。According to the second aspect of the present invention, in the first aspect,
In the cyclic address generation circuit described above, the start address setting means is configured to be able to set a plurality of start addresses, and the arithmetic means is configured to individually add the integrated value to each start address. It is configured.
【0025】請求項3記載の発明では、請求項2記載の
巡回アドレス発生回路において、前記増分設定手段は、
複数の増分を設定できるように構成されており、前記演
算手段は、増分設定手段で設定された各増分を個別に積
算した各積算値を各々のスタートアドレスに対して個別
に加算するように構成されている。According to a third aspect of the present invention, in the cyclic address generating circuit according to the second aspect, the increment setting means includes:
The arithmetic means is configured to be able to set a plurality of increments, and the arithmetic means is configured to individually add each integrated value obtained by individually integrating the increments set by the increment setting means to each start address. Have been.
【0026】[0026]
【発明の実施形態】(実施形態1)図1は本発明の実施形
態1に係る巡回アドレス発生回路の構成を示すブロック
図である。(Embodiment 1) FIG. 1 is a block diagram showing a configuration of a cyclic address generation circuit according to Embodiment 1 of the present invention.
【0027】図中、11は巡回アドレスの開始点となる
スタートアドレスを格納するスタートアドレスレジス
タ、21はアドレスの増分を演算する加算器である。こ
の加算器21は、自身の出力と後述の増分入力レジスタ
51から与えられる値とを加算し、その加算値を出力す
るとともに、比較器7からの一致信号によってその加算
値出力がクリアされるようになっている。[0027] In the figure, 1 1 is the start address register for storing a start address serving as a starting point a cyclic address, 2 1 denotes an adder for calculating the increment of the address. The adder 2 1 adds the value supplied from the increment input register 5 1 below and its output, and outputs the added value, the addition value output is cleared by the coincidence signal from the comparator 7 It has become so.
【0028】51はデータメモリ4に繰り返しアクセス
するときのアドレスの増分値を予め格納しておく増分入
力レジスタ、61はデータメモリ4へのアクセス回数を
カウントするカウンタである。そして、このカウンタ6
1は、データメモリ4へアクセスされたことを示すメモ
リアクセス信号が入力されるたびに、そのカウント値を
インクリメントするとともに、比較器7から出力される
一致信号によってそのカウント値がクリアされるように
なっている。[0028] 5 1 increment input register in advance stores the increment of address when repeatedly accessing the data memory 4, 6 1 a counter for counting the number of accesses to the data memory 4. And this counter 6
1 is such that each time a memory access signal indicating that the data memory 4 has been accessed is input, the count value is incremented and the count value is cleared by the coincidence signal output from the comparator 7. Has become.
【0029】また、8はカウンタ61のカウント値の上
限を予め設定しておくための巡回ステップレジスタ、7
はカウンタ6と巡回ステップレジスタ8との値を比較
し、両者が一致したときに一致信号を出力する比較器で
ある。Further, a cyclic step register for 8 to set the upper limit of the count value of the counter 61 in advance, 7
Is a comparator that compares the value of the counter 6 with the value of the cyclic step register 8 and outputs a match signal when the values match.
【0030】そして、上記のスタートアドレスレジスタ
11が特許請求の範囲におけるスタートアドレス設定手
段に、増分入力レジスタ51が特許請求の範囲における
増分設定手段に、巡回ステップレジスタ8が特許請求の
範囲におけるアクセス回数設定手段に、加算器21、カ
ウンタ61および比較器7が特許請求の範囲における演
算手段にそれぞれ対応している。[0030] Then, the start address setting means start address register 1 1 described above in the claims, the increment setting means increment input register 5 1 in the appended claims, the cyclic steps register 8 in the claims access number setting means, the adder 2 1, the counter 61 and the comparator 7 respectively correspond to the calculating unit in the claims.
【0031】また、3はアドレス生成用加算器、4はデ
ータメモリ、9はバッファポインタであり、これらの構
成は図5に示した従来例と同様であるから、ここでは詳
しい説明は省略する。Reference numeral 3 denotes an address generating adder, 4 denotes a data memory, and 9 denotes a buffer pointer. These components are the same as those of the conventional example shown in FIG.
【0032】次に、図1に示す構成の動作について、図
2に示すタイミングチャートを参照して説明する。な
お、ここでは、理解を容易にするために、いま、スター
トアドレスレジスタ11には“0”が、巡回ステップレ
ジスタ8には“3”が、増分入力レジスタ51には“1
0”がそれぞれセットされているものとする。Next, the operation of the configuration shown in FIG. 1 will be described with reference to the timing chart shown in FIG. Here, for ease of understanding, now, is "0" in the start address register 1 1, the cyclic steps in the register 8 is "3", the increment input register 5 1 "1
It is assumed that "0" is set in each case.
【0033】初期状態において、加算器21およびカウ
ンタ61はクリアされてその値が“0”になっていると
すると、アドレス生成用加算器3には、スタートアドレ
スレジスタ11と加算器21の値が入力されているので、
その出力値は“0”となり、この値がバッファポインタ
9にセットされる。[0033] In the initial state, the adder when the 2 1 and the counter 61 value is cleared to have become "0", the address generation adder 3, the start address register 1 1 and the adder 2 Since the value of 1 has been entered,
The output value becomes "0", and this value is set in the buffer pointer 9.
【0034】ここで、1回目のメモリアクセスが起こる
と、データメモリ4は既にバッファポインタ9で指定さ
れている“0”番地がアクセスされる。Here, when the first memory access occurs, the data memory 4 is accessed at the address “0” already specified by the buffer pointer 9.
【0035】このアクセスにより、カウンタ61はイン
クリメントされてそのカウント値が“1”となるが、巡
回ステップレジスタ8の値は“3”であるので、比較器
7からは不一致信号(ここではローレベルの信号)が出力
される。[0035] The access, the count value becomes "1" the counter 61 is incremented, cyclic Since step value of the register 8 is "3", the comparator 7 mismatch signal (low here from Level signal) is output.
【0036】加算器21は、増分入力レジスタ51と自身
の出力の加算をするので、その値は“0”+“10”=
“10”となる。さらに、アドレス生成用加算器3は、
この値をスタートアドレスレジスタ11の出力値である
“0”に加算するので、“10”+“0”=“10”の
値がバッファポインタ9にセットされる。The adder 2 1, because the addition of the increment input register 5 1 and its output, the value is "0" + "10" =
It becomes “10”. Further, the address generation adder 3
Since adding this value is the output value of the start address register 1 1 to "0", the value of "10" + "0" = "10" is set in the buffer pointer 9.
【0037】ここで、2回目のメモリアクセスが起こる
と、データメモリ4は、既にバッファポインタ9で指定
されている“10”番地がアクセスされる。Here, when the second memory access occurs, the data memory 4 is accessed at the address “10” already specified by the buffer pointer 9.
【0038】このアクセスにより、カウンタ61はイン
クリメントされてそのカウント値が“2”となるので、
比較器7からは不一致信号(たとえばローレベルの信号)
が出力される。加算器21は、増分入力レジスタ51と自
身の出力の加算をするので、その値は“10”+“1
0”=“20”となる。さらに、アドレス生成用加算器
3は、この値をスタートアドレスレジスタ1の出力値で
ある“0”に加算するので、“20”+“0”=“2
0”の値がバッファポインタ9にセットされる。[0038] This access, since the counter 61 is the count value is incremented is "2",
The comparator 7 outputs a non-coincidence signal (for example, a low-level signal).
Is output. The adder 2 1, because the addition of the increment input register 5 1 and its output, the value is "10" + "1
0 "=" 20 ". Further, since the address generation adder 3 adds this value to" 0 "which is the output value of the start address register 1," 20 "+" 0 "=" 2 ".
A value of “0” is set in the buffer pointer 9.
【0039】ここで、3回目のメモリアクセスが起こる
と、データメモリ4は、既にバッファポインタ9で指定
されている“20”番地がアクセスされる。Here, when the third memory access occurs, the data memory 4 is accessed at the address “20” already specified by the buffer pointer 9.
【0040】このアクセスにより、カウンタ61は、イ
ンクリメントされてそのカウント値が“3”となるの
で、巡回ステップレジスタ8に予めセットされている値
“3”と等しくなる。このため、比較器7からは一致信
号(ここではハイレベルの信号)が出力される。[0040] The access counter 61, since the count value is "3" is incremented is equal to the preset in which the value "3" in a cyclic step register 8. Therefore, the comparator 7 outputs a coincidence signal (here, a high-level signal).
【0041】この一致信号に応答して、加算器21の加
算値はクリアされてその出力値が“0”になるので、ア
ドレス生成用加算器3の出力値も“0”となり、バッフ
ァポインタ9のにはこの値“0”がセットされる。同時
に、この一致信号によってカウンタ61のカウント値も
クリアされて“0”となる。つまり、全て初期状態に戻
ることになる。[0041] In response to this coincidence signal, the added value of the adder 2 1 output value is cleared to "0", the output value of the address generation adder 3 is also "0", the buffer pointer This value “0” is set in 9. At the same time, the count value of the counter 61 by the coincidence signal be cleared becomes "0". That is, they all return to the initial state.
【0042】次に、4回目のメモリアクセスが起こる
と、前述のように、アドレス生成用加算器3はスタート
アドレスレジスタ11と加算器21の値が入力され出力値
は“0”となり、これがバッファポインタ9にセットさ
れるため、データメモリ4は、このバッファポインタ9
で指定される“0”番地がアクセスされる。Next, when occurs fourth memory accesses, as described above, the address generation adder 3 start address register 1 1 and the adder 2 1 values are input output value is "0", Since this is set in the buffer pointer 9, the data memory 4 stores the buffer pointer 9
Is accessed at address "0" specified by.
【0043】このようにして、データメモリ4に対して
アクセスされるアドレスは、“0”,“10”,“2
0”→“0”,“10”,“20”→“0”,…の順に
繰り返して出力されることになる。つまり、一定のアド
レス範囲内(この例では“0〜20”)を一定の増分(こ
の例では“10”)でもってアドレスが巡回して発生さ
れていることになる。As described above, the addresses accessed for the data memory 4 are "0", "10", "2".
0 ”→“ 0 ”,“ 10 ”,“ 20 ”→“ 0 ”, etc. In other words, the output is repeated within a fixed address range (“ 0-20 ”in this example). (In this example, "10"), the address is generated in a cyclic manner.
【0044】なお、この実施形態1におけるバッファポ
インタ9とデータメモリ4とを除いた構成部分を複数並
列して設け、アドレス生成用加算器3の出力を時分割で
交互に切り換えてバッファポインタ9に与えるように構
成すれば、全体構成は複雑になるものの、複数のアドレ
ス空間ごとに、それぞれ独立した増分を加えながらアク
セスできる巡回アドレスを発生することが可能となる。A plurality of components other than the buffer pointer 9 and the data memory 4 in the first embodiment are provided in parallel, and the output of the address generation adder 3 is alternately switched in a time-division manner to the buffer pointer 9. With this configuration, it is possible to generate a cyclic address that can be accessed while adding an independent increment to each of a plurality of address spaces, although the overall configuration is complicated.
【0045】(実施形態2)図3は本発明の実施形態2に
係る巡回アドレス発生回路の構成を示すブロック図であ
り、図1に示した実施形態1の構成に対応する部分には
同一の符号を付す。(Embodiment 2) FIG. 3 is a block diagram showing a configuration of a cyclic address generation circuit according to Embodiment 2 of the present invention. In FIG. 3, parts corresponding to the configuration of Embodiment 1 shown in FIG. Assign a sign.
【0046】この実施形態2では、スタートアドレスレ
ジスタ12は、N個(N≧2)のスタートアドレスを同時
に格納できるようになっており、後述のスタートポイン
タ11によってそのN個のスタートアドレスの内の一つ
が指定されると、その指定された一つのスタートアドレ
スのみが読み出されるようになっている。[0046] In the second embodiment, the start address register 1 2 is adapted to store the start address of the N (N ≧ 2) at the same time, among the N number of the start address by the start pointer 11 described later Is designated, only one designated start address is read.
【0047】11はスタートアドレスレジスタ12に予
め登録されているN個のスタートアドレス内の一つを指
定するためのスタートポインタであり、このスタートポ
インタ11は、データメモリ4へアクセスされたことを
示すメモリアクセス信号が入力されるたびにスタートア
ドレスの指定を一つずつ変更するようになっている。[0047] 11 is a start pointer for designating one of the N number of the start address that is registered in advance in the start address register 1 2, the start pointer 11 that is accessed to the data memory 4 Each time the indicated memory access signal is inputted, the designation of the start address is changed one by one.
【0048】22は加算器、62はカウンタであり、これ
らの加算器22およびカウンタ62の基本的な構成は、図
1に示した実施形態1の場合と同様であるが、この実施
形態2では、さらに両者22,62に対して動作許可信号
(ここではハイレベルの信号)が共に与えられるようにな
っていて、この動作許可信号が与えられているときのみ
動作が可能で、動作許可信号が与えられない状態(ここ
ではローレベルの状態)では、両者22,62はその動作
が強制的に停止されるように構成されている。[0048] 2 2 adders, 6 2 is a counter, a basic structure of such adders 2 2 and the counter 6 2 is the same as in embodiment 1 shown in FIG. 1, this In the second embodiment, further two 2 2, 6 2 operation permission signal to the
(Here, a high level signal) is given together, and operation is possible only when this operation permission signal is given, and a state where the operation permission signal is not given (here, a low level state) so both 2 2, 6 2 are configured such that operation is forcibly stopped.
【0049】ここで、上記の動作許可信号は、図外のC
PUなどから与えられるもので、スタートポインタ11
によって最初のスタートアドレスが指定された時点(こ
れはデータメモリ4に対しては、巡回アドレスの1ブロ
ックの最後のアドレスがバッファポインタ9よって指定
される時点と同じ)でのみ加算器22およびカウンタ62
に対して出力される。Here, the above-mentioned operation permission signal corresponds to C
PU provided by the PU or the like.
The first (against which the data memory 4, a block last address is the same as the time point designated Accordingly buffer pointer 9 of the cyclic address) the start address is specified when only adders 2 2 and counter by 6 2
Is output to
【0050】なお、アドレス生成用加算器3、データメ
モリ4、増分入力レジスタ51、比較器7、巡回ステッ
プレジスタ8、およびバッファポインタ9の構成は、実
施形態1の場合と同様であるから、ここでは詳しい説明
は省略する。[0050] Incidentally, the address generation adder 3, the data memory 4, increment input register 5 1, configuration of the comparator 7, a cyclic step register 8, and the buffer pointer 9 are similar to those in the embodiment 1, Here, detailed description is omitted.
【0051】次に、図3に示す構成の動作について、図
4に示すタイミングチャートを参照して説明する。な
お、ここでは、理解を容易にするために、スタートアド
レスレジスタ12にはスタートアドレスとして予め“1
00”と“2000”がセットされ(よって、N=2)、
また、巡回ステップレジスタ8には“2”が、増分入力
レジスタ51には“5”がそれぞれセットされているも
のとする。Next, the operation of the configuration shown in FIG. 3 will be described with reference to the timing chart shown in FIG. Here, for ease of understanding, in advance as a start address in the start address register 1 2 "1
00 ”and“ 2000 ”are set (thus, N = 2),
Moreover, cyclic in the step register 8 "2" is assumed to the increment input register 5 1 "5" is set, respectively.
【0052】初期状態において、スタートポインタ11
はリセットされ、さらに、加算器22およびカウンタ62
はクリアされてその値が“0”になっているとする。こ
のとき、動作許可信号が加算器22およびカウンタ62に
共に与えられていて両者22,62は共に動作可能状態と
なっており、また、スタートアドレスレジスタ12から
はスタートアドレスとして“100”が読み出され、ま
た、加算器22はリセットされているために“0”なの
で、アドレス生成用加算器3の出力は“100”とな
り、この値がバッファポインタ9にセットされる。In the initial state, the start pointer 11
Is reset, further, adders 2 2 and the counter 6 2
Is cleared and its value is "0". At this time, the operation both 2 2 permission signal is not given together to an adder 2 2 and the counter 6 2, 6 2 are both in an operable state and, as a start address from the start address register 1 2 " 100 ", the output of the address generation adder 3 is" 0 "is read out, also in order to the adder 2 2 is reset" 100 ", and this value is set in the buffer pointer 9.
【0053】ここで、1回目のメモリアクセスが起こる
と、データメモリ4は既にバッファポインタ9で指定さ
れている“100”番地がアクセスされる。Here, when the first memory access occurs, the data memory 4 is accessed at the address “100” already specified by the buffer pointer 9.
【0054】このアクセスにより、スタートポインタ1
1は、スタートアドレスレジスタ12のスタートアドレ
スとして次の“2000”を指定するので、このスター
トアドレス“2000”が読み出される。このとき、動
作許可信号は出ていないので、加算器22とカウンタ62
は動作せず、両者22,62の出力はそのままホールドさ
れるため、加算器22の出力は“0”、カウンタ62の出
力も“0”のままである。したがって、アドレス生成用
加算器3の出力は“2000”となり、バッファポイン
タ9にはこの値がセットされる。With this access, the start pointer 1
1, because it specifies the following "2000" as the start address of the start address register 1 2, the start address "2000" is read out. At this time, since the operation permission signal is not output, the adder 2 2 and the counter 6 2
Does not operate, the output of both 2 2, 6 2 is directly held, an output of the adder 2 2 "0", the output of the counter 6 2 which is still "0". Therefore, the output of the address generation adder 3 is "2000", and this value is set in the buffer pointer 9.
【0055】ここで、2回目のメモリアクセスが起こる
と、データメモリ4は既にバッファポインタ9で指定さ
れている“2000”番地がアクセスされる。Here, when the second memory access occurs, the data memory 4 is accessed at the address "2000" already specified by the buffer pointer 9.
【0056】このアクセスにより、スタートポインタ1
1は、スタートアドレスレジスタ12のスタートアドレ
スとして“100”を指定するので、このスタートアド
レス“100”が読み出される。このとき、動作許可信
号が出ているので、加算器22は、自身の出力と増分入
力レジスタ51の出力とを加算をするので、その値は
“0”+“5”=“5”となる。また、カウンタ6
2は、インクリメントされてそのカウント値が“1”と
なる。この場合、巡回ステップレジスタ8の値は“2”
であるので、比較器7からは不一致信号(ここではロー
レベルの信号)が出力される。したがって、バッファポ
インタ9には、スタートアドレスレジスタ12の出力
“100”に、加算器22の値“5”を加えた“10
5”がセットされる。With this access, the start pointer 1
1, since specify "100" as the start address of the start address register 1 2, the start address "100" is read. At this time, since the operation permission signal is out, adder 2 2, since the sum of the output of its output and incremental input register 5 1, the value is "0" + "5" = "5" Becomes Also, counter 6
2 is incremented and its count value becomes "1". In this case, the value of the cyclic step register 8 is "2"
Therefore, the comparator 7 outputs a mismatch signal (here, a low-level signal). Therefore, the buffer pointer 9, the output "100" of the start address register 1 2, adding a value "5" of the adder 2 2 "10
5 "is set.
【0057】次に、3回目のメモリアクセスが起こる
と、データメモリ4は既にバッファポインタ9で指定さ
れている“105”番地がアクセスされる。Next, when the third memory access occurs, the data memory 4 is accessed at the address "105" already designated by the buffer pointer 9.
【0058】このアクセスにより、スタートポインタ1
1は、スタートアドレスレジスタ1 2のスタートアドレ
スとして“2000”を指定するので、このスタートア
ドレス“2000”が出力される。このとき、動作許可
信号は出ていないので、加算器22とカウンタ62は動作
せず、両者22,62の出力はそのままホールドされるた
め、加算器22の出力は“5”、カウンタ62の出力は
“1”のままである。したがって、アドレス生成用加算
器3の出力は“2005”となり、バッファポインタ9
にこの値がセットされる。By this access, the start pointer 1
1 is the start address register 1 TwoStart address
Since "2000" is specified as the
The dress “2000” is output. At this time, operation permission
Since there is no signal, adder 2TwoAnd counter 6TwoWorks
Without, both 2Two, 6TwoOutput is held as it is
, Adder 2TwoIs "5" and the counter 6TwoThe output of
It remains "1". Therefore, the addition for address generation
The output of the device 3 becomes “2005” and the buffer pointer 9
Is set to this value.
【0059】次に、4回目のメモリアクセスが起こる
と、データメモリ4は、既にバッファポインタ9で指定
されている“2005”番地がアクセスされ。Next, when the fourth memory access occurs, the data memory 4 is accessed at the address “2005” already specified by the buffer pointer 9.
【0060】このアクセスにより、スタートポインタ1
1は、スタートアドレスレジスタ12のスタートアドレ
スとして“100”を指定するので、このスタートアド
レス“100”が読み出される。このとき、動作許可信
号が出ているので、カウンタ62は、インクリメントさ
れてそのカウント値が“2”となる。この場合、巡回ス
テップレジスタ8の値は“2”であるので、比較器7か
らは一致信号(ここではハイレベルの信号)が出力され、
この一致信号により加算器22の出力がクリアされて
“0”となる。したがって、アドレス生成用加算器3の
出力は、スタートアドレスレジスタ12の出力“10
0”に、加算器22の値“0”を加えた値“10”とな
り、この値がバッファポインタ9にセットされる。同時
に、比較器7からの一致信号によってカウンタ62のカ
ウント値もクリアされて“0”となる。つまり、全て初
期状態に戻ることになる。With this access, the start pointer 1
1, since specify "100" as the start address of the start address register 1 2, the start address "100" is read. At this time, since the operation permission signal is out, the counter 6 2, the count value is incremented is "2". In this case, since the value of the cyclic step register 8 is “2”, the comparator 7 outputs a match signal (here, a high-level signal).
The output of the adder 2 2 This coincidence signal is cleared becomes "0". Accordingly, the output of the address generation adder 3, the start address register 1 2 output "10
", The adder 2 2 values" 0 0 "value added" 10 ", and this value is set in the buffer pointer 9. At the same time, the counter 6 second count value by a match signal from the comparator 7 Cleared to "0", that is, all return to the initial state.
【0061】次に、5回目のメモリアクセスが起こる
と、データメモリ4は、既にバッファポインタ9で指定
されている“100”番地がアクセスされる。Next, when the fifth memory access occurs, the data memory 4 is accessed at the address “100” already specified by the buffer pointer 9.
【0062】これを繰り返してゆくと、データメモリ1
4をアクセスするアドレスは、“100”→“200
0”→“105”→“2005”→“100”→“20
00”→“105”→“2005”→“100”→…と
順にアクセスされ、任意の離れた複数のアドレス範囲内
(この例では“100〜105”と“2000〜200
5”の範囲内)を同じ増分(この例では“5”)でもって
巡回アドレスが発生されていることがわかる。By repeating this, the data memory 1
4 is changed from “100” to “200”.
0 "→" 105 "→" 2005 "→" 100 "→" 20 "
00 ”→“ 105 ”→“ 2005 ”→“ 100 ”→..., And within a plurality of arbitrary distant address ranges
(In this example, “100 to 105” and “2000 to 200
It can be seen that the cyclic address is generated with the same increment (in the range of "5") (in this example, "5").
【0063】なお、この実施形態2では、N=2として
説明を行ったが、Nは2以上であれば任意であり、同じ
効果が得られる。In the second embodiment, the description has been made on the assumption that N = 2. However, if N is 2 or more, it is arbitrary and the same effect can be obtained.
【0064】(実施形態3)図5は本発明の実施形態3に
係る巡回アドレス発生回路の構成を示すブロック図であ
り、図3に示した実施形態2の構成に対応する部分には
同一の符号を付す。(Embodiment 3) FIG. 5 is a block diagram showing a configuration of a cyclic address generation circuit according to Embodiment 3 of the present invention, and the portions corresponding to the configuration of Embodiment 2 shown in FIG. Assign a sign.
【0065】この実施形態3において、増分入力レジス
タ52は、アドレスの増分値をN個(これはスタートアド
レスレジスタ12のスタートアドレスの個数と同じ)だけ
予め格納できるようになっており、スタートポインタ1
1によってそのN個の増分値の内の一つが指定される
と、その指定された一つの増分値のみが読み出されるよ
うになっている。[0065] In this embodiment 3, increment input register 5 2 is adapted to increment the address to be stored N number (which is equal to the number of the start address of the start address register 1 2) only in advance, start Pointer 1
When one of the N increment values is designated by 1, only the designated one increment value is read.
【0066】また、動作許可信号は、カウンタ62のみ
に与えられるようになっており、この動作許可信号の出
力タイミングは実施形態2の場合と異なり、データメモ
リ4に対するアクセス動作の回数が、(巡回ステップレ
ジスタ8に予め設定された値+1)×n(ただし、nは整
数)の値と一致する場合にのみ出力されるようになって
いる。[0066] The operation permission signal is adapted to be applied only to the counter 6 2, unlike the output timing Embodiment 2 of the operation permission signal, the number of access operations to the data memory 4, ( The data is output only when the value matches a value of +1) × n (where n is an integer) preset in the cyclic step register 8.
【0067】さらに、この実施形態3では、乗算器12
とフリップフロップ(DFF)13とが設けられている。Further, in the third embodiment, the multiplier 12
And a flip-flop (DFF) 13.
【0068】乗算器12は、増分入力レジスタ52の出
力とカウンタ62の出力とを乗算するもので、この乗算
器12の出力とスタートアドレスレジスタ12の出力と
がアドレス生成用加算器3で加算されるよう構成されて
いる。[0068] The multiplier 12 is for multiplying the incremental input register 5 2 and the output of the counter 6 2 output, the multiplier 12 and the output of the start address register 1 2 and the output of the address generation adder 3 Are configured to be added.
【0069】また、フリップフロップ13は、データメ
モリ4へのアクセスがあったときのみ比較器7からの出
力をラッチするようになっており、このフリップフロッ
プ13の出力Qがハイレベルになったときにこの信号が
カウンタ62に対してクリア信号として入力される。The flip-flop 13 latches the output from the comparator 7 only when the data memory 4 is accessed. When the output Q of the flip-flop 13 goes high, this signal is input as a clear signal to the counter 6 2.
【0070】その他の構成は、図3に示した実施形態2
の場合と同様であるから、ここでは詳しい説明は省略す
る。The other structure is the same as that of the second embodiment shown in FIG.
In this case, the detailed description is omitted here.
【0071】次に、図5に示す構成の動作について、図
6に示すタイミングチャートを参照して説明する。な
お、ここでは、理解を容易にするために、スタートアド
レスレジスタ12には、スタートアドレスとして“10
0”と“2000”がセットされており(よって、N=
2)、また、増分入力レスレジスタ52には予め増分値と
して“5”と“10”がセットされ(よって、N=2)、
さらに、巡回ステップレジスタ8には“1”がセットさ
れているものとする。よって、動作許可信号は、アクセ
ス動作の回数が“2”,“4”,“6”,“8”,…の
ときに出力される。Next, the operation of the configuration shown in FIG. 5 will be described with reference to the timing chart shown in FIG. Here, for ease of understanding, the start address register 1 2, as a start address "10
0 "and" 2000 "are set (therefore, N =
2) Further, as previously increment the increment input address register 5 2 "5" and "10" is set (thus, N = 2),
Further, it is assumed that “1” is set in the cyclic step register 8. Therefore, the operation permission signal is output when the number of access operations is “2”, “4”, “6”, “8”,.
【0072】初期状態において、スタートポインタ11
はリセットされ、また、乗算器12およびカウンタ62
はクリアされてその値が“0”に、フリップフロップ1
3の出力Qはローレベルにあるとする。このとき、スタ
ートポインタ11がリセットされているために、スター
トアドレスレジスタ12からはスタートアドレスとして
“100”が、増分入力レジスタ52からは“5”がそ
れぞれ読み出される。また、カウンタ62はリセットさ
れていてその出力が“0”なので、乗算器12の出力も
“0”である。したがって、アドレス生成用加算器3の
出力は、“100”+“0”=“100”となり、この
値がバッファポインタ9にセットされる。In the initial state, the start pointer 11
Is reset, also, the multiplier 12 and the counter 6 2
Is cleared and its value becomes “0”, and the flip-flop 1
Assume that the output Q of 3 is at a low level. At this time, in order to start pointer 11 is reset, the "100" as the start address from the start address register 1 2, the increment input register 5 2 are respectively read "5". The counter 6 2 its output is reset is "0", the even outputs of the multipliers 12 "0". Therefore, the output of the address generation adder 3 is “100” + “0” = “100”, and this value is set in the buffer pointer 9.
【0073】ここで、1回目のメモリアクセスが起こる
と、データメモリ4は既にバッファポインタ9で指定さ
れている“100”番地がアクセスされる。Here, when the first memory access occurs, the data memory 4 is accessed at the address “100” already specified by the buffer pointer 9.
【0074】このアクセスにより、スタートポインタ1
1は、スタートアドレスレジスタ12のスタートアドレ
スとして次の“2000”を指定するので、このスター
トアドレス“2000”が読み出される。同時に、スタ
ートポインタ11は、増分入力レジスタ52の増分値と
して“10”を指定するので、この増分値“10”が出
力されて乗算器12に入力される。With this access, the start pointer 1
1, because it specifies the following "2000" as the start address of the start address register 1 2, the start address "2000" is read out. At the same time, start pointer 11, so specify "10" as the incremental value of the increment input register 5 2, the increment "10" is input to the multiplier 12 is output.
【0075】このとき、動作許可信号は出ていないので
カウンタ62は動作せず、その出力は“0”のままなの
で、乗算器12の出力は“10”ד0”=“0”であ
る。したがって、アドレス生成用加算器3の出力は、
“2000”+“0”=“2000”となり、この値が
バッファポインタ9にセットされる。[0075] In this case, the operation permission signal is not yet not since the counter 6 2 operates out, since its output remains at "0", the output of the multiplier 12 is "10" × "0" = "0" is there. Therefore, the output of the address generation adder 3 is
“2000” + “0” = “2000”, and this value is set in the buffer pointer 9.
【0076】ここで、2回目のメモリアクセスが起こる
と、データメモリ4は既にバッファポインタ9で指定さ
れている“2000”番地がアクセスされる。Here, when the second memory access occurs, the data memory 4 is accessed at the address “2000” already specified by the buffer pointer 9.
【0077】このアクセスにより、スタートポインタ1
1は、スタートアドレスレジスタ12のスタートアドレ
スとして“100”を指定するので、このスタートアド
レス“100”が読み出される。同時に、スタートポイ
ンタ11は、増分入力レジスタ52の増分値として
“5”を指定するので、この増分値“5”が出力され
る。With this access, the start pointer 1
1, since specify "100" as the start address of the start address register 1 2, the start address "100" is read. At the same time, start pointer 11, so specify "5" as the incremental value of the increment input register 5 2, the increment "5" is output.
【0078】このとき、動作許可信号が出力されている
ので、カウンタ62は、メモリアクセス動作に応じてイ
ンクリメントされてそのカウント値が“1”となる。こ
のため、乗算器12の出力は“5”ד1”=“5”と
なる。よって、アドレス生成用加算器3の出力は、スタ
ートアドレスレジスタ12の出力“100”に乗算器1
2の出力“5”を加算した“105”となり、これがバ
ッファポインタ9にセットされる。[0078] At this time, since the operation permission signal is output, the counter 6 2, the count value is incremented in response to the memory access operation is "1". Therefore, the output of the multiplier 12 is “5” × “1” = “5”. Therefore, the output of the address generation adder 3, the multiplier output "100" of the start address register 1 2 1
The result is “105” obtained by adding the output “5” of 2 and is set in the buffer pointer 9.
【0079】また、この場合、巡回ステップレジスタ8
の値は“1”であるので、比較器7から一致信号(ここ
ではハイレベルの信号)が出力されてフリップフロップ
13に与えられるが、このタイミングでは、データメモ
リ4に対する2回目のメモリアクセス動作は既に終了し
ているために、フリップフロップ13の出力Qは変化せ
ずローレベルのままであり、したがって、カウンタ62
もクリアされず出力は“1”のままである。In this case, the cyclic step register 8
Is "1", the comparator 7 outputs a match signal (high-level signal in this case) and supplies it to the flip-flop 13. At this timing, the second memory access operation to the data memory 4 is performed. to the already terminated, it remains output Q does not change the low level of the flip-flop 13, therefore, the counter 6 2
Is not cleared and the output remains "1".
【0080】したがって、乗算器12の出力は、“5”
ד1”=“5”、スタートアドレスレジスタ12の出
力は“100”であるから、バッファポインタ9には、
両者12,12の値を加算した“105”がセットされ
る。Therefore, the output of the multiplier 12 is "5"
× "1" = "5", since the output of the start address register 1 2 is "100", the buffer pointer 9,
By adding the value of both 1 2, 12 "105" is set.
【0081】次に、3回目のメモリアクセスが起こる
と、データメモリ4は既にバッファポインタ9で指定さ
れている“105”番地がアクセスされる。Next, when the third memory access occurs, the data memory 4 is accessed at the address “105” already specified by the buffer pointer 9.
【0082】このアクセスにより、スタートポインタ1
1は、スタートアドレスレジスタ12のスタートアドレ
スとして“2000”を指定するので、このスタートア
ドレス“2000”が出力される。同時に、スタートポ
インタ11は、増分入力レジスタ52の増分値として
“10”を指定するので、この増分値“10”が出力さ
れて乗算器12に入力される。さらに、このメモリアク
セスによってフリップフロップ13は比較器7の出力を
ラッチするため、カウンタ62にクリア信号が入力され
るが、このときカウンタ62には動作許可信号が入力さ
れていないので、カウンタ62は動作せず、その出力は
クリアされずに“1”のままである。With this access, the start pointer 1
1, because it specifies the "2000" as the start address of the start address register 1 2, the start address "2000" is output. At the same time, start pointer 11, so specify "10" as the incremental value of the increment input register 5 2, the increment "10" is input to the multiplier 12 is output. Furthermore, for latching the output of the flip-flop 13 is a comparator 7 by the memory access, but clear signal is input to a counter 6 2, since operation permission signal in the time counter 6 2 is not input, the counter 6 2 does not operate, its output remains "1" without being cleared.
【0083】したがって、乗算器12の出力は、“1
0”ד1”=“10”、スタートアドレスレジスタ1
2の出力は“2000”であるから、アドレス生成用加
算器3の出力は“2010”となり、この値がバッファ
ポインタ9にセットされる。Therefore, the output of the multiplier 12 is "1"
0 ”ד 1 ”=“ 10 ”, start address register 1
Since the output of No. 2 is "2000", the output of the address generating adder 3 is "2010", and this value is set in the buffer pointer 9.
【0084】次に、4回目のメモリアクセスが起こる
と、データメモリ4は、既にバッファポインタ9で指定
されている“2010”番地がアクセスされる。Next, when the fourth memory access occurs, the data memory 4 is accessed at the address “2010” already specified by the buffer pointer 9.
【0085】このアクセスにより、スタートポインタ1
1は、スタートアドレスレジスタ12のスタートアドレ
スとして“100”を指定するので、このスタートアド
レス“100”が読み出される。同時に、スタートポイ
ンタ11は、増分入力レジスタ52の増分値として
“5”を指定するので、この増分値“5”が出力されて
乗算器12に入力される。さらに、このメモリアクセス
によってフリップフロップ13は比較器7の出力をラッ
チするため、カウンタ62にクリア信号が入力される
が、このときカウンタ62には動作許可信号が入力され
ているので、カウンタ62はクリアされてその出力が
“0”になる。With this access, the start pointer 1
1, since specify "100" as the start address of the start address register 1 2, the start address "100" is read. At the same time, start pointer 11, so specify "5" as the incremental value of the increment input register 5 2, the increment "5" is input to the multiplier 12 is output. Furthermore, for latching the output of the flip-flop 13 is a comparator 7 by the memory access, but clear signal is input to a counter 6 2, since operation permission signal in the time counter 6 2 is input, the counter 6 2 is its output is cleared to "0".
【0086】したがって、乗算器12の出力は、“5”
ד0”=“0”、スタートアドレスレジスタ12の出
力は“100”であるから、アドレス生成用加算器3の
出力は“100”となり、この値がバッファポインタ9
にセットされる。つまり、最初の状態に戻ることにな
る。Therefore, the output of the multiplier 12 is "5"
× "0" = "0", since the output of the start address register 1 2 is "100", the output of the address generation adder 3 is "100", and this value is buffer pointer 9
Is set to That is, it returns to the initial state.
【0087】これを繰り返してゆくと、データメモリ4
をアクセスするアドレスは、“100”→“2000”
→“105”→“2010”→“100”→“200
0”→“105”→“2010”…と順にアクセスさ
れ、データメモリ4のメモリ空間の任意の複数のアドレ
ス範囲(この例では“100〜105”と“2000〜
2010”の各アドレス範囲)を複数の増分(この例では
“5”と“10”)で順次アクセスすることが可能とな
る。By repeating this, the data memory 4
Is changed from “100” to “2000”.
→ "105" → "2010" → "100" → "200"
0 ”→“ 105 ”→“ 2010 ”..., And an arbitrary plurality of address ranges in the memory space of the data memory 4 (in this example,“ 100 to 105 ”and“ 2000 to 2000 ”).
Each address range of “2010” can be sequentially accessed in a plurality of increments (“5” and “10” in this example).
【0088】なお、この実施形態3では、N=2として
説明を行ったが、Nは2以上であれば任意であり、同じ
効果が得られる。In the third embodiment, the description has been made on the assumption that N = 2. However, if N is 2 or more, it is arbitrary and the same effect can be obtained.
【0089】[0089]
【発明の効果】本発明によれば、次の効果を奏する。According to the present invention, the following effects can be obtained.
【0090】(1) 請求項1記載の発明では、一つのア
ドレス空間内を一定の増分を加えながらアクセスできる
巡回アドレスを発生することができる。(1) According to the first aspect of the invention, it is possible to generate a cyclic address that can be accessed while adding a fixed increment in one address space.
【0091】(2) 請求項2記載の発明では、複数のア
ドレス空間について一定の増分を加えながらアクセスで
きる巡回アドレスを発生することができる。(2) According to the second aspect of the present invention, it is possible to generate a cyclic address that can be accessed while adding a fixed increment to a plurality of address spaces.
【0092】(3) 請求項3記載の発明では、複数のア
ドレス空間ごとに、それぞれ独立した増分を加えながら
アクセスできる巡回アドレスを発生することができる。(3) According to the third aspect of the present invention, it is possible to generate a cyclic address that can be accessed while adding an independent increment to each of a plurality of address spaces.
【図1】本発明の実施形態1に係る巡回アドレス発生回
路の構成を示すブロック図FIG. 1 is a block diagram showing a configuration of a cyclic address generation circuit according to a first embodiment of the present invention.
【図2】図1の回路の動作説明に供するタイミングチャ
ートFIG. 2 is a timing chart for explaining the operation of the circuit of FIG. 1;
【図3】本発明の実施形態2に係る巡回アドレス発生回
路の構成を示すブロック図FIG. 3 is a block diagram showing a configuration of a cyclic address generation circuit according to a second embodiment of the present invention.
【図4】図3の回路の動作説明に供するタイミングチャ
ートFIG. 4 is a timing chart for explaining the operation of the circuit of FIG. 3;
【図5】本発明の実施形態3に係る巡回アドレス発生回
路の構成を示すブロック図FIG. 5 is a block diagram showing a configuration of a cyclic address generation circuit according to a third embodiment of the present invention.
【図6】図5の回路の動作説明に供するタイミングチャ
ートFIG. 6 is a timing chart for explaining the operation of the circuit of FIG. 5;
【図7】従来の巡回アドレス発生回路の構成を示すブロ
ック図FIG. 7 is a block diagram showing a configuration of a conventional cyclic address generation circuit.
【図8】図7の従来回路で指定されるデータメモリ領域
の巡回アドレスの説明図FIG. 8 is an explanatory diagram of a cyclic address of a data memory area specified by the conventional circuit of FIG. 7;
11,12…スタートアドレスレジスタ、21,22…加算
器、3…アドレス生成用加算器、4…データメモリ、5
1,52…増分入力レジスタ、61,62…カウンタ、7…
比較器、8…巡回ステップレジスタ、9…バッファポイ
ンタ、11…スタートポインタ、12…乗算器、13…
フリップフロップ。1 1 , 1 2 ... start address register, 2 1 , 2 2 ... adder, 3 ... adder for address generation, 4 ... data memory, 5
1 , 5 2 ... increment input register, 6 1 , 6 2 ... counter, 7 ...
Comparator, 8: cyclic step register, 9: buffer pointer, 11: start pointer, 12: multiplier, 13 ...
flip flop.
Claims (3)
空間内を巡回してアクセスするための巡回アドレスを発
生するための回路であって、 巡回アドレスの始点となるスタートアドレスを設定する
スタートアドレス設定手段と、 巡回アドレスが一巡するまでの間のアドレスの増分を設
定する増分設定手段と、 巡回アドレスが一巡するまでの間のデータメモリに対す
るアクセス回数を設定するアクセス回数設定手段と、 データメモリがアクセスされるたびに増分設定手段で設
定された増分を順次積算し、その積算値をスタートアド
レスに加算して巡回アドレスとして出力するとともに、
前記アクセス回数設定手段で設定されたアクセス回数に
達したときに前記積算値をクリアする演算手段と、 を備えることを特徴とする巡回アドレス発生回路。1. A circuit for generating a cyclic address for cyclically accessing a data memory in a part of its memory space, wherein a start address for setting a start address as a starting point of the cyclic address is provided. Setting means; increment setting means for setting an increment of an address until the cyclic address makes one cycle; access number setting means for setting the number of accesses to the data memory until the cyclic address makes one cycle; Each time it is accessed, the increments set by the increment setting means are sequentially integrated, the integrated value is added to the start address and output as a cyclic address,
And a computing means for clearing the integrated value when the number of accesses set by the access number setting means has been reached.
おいて、 前記スタートアドレス設定手段は、複数のスタートアド
レスを設定できるように構成されており、 前記演算手段は、各々のスタートアドレスに対して前記
積算値を個別に加算するように構成されている、 ことを特徴とする巡回アドレス発生回路。2. The cyclic address generating circuit according to claim 1, wherein said start address setting means is configured to be able to set a plurality of start addresses, and said arithmetic means is configured to set the start address for each start address. A cyclic address generation circuit configured to individually add integrated values.
おいて、 前記増分設定手段は、複数の増分を設定できるように構
成されており、 前記演算手段は、増分設定手段で設定された各増分を個
別に積算した各積算値を各々のスタートアドレスに対し
て個別に加算するように構成されている、 ことを特徴とする巡回アドレス発生回路。3. The cyclic address generation circuit according to claim 2, wherein said increment setting means is configured to be able to set a plurality of increments, and said arithmetic means sets each increment set by said increment setting means. A cyclic address generation circuit configured to individually add each integrated value individually integrated to each start address.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18740998A JP2000020392A (en) | 1998-07-02 | 1998-07-02 | Cyclic address generating circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18740998A JP2000020392A (en) | 1998-07-02 | 1998-07-02 | Cyclic address generating circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000020392A true JP2000020392A (en) | 2000-01-21 |
Family
ID=16205541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18740998A Pending JP2000020392A (en) | 1998-07-02 | 1998-07-02 | Cyclic address generating circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000020392A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044487A (en) * | 2008-08-11 | 2010-02-25 | Seiko Epson Corp | Signal processing processor and semiconductor device |
-
1998
- 1998-07-02 JP JP18740998A patent/JP2000020392A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044487A (en) * | 2008-08-11 | 2010-02-25 | Seiko Epson Corp | Signal processing processor and semiconductor device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3711692A (en) | Determination of number of ones in a data field by addition | |
US5155823A (en) | Address generating unit | |
US4722068A (en) | Double precision multiplier | |
JPH05113930A (en) | Flexible n-way-memory interleaving method | |
EP0113032B1 (en) | An apparatus for performing hashing operations using galois field multiplication | |
US5276827A (en) | Data buffer for the duration of cyclically recurrent buffer periods | |
EP0149067A2 (en) | Polynomial hash | |
US7185041B1 (en) | Circuit and method for high-speed execution of modulo division | |
US5983333A (en) | High speed module address generator | |
US6308249B1 (en) | Storing data in a grey code system | |
US6950922B2 (en) | Data extraction/insertion method and device in digital signal processor | |
US4241410A (en) | Binary number generation | |
US6047364A (en) | True modulo addressing generator | |
JP2000020392A (en) | Cyclic address generating circuit | |
US4342027A (en) | Radix conversion system | |
US3564505A (en) | Digital data reordering system | |
CN114925127A (en) | Two-dimensional graph generation method and device for cascade structure data and storage medium | |
KR0147942B1 (en) | Booths recording circuit in a multiplier | |
US5945657A (en) | Constant divider | |
US5673216A (en) | Process and system for adding or subtracting symbols in any base without converting to a common base | |
US6578062B1 (en) | Method and circuit for digital division | |
KR910009296B1 (en) | Sequential access memory | |
EP0867804A2 (en) | Triangular addressing | |
JP3105577B2 (en) | Division product multiplier | |
CN118672582A (en) | Loop storage method and device, electronic equipment and storage medium |