Peripheral Interface Controller design and implementations