OpenFPGA: An Automatic IP Generator for Customizable FPGA Architectures