This paper presents an efficient queue manager chip for controlling a 16 x 16 shared buffer ATM switch with a 256-cell buffer. Compared to conventional implementations of queue managers for shared buffer ATM switches, our design eliminates the idle address FIFO and the pre-allocated bubbles at the tails of output queues. The former reduces the storage size required for queue management, while the latter improves the effective buffer capacity. Such modular implementation also provides flexibilities in queue management implementation. Backpressure with soft-full and hard-full flow control for multi-stage expansion and two priority classes with push-out cell discarding are supported without extra hardware overhead. This chip was designed and fabricated using 0.8 mu m CMOS technology. It has 35,700 transistors in a chip area of 28.3 mm(2), with a core of 10.4 mm(2) and 31,960 transistors. Two test sequences were developed during the design phase to fully verify the queue management functions of the prototype chip. The queue manager chip was tested up to 36 MHz, and is able to control a 16 x 16 shared buffer switch with a 155 MHz link rate.