Engineering the Complex SOC: Fast, Flexible Design with Configurable Processors