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