JP2003223357A - Address generating device for circular address buffer and integrated circuit with the same - Google Patents

Address generating device for circular address buffer and integrated circuit with the same

Info

Publication number
JP2003223357A
JP2003223357A JP2002019152A JP2002019152A JP2003223357A JP 2003223357 A JP2003223357 A JP 2003223357A JP 2002019152 A JP2002019152 A JP 2002019152A JP 2002019152 A JP2002019152 A JP 2002019152A JP 2003223357 A JP2003223357 A JP 2003223357A
Authority
JP
Japan
Prior art keywords
address
adder
carry
output
memory
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.)
Granted
Application number
JP2002019152A
Other languages
Japanese (ja)
Other versions
JP4142299B2 (en
Inventor
Koki Shu
宏 基 鄒
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.)
Macronix International Co Ltd
Original Assignee
Macronix International Co 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 Macronix International Co Ltd filed Critical Macronix International Co Ltd
Priority to JP2002019152A priority Critical patent/JP4142299B2/en
Publication of JP2003223357A publication Critical patent/JP2003223357A/en
Application granted granted Critical
Publication of JP4142299B2 publication Critical patent/JP4142299B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To improve memory using efficiency and flexibility in the design of the circular buffer of an integrated circuit. <P>SOLUTION: This dual mode address generator comprises inputs that receive a current address A, an address offset M, a buffer length L, and a control signal; and logic configured to compute a first memory address for a buffer with an implied lower boundary and a second memory address for a buffer with an implied higher boundary response to the A, M, and L. One of the first and second memory addresses is provided in response to the control signal. The first memory address corresponds the current address A plus the address offset M for a first circular buffer having an implied lower address boundary X and including addresses X through (X+L), and the second memory address corresponds the current address A plus the address offset M for a second circular buffer having an implied higher address boundary Y and including addresses Y through (Y-L). <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、メモリアドレッシ
ングに係り、特に、デジタル信号プロセッサなどのデジ
タル・システムで使用される円環状バッファのアドレッ
シングに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to memory addressing, and more particularly to addressing circular buffers used in digital systems such as digital signal processors.

【0002】[0002]

【従来の技術】モジュロアドレッシングとも呼ばれるサ
ーキュラアドレッシングは、デジタル信号処理および他
のデータ処理アプリケーションでよく使用される。サー
キュラアドレッシングが適用される円環状バッファにお
いては、そのバッファに1つのアドレス範囲が割当てら
れる。円環状バッファのアドレスを生成する際に、オフ
セット値が現在アドレスを増分し、次のアドレスを生成
する。現在アドレスとオフセット値の合計が割当てられ
たアドレス範囲外のアドレスを示す場合には、次のアド
レスは円環状バッファの反対の境界にラップアラウンド
する。
Circular addressing, also called modulo addressing, is commonly used in digital signal processing and other data processing applications. In a circular buffer to which circular addressing is applied, one address range is assigned to that buffer. When generating the address of the circular buffer, the offset value increments the current address and generates the next address. If the sum of the current address and the offset value indicates an address outside the allocated address range, the next address wraps around to the opposite boundary of the circular buffer.

【0003】従来技術では、円環状バッファのアドレス
を生成する種々の提案がなされている。サーキュラアド
レッシングを実行する通常の方法では、割当てられたア
ドレス範囲の上限および下限境界を設定する2つの明示
パラメータを規定する。この方法では、ユーザは利用可
能なメモリの無制限の位置にバッファを規定できる柔軟
性を有する。しかし、この方法だと、境界を記憶するレ
ジスタや、次のアドレスを計算する比較的複雑な論理が
必要になる。アドレス生成は特定の設計のクリティカル
パスにあるので、必要とされるパラメータの数を減ら
し、論理を単純化することが望ましい。
In the prior art, various proposals have been made for generating an address of a circular buffer. The usual way to perform circular addressing is to define two explicit parameters that set the upper and lower bounds of the assigned address range. In this way, the user has the flexibility to define buffers in unlimited locations of available memory. However, this method requires a register for storing the boundary and a relatively complicated logic for calculating the next address. Since address generation is on the critical path of a particular design, it is desirable to reduce the number of required parameters and simplify the logic.

【0004】円環状バッファのアドレス生成に関する別
の提案がレスゲン(Roesgen)による発明の米国特許第
4,800,524号に記載されている。レスゲン特許
の提案においては、バッファは、単一のバッファ長パラ
メータおよび円環状バッファの現在アドレスによって規
定される。円環状バッファの下限境界は、現在アドレス
の低位のNビットをゼロに置換えることによって、現在
アドレスおよびバッファから暗示される。ここで、N
は、バッファ長を2進法で表した時に先頭の(1番左)
1があるビット位置である。円環状バッファの上限境界
は、暗示下限境界プラスバッファ長として規定される。
この方法は、上限および下限境界を設定する明示パラメ
ータを必要とする方法より簡単に実行できる。しかし、
利用可能な境界の組に制限があるため、メモリ使用状況
が効率的でない。
Another proposal for address generation of circular buffers is described in US Pat. No. 4,800,524 by Roesgen. In the Resgen patent proposal, the buffer is defined by a single buffer length parameter and the current address of the circular buffer. The lower bound of the circular buffer is implied from the current address and buffer by replacing the low order N bits of the current address with zeros. Where N
Is the first (leftmost) when the buffer length is expressed in binary.
Is a bit position that has a 1. The upper bound of the circular buffer is defined as the implied lower bound plus the buffer length.
This method is easier to implement than the method that requires explicit parameters to set the upper and lower bounds. But,
Inefficient memory usage due to the limited set of boundaries available.

【0005】サーキュラアドレス生成に関する別の提案
が、従来技術として、レーン(Lane)による発明の米国
特許第4,202,035号、テーバー(Taber)によ
る発明の米国特許第4,809,156号、キャザーウ
ッド(Catherwood)らによる発明の米国特許第5,24
9,148号、およびシュリダール(Shridhar)らによ
る米国特許第5,381,360号に記載されている。
Other proposals relating to circular address generation are prior art: US Pat. No. 4,202,035 of the invention by Lane, US Pat. No. 4,809,156 of the invention by Taber, US Pat. No. 5,24, for invention by Catherwood et al.
9,148, and U.S. Pat. No. 5,381,360 by Shridhar et al.

【0006】[0006]

【発明が解決しようとする課題】サーキュラアドレッシ
ングに頼るデジタル信号処理アプリケーションが複雑化
するにつれて、柔軟性を改善し、上記アプリケーション
用のアドレス生成器のコストを削減する必要性が増大し
てきている。
As digital signal processing applications that rely on circular addressing become more complex, there is an increasing need to improve flexibility and reduce the cost of address generators for such applications.

【0007】[0007]

【課題を解決するための手段】本発明によれば、メモリ
に円環状アドレスバッファのアドレスを生成する装置が
提供され、この装置においては、円環状バッファの上限
境界が現在アドレスから暗示される。この提案を、単独
で、そして暗示下限境界に頼る円環状バッファとの併用
で適用すれば、メモリ使用状況、および集積回路や処理
システムの円環状バッファ設計における柔軟性が改善で
きる。
SUMMARY OF THE INVENTION In accordance with the present invention, there is provided an apparatus for generating an address of a toroidal address buffer in memory, in which the upper bound of the toroidal buffer is implied from the current address. Applying this proposal alone and in combination with a circular buffer that relies on an implied lower bound, improves memory usage and flexibility in the circular buffer design of integrated circuits and processing systems.

【0008】本発明によるアドレス生成器の1つの実施
形態は、現在アドレスA、アドレスオフセットM、バッフ
ァ長L、および制御信号を受信する入力と、メモリ内の
場所を示す第1のメモリアドレスおよび第2のメモリア
ドレスを、A、M、およびLに応じて計算するように構成
された論理とを含む。第1および第2のメモリアドレス
の1つが、制御信号に応じて提供される。前記第1のメ
モリアドレスが、アドレス境界Xを有し、Xから(X+
L)までのアドレスを含む第1の円環状バッファの前記
現在アドレスAと前記アドレスオフセットMの和と一致
し、前記第2のメモリアドレスが、アドレス境界Yを有
し、Yから(Y―L)までのアドレスを含む第2の円環
状バッファの前記現在アドレスAと前記アドレスオフセ
ットMの和と一致する。
One embodiment of an address generator according to the present invention comprises an input for receiving a current address A, an address offset M, a buffer length L, and a control signal and a first memory address and a first memory address indicating a location in memory. And a logic configured to calculate two memory addresses as a function of A, M, and L. One of the first and second memory addresses is provided in response to the control signal. The first memory address has an address boundary X, from X to (X +
L) corresponding to the sum of the current address A and the address offset M of the first circular buffer, the second memory address having an address boundary Y, from Y to (Y−L ) To the sum of the current address A and the address offset M of the second circular buffer.

【0009】バッファ長Lは、2進数で表した時にビッ
ト位置Nに先頭の1を有する値である。暗示下限アドレ
ス境界Xが前記現在アドレスAの低位のNビットを0で
置換することによって計算される。暗示上限アドレス境
界Yが前記現在アドレスAの低位のNビットを1で置換
することによって計算される。各種の実施形態におい
て、前記入力はA、MおよびLを格納するレジスタを含
む。制御信号も1つのレジスタに格納できるし、オフセ
ット値Mなどの他のパラメータの1つと共有されるレジ
スタ内に格納することもできる。
The buffer length L is a value having a leading 1 at the bit position N when represented by a binary number. The implied lower address boundary X is calculated by replacing the low order N bits of the current address A with 0's. The implied upper address boundary Y is calculated by replacing the low order N bits of the current address A with ones. In various embodiments, the inputs include registers that store A, M and L. The control signal can also be stored in one register or in a register shared with one of the other parameters such as the offset value M.

【0010】1つの実施形態では、アドレス生成器が使
用する論理は、キャリーアウト信号によって和A+Mに
等しい第1の出力を生成する第1の加算器と、前記Mの
符号が正数である時に第1のラップアドレス和(A+
M)−(L+1)に等しいか、または前記Mの符号が負
数である時に第2のラップアドレス和(A+M)+(L
+1)に等しい第2の出力を、キャリーアウト信号によ
って生成する第2の加算器とを含む。選択論理は、前記
第1および第2の加算器からの前記キャリーアウト信号
に応じて前記第1の出力または前記第2の出力を選択す
る。1つの好適な実施形態では、前記第1および第2の
加算器は、暗示下限アドレス境界を有する円環状バッフ
ァと、暗示上限アドレス境界を有する円環状バッファと
に使用される共有論理である。
In one embodiment, the logic used by the address generator is that the carry-out signal produces a first output equal to the sum A + M, and when the sign of M is positive. First wrap address sum (A +
M)-(L + 1), or when the sign of M is a negative number, the second wrap address sum (A + M) + (L
A second adder that produces a second output equal to +1) by the carry-out signal. The selection logic selects the first output or the second output according to the carry-out signal from the first and second adders. In one preferred embodiment, the first and second adders are shared logic used for a circular buffer having an implied lower address boundary and a circular buffer having an implicit upper address boundary.

【0011】さらに別の実施形態では、Lがビット位置
Nに先頭の1を有し、暗示下限アドレス境界Xが前記現
在アドレスAの低位のNビットを0で置換することによ
って計算され、暗示上限アドレス境界Yが前記現在アド
レスAの低位のNビットを1で置換することによって計
算される。第1および第2の加算器は複数のビット位置
に対してキャリーアウト信号を生成し、セレクタはLに
反応して、この論理において使用される加算器にN番目
のビット位置からのキャリーアウト信号を提供する。し
たがって、この実施形態では、選択論理は前記第1およ
び第2の加算器のN番目のビット位置からの前記キャリ
ーアウト信号に応じて、前記第1の出力または前記第2
の出力を選択するように動作可能である。
In yet another embodiment, L has a leading 1 at bit position N and an implied lower address boundary X is calculated by replacing the lower N bits of said current address A with 0 to imply an upper limit. The address boundary Y is calculated by replacing the low order N bits of the current address A with ones. The first and second adders generate carry out signals for a plurality of bit positions and the selector is responsive to L to tell the adder used in this logic the carry out signal from the N th bit position. I will provide a. Therefore, in this embodiment, the selection logic depends on the carry out signal from the Nth bit position of the first and second adders, the first output or the second output.
Is operable to select the output of.

【0012】暗示下限アドレス境界および暗示上限アド
レス境界の両方が使用される実施形態では、選択論理
が、前記制御信号が前記第1のメモリアドレスに対して
設定され、前記アドレスオフセットが正数であり、前記
第1の加算器からの前記キャリーアウトも前記第2の加
算器からの前記キャリーアウトも1でない場合、また
は、前記制御信号が前記第1のメモリアドレスに対して
設定され、前記アドレスオフセットが負数であり、前記
第1の加算器からの前記キャリーアウトが1である場
合、または、前記制御信号が前記第2のメモリアドレス
に対して設定され、前記アドレスオフセットが正数であ
り、前記第1の加算器からの前記キャリーアウトが0で
ある場合、または、前記制御信号が前記第2のメモリア
ドレスに対して設定され、前記アドレスオフセットが負
数であり、前記第1の加算器および前記第2の加算器の
両方からの前記キャリーアウトが1である場合に、前記
第1の加算器の出力を選択し、前記制御信号が前記第1
のメモリアドレスに対して設定され、前記アドレスオフ
セットが正数であり、前記第1の加算器または前記第2
の加算器の少なくとも1つからの前記キャリーアウトが
1である場合、または、前記制御信号が前記第1のメモ
リアドレスに対して設定され、前記アドレスオフセット
が負数であり、前記第1の加算器からの前記キャリーア
ウトが0である場合、または、前記制御信号が前記第2
のメモリアドレスに対して設定され、前記アドレスオフ
セットが正数であり、前記第1の加算器からの前記キャ
リーアウトが1である場合、または、前記制御信号が前
記第2のメモリアドレスに対して設定され、前記アドレ
スオフセットが負数であり、前記第1の加算器または前
記第2の加算器の少なくとも1つからの前記キャリーア
ウトが0である場合に、前記第2の加算器の出力を選択
するように構成される。
In an embodiment in which both an implied lower bound and an implied upper bound are used, the selection logic is such that the control signal is set to the first memory address and the address offset is a positive number. , The carry-out from the first adder and the carry-out from the second adder are not 1, or the control signal is set for the first memory address and the address offset Is a negative number and the carry out from the first adder is 1, or the control signal is set to the second memory address and the address offset is a positive number, and If the carry-out from the first adder is 0, or the control signal is set to the second memory address. Selecting the output of the first adder when the address offset is a negative number and the carry out from both the first adder and the second adder is 1; Is the first
Of the first adder or the second adder, the address offset being a positive number.
Said carry-out from at least one of said adders is 1, or said control signal is set for said first memory address and said address offset is a negative number, said first adder If the carry-out from is 0, or if the control signal is
, The address offset is a positive number, and the carry-out from the first adder is 1, or the control signal is for the second memory address. Set, selecting the output of the second adder if the address offset is negative and the carry out from at least one of the first adder or the second adder is 0. To be configured.

【0013】暗示上限アドレス境界だけが使用される実
施形態では、選択論理は、前記アドレスオフセットが正
数であり、前記第1の加算器からの前記キャリーアウト
が0である場合、または、前記アドレスオフセットが負
数であり、前記第1の加算器および前記第2の加算器の
両方からの前記キャリーアウトが1である場合に、前記
第1の加算器の出力を選択し、前記アドレスオフセット
が正数であり、前記第1の加算器からの前記キャリーア
ウトが1である場合、または、前記アドレスオフセット
が負数であり、前記第1の加算器または前記第2の加算
器の少なくとも1つからの前記キャリーアウトが0であ
る場合に、前記第2の加算器の出力を選択するよう構成
される。
In an embodiment in which only an implied upper address boundary is used, the selection logic is such that the address offset is a positive number and the carry out from the first adder is 0, or the address is If the offset is a negative number and the carry out from both the first adder and the second adder is 1, then the output of the first adder is selected and the address offset is positive. A number and the carry-out from the first adder is 1, or the address offset is negative and from at least one of the first adder or the second adder. It is configured to select the output of the second adder if the carry out is zero.

【0014】本発明は、プロセッサコアと、現在アドレ
スA、オフセット値Mおよびバッファ長Lを格納するレ
ジスタファイルと、メモリと、前記メモリのアドレス生
成器とを含む集積回路によっても具現化される。本発明
による実施形態では、上述のように、アドレス生成器
は、暗示上限アドレス境界だけを使用するか、または暗
示上限アドレス境界と暗示下限アドレス境界との組合せ
を使用するように構成される。本発明の別の態様および
利点については、図を参照して以下で説明する。
The present invention is also embodied by an integrated circuit including a processor core, a register file for storing a current address A, an offset value M and a buffer length L, a memory and an address generator of the memory. In an embodiment according to the invention, as mentioned above, the address generator is configured to use only the implied upper address boundary or a combination of the implied upper address boundary and the implied lower address boundary. Further aspects and advantages of the invention are explained below with reference to the figures.

【0015】[0015]

【発明の実施の形態】図1から6について、本発明の実
施形態を詳細に説明する。図1は、本発明のアドレス生
成器を備えた集積回路プロセッサの簡略図である。集積
回路装置10は、プログラムメモリ11、データメモリ
14、およびプロセッサコア12を含み、プロセッサコ
ア12は、データメモリアドレスのための円環状アドレ
ス生成器15、円環状バッファプログラムレジスタを含
むレジスタファイル13、および、命令解読器、ALUな
ど他の論理素子を含む。本発明による円環状アドレス生
成器15は、(L+1)の長さを有し、暗示上限境界あ
るいは結合暗示上下限境界に準拠可能な選択可能境界ベ
ースを有する、データメモリ14のバッファを管理す
る。
DETAILED DESCRIPTION OF THE INVENTION An embodiment of the present invention will be described in detail with reference to FIGS. FIG. 1 is a simplified diagram of an integrated circuit processor with an address generator of the present invention. The integrated circuit device 10 includes a program memory 11, a data memory 14, and a processor core 12. The processor core 12 includes a circular address generator 15 for a data memory address, a register file 13 including a circular buffer program register, And other logic elements such as an instruction decoder and ALU. The toroidal address generator 15 according to the invention manages a buffer of the data memory 14 having a length of (L + 1) and having a selectable boundary base which can comply with an implied upper bound or a combined implied upper and lower bound.

【0016】例えば、プロセッサ12はプログラムメモ
リ11からの命令を実行する。命令には直接アドレス命
令および間接アドレス命令が含まれる。間接アドレス命
令はレジスタファイル13の円環状バッファプログラム
レジスタに依存する。1つの実施形態には、4組の円環
状バッファプログラムレジスタがあり、それぞれが、現
在アドレスAを格納する第1のレジスタ、オフセット値M
を格納する第2のレジスタ、およびバッファ長の値Lを
格納する第3のレジスタを含む。上限および下限アドレ
ス境界の両方をサポートするこの実施形態では、各アク
セスにおいて、上限アドレス境界バッファと下限アドレ
ス境界バッファのどちらが使用されているかを示す上限
/下限制御信号が提供される。上限/下限制御信号を、
サーキュラアドレッシングを使用する命令の一部とし
て、または、オフセット値Mがレジスタの低次ビットの
みを使用する値に限定される時には、オフセット値Mを
格納するレジスタの高ビットとして独立に提供しても良
い。
For example, processor 12 executes instructions from program memory 11. The instructions include direct address instructions and indirect address instructions. The indirect address instructions depend on the circular buffer program register in register file 13. In one embodiment, there are four sets of circular buffer program registers, each of which has a first register that stores the current address A, an offset value M.
And a third register for storing a buffer length value L. In this embodiment, which supports both upper and lower address boundaries, an upper / lower control signal is provided for each access indicating whether the upper or lower address boundary buffer is being used. The upper / lower limit control signal
Provided as part of an instruction that uses circular addressing, or independently as the high bit of a register that stores the offset value M, when the offset value M is limited to a value that uses only the low order bits of the register. good.

【0017】例えば、命令“ldx1,ar2,m2”
はプロセッサコア12の解読器に解釈され、レジスタフ
ァイルのレジスタx1にメモリデータがロードされる。
このメモリデータは、1組の円環状バッファプログラム
レジスタの現在アドレスAを格納しているレジスタar2
が指定するアドレスから、この円環状バッファプログラ
ムレジスタのレジスタm2に格納されているオフセット
値Mに増分されて取出される。この円環状バッファプロ
グラムレジスタのバッファ長の値Lを格納するレジスタl
2は、プロセッサ12により事前に構成されるか、別の
方法で構成される。1つの実施形態で、16ビットアド
レスのバッファ長の値Lを16進法のffffに設定し
た場合には、対応する組の円環状バッファプログラムレ
ジスタのレジスタを指定する間接アドレス命令に応じ
て、リニアアドレッシングが使用される。
For example, the instruction "ldx1, ar2, m2"
Is interpreted by the decoder of the processor core 12, and the memory data is loaded into the register x1 of the register file.
This memory data is a register ar2 that stores the current address A of a set of circular buffer program registers.
Is incremented to the offset value M stored in the register m2 of the annular buffer program register from the address designated by the. A register l that stores the value L of the buffer length of this circular buffer program register
2 is preconfigured by the processor 12 or otherwise configured. In one embodiment, when the buffer length value L of a 16-bit address is set to hexadecimal ffff, a linear address is specified in accordance with an indirect address instruction that specifies a register of a corresponding set of circular buffer program registers. Addressing is used.

【0018】図2(a)から(c)は、それぞれ、暗示
下限アドレス境界、暗示上限アドレス境界、および結合
上下限アドレス境界を使用するサーキュラアドレッシン
グの実施形態を示す。図2(a)は従来技術による暗示
下限アドレス境界アプローチであり、円環状バッファ1
および2を備える。この例では、円環状バッファ1は長
さL+1=10を有し、そのアロケーションは0a00
(16進法)から0a09(16進法)である。円環状
バッファ2の長さL+1を、ユーザが6にしたいと仮定
しよう。0a0a(16進法)および0a0f(16進
法)間のアドレスセットの長さは6に等しいが、このア
ドレスセットを円環状バッファ2に使用することはでき
ない。なぜなら、このアドレスセットは、下限3が0で
ある暗示下限境界を有するに違いないからである。した
がって円環状バッファ2は0a10(16進法)および
0a15(16進法)間に配置され、0a0a(16進
法)および0a0f(16進法)間に未使用領域を残し
てしまう。
2 (a) to 2 (c) show embodiments of circular addressing using an implied lower limit address boundary, an implied upper limit address boundary, and a combined upper and lower limit address boundary, respectively. FIG. 2A is an implicit lower bound address boundary approach according to the prior art, in which the circular buffer 1
And 2. In this example, circular buffer 1 has length L + 1 = 10 and its allocation is 0a00.
(Hexadecimal) to 0a09 (Hexadecimal). Suppose the user wants the length L + 1 of the circular buffer 2 to be 6. The length of the address set between 0a0a (hexadecimal) and 0a0f (hexadecimal) is equal to 6, but this address set cannot be used for the circular buffer 2. This is because the address set must have an implied lower bound with lower bound 3 equal to 0. Therefore, the circular buffer 2 is arranged between 0a10 (hexadecimal) and 0a15 (hexadecimal), leaving an unused area between 0a0a (hexadecimal) and 0a0f (hexadecimal).

【0019】図2(b)は、本発明の暗示上限アドレス
境界アプローチを示す。円環状バッファ1および2が示
れている。この場合には、上限アドレス境界が暗示され
る。したがって、円環状バッファ1は、長さL+1=1
0を有し、そのアロケーションは0a06(16進法)
から0a0f(16進法)である。この例では、ユーザ
は長さL+1=6を有する円環状バッファ2を定義す
る。最もコンパクトで、バッファ1に最も近いアロケー
ションは、バッファ2を暗示上限境界ベースによって0
a17(16進法)および0a12(16進法)間に配
置する。これでも、まだ、バッファ1および2間に未使
用領域が残ってしまう。
FIG. 2 (b) illustrates the implicit upper bound address boundary approach of the present invention. Annular buffers 1 and 2 are shown. In this case, the upper limit address boundary is implied. Therefore, the circular buffer 1 has a length L + 1 = 1.
Has 0 and its allocation is 0a06 (hexadecimal)
To 0a0f (hexadecimal). In this example, the user defines a circular buffer 2 having a length L + 1 = 6. The most compact allocation, closest to buffer 1, causes buffer 2 to be 0 by implied upper bound base.
It is placed between a17 (hexadecimal) and 0a12 (hexadecimal). Even with this, an unused area still remains between the buffers 1 and 2.

【0020】図2(c)には、暗示下限アドレス境界を
有する円環状バッファ1、および暗示上限アドレス境界
を有する円環状バッファ2が示され、両者間に未使用領
域のない構成である。この例では、円環状バッファ1は
長さL+1=10を有する。0a00(16進法)およ
び0a09(16進法)間の現在アドレスAに対して、
円環状アドレス生成器は0a00(16進法)から0a
09(16進法)の範囲内に次のアドレスを生成する。
この例では、長さL+1=6の円環状バッファ2は暗示
上限アドレス境界0a0f(16進法)を有する。この
円環状バッファ2へのアクセスには0a0f(16進
法)および0a0a(16進法)間の現在アドレスが使
用され、円環状アドレス生成器は0a0f(16進法)
および0a0a(16進法)の範囲内に次のアドレスを
生成する。図からわかるように、これら2つの円環状バ
ッファは、両者間に未使用領域が存在しないように構成
できる。
FIG. 2 (c) shows a circular buffer 1 having an implied lower limit address boundary and a circular buffer 2 having an implied upper limit address boundary, which has no unused area between them. In this example, the circular buffer 1 has a length L + 1 = 10. For the current address A between 0a00 (hexadecimal) and 0a09 (hexadecimal),
The annular address generator is 0a00 (hexadecimal) to 0a
The next address is generated within the range of 09 (hexadecimal).
In this example, circular buffer 2 of length L + 1 = 6 has an implied upper address boundary 0a0f (hexadecimal). The current address between 0a0f (hexadecimal) and 0a0a (hexadecimal) is used to access the circular buffer 2, and the circular address generator generates 0a0f (hexadecimal).
And generate the next address in the range 0a0a (hexadecimal). As can be seen, the two circular buffers can be configured so that there are no unused areas between them.

【0021】暗示下限境界を有するバッファおよび暗示
上限アドレス境界を有するバッファのアドレス生成論理
を、図3および4を参照して以下で説明する。暗示下限
境界を有するバッファを選択する場合、この暗示下限境
界は現在アドレスAの低位のNビットに0を挿入するこ
とによって決定される。ここで、値Nは、バッファ長パ
ラメータLの先頭の“1”があるビット位置である。こ
の値Nは、式2^(N−1)<=L<2^Nによって表
すこともできる。この方法に従えば、下限境界は2^N
の任意のマルチプルに設定できる。このバッファの下限
境界は、左のAの高位のW−Nビットに右の低位のNビ
ットに0を連結することによって指定される。ここで、
Wはメモリに使用されるアドレスビットの数である。下
限境界が決定されると、長さL+1のバッファの下限境
界にLを加えることによって決定される。つまり、上限
境界は左のAの高位のW−Nビットに右のLの低位のN
ビットを連結して指定される。
Address generation logic for buffers with implicit lower bounds and buffers with implicit upper bounds is described below with reference to FIGS. 3 and 4. When selecting a buffer with an implied lower bound, this implied lower bound is determined by inserting a 0 in the low N bits of the current address A. Here, the value N is the bit position where the leading “1” of the buffer length parameter L is located. This value N can also be represented by the formula 2̂ (N−1) <= L <2̂N. According to this method, the lower bound is 2 ^ N
Can be set to any multiple of. The lower bound of this buffer is specified by concatenating the high-order W-N bits of A on the left with a 0 on the low-order N bits of the right. here,
W is the number of address bits used in the memory. Once the lower bound is determined, it is determined by adding L to the lower bound of the buffer of length L + 1. That is, the upper boundary is the lower W-N bits of A on the left and the lower N bits of L on the right.
It is specified by concatenating bits.

【0022】例えば:W=16で、Lが0000 00
00 0010 1011(2進数で16ビット)、こ
のバッファに対する現在アドレスAが0011 100
10101 1110であるケースを考える。Lの先頭
の1がビット位置6にあるので、N=6である。暗示下
限境界は0011 1001 0100 0000であ
り、暗示上限境界は0011 1001 0110 1
011である。
For example: W = 16 and L is 00000000
00 0010 1011 (16 bits in binary), the current address A for this buffer is 0011 100
Consider the case of 10101 1110. Since the first 1 in L is at bit position 6, N = 6. The implied lower bound is 0011 1001 0100 0000 and the implied upper bound is 0011 1001 0110 1
It is 011.

【0023】説明の簡略化のため、A、上限境界および
下限境界から高位のW−Nビットを除外し、Aの低位の
Nビットを表すのにIを、下限境界を表すのに0を、そ
して上限境界を表すのにLを使用する。Mは、現在アド
レスIと次の目的のアドレスとの間のオフセットであ
る。Mは符号の付いた数であり、正数または負数であ
る。Mが正数の場合、円環状アドレス生成器が使用する
論理に関して、次の3つの状態が考えられる。(1)I
+M>=2^Nの場合、(2)I+M>=L+1の場
合、および(3)I+M<L+1の場合である。
For simplification of the description, the high-order W-N bits are excluded from A, the upper and lower bounds, I is used to represent the lower N bits of A, and 0 is used to represent the lower boundary. Then, L is used to represent the upper boundary. M is the offset between the current address I and the next destination address. M is a signed number and is a positive or negative number. If M is positive, there are three possible states for the logic used by the toroid address generator. (1) I
+ M> = 2 ^ N, (2) I + M> = L + 1, and (3) I + M <L + 1.

【0024】Mが正数で、I+M>=2^Nである状態
1の場合。絶対アドレス(I+M)が上限境界Lを上回
る。次のアドレスを円環状バッファの低位領域にラップ
させる必要がある。次の目的のアドレスIは、絶対アド
レス(I+M)からバッファ長(L+1)を差し引くこ
とにより計算できる。その式はI+M−(L+1)であ
り、2の補体系ではI+M+(L\)に変換される。
In the case of state 1 where M is a positive number and I + M> = 2 ^ N. The absolute address (I + M) exceeds the upper boundary L. The next address needs to be wrapped in the lower region of the circular buffer. The next target address I can be calculated by subtracting the buffer length (L + 1) from the absolute address (I + M). The equation is I + M- (L + 1), which is converted to I + M + (L \) in the 2's complement system.

【0025】Mが正数で、I+M>=L+1である状態
2の場合。絶対アドレス(I+M)は、再び上限境界L
を上回る。次のアドレスをバッファの低位領域にラップ
させる必要がある。次の目的のアドレスIは、絶対アド
レスからバッファ長を差し引くことにより計算できる。
その式は状態(1)の場合と同様、I+M−(L+1)
であり、2の補体系ではI+M+(L\)となる。
In the case of state 2 where M is a positive number and I + M> = L + 1. The absolute address (I + M) is again the upper boundary L
Surpass. The next address needs to be wrapped in the lower area of the buffer. The next target address I can be calculated by subtracting the buffer length from the absolute address.
The formula is I + M- (L + 1) as in the case of the state (1).
And the complement system of 2 is I + M + (L \).

【0026】Mが正数で、I+M<L+1である状態3
の場合。絶対アドレスI+Mが上限境界Lを上回らな
い。したがって、次の目的のアドレスIはI+Mに等し
い。ハードウェア実行の際、状態1(I+M>=2^
N)はI+Mから生成されるキャリーアウトによって示
され、状態2(I+M>=L+1)はI+M+(L\)
から生成されるキャリーアウトによって示される。状態
3はI+Mから生成されるキャリーアウトがない場合に
示される。
State 3 in which M is a positive number and I + M <L + 1
in the case of. The absolute address I + M does not exceed the upper boundary L. Therefore, the next target address I is equal to I + M. When hardware is executed, state 1 (I + M> = 2 ^
N) is indicated by the carry out generated from I + M, state 2 (I + M> = L + 1) is I + M + (L \)
Indicated by the carry out generated from. State 3 is shown when there is no carry out generated from I + M.

【0027】Mが負数の場合、円環状アドレス生成器が
使用する論理に関して、次の2つの状態が考えられる。
(1)I+M<0の場合、および(2)I+M>=0の
場合である。Mが負数で、I+M<0である状態1の場
合。絶対アドレス(I+M)は円環状バッファの下限境
界0を下回る負数である。次のアドレスを円環状バッフ
ァの高位領域にラップさせる必要がある。次の目的のア
ドレスIは、絶対アドレス(I+M)にバッファ長L+
1を加えることにより計算できる。その式はI+M+L
+1である。
When M is negative, there are two possible states for the logic used by the toroid address generator.
(1) I + M <0, and (2) I + M> = 0. For state 1 where M is a negative number and I + M <0. The absolute address (I + M) is a negative number below the lower bound 0 of the circular buffer. The next address needs to be wrapped in the high region of the circular buffer. The next target address I is the absolute address (I + M) and the buffer length L +
It can be calculated by adding 1. The formula is I + M + L
It is +1.

【0028】Mが負数で、I+M>=0である状態2の
場合。絶対アドレス(I+M)は下限境界0を上回る。
したがって、目的のアドレスIはI+Mに等しくなる。
ハードウェア実行の際、Mが負数の状態1(I+M<
0)はI+Mから生成されるキャリーアウトがないこと
により示される。Mが負数の状態2(I+M>=0)は
I+Mから生成されるキャリーアウトによって示され
る。
In state 2 where M is a negative number and I + M> = 0. The absolute address (I + M) is above the lower bound 0.
Therefore, the target address I becomes equal to I + M.
When hardware is executed, M is a negative state 1 (I + M <
0) is indicated by the lack of carry out generated from I + M. State 2 (I + M> = 0) where M is a negative number is indicated by the carry out generated from I + M.

【0029】したがって、暗示下限アドレス境界円環状
バッファのハードウェア実行は、図3に示すように論理
的に実行される。図3の論理は、第1の加算器201お
よび第2の加算器202を含む。第1の加算器201へ
の入力には、値IおよびMがある。この中で絶対アドレ
スと呼ばれる第1の加算器201の出力が、ライン20
7に供給され、I+Mに等しい。加算器201からのキ
ャリーアウト信号がライン206に供給される。第2の
加算器202への入力には、排他的NORゲート203
の出力および第1の加算器201からライン207への
出力がある。排他的NORゲート203への入力には、
長さの値LおよびアドレスオフセットMの符号ビットが
ある。第2の加算器202は、Mの符号ビットをキャリ
ーインとしてライン211から受信する。この中でラッ
プアドレスと呼ばれる第2の加算器202の出力は、ラ
イン209に供給される。マルチプレクサ213は、入
力として、ライン207から絶対アドレスを、ライン2
09からラップアドレスを受信し、次の目的のアドレス
をライン210へ供給する。計算された絶対アドレスお
よびラップアドレスのどちらが出力として供給されるか
を示す制御信号が、ライン212からマルチプレクサ2
13に供給される。ライン212の信号は、マルチプレ
クサ214の出力から供給され、このマルチプレクサ2
14は、ライン211からのMの符号ビットに応じて動
作し、Mの符号ビットが1(Mが負数)である場合と、
Mの符号ビットが0(Mが正数)である場合とに対して
論理を選択する。
Therefore, the hardware implementation of the implicit lower bound address boundary circular buffer is logically performed as shown in FIG. The logic of FIG. 3 includes a first adder 201 and a second adder 202. At the input to the first adder 201 are the values I and M. The output of the first adder 201, called the absolute address, is
7 and is equal to I + M. The carry-out signal from adder 201 is provided on line 206. The input to the second adder 202 is the exclusive NOR gate 203.
And the output from the first adder 201 to line 207. The input to the exclusive NOR gate 203 is
There are sign bits for the length value L and the address offset M. The second adder 202 receives the M code bits as a carry-in from line 211. The output of the second adder 202, here called the wrap address, is provided on line 209. The multiplexer 213 receives the absolute address from the line 207 and the line 2 as an input.
09 receives the wrap address and supplies the next destination address on line 210. A control signal, which indicates whether the calculated absolute address or wrap address is provided as an output, is provided on line 212 to multiplexer 2
13 is supplied. The signal on line 212 comes from the output of multiplexer 214, which
14 operates according to the sign bit of M from line 211, where the sign bit of M is 1 (M is a negative number),
The logic is selected for when the sign bit of M is 0 (M is a positive number).

【0030】Mの符号ビットが1である場合には、イン
バータ205の出力が制御信号としてライン212に供
給される。インバータ205の入力は、第1の加算器2
01からライン206へのキャリーアウト信号である。
したがって、Mの符号ビットが1の場合、第1の加算器
201のキャリーアウトが0ならばラップアドレスが選
択され、第1の加算器201のキャリーアウトが1なら
ば絶対アドレスが選択される。
When the sign bit of M is 1, the output of inverter 205 is provided on line 212 as a control signal. The input of the inverter 205 is the first adder 2
Carry out signal from 01 to line 206.
Therefore, when the sign bit of M is 1, the wrap address is selected when the carry-out of the first adder 201 is 0, and the absolute address is selected when the carry-out of the first adder 201 is 1.

【0031】Mの符号ビットが0である場合には、OR
ゲート204の出力が制御信号としてライン212に供
給される。ORゲート204の入力は、第2の加算器2
02からライン208へのキャリーアウト信号と、第1
の加算器201からライン206へのキャリーアウト信
号とを含む。したがって、Mの符号ビットが0の場合、
ライン206および208のキャリーアウト信号の少な
くとも1つが1ならばラップアドレスが選択される。M
の符号ビットが0の場合、ライン206および208の
キャリーアウト信号の両方が0ならば絶対アドレスが選
択される。
If the sign bit of M is 0, OR
The output of gate 204 is provided on line 212 as a control signal. The input of the OR gate 204 is the second adder 2
Carry out signal from line 02 to line 208, first
Carry-out signal from the adder 201 to the line 206. Therefore, if the sign bit of M is 0,
A wrap address is selected if at least one of the carry out signals on lines 206 and 208 is one. M
If the sign bit of 0 is 0, then an absolute address is selected if both carry out signals on lines 206 and 208 are 0.

【0032】暗示上限境界を有するバッファが選択され
る場合には、暗示上限境界は、現在アドレスAの低位の
Nビットに1を連結することによって決定される。ここ
で、Nは長さパラメータLの先頭の“1”があるビット
位置である。Nは式2^(N−1)<=L<2^Nによ
っても決定できる。つまり、上限境界は2^Nの任意の
マルチプルに設定できる。Wビットを含むこのバッファ
のアドレスAは、このバッファの上限および下限境界を
位置決めするのに使用できる。このバッファの上限境界
は、左のAの高位のW−Nビットに右の低位のNビット
に1を連結することによって指定される。上限境界が決
定されると、下限境界はその上限境界からLを差し引く
ことによって決定される。したがって、下限境界は左の
Aの高位のW−Nビットに右の(L\)の低位のNビッ
トを連結して指定される。ここで、L\はLの1の補数
である。
If a buffer with an implied upper bound is selected, the implied upper bound is determined by concatenating a 1 to the low order N bits of the current address A. Here, N is a bit position where the leading "1" of the length parameter L is located. N can also be determined by the equation 2 ^ (N-1) <= L <2 ^ N. That is, the upper limit boundary can be set to an arbitrary multiple of 2 ^ N. Address A of this buffer containing the W bit can be used to locate the upper and lower bounds of this buffer. The upper bound of this buffer is specified by concatenating the high-order W-N bits of A on the left with a 1 on the low-order N bits of the right. Once the upper bound is determined, the lower bound is determined by subtracting L from the upper bound. Therefore, the lower bound is specified by concatenating the high-order W-N bits of A on the left with the low-order N bits of (L \) on the right. Here, L \ is the one's complement of L.

【0033】例えば:W=16で、Lが0000 00
00 0010 1011(2進数で16ビット)、こ
のバッファに対する現在アドレスAが0011 100
10101 1110であるケースを考える。この場合
N=6であり、暗示上限境界は0011 1001 0
111 1111であり、暗示下限境界は001110
01 0101 0100である。
For example: W = 16 and L is 00000000
00 0010 1011 (16 bits in binary), the current address A for this buffer is 0011 100
Consider the case of 10101 1110. In this case N = 6 and the implied upper bound is 0011 1001 0
111 1111 and the implied lower bound is 001110
01 0101 0100.

【0034】前述のように説明の簡略化のため、A、上
限境界および下限境界から高位のW−Nビットを除外
し、Aの低位のNビットを表すのにIを、上限境界を表
すのにFを、そして下限境界を表すのに(L\)を使用
する。Mは、現在アドレスIと次の目的のアドレスとの
間のオフセットである。Mは符号の付いた数であり、正
数または負数である。
As described above, for simplification of description, the high-order W-N bits are excluded from A, the upper limit boundary, and the lower limit boundary, and I is represented to represent the lower N bits of A, and the upper boundary is represented. , And (L \) to represent the lower bound. M is the offset between the current address I and the next destination address. M is a signed number and is a positive or negative number.

【0035】Mが正数の場合、円環状アドレス生成器が
使用する論理に関して、次の2つの状態が考えられる。
(1)I+M>=F+1の場合、および(2)I+M<
F+1の場合である。Mが正数で、I+M>=F+1あ
る状態1の場合。絶対アドレス(I+M)が上限境界
(F、すべて1)を上回る。次のアドレスをバッファの
低位領域にラップさせる必要がある。目的の(ラップ)
アドレスIは、絶対アドレスからバッファ長を差し引く
ことにより計算できる。その式はI+M−(L+1)で
あり、2の補体系ではI+M+(L\)に等しい。Mが
正数で、I+M<F+1である状態2の場合。絶対アド
レス(I+M)は、上限境界Fを上回らない。したがっ
て、目的のアドレスIはI+Mに等しい。
When M is a positive number, the following two states are possible with respect to the logic used by the annular address generator.
(1) When I + M> = F + 1, and (2) I + M <
This is the case of F + 1. In the case of state 1 in which M is a positive number and I + M> = F + 1. The absolute address (I + M) exceeds the upper boundary (F, all 1s). The next address needs to be wrapped in the lower area of the buffer. Objective (lap)
The address I can be calculated by subtracting the buffer length from the absolute address. The formula is I + M- (L + 1), which is equal to I + M + (L \) in the two complement system. In the case of state 2 where M is a positive number and I + M <F + 1. The absolute address (I + M) does not exceed the upper boundary F. Therefore, the target address I is equal to I + M.

【0036】ハードウェア実行の際、状態1(I+M>
=F+1)はI+Mから生成されるキャリーアウトによ
って示され、状態2(I+M>=L+1)はI+Mから
生成されるキャリーアウトがないことによって示され
る。Mが負数の場合、円環状アドレス生成器が使用する
論理に関して、次の3つの状態が考えられる。(1)I
+M<0の場合、(2)I+M<(L\)0の場合、お
よび(3)I+M>=(L\)の場合である。
During hardware execution, state 1 (I + M>
= F + 1) is indicated by the carryout generated from I + M, and state 2 (I + M> = L + 1) is indicated by the absence of the carryout generated from I + M. If M is negative, there are three possible states for the logic used by the toroid address generator. (1) I
+ M <0, (2) I + M <(L \) 0, and (3) I + M> = (L \).

【0037】Mが負数で、I+M<0である状態1の場
合。絶対アドレス(I+M)は負数であり、円環状バッ
ファの下限境界(L\)を下回る。したがって、次の目
的のアドレスをバッファの高位領域にラップさせる必要
がある。次の目的の(ラップ)アドレスIは、絶対アド
レスにバッファ長を加えることにより計算できる。その
式はI+M+L+1である。Mが負数で、I+M<(L
\)である状態2の場合。絶対アドレスは再び円環状バ
ッファの下限境界(L\)を下回る。したがって、次の
目的の(ラップ)アドレスIはI+M+L+1になる。
Mが負数で、I+M>=(L\)である状態3の場合。
絶対アドレス(I+M)が下限境界(L\)を下回らな
い。したがって、目的のアドレスIはI+Mに等しい。
For state 1 where M is a negative number and I + M <0. The absolute address (I + M) is a negative number and falls below the lower bound (L \) of the circular buffer. Therefore, it is necessary to wrap the next target address in the higher area of the buffer. The next target (wrap) address I can be calculated by adding the buffer length to the absolute address. The formula is I + M + L + 1. M is a negative number and I + M <(L
In case of state 2 which is \). The absolute address again falls below the lower bound (L \) of the circular buffer. Therefore, the next target (wrap) address I becomes I + M + L + 1.
For state 3 where M is a negative number and I + M> = (L \).
The absolute address (I + M) does not fall below the lower boundary (L \). Therefore, the target address I is equal to I + M.

【0038】ハードウェア実行については、Mが負数で
ある状態1(I+M<0)はI+Mから生成されるキャ
リーアウトが無いことによって示すことができ、Mが負
数である状態2(I+M<(L\))はI+M+L+1
から生成されるキャリーアウトが無いことによって示す
ことができる。
For hardware execution, State 1 (I + M <0), where M is a negative number, can be indicated by the lack of carry out generated from I + M, and State 2 (M + N <(L \)) Is I + M + L + 1
It can be indicated by the lack of carry out generated from.

【0039】したがって、暗示上限アドレス境界円環状
バッファのハードウェア実行は、図4に示すように論理
的に実行される。図4の論理は、第1の加算器301お
よび第2の加算器302を含む。第1の加算器301へ
の入力には、値IおよびMがある。この中で絶対アドレ
スと呼ばれる第1の加算器301の出力が、ライン30
7に供給され、I+Mに等しい。加算器301からのキ
ャリーアウト信号がライン306に供給される。第2の
加算器302への入力には、排他的NORゲート303
の出力および第1の加算器301からライン307への
出力がある。排他的NORゲート303への入力には、
長さの値LおよびアドレスオフセットMの符号ビットが
ある。第2の加算器302は、Mの符号ビットをキャリ
ーインとしてライン311から受信する。この中でラッ
プアドレスと呼ばれる第2の加算器302の出力は、ラ
イン309に供給される。マルチプレクサ313は、入
力として、ライン307から絶対アドレスを、ライン3
09からラップアドレスを受信し、次の目的のアドレス
をライン310へ供給する。計算された絶対アドレスお
よびラップアドレスのどちらが出力として供給されるか
を示す制御信号が、ライン312からマルチプレクサ3
13に供給される。ライン312の信号は、マルチプレ
クサ314の出力から供給され、このマルチプレクサ3
14は、ライン311からのMの符号ビットに応じて動
作し、Mの符号ビットが1(Mが負数)である場合と、
Mの符号ビットが0(Mが正数)である場合とに対して
論理を選択する。
Therefore, the hardware implementation of the implicit upper bound address boundary circular buffer is logically performed as shown in FIG. The logic of FIG. 4 includes a first adder 301 and a second adder 302. At the input to the first adder 301 are the values I and M. The output of the first adder 301, called the absolute address, is
7 and is equal to I + M. The carry-out signal from adder 301 is provided on line 306. The input to the second adder 302 is the exclusive NOR gate 303.
And the output from the first adder 301 to line 307. The inputs to the exclusive NOR gate 303 are:
There are sign bits for the length value L and the address offset M. The second adder 302 receives the M code bits as a carry-in from line 311. The output of the second adder 302, here called the wrap address, is provided on line 309. Multiplexer 313 receives as input the absolute address from line 307, line 3
09 receives the wrap address and supplies the next destination address on line 310. A control signal, which indicates whether the calculated absolute address or wrap address is provided as an output, is provided from line 312 to multiplexer 3
13 is supplied. The signal on line 312 comes from the output of multiplexer 314, which
14 operates according to the sign bit of M from line 311, when the sign bit of M is 1 (M is a negative number),
The logic is selected for when the sign bit of M is 0 (M is a positive number).

【0040】Mの符号ビットが1である場合には、NA
NDゲート305の出力が制御信号としてライン312
に供給される。NANDゲート305の入力は、第1の
加算器301からライン306へのキャリーアウト信号
と、第2の加算器302からライン308へのキャリー
アウト信号とを含む。したがって、Mの符号ビットが1
の場合、第1の加算器301および第2の加算器302
の少なくとも1つのキャリーアウト信号が0ならばラッ
プアドレスが選択され、第1の加算器301および第2
の加算器302のキャリーアウト信号の両方が1ならば
絶対アドレスが選択される。
If the sign bit of M is 1, NA
The output of the ND gate 305 is used as a control signal on the line 312.
Is supplied to. The inputs of NAND gate 305 include a carry-out signal from first adder 301 to line 306 and a carry-out signal from second adder 302 to line 308. Therefore, the sign bit of M is 1
, The first adder 301 and the second adder 302
Of at least one carry-out signal of 0, the wrap address is selected, and the first adder 301 and the second adder 301
If both carry-out signals of the adder 302 of 1 are 1, the absolute address is selected.

【0041】Mの符号ビットが0である場合には、第1
の加算器301のライン306へのキャリーアウトが制
御信号としてライン312に供給される。したがって、
Mの符号ビットが0の場合、ライン306のキャリーア
ウト信号が1ならばラップアドレスが選択される。Mの
符号ビットが0の場合、ライン306のキャリーアウト
信号が0ならば絶対アドレスが選択される。
If the sign bit of M is 0, the first
The carry-out of the adder 301 of line 1 to line 306 is supplied to line 312 as a control signal. Therefore,
If the sign bit of M is 0, the wrap address is selected if the carry-out signal on line 306 is 1. If the sign bit of M is 0, the absolute address is selected if the carry out signal on line 306 is 0.

【0042】図5は、2つの加算器401、402が下
限境界スキームおよび上限境界スキームによって共有さ
れた、考えられる1つの実施形態のブロック図である。
この装置には、4つの入力と1つの出力とがある。入力
は: 1.バッファ長L409、これはプログラム値である
(実際のバッファ長はL+1である)。 2.現在アクセスアドレスA407、円環状バッファの
境界はAおよびLにおいて暗示的である。 3.現在アドレス407および目的のアドレス414の
間のオフセットM408。Mは符号付きの値である。M
の絶対値はLより大きくない。 4.ライン431からのプログラム可能制御信号。これ
は、暗示下限境界または暗示上限境界に基づいたバッフ
ァを使用すべきか否かを選択するために使用される。出
力は: 1.次の目的のアドレス414。これは、次のアドレス
生成のために現在アドレス407として使用される。
FIG. 5 is a block diagram of one possible embodiment in which two adders 401, 402 are shared by a lower bound scheme and an upper bound scheme.
The device has four inputs and one output. Input is: 1. Buffer length L409, which is a program value (actual buffer length is L + 1). 2. The boundary of the current access address A407, circular buffer is implicit in A and L. 3. Offset M408 between current address 407 and destination address 414. M is a signed value. M
The absolute value of is not greater than L. 4. Programmable control signal from line 431. This is used to select whether to use a buffer based on the implied lower bound or the implied upper bound. The output is: 1. Next destination address 414. This is used as the current address 407 for the next address generation.

【0043】加算器401は、A407とM408との
加算を実行し、その和412―絶対アドレスを生成し、
各ビット荷重からキャリーアウト419を生成する。X
NOR403は、M408の符号ビット410が0に等
しい場合に、L409の逆を取るために使用される。M
408の符号ビット410が1に等しい場合には、XN
OR403の出力411がL409に等しくなる。加算
器402は、絶対アドレス412、XNOR403の出
力411、および最下位のビットにおいてM408の符
号ビット410に等しいキャリーインの加算を実行し、
その和413−ラップアドレスと、各ビット荷重からキ
ャリーアウト420とを生成する。目的のアドレス41
4は、制御信号418を使用してマルチプレクサ404
によって絶対アドレス412またはラップアドレス41
3から選択される。プライオリティセレクタ421は、
L409の先頭の“1”を検出することによって加算器
401のキャリーアウト419からN番目のビットのキ
ャリーアウトを出力415として選択する。プライオリ
ティセレクタ422は、L409に応じてよって加算器
402のキャリーアウト420からN番目のビットのキ
ャリーアウトを出力416として選択する。ワイヤ43
1は、マルチプレクサ423の2つの入力の1つを選択
するのに使用され、ワイヤ431が0に等しい場合に
は、制御信号418はワイヤ425から受信したものと
なる。これは、このバッファが下限境界基準として定義
されていることも意味する。また、ワイヤ424が選択
されたなら、そのバッファは上限境界に基づいている。
The adder 401 executes addition of A407 and M408 to generate the sum 412-absolute address,
A carry out 419 is generated from each bit weight. X
NOR 403 is used to take the inverse of L409 when the sign bit 410 of M408 equals 0. M
If the sign bit 410 of 408 is equal to 1, then XN
The output 411 of the OR 403 becomes equal to L409. The adder 402 performs a carry-in addition equal to the sign bit 410 of M408 at the absolute address 412, the output 411 of the XNOR 403, and the least significant bit,
The carry-out 420 is generated from the sum 413-wrap address and each bit weight. Destination address 41
4 uses multiplexer 404 using control signal 418.
Depending on absolute address 412 or wrap address 41
It is selected from 3. The priority selector 421 is
The carry-out 419 of the adder 401 is selected as the output 415 from the carry-out 419 of the adder 401 by detecting the leading "1" of L409. The priority selector 422 selects the carry-out of the N-th bit from the carry-out 420 of the adder 402 as the output 416 according to L409. Wire 43
A 1 is used to select one of the two inputs of multiplexer 423, and if wire 431 is equal to 0, control signal 418 is the one received from wire 425. This also means that this buffer is defined as the lower boundary criterion. Also, if wire 424 is selected, its buffer is based on the upper bound.

【0044】ワイヤ431が0の場合には、このバッフ
ァは下限境界に基づいている。Mが正数であれば、ワイ
ヤ428が、マルチプレクサ426、ワイヤ425、お
よびマルチプレクサ423によって制御信号418とし
て選択される。加算器401が生成し、プライオリティ
セレクタ421を通過したキャリーアウト415、また
は、加算器402が生成し、プライオリティセレクタ4
22を通過したキャリーアウト416の少なくとも1つ
が設定されれば、加算器402の和413(ラップアド
レス)がマルチプレクサ404によって目的のアドレス
414として選択される。OR機能がORゲート430
によって実行される。ワイヤ428はORゲート430
の出力であり、マルチプレクサ426の入力でもある。
Mが負数であれば、ワイヤ427が、マルチプレクサ4
26、ワイヤ425、およびマルチプレクサ423によ
って制御信号418として選択される。加算器401が
生成し、プライオリティセレクタ421を通過したキャ
リーアウト415がクリアである場合には、加算器40
2の和413(ラップアドレス)が目的のアドレス41
4として選択される。インバータ429は、ワイヤ41
5のクリア状態を認識するのに使用され、ワイヤ427
はインバータ429の出力である。
When wire 431 is 0, this buffer is based on the lower bound. If M is a positive number, then wire 428 is selected as control signal 418 by multiplexer 426, wire 425, and multiplexer 423. The carry-out 415 generated by the adder 401 and passed through the priority selector 421, or generated by the adder 402 and transmitted by the priority selector 4
If at least one of the carry-outs 416 passed through 22 is set, the sum 413 (wrap address) of the adder 402 is selected as the target address 414 by the multiplexer 404. OR function is OR gate 430
Executed by Wire 428 is OR gate 430
Is also the input of multiplexer 426.
If M is negative, wire 427 causes multiplexer 4
26, wire 425, and multiplexer 423 to select as control signal 418. If the carry-out 415 generated by the adder 401 and passed through the priority selector 421 is clear, the adder 40
The target address 41 is the sum 413 (wrap address) of 2
Selected as 4. The inverter 429 uses the wire 41
Used to recognize the clear state of 5 and wire 427
Is the output of the inverter 429.

【0045】ワイヤ431が1に設定された場合には、
このバッファは上限境界基準である。Mが正数であれ
ば、ワイヤ415が、マルチプレクサ406、ワイヤ4
24、およびマルチプレクサ423によって制御信号4
18として選択される。加算器401が生成し、プライ
オリティセレクタ421を通過したキャリーアウト41
5が設定される場合には、加算器402の和413(ラ
ップアドレス)が、マルチプレクサ404によって次の
目的のアドレス414として選択され、そうでない場合
には、加算器401が生成した絶対アドレスが選択され
る。Mが負数であれば、ワイヤ417が、マルチプレク
サ406、ワイヤ424、およびマルチプレクサ423
によって制御信号418として選択される。加算器40
1が生成し、プライオリティセレクタ421を通過した
キャリーアウト415、または、加算器402が生成
し、プライオリティセレクタ422を通過したキャリー
アウト416の少なくとも1つが除去されれば、加算器
402の和413(ラップアドレス)がマルチプレクサ
404によって次の目的のアドレス414として選択さ
れ、そうでない場合には、絶対アドレスが選択される。
OR機能がNANDゲート405によって実行される。
ワイヤ417はNANDゲート405の出力であり、マ
ルチプレクサ406の入力である。
If the wire 431 is set to 1,
This buffer is the upper boundary criterion. If M is a positive number, then wire 415 is the multiplexer 406, wire 4
24 and control signal 4 by multiplexer 423
Selected as 18. Carry out 41 generated by adder 401 and passed through priority selector 421
5 is set, the sum 413 (wrap address) of the adder 402 is selected by the multiplexer 404 as the next target address 414, otherwise, the absolute address generated by the adder 401 is selected. To be done. If M is negative, wire 417 causes multiplexer 406, wire 424, and multiplexer 423.
Selected as control signal 418 by. Adder 40
If the carry-out 415 generated by 1 and passed through the priority selector 421 or at least one of the carry-outs 416 generated by the adder 402 and passed through the priority selector 422 is removed, the sum 413 (wrap Address) is selected as the next destination address 414 by the multiplexer 404, else the absolute address is selected.
The OR function is performed by NAND gate 405.
Wire 417 is the output of NAND gate 405 and the input of multiplexer 406.

【0046】本発明のある実施形態では、図6に示すよ
うに、暗示上限境界スキームが単独で使用される。図6
では、加算器501は、A507+M508を実行し、
絶対アドレス512を生成する。M508が正数である
(Mの符号ビット510が0に等しい)場合には、XN
ORゲート503は、L509の逆を取る。M508が
負数である(Mの符号ビット510が1に等しい)場合
には、XNOR503の出力511はL509に等し
い。加算器502は、絶対アドレス512、XNOR5
03の出力511、および最下位のビットにおいてMの
符号ビット510に等しいキャリーインの加算を実行す
る。加算器502の出力513はラップアドレスであ
り、絶対アドレスがバッファの境界を上回る場合に選択
される。目的の出力514は、制御信号518を使用し
てマルチプレクサ504によって絶対アドレス512ま
たはラップアドレス513から選択される。
In one embodiment of the invention, an implicit upper bounds scheme is used alone, as shown in FIG. Figure 6
Then, the adder 501 executes A507 + M508,
Generate an absolute address 512. XN if M508 is a positive number (sign bit 510 of M is equal to 0)
The OR gate 503 takes the opposite of L509. If M508 is a negative number (sign bit 510 of M equals 1), the output 511 of XNOR 503 equals L509. The adder 502 has an absolute address 512, XNOR5
The output 511 of 03 and the carry-in addition equal to the sign bit 510 of M in the least significant bit. The output 513 of adder 502 is a wrap address and is selected if the absolute address is above the buffer boundary. The desired output 514 is selected by the multiplexer 504 from the absolute address 512 or the wrap address 513 using the control signal 518.

【0047】Mが正数である場合には、信号515がマ
ルチプレクサ506によって制御信号518として選択
される。プライオリティセレクタ521は、L509の
先頭の“1”を検出することによって加算器501のキ
ャリーアウト519からN番目のビットのキャリーアウ
トを出力515として選択する。プライオリティセレク
タ521の出力515は、加算器501のN番目のビッ
トのキャリーアウト状態を表す。加算器501からのN
番目のキャリーアウトにおける“1”は、絶対アドレス
(A+M)がバッファの上限境界を上回り、ラップアド
レス513が出力514として選択されることを意味す
る。それ以外には絶対アドレス512が出力514とし
て選択される。
If M is a positive number, signal 515 is selected by multiplexer 506 as control signal 518. The priority selector 521 selects the carry-out of the Nth bit from the carry-out 519 of the adder 501 as the output 515 by detecting the leading “1” of L509. The output 515 of the priority selector 521 represents the carry-out state of the Nth bit of the adder 501. N from the adder 501
A "1" in the second carry out means that the absolute address (A + M) is above the upper boundary of the buffer and the wrap address 513 is selected as the output 514. Otherwise, absolute address 512 is selected as output 514.

【0048】Mが負数である場合には、信号517がマ
ルチプレクサ506によって制御信号518として選択
される。この場合には、515、516という2つのN
番目のビットのキャリーアウト信号が使用される。ライ
ン515および516はNANDゲート505へ供給さ
れ、このNANDゲート505は出力として信号517
を供給する。信号515の“0”という値は、A+Mが
生成したキャリーアウトは無いことを示し、これは絶対
アドレス512が負値であり、バッファの下限境界を下
回ることを意味する。したがって、ラップアドレス51
3が次の目的のアドレス出力514と見なされる。プラ
イオリティセレクタ522は、L509の先頭の“1”
を検出することによって加算器502のキャリーアウト
520からN番目のビットのキャリーアウトを出力51
6として選択する。信号516の“0”という値は、A
+M<(L\)を意味する加算器502が生成したキャ
リーアウトは無いことを示し、絶対アドレスはバッファ
の下限境界を下回る。この場合には、ラップアドレス5
13が次の目的のアドレス出力514として選択され
る。2つのラップ状態が一致しない場合には、絶対アド
レス512が次の目的のアドレス出力514として選択
される。
If M is a negative number, signal 517 is selected by multiplexer 506 as control signal 518. In this case, two Ns 515 and 516
The carry out signal of the th bit is used. Lines 515 and 516 are provided to NAND gate 505, which outputs as signal 517.
To supply. A value of "0" in signal 515 indicates that there is no carry out generated by A + M, which means that absolute address 512 is negative and below the lower bound of the buffer. Therefore, the wrap address 51
3 is considered the next destination address output 514. The priority selector 522 uses the leading “1” of L509.
The carry-out 520 of the adder 502 to output the carry-out of the Nth bit 51.
Select as 6. The value “0” of the signal 516 is A
It indicates that there is no carry out generated by the adder 502, which means + M <(L \), and the absolute address is below the lower bound of the buffer. In this case, wrap address 5
13 is selected as the next destination address output 514. If the two wrap states do not match, then absolute address 512 is selected as the next destination address output 514.

【0049】要約すると、線形メモリ空間において円環
状バッファにアクセスするためのアドレスを生成するア
ドレス生成器が提供される。このバッファは、プログラ
ムされた長さ(L+1)を有し、バッファベースが暗示
下限境界または暗示上限境界で定義されている。円環状
バッファを定義するのに暗示下限境界が使用される場合
には、下限境界は低位のNビットがすべて0のアドレス
となる。ここでNは、Lの先頭の1があるビット位置で
ある。円環状バッファを定義するのに暗示上限境界が使
用される場合には、上限境界は低位のNビットがすべて
1のアドレスとなる。絶対アドレスは現在アドレスAに
オフセットMを加えることによって計算される。ここで
Mは符号の付いた数であり、Mの絶対値はLより小さ
い。絶対アドレスがバッファの境界を上回る場合には、
バッファ長(L+1)を加えたり差し引いたりすること
によって境界の別のサイドにラップする。このように、
次の目的のアドレスがバッファ内に常に存在する。この
ようなアドレス生成器は、デジタル信号処理アプリケー
ションだけでなく、データ処理の他のアプリケーション
にも使用される。
In summary, an address generator is provided that generates an address for accessing a circular buffer in linear memory space. This buffer has a programmed length (L + 1) and the buffer base is defined by an implied lower bound or an implied upper bound. If an implied lower bound is used to define a toroidal buffer, the lower bound will be the address of all low N bits of 0. Here, N is a bit position where the leading 1 of L is located. If an implied upper bound is used to define a toroidal buffer, then the upper bound will be an address with all 1s in the low N bits. The absolute address is calculated by adding the offset M to the current address A. Here, M is a signed number, and the absolute value of M is smaller than L. If the absolute address exceeds the buffer boundary,
Wrap on another side of the boundary by adding or subtracting the buffer length (L + 1). in this way,
The next target address is always in the buffer. Such address generators are used not only in digital signal processing applications, but also in other data processing applications.

【0050】本発明を好適な実施形態および例を参照し
て以上で詳細に開示してきたが、これらの例は制約的な
意味ではなく例証的な意味で示したものであることを理
解されたい。本発明の精神および特許請求の範囲内にあ
る変更や組合せが、容易に当業者の頭に浮かぶであろう
ことが予期される。
While the present invention has been disclosed in detail above with reference to preferred embodiments and examples, it is to be understood that these examples are provided in an illustrative rather than a restrictive sense. . It is anticipated that modifications and combinations within the spirit and scope of the invention will readily occur to those skilled in the art.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の上下限円環状アドレス生成器を備えた
集積回路プロセッサの簡略ブロック図である。
FIG. 1 is a simplified block diagram of an integrated circuit processor with an upper and lower ring address generator of the present invention.

【図2】(a)は従来技術による暗示下限アドレス境界
円環状バッファのアドレス範囲を示し、(b)は本発明
の実施形態である暗示上限アドレス境界円環状バッファ
のアドレス範囲を示し、(c)は本発明の実施形態であ
る結合上下限アドレス境界のアドレス範囲を示す。
FIG. 2A shows an address range of an implicit lower limit address boundary circular buffer according to the related art, FIG. 2B shows an address range of an implicit upper address boundary circular buffer according to an embodiment of the present invention, and FIG. ) Indicates an address range of a combination upper and lower limit address boundary according to the embodiment of the present invention.

【図3】従来技術の暗示下限アドレス境界サーキュラア
ドレッシングによるアドレス計算の簡略論理図である。
FIG. 3 is a simplified logic diagram of address calculation by prior art implicit lower bound address boundary circular addressing.

【図4】本発明の実施形態である暗示上限アドレス境界
サーキュラアドレッシングによるアドレス計算の簡略論
理図である。
FIG. 4 is a simplified logical diagram of address calculation by implicit upper limit address boundary circular addressing according to an embodiment of the present invention.

【図5】本発明の実施形態である結合暗示上下限アドレ
ス境界サーキュラアドレッシングによるアドレス計算の
論理図である。
FIG. 5 is a logical diagram of address calculation by combined implicit upper and lower limit address boundary circular addressing according to an embodiment of the present invention.

【図6】本発明の実施形態である暗示上限アドレス境界
サーキュラアドレッシングによるアドレス計算の論理図
であり、位置Nにおけるキャリーアウトを選択するプラ
イオリティセレクタブロックが示されている。
FIG. 6 is a logical diagram of address calculation by implicit upper limit address boundary circular addressing, which is an embodiment of the present invention, and shows a priority selector block for selecting carry out at position N;

Claims (26)

【特許請求の範囲】[Claims] 【請求項1】 メモリの円環状アドレスバッファのアド
レスを生成する装置であって、 現在アドレスA、アドレスオフセットM、バッファ長の
値Lおよび制御信号を受信する入力と、 前記A、M、およびLに応じて、前記メモリの位置に対
する第1のメモリアドレスおよび第2のメモリアドレス
を計算し、前記制御信号に応じて前記第1および第2の
メモリアドレスの1つを提供するように構成された論理
とを含み、 前記第1のメモリアドレスが、アドレス境界Xを有し、
Xから(X+L)までのアドレスを含む第1の円環状バ
ッファの前記現在アドレスAと前記アドレスオフセット
Mの和と一致し、前記第2のメモリアドレスが、アドレ
ス境界Yを有し、Yから(Y―L)までのアドレスを含
む第2の円環状バッファの前記現在アドレスAと前記ア
ドレスオフセットMの和と一致することを特徴とする装
置。
1. A device for generating an address of a circular address buffer of a memory, the device comprising: an input for receiving a current address A, an address offset M, a buffer length value L and a control signal; and A, M and L. In response to the control signal, a first memory address and a second memory address for the memory location are calculated, and one of the first and second memory addresses is provided in response to the control signal. Logic and the first memory address has an address boundary X,
Matches the sum of the current address A and the address offset M of the first circular buffer containing addresses X to (X + L), the second memory address having an address boundary Y, and from Y to ( Y-L), which is equal to the sum of the current address A and the address offset M of the second circular buffer containing addresses.
【請求項2】 請求項1に記載の装置において、 前記Lは、2進数で表した時にビット位置Nに先頭の1
を有する値であり、前記アドレス境界Xが前記現在アド
レスAの低位のNビットを0で置換することによって計
算され、前記アドレス境界Yが前記現在アドレスAの低
位のNビットを1で置換することによって計算されるこ
とを特徴とする装置。
2. The apparatus according to claim 1, wherein the L is a leading 1 at a bit position N when represented by a binary number.
The address boundary X is calculated by replacing the low order N bits of the current address A with 0, and the address boundary Y replaces the low order N bits of the current address A with 1. A device characterized by being calculated by.
【請求項3】 請求項1に記載の装置において、 前記入力が、前記A、MおよびLを格納するレジスタを
含むことを特徴とする装置。
3. The apparatus of claim 1, wherein the input comprises a register storing the A, M and L.
【請求項4】 請求項1に記載の装置において、 前記入力が、前記A、M、Lおよび前記制御信号を格納
するレジスタ含むことを特徴とする装置。
4. The apparatus of claim 1, wherein the inputs include registers for storing the A, M, L and the control signals.
【請求項5】 請求項1に記載の装置において、 前記論理が、 キャリーアウト信号によって和A+Mに等しい第1の出
力を生成する第1の加算器と、 前記Mの符号が正数である時に第1のラップアドレス和
(A+M)−(L+1)に等しいか、または前記Mの符
号が負数である時に第2のラップアドレス和(A+M)
+(L+1)に等しい第2の出力を、キャリーアウト信
号によって生成する第2の加算器と、 前記第1および第2の加算器からの前記キャリーアウト
信号に応じて前記第1の出力または前記第2の出力を選
択する選択論理とを含むことを特徴とする装置。
5. The apparatus of claim 1, wherein the logic produces a first output equal to the sum A + M by a carry-out signal, and wherein the sign of M is positive. The second wrap address sum (A + M) is equal to the first wrap address sum (A + M)-(L + 1), or when the sign of M is a negative number.
A second adder that produces a second output equal to + (L + 1) by a carry-out signal; and the first output or the first output depending on the carry-out signal from the first and second adders. A selection logic for selecting the second output.
【請求項6】 請求項1に記載の装置において、 前記Lは、2進数で表した時にビット位置Nに先頭の1
を有する値であり、前記アドレス境界Xが前記現在アド
レスAの低位のNビットを0で置換することによって計
算され、前記アドレス境界Yが前記現在アドレスAの低
位のNビットを1で置換することによって計算され、 前記論理が、 前記ビット位置Nにおいて、キャリーアウト信号によっ
て和A+Mに等しい第1の出力を生成する第1の加算器
と、 前記Mの符号が正数である時に第1のラップアドレス和
(A+M)−(L+1)に等しいか、または前記Mの符
号が負数である時に第2のラップアドレス和(A+M)
+(L+1)に等しい第2の出力を、前記ビット位置N
において、キャリーアウト信号によって生成する第2の
加算器と、 前記第1および第2の加算器からの前記キャリーアウト
信号と、前記制御信号とに応じて、前記第1の出力また
は前記第2の出力を選択する選択論理とを含むことを特
徴とする装置。
6. The apparatus according to claim 1, wherein the L is a leading 1 at a bit position N when represented by a binary number.
The address boundary X is calculated by replacing the low order N bits of the current address A with 0, and the address boundary Y replaces the low order N bits of the current address A with 1. A first adder for producing a first output equal to the sum A + M by the carry-out signal at the bit position N, and a first wrap when the sign of M is positive. The second wrap address sum (A + M) when the sum of the addresses is equal to (A + M)-(L + 1) or the sign of M is a negative number.
A second output equal to + (L + 1) is sent to the bit position N
In a second adder generated by a carry-out signal, the carry-out signal from the first and second adders, and the control signal, the first output or the second output. An apparatus comprising selection logic for selecting an output.
【請求項7】 請求項6に記載の装置において、 前記選択論理が、 前記制御信号が前記第1のメモリアドレスに対して設定
され、前記アドレスオフセットが正数であり、前記第1
の加算器からの前記キャリーアウトも前記第2の加算器
からの前記キャリーアウトも1でない場合、または、 前記制御信号が前記第1のメモリアドレスに対して設定
され、前記アドレスオフセットが負数であり、前記第1
の加算器からの前記キャリーアウトが1である場合、ま
たは、 前記制御信号が前記第2のメモリアドレスに対して設定
され、前記アドレスオフセットが正数であり、前記第1
の加算器からの前記キャリーアウトが0である場合、ま
たは、 前記制御信号が前記第2のメモリアドレスに対して設定
され、前記アドレスオフセットが負数であり、前記第1
の加算器および前記第2の加算器の両方からの前記キャ
リーアウトが1である場合に、 前記第1の加算器の出力を選択し、 前記制御信号が前記第1のメモリアドレスに対して設定
され、前記アドレスオフセットが正数であり、前記第1
の加算器または前記第2の加算器の少なくとも1つから
の前記キャリーアウトが1である場合、または、 前記制御信号が前記第1のメモリアドレスに対して設定
され、前記アドレスオフセットが負数であり、前記第1
の加算器からの前記キャリーアウトが0である場合、ま
たは、 前記制御信号が前記第2のメモリアドレスに対して設定
され、前記アドレスオフセットが正数であり、前記第1
の加算器からの前記キャリーアウトが1である場合、ま
たは、 前記制御信号が前記第2のメモリアドレスに対して設定
され、前記アドレスオフセットが負数であり、前記第1
の加算器または前記第2の加算器の少なくとも1つから
の前記キャリーアウトが0である場合に、 前記第2の加算器の出力を選択するように構成されるこ
とを特徴とする装置。
7. The apparatus according to claim 6, wherein the selection logic is configured such that the control signal is set to the first memory address, the address offset is a positive number, and the first offset is a positive number.
If neither the carry-out from the adder nor the carry-out from the second adder is 1, or the control signal is set for the first memory address and the address offset is a negative number. , The first
If the carry-out from the adder is 1, or the control signal is set to the second memory address and the address offset is a positive number,
If the carry-out from the adder is 0, or the control signal is set to the second memory address and the address offset is a negative number,
Select the output of the first adder when the carry-out from both the adder and the second adder is 1, and the control signal is set to the first memory address. And the address offset is a positive number, the first
The carry-out from at least one of the adders or the second adders is 1, or the control signal is set to the first memory address and the address offset is a negative number. , The first
If the carry-out from the adder is 0, or the control signal is set to the second memory address and the address offset is a positive number, the first
If the carry-out from the adder is 1, or the control signal is set to the second memory address and the address offset is a negative number,
Of the second adder or at least one of the second adders is 0, the apparatus is configured to select the output of the second adder.
【請求項8】 メモリの暗示上限アドレス境界を有する
円環状アドレスバッファのアドレスを生成する装置であ
って、 現在アドレスA、アドレスオフセットM、バッファ長の
値Lを受信する入力と、 前記A、M、およびLに応じて、前記メモリの位置に対
するメモリアドレスを計算し、前記メモリアドレスを提
供するように構成された論理とを含み、 前記メモリアドレスが、アドレス境界Yを有し、Yから
(Y―L)までのアドレスを含む円環状バッファの前記
現在アドレスAと前記アドレスオフセットMの和と一致
することを特徴とする装置。
8. A device for generating an address of an annular address buffer having an implied upper limit address boundary of a memory, the device comprising: an input for receiving a current address A, an address offset M, and a buffer length value L; , And L for calculating a memory address for the memory location and providing the memory address, the memory address having an address boundary Y, from Y to (Y A device which is equal to the sum of the current address A and the address offset M of the circular buffer containing addresses up to -L).
【請求項9】 請求項8に記載の装置において、 前記Lは、2進数で表した時にビット位置Nに先頭の1
を有する値であり、前記アドレス境界Yが前記現在アド
レスAの低位のNビットを1で置換することによって計
算されることを特徴とする装置。
9. The apparatus according to claim 8, wherein the L is a leading 1 at a bit position N when represented by a binary number.
And the address boundary Y is calculated by replacing the low order N bits of the current address A with one.
【請求項10】 請求項8に記載の装置において、 前記入力が、前記A、MおよびLを格納するレジスタを
含むことを特徴とする装置。
10. The apparatus according to claim 8, wherein the input comprises a register for storing the A, M and L.
【請求項11】 請求項8に記載の装置において、 前記論理が、 キャリーアウト信号によって和A+Mに等しい第1の出
力を生成する第1の加算器と、 前記Mの符号が正数である時に第1のラップアドレス和
(A+M)−(L+1)に等しいか、または前記Mの符
号が負数である時に第2のラップアドレス和(A+M)
+(L+1)に等しい第2の出力を、キャリーアウト信
号によって生成する第2の加算器と、 前記第1および第2の加算器からの前記キャリーアウト
信号に応じて前記第1の出力または前記第2の出力を選
択する選択論理とを含むことを特徴とする装置。
11. The apparatus of claim 8, wherein the logic is a first adder that produces a first output equal to the sum A + M according to a carry-out signal; and when the sign of M is positive. The second wrap address sum (A + M) is equal to the first wrap address sum (A + M)-(L + 1), or when the sign of M is a negative number.
A second adder that produces a second output equal to + (L + 1) by a carry-out signal; and the first output or the first output depending on the carry-out signal from the first and second adders. A selection logic for selecting the second output.
【請求項12】 請求項8に記載の装置において、 前記Lは、2進数で表した時にビット位置Nに先頭の1
を有する値であり、前記アドレス境界Xが前記現在アド
レスAの低位のNビットを0で置換することによって計
算され、前記アドレス境界Yが前記現在アドレスAの低
位のNビットを1で置換することによって計算され、 前記論理が、 前記ビット位置Nにおいて、キャリーアウト信号によっ
て和A+Mに等しい第1の出力を生成する第1の加算器
と、 前記Mの符号が正数である時に第1のラップアドレス和
(A+M)−(L+1)に等しいか、または前記Mの符
号が負数である時に第2のラップアドレス和(A+M)
+(L+1)に等しい第2の出力を、前記ビット位置N
において、キャリーアウト信号によって生成する第2の
加算器と、 前記第1および第2の加算器からの前記キャリーアウト
信号に応じて、前記第1の出力または前記第2の出力を
選択する選択論理とを含むことを特徴とする装置。
12. The apparatus according to claim 8, wherein the L is a leading 1 at a bit position N when represented by a binary number.
The address boundary X is calculated by replacing the low order N bits of the current address A with 0, and the address boundary Y replaces the low order N bits of the current address A with 1. A first adder for producing a first output equal to the sum A + M by the carry-out signal at the bit position N, and a first wrap when the sign of M is positive. The second wrap address sum (A + M) when the sum of the addresses is equal to (A + M)-(L + 1) or the sign of M is a negative number.
A second output equal to + (L + 1) is sent to the bit position N
A second adder generated by a carry-out signal, and a selection logic for selecting the first output or the second output according to the carry-out signal from the first and second adders. A device comprising:
【請求項13】 請求項12に記載の装置において、 前記選択論理が、 前記アドレスオフセットが正数であり、前記第1の加算
器からの前記キャリーアウトが0である場合、または、 前記アドレスオフセットが負数であり、前記第1の加算
器および前記第2の加算器の両方からの前記キャリーア
ウトが1である場合に、前記第1の加算器の出力を選択
し、 前記アドレスオフセットが正数であり、前記第1の加算
器からの前記キャリーアウトが1である場合、または、 前記アドレスオフセットが負数であり、前記第1の加算
器または前記第2の加算器の少なくとも1つからの前記
キャリーアウトが0である場合に、前記第2の加算器の
出力を選択するよう構成されることを特徴とする装置。
13. The apparatus according to claim 12, wherein the selection logic is configured such that the address offset is a positive number and the carry-out from the first adder is 0, or the address offset. Is a negative number and the carry-out from both the first and second adders is 1, selecting the output of the first adder and the address offset is a positive number. And the carry-out from the first adder is 1, or the address offset is negative and the carry-out from at least one of the first adder or the second adder is A device configured to select the output of the second adder if the carry-out is zero.
【請求項14】 集積回路であって、 プロセッサと、 現在アドレスA、アドレスオフセットM、バッファ長の
値Lを格納する、前記プロセッサに結合されたレジスタ
と、 メモリと、 前記メモリのアドレスを生成する、前記プロセッサに結
合されたアドレス生成器とを含み、 前記アドレス生成器が、前記A、M、およびLに応じ
て、前記メモリの位置に対する第1のメモリアドレスお
よび第2のメモリアドレスを計算し、制御信号に応じて
前記第1および第2のメモリアドレスの1つを提供する
ように構成され、 前記第1のメモリアドレスが、アドレス境界Xを有し、
Xから(X+L)までのアドレスを含む第1の円環状バ
ッファの前記現在アドレスAと前記アドレスオフセット
Mの和と一致し、前記第2のメモリアドレスが、アドレ
ス境界Yを有し、Yから(Y―L)までのアドレスを含
む第2の円環状バッファの前記現在アドレスAと前記ア
ドレスオフセットMの和と一致することを特徴とする集
積回路。
14. An integrated circuit comprising: a processor, a register coupled to the processor for storing a current address A, an address offset M, and a buffer length value L; a memory; and an address of the memory. , An address generator coupled to the processor, the address generator calculating a first memory address and a second memory address for the memory location in response to the A, M, and L. , Configured to provide one of the first and second memory addresses in response to a control signal, the first memory address having an address boundary X,
Matches the sum of the current address A and the address offset M of the first circular buffer containing addresses X to (X + L), the second memory address having an address boundary Y, and from Y to ( Y-L), an integrated circuit which is equal to the sum of the current address A and the address offset M of the second circular buffer.
【請求項15】 請求項14に記載の集積回路におい
て、 前記Lは、2進数で表した時にビット位置Nに先頭の1
を有する値であり、前記アドレス境界Xが前記現在アド
レスAの低位のNビットを0で置換することによって計
算され、前記アドレス境界Yが前記現在アドレスAの低
位のNビットを1で置換することによって計算されるこ
とを特徴とする集積回路。
15. The integrated circuit according to claim 14, wherein the L is a leading 1 at a bit position N when represented by a binary number.
The address boundary X is calculated by replacing the low order N bits of the current address A with 0, and the address boundary Y replaces the low order N bits of the current address A with 1. An integrated circuit characterized by being calculated by.
【請求項16】 請求項14に記載の集積回路におい
て、 前記プロセッサが、前記レジスタに前記値A、Mおよび
Lを格納する命令に応じるデコーダを含むことを特徴と
する集積回路。
16. The integrated circuit according to claim 14, wherein the processor includes a decoder responsive to an instruction to store the values A, M and L in the register.
【請求項17】 請求項14に記載の集積回路におい
て、 前記値Aおよび前記制御信号が前記レジスタの単一のレ
ジスタに格納されることを特徴とする集積回路。
17. The integrated circuit according to claim 14, wherein the value A and the control signal are stored in a single register of the register.
【請求項18】 請求項14に記載の集積回路におい
て、 前記アドレス生成器が、 キャリーアウト信号によって和A+Mに等しい第1の出
力を生成する第1の加算器と、 前記Mの符号が正数である時に第1のラップアドレス和
(A+M)−(L+1)に等しいか、または前記Mの符
号が負数である時に第2のラップアドレス和(A+M)
+(L+1)に等しい第2の出力を、キャリーアウト信
号によって生成する第2の加算器と、 前記第1および第2の加算器からの前記キャリーアウト
信号に応じて前記第1の出力または前記第2の出力を選
択する選択論理とを含むことを特徴とする集積回路。
18. The integrated circuit according to claim 14, wherein the address generator generates a first output equal to a sum A + M according to a carry-out signal, and the sign of M is a positive number. Is equal to the first wrap address sum (A + M)-(L + 1), or when the sign of M is a negative number, the second wrap address sum (A + M)
A second adder that produces a second output equal to + (L + 1) by a carry-out signal; and the first output or the first output depending on the carry-out signal from the first and second adders. An integrated circuit including a selection logic for selecting a second output.
【請求項19】 請求項14に記載の集積回路におい
て、 前記Lは、2進数で表した時にビット位置Nに先頭の1
を有する値であり、前記アドレス境界Xが前記現在アド
レスAの低位のNビットを0で置換することによって計
算され、前記アドレス境界Yが前記現在アドレスAの低
位のNビットを1で置換することによって計算され、 前記アドレス生成器が、 前記ビット位置Nにおいて、キャリーアウト信号によっ
て和A+Mに等しい第1の出力を生成する第1の加算器
と、 前記Mの符号が正数である時に第1のラップアドレス和
(A+M)−(L+1)に等しいか、または前記Mの符
号が負数である時に第2のラップアドレス和(A+M)
+(L+1)に等しい第2の出力を、前記ビット位置N
において、キャリーアウト信号によって生成する第2の
加算器と、 前記第1および第2の加算器からの前記キャリーアウト
信号と、前記制御信号とに応じて、前記第1の出力また
は前記第2の出力を選択する選択論理とを含むことを特
徴とする集積回路。
19. The integrated circuit according to claim 14, wherein the L is a leading 1 at a bit position N when represented by a binary number.
The address boundary X is calculated by replacing the low order N bits of the current address A with 0, and the address boundary Y replaces the low order N bits of the current address A with 1. A first adder for generating, at the bit position N, a first output equal to the sum A + M by the carry-out signal, the address generator calculating a first output when the sign of M is a positive number; Wrap address sum (A + M)-(L + 1), or the second wrap address sum (A + M) when the sign of M is negative.
A second output equal to + (L + 1) is sent to the bit position N
In a second adder generated by a carry-out signal, the carry-out signal from the first and second adders, and the control signal, the first output or the second output. An integrated circuit comprising selection logic for selecting an output.
【請求項20】 請求項19に記載の集積回路におい
て、 前記選択論理が、 前記制御信号が前記第1のメモリアドレスに対して設定
され、前記アドレスオフセットが正数であり、前記第1
の加算器からの前記キャリーアウトも前記第2の加算器
からの前記キャリーアウトも1でない場合、または、 前記制御信号が前記第1のメモリアドレスに対して設定
され、前記アドレスオフセットが負数であり、前記第1
の加算器からの前記キャリーアウトが1である場合、ま
たは、 前記制御信号が前記第2のメモリアドレスに対して設定
され、前記アドレスオフセットが正数であり、前記第1
の加算器からの前記キャリーアウトが0である場合、ま
たは、 前記制御信号が前記第2のメモリアドレスに対して設定
され、前記アドレスオフセットが負数であり、前記第1
の加算器および前記第2の加算器の両方からの前記キャ
リーアウトが1である場合に、 前記第1の加算器の出力を選択し、 前記制御信号が前記第1のメモリアドレスに対して設定
され、前記アドレスオフセットが正数であり、前記第1
の加算器または前記第2の加算器の少なくとも1つから
の前記キャリーアウトが1である場合、または、 前記制御信号が前記第1のメモリアドレスに対して設定
され、前記アドレスオフセットが負数であり、前記第1
の加算器からの前記キャリーアウトが0である場合、ま
たは、 前記制御信号が前記第2のメモリアドレスに対して設定
され、前記アドレスオフセットが正数であり、前記第1
の加算器からの前記キャリーアウトが1である場合、ま
たは、 前記制御信号が前記第2のメモリアドレスに対して設定
され、前記アドレスオフセットが負数であり、前記第1
の加算器または前記第2の加算器の少なくとも1つから
の前記キャリーアウトが0である場合に、 前記第2の加算器の出力を選択するように構成されるこ
とを特徴とする集積回路。
20. The integrated circuit according to claim 19, wherein the selection logic is such that the control signal is set for the first memory address, the address offset is a positive number, and
If neither the carry-out from the adder nor the carry-out from the second adder is 1, or the control signal is set for the first memory address and the address offset is a negative number. , The first
If the carry-out from the adder is 1, or the control signal is set to the second memory address and the address offset is a positive number,
If the carry-out from the adder is 0, or the control signal is set to the second memory address and the address offset is a negative number,
Select the output of the first adder when the carry-out from both the adder and the second adder is 1, and the control signal is set to the first memory address. And the address offset is a positive number, the first
The carry-out from at least one of the adders or the second adders is 1, or the control signal is set to the first memory address and the address offset is a negative number. , The first
If the carry-out from the adder is 0, or the control signal is set to the second memory address and the address offset is a positive number, the first
If the carry-out from the adder is 1, or the control signal is set to the second memory address and the address offset is a negative number,
An adder or at least one of said second adders is 0, the integrated circuit is configured to select the output of said second adder.
【請求項21】 集積回路であって、 プロセッサと、 現在アドレスA、アドレスオフセットM、バッファ長の
値Lを格納する、前記プロセッサに結合されたレジスタ
と、 メモリと、 前記メモリの暗示上限アドレス境界を有する円環状アド
レスバッファのアドレスを生成するアドレス生成器とを
含み、 前記アドレス生成器は前記A、M、およびLに応じて、
前記メモリの位置に対するメモリアドレスを計算し、前
記メモリアドレスを提供するように構成され、前記メモ
リアドレスが、アドレス境界Yを有し、Yから(Y―
L)までのアドレスを含む円環状バッファの前記現在ア
ドレスAと前記アドレスオフセットMの和と一致するこ
とを特徴とする集積回路。
21. An integrated circuit comprising: a processor, a register coupled to the processor for storing a current address A, an address offset M, a buffer length value L; a memory; and an implied upper limit address boundary of the memory. And an address generator for generating an address of a toroidal address buffer having:
Configured to calculate a memory address for a location of the memory and provide the memory address, the memory address having an address boundary Y, from Y to (Y-
An integrated circuit characterized by being equal to the sum of the current address A and the address offset M of a circular buffer containing addresses up to L).
【請求項22】 請求項21に記載の集積回路におい
て、 前記Lは、2進数で表した時にビット位置Nに先頭の1
を有する値であり、前記アドレス境界Yが前記現在アド
レスAの低位のNビットを1で置換することによって計
算されることを特徴とする集積回路。
22. The integrated circuit according to claim 21, wherein the L is a leading 1 at a bit position N when represented by a binary number.
An integrated circuit wherein the address boundary Y is calculated by replacing the low order N bits of the current address A by one.
【請求項23】 請求項21に記載の集積回路におい
て、 前記プロセッサが、前記レジスタに前記値A、Mおよび
Lを格納する命令に応じるデコーダを含むことを特徴と
する集積回路。
23. The integrated circuit according to claim 21, wherein the processor includes a decoder responsive to an instruction to store the values A, M and L in the register.
【請求項24】 請求項21に記載の集積回路におい
て、 前記アドレス生成器が、 キャリーアウト信号によって和A+Mに等しい第1の出
力を生成する第1の加算器と、 前記Mの符号が正数である時に第1のラップアドレス和
(A+M)−(L+1)に等しいか、または前記Mの符
号が負数である時に第2のラップアドレス和(A+M)
+(L+1)に等しい第2の出力を、キャリーアウト信
号によって生成する第2の加算器と、 前記第1および第2の加算器からの前記キャリーアウト
信号に応じて前記第1の出力または前記第2の出力を選
択する選択論理とを含むことを特徴とする集積回路。
24. The integrated circuit according to claim 21, wherein the address generator produces a first output equal to a sum A + M according to a carry-out signal, and the sign of M is a positive number. Is equal to the first wrap address sum (A + M)-(L + 1), or when the sign of M is a negative number, the second wrap address sum (A + M)
A second adder that produces a second output equal to + (L + 1) by a carry-out signal; and the first output or the first output depending on the carry-out signal from the first and second adders. An integrated circuit including a selection logic for selecting a second output.
【請求項25】 請求項21に記載の集積回路におい
て、 前記Lは、2進数で表した時にビット位置Nに先頭の1
を有する値であり、前記アドレス境界Xが前記現在アド
レスAの低位のNビットを0で置換することによって計
算され、前記アドレス境界Yが前記現在アドレスAの低
位のNビットを1で置換することによって計算され、 前記アドレス生成器が、 前記ビット位置Nにおいて、キャリーアウト信号によっ
て和A+Mに等しい第1の出力を生成する第1の加算器
と、 前記Mの符号が正数である時に第1のラップアドレス和
(A+M)−(L+1)に等しいか、または前記Mの符
号が負数である時に第2のラップアドレス和(A+M)
+(L+1)に等しい第2の出力を、前記ビット位置N
において、キャリーアウト信号によって生成する第2の
加算器と、 前記第1および第2の加算器からの前記キャリーアウト
信号に応じて、前記第1の出力または前記第2の出力を
選択する選択論理とを含むことを特徴とする集積回路。
25. The integrated circuit according to claim 21, wherein the L is a leading 1 at a bit position N when represented by a binary number.
The address boundary X is calculated by replacing the low order N bits of the current address A with 0, and the address boundary Y replaces the low order N bits of the current address A with 1. A first adder for generating, at the bit position N, a first output equal to the sum A + M by the carry-out signal, the address generator calculating a first output when the sign of M is a positive number; Wrap address sum (A + M)-(L + 1), or the second wrap address sum (A + M) when the sign of M is negative.
A second output equal to + (L + 1) is sent to the bit position N
A second adder generated by a carry-out signal, and a selection logic for selecting the first output or the second output according to the carry-out signal from the first and second adders. An integrated circuit comprising:
【請求項26】 請求項25に記載の集積回路におい
て、 前記選択論理が、 前記アドレスオフセットが正数であり、前記第1の加算
器からの前記キャリーアウトが0である場合、または、 前記アドレスオフセットが負数であり、前記第1の加算
器および前記第2の加算器の両方からの前記キャリーア
ウトが1である場合に、前記第1の加算器の出力を選択
し、 前記アドレスオフセットが正数であり、前記第1の加算
器からの前記キャリーアウトが1である場合、または、 前記アドレスオフセットが負数であり、前記第1の加算
器または前記第2の加算器の少なくとも1つからの前記
キャリーアウトが0である場合に、前記第2の加算器の
出力を選択するよう構成されることを特徴とする集積回
路。
26. The integrated circuit according to claim 25, wherein the selection logic is such that the address offset is a positive number and the carry-out from the first adder is 0, or Selecting an output of the first adder when the offset is a negative number and the carry-out from both the first adder and the second adder is 1, and the address offset is positive. A number and the carry out from the first adder is 1, or the address offset is negative and from at least one of the first adder or the second adder. An integrated circuit configured to select the output of the second adder when the carry-out is zero.
JP2002019152A 2002-01-28 2002-01-28 Address generator for annular address buffer and integrated circuit having the same Expired - Fee Related JP4142299B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002019152A JP4142299B2 (en) 2002-01-28 2002-01-28 Address generator for annular address buffer and integrated circuit having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002019152A JP4142299B2 (en) 2002-01-28 2002-01-28 Address generator for annular address buffer and integrated circuit having the same

Publications (2)

Publication Number Publication Date
JP2003223357A true JP2003223357A (en) 2003-08-08
JP4142299B2 JP4142299B2 (en) 2008-09-03

Family

ID=27743153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002019152A Expired - Fee Related JP4142299B2 (en) 2002-01-28 2002-01-28 Address generator for annular address buffer and integrated circuit having the same

Country Status (1)

Country Link
JP (1) JP4142299B2 (en)

Also Published As

Publication number Publication date
JP4142299B2 (en) 2008-09-03

Similar Documents

Publication Publication Date Title
US5623621A (en) Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer
KR920010914B1 (en) Integrated processor for the processing of word-wise receivable data
US5381360A (en) Modulo arithmetic addressing circuit
US6397318B1 (en) Address generator for a circular buffer
US6141713A (en) Bus arbitrator with a hierarchical control structure
JPH08106375A (en) Signal processing computing element
JP2005243033A (en) Interrupt controller
US6560691B2 (en) Modulus address generator and method for determining a modulus address
US5377340A (en) Method and apparatus for memory interleaving using an improved hashing scheme
JP4302640B2 (en) Apparatus and method for calculating multiplication using multiplicand shift, and recording medium storing program code for executing the apparatus
JP2006293663A (en) Device for generating memory address and processor with same, and method of generating memory address
KR19990008025A (en) Arithmetic operation system with single or double precision
US20030033499A1 (en) Method and system for circular addressing with efficient memory usage
US6085308A (en) Protocol processor for the execution of a collection of instructions in a reduced number of operations
KR20030055467A (en) A method for memory allocation using multi-level partition
EP0555382B1 (en) Address generator for circular buffer
EP0917048B1 (en) Address generator and method for single-cycle indirect addressing
KR19980052740A (en) How to perform double precision multiplication in digital signal processor
US5918253A (en) Memory address generator
JP4142299B2 (en) Address generator for annular address buffer and integrated circuit having the same
JP2002215606A (en) Data processor
US5590302A (en) Device for generating structured addresses
US7308560B2 (en) Processing unit
US7213127B2 (en) System for producing addresses for a digital signal processor
US20050033939A1 (en) Address generation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050811

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051024

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080509

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080612

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4142299

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees