1. A programmable serial interface for use in a semiconductor circuit that supports a plurality of protocols, comprising: at least one shared hardware element that performs a common task for said plurality of protocols; and a programmable logic array for implementing one or more additional tasks for said plurality of protocols.