cpld design