Rewrite CPLD analysis, easy to understand:)