{'fraction_non_alphanumeric': 0.03248259860788863, 'fraction_numerical': 0.007733952049497293, 'mean_word_length': 5.075117370892019, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Effective floating-point calculation engines intended for the FPGA-based HIL simulation

Hardware-in-the-loop (HIL) simulation is an industrial practice that consists in testing a physical electronic control unit (ECU) against a real-time simulated model of a plant. Typical PWM applications run in the kHz range and can hardly be simulated using standard methods with the typical CPU time-steps that are at best in the 5-10 microseconds range. Migrating the computational load from a CPU to a Field Programmable Gate Array (FPGA) allows overcoming the limitation and achieving time-steps in the sub-microsecond range. Our work investigates the feasibility of hardware calculation engines intended for the FPGA-based HIL simulation using commercial floating-point cores, and using parallel multi-cycle multiply-accumulators (MACs). The effectiveness of the proposed multi-cycle accumulation scheme is here confirmed by considering a real-world application case study, that is a model of a permanent magnet synchronous motor (PMSM) driven by a three-phase two-level Insulated-Gate Bipolar Transistor (IGBT) inverter. Time-steps of 80 ns for the PMSM and 240 ns for the two-level inverter are reported. Simulation results are validated using the SimPowerSystems Matlab library with a 20 kHz PWM.