A novel CLB architecture and circuit packing algorithm for logic-area reduction in SRAM-based FPGAs