1 // 2 // Copyright (c) 2025 Antmicro 3 // 4 // This file is licensed under the MIT License. 5 // Full license text is available in 'licenses/MIT.txt'. 6 // 7 #ifndef CFU_H 8 #define CFU_H 9 #include <cstdint> 10 #include "bus.h" 11 12 struct Cfu 13 { 14 virtual void tick(bool countEnable, uint64_t steps); 15 virtual void reset(); 16 uint64_t execute(uint32_t functionID, uint32_t data0, uint32_t data1, int* error); 17 void timeoutTick(uint8_t* signal, uint8_t expectedValue, int timeout); 18 void (*evaluateModel)(); 19 20 uint64_t tickCounter; 21 }; 22 #endif 23