Text this: Hardware software partitioning of crankshaft function in engine control units using FPGA-based testing