In the early days of programmable logic devices (PLD’s), proprietary interfaces were used for programming. A variety of pin counts and power requirements were common. This was not a burden when designing products based on devices from a single vendor. As device complexity increased and distinctive feature sets emerged, the advantages obtained by implementing designs using PLD’s from a variety of vendors became compelling. However, lack of programming compatibility was an impediment to industry growth.