1
0
mirror of synced 2026-04-13 00:52:28 +00:00
Files
YosysHQ.yosys/backends
Catherine 905f07c03f cxxrtl: introduce performer, a context object for eval(). (breaking change)
At the moment the only thing it allows is redirecting `$print` cell
output in a context-dependent manner. In the future, it will allow
customizing handling of `$check` cells (where the default is to abort),
of out-of-range memory accesses, and other runtime conditions with
effects.

This context object also allows a suitably written testbench to add
Verilog-compliant `$time`/`$realtime` handling, albeit it involves
the ceremony of defining a `performer` subclass. Most people will
want something like this to customize `$time`:

    int64_t time = 0;
    struct : public performer {
      int64_t *time_ptr;
      int64_t time() const override { return *time_ptr; }
    } performer = { &time };

    p_top.step(&performer);
2024-01-16 16:37:07 +00:00
..
2023-08-12 11:59:39 +10:00
2023-06-20 10:42:05 +02:00
2023-08-12 11:59:39 +10:00
2021-06-09 12:42:52 +02:00
2023-08-12 11:59:39 +10:00
2023-08-12 11:59:39 +10:00