Understanding configurable device architecture is critical for successful FPGA and CPLD development. Standard building blocks include Configurable Logic Blocks (CLBs) or Functionally Programmable Logic Block (FPLBs) which incorporate lookup tables and flip-flops, coupled with reconfigurable interconnect lines. CPLDs generally employ sum-of-products