Modulo address generator
AssigneeAnalog Devices, Inc.
InventorJohn P. Roesgen
Life of this patent
Estimating the term…
Loading patent…
AssigneeAnalog Devices, Inc.
InventorJohn P. Roesgen
Estimating the term…
An address generator for generating addresses for target locations in a circular buffer of length L, the buffer having an upper boundary and a lower boundary, the lower boundary being at an address which is a multiple of an integer power of two, and the address of a target location being offset by M locations from a current buffer location at address A, where M is no longer than L. The apparatus comprises a set of three registers, an adder for generating an absolute address, an adder/subtractor for generating a wrapped address which maps the absolute address into the buffer address space when the absolute address is outside that space, and certain control logic for selecting as the target address either the absolute address or the wrapped address. The contents of the three registers represent, respectively, the length of the buffer, the current address designated by the pointer, and the offset from the current buffer address to the target location in the buffer. The adder generates the absolute address by adding the current address of the pointer to the offset. The adder/subtractor generates the wrapped address by either adding to the absolute address or subtracting from the absolute address the length of the buffer, depending on the direction of the offset. Logic operating on the carry bits from the adder and from the adder/substractor detects the generation of an absolute address outside the boundaries of the buffer and provides as the target address the wrapped address instead of the absolute address.
Apparatus for generating an address for accessing a target location in a circular buffer of length L bytes, the target location being offset by M locations from a current buffer location at address A, the buffer having an upper address boundary and a lower address boundary, the lower address boundary having an address which is a multiple of an integer power of two, the offset M being no larger than L, such apparatus comprising:
Apparatus for generating an address for accessing a target location in a circular buffer of length L, such address being termed a target address, the buffer having an upper address boundary and a lower boundary, the lower boundary being at an address which is a multiple of an integer power of two, and the target address of the target location being offset by M locations from a current buffer address A, where the offset M is no larger than the buffer length L, such apparatus comprising:
Apparatus for generating an address for accessing a target location in a circular buffer of length L, such address being termed a target address, the buffer having an upper address boundary and a lower address boundary, the lower address boundary being an address which is a multiple of an integer power of 2, and the target address of the target location being offset by M locations from a current buffer address A, where M is no larger than L, such apparatus comprising:
Apparatus for generating an address for accessing a target location in a circular buffer of length L, such address being termed a target address, the buffer having an upper address boundary and a lower address boundary, the lower address boundary being an address which is a multiple of an integer power of 2, and the target address being offset by M locations from a current buffer address A, where M is no larger than L and includes a sign bit indicating the direction of the offset from the current buffer address A, such apparatus comprising:
Dependencies are inferred from the claim text.