mirror of
https://github.com/verilator/verilator.git
synced 2025-01-01 04:07:34 +00:00
parent
f3ae4b8786
commit
9a0254a118
1
Changes
1
Changes
@ -16,6 +16,7 @@ Verilator 5.019 devel
|
||||
* Support compilation with precompiled headers with Make and GCC or CLang.
|
||||
* Change include of systemc instead of systemc.h (#4622) (#4623). [Chih-Mao Chen]
|
||||
This may require that SystemC programs add 'using namespace sc_core', 'using namespace sc_dt'.
|
||||
* Optimize timing-delayed queue (#4584). [qrqiuren]
|
||||
|
||||
**Minor:**
|
||||
|
||||
|
@ -53,27 +53,19 @@ void VlCoroutineHandle::dump() const {
|
||||
//======================================================================
|
||||
// VlDelayScheduler:: Methods
|
||||
|
||||
#ifdef VL_DEBUG
|
||||
void VlDelayScheduler::VlDelayedCoroutine::dump() const {
|
||||
VL_DBG_MSGF(" Awaiting time %" PRIu64 ": ", m_timestep);
|
||||
m_handle.dump();
|
||||
}
|
||||
#endif
|
||||
|
||||
void VlDelayScheduler::resume() {
|
||||
#ifdef VL_DEBUG
|
||||
VL_DEBUG_IF(dump(); VL_DBG_MSGF(" Resuming delayed processes\n"););
|
||||
#endif
|
||||
while (awaitingCurrentTime()) {
|
||||
if (m_queue.front().m_timestep != m_context.time()) {
|
||||
if (m_queue.begin()->first != m_context.time()) {
|
||||
VL_FATAL_MT(__FILE__, __LINE__, "",
|
||||
"%Error: Encountered process that should've been resumed at an "
|
||||
"earlier simulation time. Missed a time slot?");
|
||||
}
|
||||
// Move max element in the heap to the end
|
||||
std::pop_heap(m_queue.begin(), m_queue.end());
|
||||
VlCoroutineHandle handle = std::move(m_queue.back().m_handle);
|
||||
m_queue.pop_back();
|
||||
// Remove earliest handle
|
||||
VlCoroutineHandle handle = std::move(m_queue.begin()->second);
|
||||
m_queue.erase(m_queue.begin());
|
||||
handle.resume();
|
||||
}
|
||||
}
|
||||
@ -82,7 +74,7 @@ uint64_t VlDelayScheduler::nextTimeSlot() const {
|
||||
if (empty()) {
|
||||
VL_FATAL_MT(__FILE__, __LINE__, "", "%Error: There is no next time slot scheduled");
|
||||
}
|
||||
return m_queue.front().m_timestep;
|
||||
return m_queue.begin()->first;
|
||||
}
|
||||
|
||||
#ifdef VL_DEBUG
|
||||
@ -91,7 +83,10 @@ void VlDelayScheduler::dump() const {
|
||||
VL_DBG_MSGF(" No delayed processes:\n");
|
||||
} else {
|
||||
VL_DBG_MSGF(" Delayed processes:\n");
|
||||
for (const auto& susp : m_queue) susp.dump();
|
||||
for (const auto& susp : m_queue) {
|
||||
VL_DBG_MSGF(" Awaiting time %" PRIu64 ": ", susp.first);
|
||||
susp.second.dump();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -36,7 +36,7 @@
|
||||
# endif
|
||||
# include <experimental/coroutine>
|
||||
namespace std {
|
||||
using namespace experimental; // Bring std::experimental into the std namespace
|
||||
using namespace experimental; // Bring std::experimental into the std namespace
|
||||
}
|
||||
#else
|
||||
# if defined __clang__ && defined __GLIBCXX__ && !defined __cpp_impl_coroutine
|
||||
@ -44,7 +44,7 @@
|
||||
# endif
|
||||
# include <coroutine>
|
||||
# if __clang_major__ < 14
|
||||
namespace std { // Bring coroutine library into std::experimental, as Clang < 14 expects it to be there
|
||||
namespace std { // Bring coroutine library into std::experimental, as Clang < 14 expects it to be there
|
||||
namespace experimental {
|
||||
using namespace std;
|
||||
}
|
||||
@ -154,19 +154,8 @@ public:
|
||||
|
||||
class VlDelayScheduler final {
|
||||
// TYPES
|
||||
struct VlDelayedCoroutine {
|
||||
uint64_t m_timestep; // Simulation time when the coroutine should be resumed
|
||||
VlCoroutineHandle m_handle; // The suspended coroutine to be resumed
|
||||
|
||||
// Comparison operator for std::push_heap(), std::pop_heap()
|
||||
bool operator<(const VlDelayedCoroutine& other) const {
|
||||
return m_timestep > other.m_timestep;
|
||||
}
|
||||
#ifdef VL_DEBUG
|
||||
void dump() const;
|
||||
#endif
|
||||
};
|
||||
using VlDelayedCoroutineQueue = std::vector<VlDelayedCoroutine>;
|
||||
// Time-sorted queue of timestamps and handles
|
||||
using VlDelayedCoroutineQueue = std::multimap<const uint64_t, VlCoroutineHandle>;
|
||||
|
||||
// MEMBERS
|
||||
VerilatedContext& m_context;
|
||||
@ -186,7 +175,7 @@ public:
|
||||
bool empty() const { return m_queue.empty(); }
|
||||
// Are there coroutines to resume at the current simulation time?
|
||||
bool awaitingCurrentTime() const {
|
||||
return !empty() && m_queue.front().m_timestep <= m_context.time();
|
||||
return !empty() && m_queue.begin()->first <= m_context.time();
|
||||
}
|
||||
#ifdef VL_DEBUG
|
||||
void dump() const;
|
||||
@ -202,9 +191,7 @@ public:
|
||||
|
||||
bool await_ready() const { return false; } // Always suspend
|
||||
void await_suspend(std::coroutine_handle<> coro) {
|
||||
queue.push_back({delay, VlCoroutineHandle{coro, process, fileline}});
|
||||
// Move last element to the proper place in the max-heap
|
||||
std::push_heap(queue.begin(), queue.end());
|
||||
queue.emplace(delay, VlCoroutineHandle{coro, process, fileline});
|
||||
}
|
||||
void await_resume() const {}
|
||||
};
|
||||
|
@ -83,8 +83,8 @@
|
||||
-V{t#,#} Awaiting time 3: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 3: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
@ -148,9 +148,9 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 6: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 7: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -192,9 +192,9 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 7: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 9: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Suspending process waiting for @(posedge t.clk1) at t/t_timing_sched.v:17
|
||||
@ -230,8 +230,8 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 9: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -288,9 +288,9 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 11: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 12: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 13: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:13
|
||||
@ -360,9 +360,9 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 12: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 12: Process waiting at t/t_timing_sched.v:50
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 22: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 13: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 22: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:50
|
||||
@ -408,8 +408,8 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 13: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 15: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 22: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Suspending process waiting for @(posedge t.clk1) at t/t_timing_sched.v:17
|
||||
@ -587,8 +587,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 21: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 22: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -644,8 +644,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 22: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 25: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 24: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 25: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:13
|
||||
@ -688,8 +688,8 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 24: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 25: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 33: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -731,8 +731,8 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 25: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 27: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 33: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Suspending process waiting for @(posedge t.clk1) at t/t_timing_sched.v:17
|
||||
@ -867,8 +867,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 31: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 33: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 33: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 33: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:17
|
||||
@ -985,9 +985,9 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 34: Process waiting at t/t_timing_sched.v:50
|
||||
-V{t#,#} Awaiting time 36: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 37: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 44: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 37: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:50
|
||||
-V{t#,#} Suspending process waiting for @(posedge t.clk2) at t/t_timing_sched.v:50
|
||||
@ -1102,8 +1102,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 39: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 44: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -1208,8 +1208,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 43: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 45: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 44: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 45: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:17
|
||||
@ -1287,8 +1287,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 45: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 55: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -1424,8 +1424,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 51: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 55: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -1481,8 +1481,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 54: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 55: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 55: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 55: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
@ -1525,8 +1525,8 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 55: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 55: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 57: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:17
|
||||
@ -1635,8 +1635,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 57: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 66: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -1778,8 +1778,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 63: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 66: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -1835,8 +1835,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 66: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 67: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 66: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 67: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:13
|
||||
@ -1882,8 +1882,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 67: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 77: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 69: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 77: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:17
|
||||
@ -2056,8 +2056,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 75: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 77: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
@ -2182,15 +2182,15 @@
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_commit
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:52
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:50
|
||||
-V{t#,#} Awaiting time 79: Process waiting at t/t_timing_sched.v:17
|
||||
-V{t#,#} Awaiting time 88: Process waiting at t/t_timing_sched.v:13
|
||||
-V{t#,#} Awaiting time 78: Process waiting at t/t_timing_sched.v:50
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:52
|
||||
*-* All Finished *-*
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:10
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_sched.v:50
|
||||
-V{t#,#} Suspending process waiting for @(posedge t.clk2) at t/t_timing_sched.v:50
|
||||
-V{t#,#}+ Vt_timing_debug1___024root___eval_act
|
||||
|
@ -110,13 +110,13 @@
|
||||
-V{t#,#} Awaiting time 5: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 10: Process waiting at t/t_timing_class.v:173
|
||||
-V{t#,#} Awaiting time 10: Process waiting at t/t_timing_class.v:247
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:257
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:119
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:252
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:257
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
@ -173,22 +173,22 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_commit
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 10: Process waiting at t/t_timing_class.v:247
|
||||
-V{t#,#} Awaiting time 10: Process waiting at t/t_timing_class.v:173
|
||||
-V{t#,#} Awaiting time 10: Process waiting at t/t_timing_class.v:247
|
||||
-V{t#,#} Awaiting time 10: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:119
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:252
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:257
|
||||
-V{t#,#} Awaiting time 10: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:119
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:247
|
||||
-V{t#,#} Process forked at t/t_timing_class.v:246 finished
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:173
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aDelay10::__VnoInFunc_do_sth_else
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aDelay20::__VnoInFunc_do_delay
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:247
|
||||
-V{t#,#} Process forked at t/t_timing_class.v:246 finished
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_act
|
||||
@ -230,14 +230,14 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 15: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:252
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:174
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:119
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:252
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:257
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:174
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
@ -294,22 +294,22 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_commit
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:252
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:119
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:174
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:252
|
||||
-V{t#,#} Awaiting time 20: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:257
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:174
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:119
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aEventClass::__VnoInFunc_wake
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:252
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aForkDelayClass::new
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aForkDelayClass::_ctor_var_reset
|
||||
-V{t#,#} Process forked at t/t_timing_class.v:251 finished
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:119
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aEventClass::__VnoInFunc_wake
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_act
|
||||
@ -396,10 +396,10 @@
|
||||
-V{t#,#} Awaiting time 25: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:257
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:174
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
@ -488,21 +488,21 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_commit
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:174
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:257
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:174
|
||||
-V{t#,#} Awaiting time 30: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:257
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aForkDelayClass::__VnoInFunc_do_delay
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:174
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aDelay20::__VnoInFunc_do_sth_else
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aDelay40::__VnoInFunc_do_delay
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:257
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aForkDelayClass::__VnoInFunc_do_delay
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_act
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_phase__act
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_triggers__act
|
||||
@ -566,12 +566,12 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 35: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
@ -661,12 +661,12 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 40: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:120
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
@ -752,11 +752,11 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 45: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
@ -817,11 +817,11 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 50: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:122
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
@ -865,11 +865,11 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 55: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 60: Process waiting at t/t_timing_class.v:123
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
@ -912,11 +912,11 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 60: Process waiting at t/t_timing_class.v:123
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 60: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:123
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
@ -980,9 +980,9 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 65: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:76
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
@ -1025,17 +1025,13 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_commit
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:76
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:76
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 70: Process waiting at t/t_timing_class.v:175
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:76
|
||||
-V{t#,#} Process forked at t/t_timing_class.v:76 finished
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:238
|
||||
-V{t#,#} Process forked at t/t_timing_class.v:256 finished
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:250
|
||||
@ -1047,6 +1043,10 @@
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aNoDelay::__VnoInFunc_do_sth_else
|
||||
-V{t#,#}+ Vt_timing_debug2_t___eval_initial__TOP__t__6____Vfork_1__0
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aAssignDelayClass::__VnoInFunc_do_assign
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:76
|
||||
-V{t#,#} Process forked at t/t_timing_class.v:76 finished
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_act
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_phase__act
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_triggers__act
|
||||
@ -1094,15 +1094,15 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_commit
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 75: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 75: Process waiting at t/t_timing_class.v:224
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 75: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:190
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:224
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:224
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_act
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_phase__act
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___eval_triggers__act
|
||||
@ -1134,8 +1134,8 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:190
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 80: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:136
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:190
|
||||
@ -1211,8 +1211,8 @@
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 90: Process waiting at t/t_timing_class.v:190
|
||||
-V{t#,#} Awaiting time 90: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 100: Process waiting at t/t_timing_class.v:231
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:190
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
@ -1248,8 +1248,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 95: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 100: Process waiting at t/t_timing_class.v:231
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#}+ Vt_timing_debug2_t__03a__03aClkClass::__VnoInFunc_flip
|
||||
@ -1283,8 +1283,8 @@
|
||||
-V{t#,#}+ Vt_timing_debug2___024root___timing_resume
|
||||
-V{t#,#} Delayed processes:
|
||||
-V{t#,#} Awaiting time 100: Process waiting at t/t_timing_class.v:231
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Awaiting time 100: Process waiting at t/t_timing_class.v:131
|
||||
-V{t#,#} Awaiting time 101: Process waiting at t/t_timing_class.v:274
|
||||
-V{t#,#} Resuming delayed processes
|
||||
-V{t#,#} Resuming: Process waiting at t/t_timing_class.v:231
|
||||
*-* All Finished *-*
|
||||
|
11083
test_regress/t/t_timing_osc.out
Normal file
11083
test_regress/t/t_timing_osc.out
Normal file
File diff suppressed because it is too large
Load Diff
25
test_regress/t/t_timing_osc.pl
Executable file
25
test_regress/t/t_timing_osc.pl
Executable file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2023 by Wilson Snyder. This program is free software; you
|
||||
# can redistribute it and/or modify it under the terms of either the GNU
|
||||
# Lesser General Public License Version 3 or the Perl Artistic License
|
||||
# Version 2.0.
|
||||
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||
|
||||
scenarios(simulator => 1);
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ["--exe --main --timing --trace"],
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
execute(
|
||||
check_finished => 1,
|
||||
);
|
||||
|
||||
vcd_identical($Self->trace_filename, $Self->{golden_filename});
|
||||
|
||||
ok(1);
|
||||
1;
|
72
test_regress/t/t_timing_osc.v
Normal file
72
test_regress/t/t_timing_osc.v
Normal file
@ -0,0 +1,72 @@
|
||||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||
// any use, without warranty, 2023 by Wilson Snyder.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
`define STRINGIFY(x) `"x`"
|
||||
|
||||
module tb_osc;
|
||||
|
||||
timeunit 1s;
|
||||
timeprecision 1fs;
|
||||
|
||||
logic dco_out;
|
||||
|
||||
bhv_dco dco (
|
||||
// Inputs
|
||||
.coarse_cw(8.0),
|
||||
.medium_cw(8.0),
|
||||
.fine_cw(32.0),
|
||||
|
||||
// Outputs
|
||||
.rf_out(dco_out)
|
||||
);
|
||||
|
||||
initial begin
|
||||
$dumpfile(`STRINGIFY(`TEST_DUMPFILE));
|
||||
$dumpvars;
|
||||
`ifdef TEST_BENCHMARK
|
||||
#200ns;
|
||||
`else
|
||||
#3ns;
|
||||
`endif
|
||||
$write("*-* All Finished *-*\n");
|
||||
$finish;
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
module bhv_dco (
|
||||
input real coarse_cw,
|
||||
input real medium_cw,
|
||||
input real fine_cw,
|
||||
output logic rf_out
|
||||
);
|
||||
|
||||
parameter realtime coarse_ofst = 600ps;
|
||||
parameter realtime coarse_res = 60ps;
|
||||
parameter realtime medium_ofst = 130ps;
|
||||
parameter realtime medium_res = 6ps;
|
||||
parameter realtime fine_ofst = 70ps;
|
||||
parameter realtime fine_res = 0.2ps;
|
||||
|
||||
timeunit 1s;
|
||||
timeprecision 1fs;
|
||||
|
||||
realtime coarse_delay, medium_delay, fine_delay, jitter;
|
||||
assign coarse_delay = 0.5 * (coarse_cw * coarse_res + coarse_ofst );
|
||||
assign medium_delay = 0.5 * (medium_cw * medium_res + medium_ofst );
|
||||
assign fine_delay = 0.5 * ( fine_cw * fine_res + fine_ofst + jitter);
|
||||
assign jitter = 0;
|
||||
|
||||
logic coarse_out, medium_out, fine_out;
|
||||
|
||||
initial coarse_out = 0;
|
||||
always @ (fine_out) coarse_out <= #coarse_delay ~fine_out;
|
||||
assign #medium_delay medium_out = ~coarse_out;
|
||||
assign #fine_delay fine_out = ~medium_out;
|
||||
|
||||
assign #50ps rf_out = fine_out;
|
||||
|
||||
endmodule
|
@ -1,6 +1,5 @@
|
||||
$version Generated by VerilatedVcd $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module TOP $end
|
||||
$scope module t $end
|
||||
$var wire 32 * CLK_PERIOD [31:0] $end
|
||||
@ -87,10 +86,3 @@ b00000000000000000000000000000101 +
|
||||
1%
|
||||
1'
|
||||
0(
|
||||
0)
|
||||
#105
|
||||
1(
|
||||
#110
|
||||
1'
|
||||
0(
|
||||
1)
|
||||
|
@ -36,10 +36,11 @@ module t;
|
||||
|
||||
while (b) begin
|
||||
c = ~c;
|
||||
-> ev ;
|
||||
-> ev;
|
||||
#CLK_PERIOD;
|
||||
end
|
||||
|
||||
$write("[%0t] Done\n", $time);
|
||||
$write("*-* All Finished *-*\n");
|
||||
$finish;
|
||||
end
|
||||
|
@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Mar 31 18:34:51 2023
|
||||
Sun Nov 5 12:08:16 2023
|
||||
|
||||
$end
|
||||
$version
|
||||
@ -94,10 +94,3 @@ $end
|
||||
0$
|
||||
1)
|
||||
1'
|
||||
0&
|
||||
#105
|
||||
1$
|
||||
#110
|
||||
0$
|
||||
1&
|
||||
1)
|
||||
|
Loading…
Reference in New Issue
Block a user