diff --git a/pyrtl/simulation.py b/pyrtl/simulation.py
index 045aa3b8..3ecc5866 100644
--- a/pyrtl/simulation.py
+++ b/pyrtl/simulation.py
@@ -1769,22 +1769,25 @@ def render_trace(
from pyrtl.visualization import trace_to_html
- htmlstring = trace_to_html(
- self, trace_list=trace_list, sortkey=_trace_sort_key
+ display(
+ HTML(
+ trace_to_html(self, trace_list=trace_list, sortkey=_trace_sort_key)
+ ),
+ HTML("""
+
+
+ """),
+ # Wait for WaveDrom to load, polling every 100ms.
+ Javascript("""
+ var interval = setInterval(function() {
+ if (typeof WaveDrom !== 'undefined' &&
+ typeof WaveDrom.ProcessAll === 'function') {
+ clearInterval(interval);
+ WaveDrom.ProcessAll();
+ }
+ }, 100);
+ """),
)
- html_elem = HTML(htmlstring)
- display(html_elem)
- # print(htmlstring)
- js_stuff = """
- $.when(
- $.getScript("https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.6.2/skins/default.js"),
- $.getScript("https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.6.2/wavedrom.min.js"),
- $.Deferred(function( deferred ){
- $( deferred.resolve );
- })).done(function(){
- WaveDrom.ProcessAll();
- });"""
- display(Javascript(js_stuff))
else:
self.render_trace_to_text(
trace_list=trace_list,