Patent ID: 6584556
Filing Date: 2003-06-24
Classification: G06F

Abstract:
A two-stage, pipelined modulo address generator for generating from a current pointer into a circular buffer of size L, a next pointer into the buffer, the generator being operative in a selected one of first and second modes of operation, comprising:a pointer generation stage adapted to: in the first mode of operation: generate a sequential pointer which is a selected offset M from the current pointer; and in the second mode of operation: generate a lookahead pointer which is twice the selected offset from the current pointer; and a modulo correction and pointer selection stage adapted to: in the first mode of operation: generate from the sequential pointer, modulo L, a corrected sequential pointer; and provide as the next pointer: the sequential pointer, if the sequential pointer is within the buffer; and the corrected sequential pointer, otherwise; and in the second mode of operation: generate from the lookahead pointer, modulo L, a corrected lookahead pointer; generate from the lookahead pointer, modulo 2L, a double-corrected lookahead pointer; and provide as the next pointer: the lookahead pointer, if the lookahead pointer is within the buffer; the corrected lookahead pointer, if the lookahead pointer is not within the buffer but the corrected lookahead pointer is within the buffer; and the double-corrected lookahead pointer, otherwise.