verilator/include
Krzysztof Bieganski 519792d02b
Fix to commit coroutines immediately on wait statements (#4229)
Event-triggered coroutines live in two stages: 'uncommitted' and 'ready'. First
they land in 'uncommitted', meaning they can't be resumed yet. Only after
coroutines from the 'ready' queue are resumed, the 'uncommitted' ones are moved
to the 'ready' queue, and can be resumed. This is to avoid self-triggering in
situations like waiting for an event immediately after triggering it.

However, there is an issue with `wait` statements. If you have a `wait(b)`, it's
being translated into a loop that awaits a change in `b` as long as `b` is
false. If `b` is false at first, the coroutine is put into the `uncommitted`
queue. If `b` is set to true before it's committed, the coroutine won't get
resumed.

This patch fixes that by immediately committing event controls created from
`wait` statements. That means the coroutine from the example above will get
resumed from now on.
2023-05-25 20:20:44 -04:00
..
gtkwave Update include/gtkwave from upstream 2023-04-01 10:38:47 -04:00
vltstd Fix DPI open array handling issues, and do internal coverage (#2350). 2020-12-09 22:15:34 -05:00
.gitignore Support VPI product info, warning calls, etc, bug588. 2013-01-17 21:40:37 -05:00
verilated_config.h.in Copyright year update 2023-01-01 10:18:39 -05:00
verilated_cov_key.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_cov.cpp Internals: Use standard 'result' name for return variable. No functional change. 2023-04-08 22:11:28 -04:00
verilated_cov.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_dpi.cpp Copyright year update 2023-01-01 10:18:39 -05:00
verilated_dpi.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_fst_c.cpp Internals: Cleanup .txt file whitespace (#3842) 2023-01-05 05:00:54 -05:00
verilated_fst_c.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_fst_sc.cpp Copyright year update 2023-01-01 10:18:39 -05:00
verilated_fst_sc.h Fix systemc namespace issues (#4126) (#4127) 2023-04-17 06:57:29 -03:00
verilated_funcs.h Fix mod/div/round argument side effects 2023-05-07 22:31:31 -04:00
verilated_heavy.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_imp.h Internal: Update clang_check_annotations conditions (#4134) 2023-04-20 07:02:31 -04:00
verilated_intrinsics.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_probdist.cpp Copyright year update 2023-01-01 10:18:39 -05:00
verilated_profiler.cpp Copyright year update 2023-01-01 10:18:39 -05:00
verilated_profiler.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_save.cpp Copyright year update 2023-01-01 10:18:39 -05:00
verilated_save.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_sc.h Fix systemc namespace issues (#4126) (#4127) 2023-04-17 06:57:29 -03:00
verilated_std.sv Parse process class, and report runtime errors (#3612) 2023-04-08 15:04:42 -04:00
verilated_sym_props.h Internals: update clang attributes check report conditions (#3997) 2023-03-02 18:37:07 -05:00
verilated_syms.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_threads.cpp Copyright year update 2023-01-01 10:18:39 -05:00
verilated_threads.h Internals: Fix unbalanced V3LockGuard locking (#4193) 2023-05-13 10:32:33 -04:00
verilated_timing.cpp Fix to commit coroutines immediately on wait statements (#4229) 2023-05-25 20:20:44 -04:00
verilated_timing.h Fix to commit coroutines immediately on wait statements (#4229) 2023-05-25 20:20:44 -04:00
verilated_trace_defs.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_trace_imp.h Internals: Fix unbalanced V3LockGuard locking (#4193) 2023-05-13 10:32:33 -04:00
verilated_trace.h Internals: Fix unbalanced V3LockGuard locking (#4193) 2023-05-13 10:32:33 -04:00
verilated_types.h Internals: Fix unbalanced V3LockGuard locking (#4193) 2023-05-13 10:32:33 -04:00
verilated_vcd_c.cpp Optimize trigger evaluation 2023-04-24 09:09:36 +02:00
verilated_vcd_c.h Copyright year update 2023-01-01 10:18:39 -05:00
verilated_vcd_sc.cpp Copyright year update 2023-01-01 10:18:39 -05:00
verilated_vcd_sc.h Fix systemc namespace issues (#4126) (#4127) 2023-04-17 06:57:29 -03:00
verilated_vpi.cpp Apply 'make format' 2023-05-02 11:29:45 +00:00
verilated_vpi.h Fix VPI one-time timed callbacks (#2778). 2023-01-21 13:43:27 -05:00
verilated.cpp Internals: Fix unbalanced V3LockGuard locking (#4193) 2023-05-13 10:32:33 -04:00
verilated.h Internals: Make mutex classes uncopyable. (#4223) 2023-05-25 07:35:14 -04:00
verilated.mk.in Configure for faster C++ linking using 'mold', if it is installed. 2023-05-23 21:26:29 -04:00
verilated.v Copyright year update 2023-01-01 10:18:39 -05:00
verilatedos.h Internals: Add additional clang's thread safety analysis annotations (#4195) 2023-05-12 09:06:36 -04:00