From 5d78f90f4da64fe1c2ca864b38ce56f45d11500a Mon Sep 17 00:00:00 2001 From: Ernest Ng Date: Sat, 14 Feb 2026 14:04:19 -0500 Subject: [PATCH 1/7] New CLI field for printing thread IDs, refactor how GlobalContexts are created --- monitor/src/global_context.rs | 33 +++++++++--------- monitor/src/global_scheduler.rs | 60 ++++++++++++++++++++------------- monitor/src/main.rs | 18 ++++------ 3 files changed, 60 insertions(+), 51 deletions(-) diff --git a/monitor/src/global_context.rs b/monitor/src/global_context.rs index 9ece8b6d..afedf747 100644 --- a/monitor/src/global_context.rs +++ b/monitor/src/global_context.rs @@ -2,6 +2,8 @@ // released under MIT License // author: Ernest Ng +use crate::Cli; + /// Time unit for displaying waveform times #[derive(Debug, Clone, Copy)] pub enum TimeUnit { @@ -62,29 +64,28 @@ pub struct GlobalContext { /// Indicates if there are multiple (more than 1) structs in the source file pub multiple_structs: bool, + + /// Indicates whether to print out thread IDs for each inferred transaction + pub show_thread_ids: bool, } impl GlobalContext { - /// Creates a new `GlobalContext` with the provided `design` and configuration flags. - /// The `display_hex` argument indicates whether to print integer literals - /// using hexadecimal (if `false`, we default to using decimal). - pub fn new( - waveform_file: String, - instance_id: u32, - display_hex: bool, - show_waveform_time: bool, - time_unit: TimeUnit, - print_num_steps: bool, - multiple_structs: bool, - ) -> Self { + /// Creates a new `GlobalContext` with the provided `design` + /// and configuration flags as specified by the user via the `Cli`. + /// The `display_hex` field indicates whether to print integer literals + /// in hexadecimal (if `false`, we default to using decimal). + /// Note: this function is meant to be called from `main.rs` only + /// upon monitor initialization. + pub fn new(cli: &Cli, instance_id: u32, time_unit: TimeUnit, multiple_structs: bool) -> Self { Self { - waveform_file, + waveform_file: cli.wave.clone(), instance_id, - display_hex, - show_waveform_time, + display_hex: cli.display_hex, + show_waveform_time: cli.show_waveform_time, time_unit, - print_num_steps, + print_num_steps: cli.print_num_steps, multiple_structs, + show_thread_ids: cli.show_thread_ids, } } } diff --git a/monitor/src/global_scheduler.rs b/monitor/src/global_scheduler.rs index 111bf3fe..8e11eb19 100644 --- a/monitor/src/global_scheduler.rs +++ b/monitor/src/global_scheduler.rs @@ -112,7 +112,7 @@ fn process_group_cycles( /// For a single scheduler group, collects all unique maximal traces /// (deduplicated on canonical `ProtocolApplication` sequence, excluding idle, /// with strict-prefix traces filtered out). -/// Returns the list of maximal `OutputEntry` traces for this group. +/// Returns the list of maximal `AugmentedProtocolApplication` traces for this group. fn collect_maximal_traces(scheduler_group: &SchedulerGroup) -> Vec { // Collect all unique traces, deduplicating on the canonical // `ProtocolApplication` sequence (ignoring timing and thread IDs) @@ -120,15 +120,15 @@ fn collect_maximal_traces(scheduler_group: &SchedulerGroup) -> Vec = FxHashSet::default(); for scheduler in scheduler_group { - // Sort `OutputEntry`s by increasing cycle no. + // Sort `AugmentedProtocolApplication`s by increasing cycle no. let mut sorted_output_entries = scheduler.output_buffer.clone(); - sorted_output_entries.sort_by_key(|entry| entry.end_cycle_count); + sorted_output_entries.sort_by_key(|prot| prot.end_cycle_count); // Build canonical trace for dedup, excluding idle entries let trace: Trace = sorted_output_entries .iter() - .filter(|entry| !entry.is_idle) - .map(|entry| entry.protocol_application.clone()) + .filter(|prot| !prot.is_idle) + .map(|prot| prot.protocol_application.clone()) .collect(); // Only append `sorted_output_entries` to `all_entries` @@ -144,11 +144,11 @@ fn collect_maximal_traces(scheduler_group: &SchedulerGroup) -> Vec = all_entries .iter() - .map(|entries| { - entries + .map(|augmented_trace| { + augmented_trace .iter() - .filter(|e| !e.is_idle) - .map(|e| e.protocol_application.clone()) + .filter(|prot| !prot.is_idle) + .map(|prot| prot.protocol_application.clone()) .collect() }) .collect(); @@ -211,10 +211,10 @@ impl GlobalScheduler { } let lines: Vec = trace .iter() - .filter(|entry| !entry.is_idle) - .map(|entry| self.format_output_entry(entry, ctx)) + .filter(|prot_application| !prot_application.is_idle) + .map(|entry| self.format_augmented_protocol_application(entry, ctx)) .collect(); - println!("{}", lines.join("\n")); + println!("{}", lines.join(";\n")); } return; } @@ -236,26 +236,38 @@ impl GlobalScheduler { let lines: Vec = merged .iter() .filter(|entry| !entry.is_idle) - .map(|entry| self.format_output_entry(entry, ctx)) + .map(|entry| self.format_augmented_protocol_application(entry, ctx)) .collect(); println!("{}", lines.join("\n")); } - /// Formats an `OutputEntry` into a display string - fn format_output_entry( + /// Formats an `AugmentedProtocolApplication` into a display string + fn format_augmented_protocol_application( &self, entry: &AugmentedProtocolApplication, ctx: &GlobalContext, ) -> String { - if ctx.show_waveform_time { - let start_time = self.trace.format_time(entry.start_time_step, ctx.time_unit); - let end_time = self.trace.format_time(entry.end_time_step, ctx.time_unit); - format!( - "{} // [time: {} -> {}] (thread {})", - entry.protocol_application, start_time, end_time, entry.thread_id - ) - } else { - entry.protocol_application.to_string() + match (ctx.show_waveform_time, ctx.show_thread_ids) { + (true, true) | (true, false) => { + let start_time = self.trace.format_time(entry.start_time_step, ctx.time_unit); + let end_time = self.trace.format_time(entry.end_time_step, ctx.time_unit); + if ctx.show_thread_ids { + format!( + "{} // [time: {} -> {}] (thread {})", + entry.protocol_application, start_time, end_time, entry.thread_id + ) + } else { + format!( + "{} // [time: {} -> {}]", + entry.protocol_application, start_time, end_time + ) + } + } + (false, true) => format!( + "{} // (thread {})", + entry.protocol_application, entry.thread_id + ), + (false, false) => entry.protocol_application.to_string(), } } diff --git a/monitor/src/main.rs b/monitor/src/main.rs index d93a6ec3..2f046b4c 100644 --- a/monitor/src/main.rs +++ b/monitor/src/main.rs @@ -32,7 +32,7 @@ use protocols::typecheck::type_check; // $ cargo run --package protocols-monitor -- -p protocols/tests/adders/adder_d1/add_d1.prot -w trace.fst -i add_d1:Adder /// Args for the monitor CLI -#[derive(Parser, Debug)] +#[derive(Parser, Debug, Clone)] #[command(version, about, long_about = None, disable_version_flag = true)] struct Cli { /// Path to a Protocol (.prot) file @@ -74,6 +74,10 @@ struct Cli { #[arg(long, value_name = "SHOW_START_END_WAVEFORM_TIME_FOR_EACH_TRANSACTION")] show_waveform_time: bool, + /// If enabled, displays the thread ID corresponding to each inferred transaction + #[arg(long, value_name = "SHOW_THREAD_IDS")] + show_thread_ids: bool, + /// Specifies the time unit for displaying waveform times. /// Can only be used with --show-waveform-time. /// Valid options: fs, ps, ns, us, ms, s, auto @@ -136,7 +140,7 @@ fn main() -> anyhow::Result<()> { .collect(); // parse waveform - let trace = WaveSignalTrace::open(&cli.wave, &designs, &instances, cli.sample_posedge) + let trace = WaveSignalTrace::open(&cli.wave, &designs, &instances, cli.sample_posedge.clone()) .with_context(|| format!("failed to read waveform file {}", cli.wave))?; // Support multiple structs & designs @@ -167,15 +171,7 @@ fn main() -> anyhow::Result<()> { let multiple_structs = dut_designs.len() > 1; // Create a GlobalContext that is shared across all schedulers - let ctx = GlobalContext::new( - cli.wave, - 0, - cli.display_hex, - cli.show_waveform_time, - time_unit, - cli.print_num_steps, - multiple_structs, - ); + let ctx = GlobalContext::new(&cli, 0, time_unit, multiple_structs); // Multi-struct mode: create a GlobalScheduler with one scheduler per design let mut schedulers = vec![]; From 4fc000f6a10104abb7148678db6993bb71214353 Mon Sep 17 00:00:00 2001 From: Ernest Ng Date: Sat, 14 Feb 2026 14:10:15 -0500 Subject: [PATCH 2/7] Formatting --- monitor/src/global_scheduler.rs | 5 ++++- monitor/src/main.rs | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/monitor/src/global_scheduler.rs b/monitor/src/global_scheduler.rs index 8e11eb19..36af87ee 100644 --- a/monitor/src/global_scheduler.rs +++ b/monitor/src/global_scheduler.rs @@ -214,7 +214,10 @@ impl GlobalScheduler { .filter(|prot_application| !prot_application.is_idle) .map(|entry| self.format_augmented_protocol_application(entry, ctx)) .collect(); - println!("{}", lines.join(";\n")); + // Include semi-colons so that the serialized + // protocol trace is the same as the concrete + // syntax for `.tx` files in the interpreter + println!("{};", lines.join(";\n")); } return; } diff --git a/monitor/src/main.rs b/monitor/src/main.rs index 2f046b4c..08332cf9 100644 --- a/monitor/src/main.rs +++ b/monitor/src/main.rs @@ -32,7 +32,7 @@ use protocols::typecheck::type_check; // $ cargo run --package protocols-monitor -- -p protocols/tests/adders/adder_d1/add_d1.prot -w trace.fst -i add_d1:Adder /// Args for the monitor CLI -#[derive(Parser, Debug, Clone)] +#[derive(Parser, Debug)] #[command(version, about, long_about = None, disable_version_flag = true)] struct Cli { /// Path to a Protocol (.prot) file From 2d998d2d5bbf9663d088b597d5f92dc0742e621a Mon Sep 17 00:00:00 2001 From: Ernest Ng Date: Sat, 14 Feb 2026 14:10:22 -0500 Subject: [PATCH 3/7] Update Turnt expected output --- monitor/tests/adders/add_d1.out | 4 +- monitor/tests/adders/add_d2.out | 4 +- monitor/tests/alus/alu_d1.out | 10 +- monitor/tests/alus/alu_d2.out | 10 +- .../bit_truncation_fft.out | 2 +- .../bit_truncation_sha.out | 2 +- .../tests/brave_new_world_francis/ftu_sha.out | 2 +- .../brave_new_world_francis/signal_async.out | 2 +- .../use_without_valid.out | 2 +- monitor/tests/fifo/fifo.out | 12 +-- monitor/tests/fifo/push_pop_identity.out | 12 +-- .../fpga-debugging/axi-stream-s2/s2_buggy.out | 62 +++++------ .../fpga-debugging/axi-stream-s2/s2_fixed.out | 102 +++++++++--------- .../axis-adapter-s3/s3_buggy.out | 20 ++-- .../axis-adapter-s3/s3_fixed.out | 18 ++-- .../axis-async-fifo-c4/c4_buggy.out | 30 +++--- .../axis-async-fifo-c4/c4_fixed.out | 40 +++---- .../axis-fifo-d11/d11_buggy.out | 28 ++--- .../axis-fifo-d11/d11_fixed.out | 36 +++---- .../axis-fifo-d12/d12_buggy.out | 26 ++--- .../axis-fifo-d12/d12_fixed.out | 24 ++--- .../fpga-debugging/axis-fifo-d4/d4_buggy.out | 88 +++++++-------- .../fpga-debugging/axis-fifo-d4/d4_fixed.out | 86 +++++++-------- monitor/tests/identities/identity_d1.out | 2 +- monitor/tests/multi/multi0.out | 2 +- monitor/tests/multi/multi0keep.out | 2 +- monitor/tests/multi/multi0keep2const.out | 2 +- monitor/tests/multi/multi2const.out | 2 +- monitor/tests/multi/multi2multi.out | 2 +- monitor/tests/multi/multi_data.out | 2 +- monitor/tests/multipliers/mult_d2.out | 4 +- .../tests/picorv32/pcpi_mul_unsigned_mul.out | 10 +- monitor/tests/serv/serv_regfile.out | 4 +- monitor/tests/tinyaes128/aes128.out | 4 +- monitor/tests/wal/advanced/axis.out | 24 ++--- monitor/tests/wal/advanced/axis_minimal.out | 2 +- monitor/tests/wal/advanced/axis_truncated.out | 6 +- 37 files changed, 345 insertions(+), 345 deletions(-) diff --git a/monitor/tests/adders/add_d1.out b/monitor/tests/adders/add_d1.out index 71907558..7f04e8ac 100644 --- a/monitor/tests/adders/add_d1.out +++ b/monitor/tests/adders/add_d1.out @@ -1,2 +1,2 @@ -add(1, 2, 3) -add(4, 5, 9) +add(1, 2, 3); +add(4, 5, 9); diff --git a/monitor/tests/adders/add_d2.out b/monitor/tests/adders/add_d2.out index 71907558..7f04e8ac 100644 --- a/monitor/tests/adders/add_d2.out +++ b/monitor/tests/adders/add_d2.out @@ -1,2 +1,2 @@ -add(1, 2, 3) -add(4, 5, 9) +add(1, 2, 3); +add(4, 5, 9); diff --git a/monitor/tests/alus/alu_d1.out b/monitor/tests/alus/alu_d1.out index c86a5b1e..97cf3873 100644 --- a/monitor/tests/alus/alu_d1.out +++ b/monitor/tests/alus/alu_d1.out @@ -1,5 +1,5 @@ -add(1, 2, 3) -add(123, 245, 368) -sub(200, 200, 0) -and(100, 100, 100) -or(0, 230, 230) +add(1, 2, 3); +add(123, 245, 368); +sub(200, 200, 0); +and(100, 100, 100); +or(0, 230, 230); diff --git a/monitor/tests/alus/alu_d2.out b/monitor/tests/alus/alu_d2.out index c86a5b1e..97cf3873 100644 --- a/monitor/tests/alus/alu_d2.out +++ b/monitor/tests/alus/alu_d2.out @@ -1,5 +1,5 @@ -add(1, 2, 3) -add(123, 245, 368) -sub(200, 200, 0) -and(100, 100, 100) -or(0, 230, 230) +add(1, 2, 3); +add(123, 245, 368); +sub(200, 200, 0); +and(100, 100, 100); +or(0, 230, 230); diff --git a/monitor/tests/brave_new_world_francis/bit_truncation_fft.out b/monitor/tests/brave_new_world_francis/bit_truncation_fft.out index 78f72a42..5c77a7bc 100644 --- a/monitor/tests/brave_new_world_francis/bit_truncation_fft.out +++ b/monitor/tests/brave_new_world_francis/bit_truncation_fft.out @@ -1 +1 @@ -bit_truncation_fft(8386560, 2047) +bit_truncation_fft(8386560, 2047); diff --git a/monitor/tests/brave_new_world_francis/bit_truncation_sha.out b/monitor/tests/brave_new_world_francis/bit_truncation_sha.out index 341d1568..0816d351 100644 --- a/monitor/tests/brave_new_world_francis/bit_truncation_sha.out +++ b/monitor/tests/brave_new_world_francis/bit_truncation_sha.out @@ -1 +1 @@ -bit_truncation_sha(4398046511104, 68719476736) +bit_truncation_sha(4398046511104, 68719476736); diff --git a/monitor/tests/brave_new_world_francis/ftu_sha.out b/monitor/tests/brave_new_world_francis/ftu_sha.out index 989eeadf..e143d1fe 100644 --- a/monitor/tests/brave_new_world_francis/ftu_sha.out +++ b/monitor/tests/brave_new_world_francis/ftu_sha.out @@ -1 +1 @@ -failure_to_update_sha() +failure_to_update_sha(); diff --git a/monitor/tests/brave_new_world_francis/signal_async.out b/monitor/tests/brave_new_world_francis/signal_async.out index 5a65693f..bec00deb 100644 --- a/monitor/tests/brave_new_world_francis/signal_async.out +++ b/monitor/tests/brave_new_world_francis/signal_async.out @@ -1 +1 @@ -signal_async(6, 7) +signal_async(6, 7); diff --git a/monitor/tests/brave_new_world_francis/use_without_valid.out b/monitor/tests/brave_new_world_francis/use_without_valid.out index 12fab7a6..f8176b0b 100644 --- a/monitor/tests/brave_new_world_francis/use_without_valid.out +++ b/monitor/tests/brave_new_world_francis/use_without_valid.out @@ -1 +1 @@ -use_without_valid(5, 5) +use_without_valid(5, 5); diff --git a/monitor/tests/fifo/fifo.out b/monitor/tests/fifo/fifo.out index 224ff776..9a6c533b 100644 --- a/monitor/tests/fifo/fifo.out +++ b/monitor/tests/fifo/fifo.out @@ -1,6 +1,6 @@ -reset() -push(3) -push(4) -idle() -pop(3) -pop(4) +reset(); +push(3); +push(4); +idle(); +pop(3); +pop(4); diff --git a/monitor/tests/fifo/push_pop_identity.out b/monitor/tests/fifo/push_pop_identity.out index 062dcbdf..167c9759 100644 --- a/monitor/tests/fifo/push_pop_identity.out +++ b/monitor/tests/fifo/push_pop_identity.out @@ -1,6 +1,6 @@ -reset() -push(2) -pop(2) -idle() -push(3) -pop(3) +reset(); +push(2); +pop(2); +idle(); +push(3); +pop(3); diff --git a/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out b/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out index 37f1e4de..8bfc29df 100644 --- a/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out +++ b/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out @@ -1,33 +1,33 @@ Trace 0: -reset() // [time: 0ns -> 12.5ns] (thread 0) -wait_for_data() // [time: 337.5ns -> 362.5ns] (thread 19) -wait_for_data() // [time: 387.5ns -> 412.5ns] (thread 21) -wait_for_data() // [time: 512.5ns -> 537.5ns] (thread 26) -wait_for_data() // [time: 537.5ns -> 562.5ns] (thread 27) -wait_for_data() // [time: 612.5ns -> 637.5ns] (thread 30) -wait_for_data() // [time: 787.5ns -> 812.5ns] (thread 37) -wait_for_data() // [time: 837.5ns -> 862.5ns] (thread 39) -recv(1) // [time: 862.5ns -> 887.5ns] (thread 40) -recv(2) // [time: 887.5ns -> 912.5ns] (thread 41) -recv(3) // [time: 912.5ns -> 937.5ns] (thread 42) -recv(4) // [time: 937.5ns -> 962.5ns] (thread 43) -recv(5) // [time: 962.5ns -> 987.5ns] (thread 44) -recv(6) // [time: 987.5ns -> 1012.5ns] (thread 45) -stall(7, 0) // [time: 1012.5ns -> 1037.5ns] (thread 46) -stall(7, 1) // [time: 1037.5ns -> 1050ns] (thread 47) +reset() // [time: 0ns -> 12.5ns]; +wait_for_data() // [time: 337.5ns -> 362.5ns]; +wait_for_data() // [time: 387.5ns -> 412.5ns]; +wait_for_data() // [time: 512.5ns -> 537.5ns]; +wait_for_data() // [time: 537.5ns -> 562.5ns]; +wait_for_data() // [time: 612.5ns -> 637.5ns]; +wait_for_data() // [time: 787.5ns -> 812.5ns]; +wait_for_data() // [time: 837.5ns -> 862.5ns]; +recv(1) // [time: 862.5ns -> 887.5ns]; +recv(2) // [time: 887.5ns -> 912.5ns]; +recv(3) // [time: 912.5ns -> 937.5ns]; +recv(4) // [time: 937.5ns -> 962.5ns]; +recv(5) // [time: 962.5ns -> 987.5ns]; +recv(6) // [time: 987.5ns -> 1012.5ns]; +stall(7, 0) // [time: 1012.5ns -> 1037.5ns]; +stall(7, 1) // [time: 1037.5ns -> 1050ns]; Trace 1: -reset() // [time: 0ns -> 12.5ns] (thread 0) -wait_for_data() // [time: 337.5ns -> 362.5ns] (thread 19) -wait_for_data() // [time: 387.5ns -> 412.5ns] (thread 21) -wait_for_data() // [time: 512.5ns -> 537.5ns] (thread 26) -wait_for_data() // [time: 537.5ns -> 562.5ns] (thread 27) -wait_for_data() // [time: 612.5ns -> 637.5ns] (thread 30) -wait_for_data() // [time: 787.5ns -> 812.5ns] (thread 37) -wait_for_data() // [time: 837.5ns -> 862.5ns] (thread 39) -recv(1) // [time: 862.5ns -> 887.5ns] (thread 40) -recv(2) // [time: 887.5ns -> 912.5ns] (thread 41) -recv(3) // [time: 912.5ns -> 937.5ns] (thread 42) -recv(4) // [time: 937.5ns -> 962.5ns] (thread 43) -recv(5) // [time: 962.5ns -> 987.5ns] (thread 44) -recv(6) // [time: 987.5ns -> 1012.5ns] (thread 45) -stall(7, 1) // [time: 1037.5ns -> 1050ns] (thread 47) +reset() // [time: 0ns -> 12.5ns]; +wait_for_data() // [time: 337.5ns -> 362.5ns]; +wait_for_data() // [time: 387.5ns -> 412.5ns]; +wait_for_data() // [time: 512.5ns -> 537.5ns]; +wait_for_data() // [time: 537.5ns -> 562.5ns]; +wait_for_data() // [time: 612.5ns -> 637.5ns]; +wait_for_data() // [time: 787.5ns -> 812.5ns]; +wait_for_data() // [time: 837.5ns -> 862.5ns]; +recv(1) // [time: 862.5ns -> 887.5ns]; +recv(2) // [time: 887.5ns -> 912.5ns]; +recv(3) // [time: 912.5ns -> 937.5ns]; +recv(4) // [time: 937.5ns -> 962.5ns]; +recv(5) // [time: 962.5ns -> 987.5ns]; +recv(6) // [time: 987.5ns -> 1012.5ns]; +stall(7, 1) // [time: 1037.5ns -> 1050ns]; diff --git a/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out b/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out index 6e1b7d21..52beafbf 100644 --- a/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out +++ b/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out @@ -1,54 +1,54 @@ Trace 0: -reset() // [time: 0ns -> 12.5ns] (thread 0) -wait_for_data() // [time: 337.5ns -> 362.5ns] (thread 19) -wait_for_data() // [time: 387.5ns -> 412.5ns] (thread 21) -wait_for_data() // [time: 512.5ns -> 537.5ns] (thread 26) -wait_for_data() // [time: 537.5ns -> 562.5ns] (thread 27) -wait_for_data() // [time: 612.5ns -> 637.5ns] (thread 30) -wait_for_data() // [time: 787.5ns -> 812.5ns] (thread 37) -wait_for_data() // [time: 837.5ns -> 862.5ns] (thread 39) -recv(1) // [time: 862.5ns -> 887.5ns] (thread 40) -recv(2) // [time: 887.5ns -> 912.5ns] (thread 41) -recv(3) // [time: 912.5ns -> 937.5ns] (thread 42) -recv(4) // [time: 937.5ns -> 962.5ns] (thread 43) -recv(5) // [time: 962.5ns -> 987.5ns] (thread 44) -recv(6) // [time: 987.5ns -> 1012.5ns] (thread 45) -stall(7, 0) // [time: 1012.5ns -> 1037.5ns] (thread 46) -stall(7, 0) // [time: 1037.5ns -> 1062.5ns] (thread 47) -reset() // [time: 1062.5ns -> 1087.5ns] (thread 48) -reset() // [time: 1087.5ns -> 1100ns] (thread 49) +reset() // [time: 0ns -> 12.5ns]; +wait_for_data() // [time: 337.5ns -> 362.5ns]; +wait_for_data() // [time: 387.5ns -> 412.5ns]; +wait_for_data() // [time: 512.5ns -> 537.5ns]; +wait_for_data() // [time: 537.5ns -> 562.5ns]; +wait_for_data() // [time: 612.5ns -> 637.5ns]; +wait_for_data() // [time: 787.5ns -> 812.5ns]; +wait_for_data() // [time: 837.5ns -> 862.5ns]; +recv(1) // [time: 862.5ns -> 887.5ns]; +recv(2) // [time: 887.5ns -> 912.5ns]; +recv(3) // [time: 912.5ns -> 937.5ns]; +recv(4) // [time: 937.5ns -> 962.5ns]; +recv(5) // [time: 962.5ns -> 987.5ns]; +recv(6) // [time: 987.5ns -> 1012.5ns]; +stall(7, 0) // [time: 1012.5ns -> 1037.5ns]; +stall(7, 0) // [time: 1037.5ns -> 1062.5ns]; +reset() // [time: 1062.5ns -> 1087.5ns]; +reset() // [time: 1087.5ns -> 1100ns]; Trace 1: -reset() // [time: 0ns -> 12.5ns] (thread 0) -wait_for_data() // [time: 337.5ns -> 362.5ns] (thread 19) -wait_for_data() // [time: 387.5ns -> 412.5ns] (thread 21) -wait_for_data() // [time: 512.5ns -> 537.5ns] (thread 26) -wait_for_data() // [time: 537.5ns -> 562.5ns] (thread 27) -wait_for_data() // [time: 612.5ns -> 637.5ns] (thread 30) -wait_for_data() // [time: 787.5ns -> 812.5ns] (thread 37) -wait_for_data() // [time: 837.5ns -> 862.5ns] (thread 39) -recv(1) // [time: 862.5ns -> 887.5ns] (thread 40) -recv(2) // [time: 887.5ns -> 912.5ns] (thread 41) -recv(3) // [time: 912.5ns -> 937.5ns] (thread 42) -recv(4) // [time: 937.5ns -> 962.5ns] (thread 43) -recv(5) // [time: 962.5ns -> 987.5ns] (thread 44) -recv(6) // [time: 987.5ns -> 1012.5ns] (thread 45) -stall(7, 0) // [time: 1012.5ns -> 1037.5ns] (thread 46) -reset() // [time: 1062.5ns -> 1087.5ns] (thread 48) -reset() // [time: 1087.5ns -> 1100ns] (thread 49) +reset() // [time: 0ns -> 12.5ns]; +wait_for_data() // [time: 337.5ns -> 362.5ns]; +wait_for_data() // [time: 387.5ns -> 412.5ns]; +wait_for_data() // [time: 512.5ns -> 537.5ns]; +wait_for_data() // [time: 537.5ns -> 562.5ns]; +wait_for_data() // [time: 612.5ns -> 637.5ns]; +wait_for_data() // [time: 787.5ns -> 812.5ns]; +wait_for_data() // [time: 837.5ns -> 862.5ns]; +recv(1) // [time: 862.5ns -> 887.5ns]; +recv(2) // [time: 887.5ns -> 912.5ns]; +recv(3) // [time: 912.5ns -> 937.5ns]; +recv(4) // [time: 937.5ns -> 962.5ns]; +recv(5) // [time: 962.5ns -> 987.5ns]; +recv(6) // [time: 987.5ns -> 1012.5ns]; +stall(7, 0) // [time: 1012.5ns -> 1037.5ns]; +reset() // [time: 1062.5ns -> 1087.5ns]; +reset() // [time: 1087.5ns -> 1100ns]; Trace 2: -reset() // [time: 0ns -> 12.5ns] (thread 0) -wait_for_data() // [time: 337.5ns -> 362.5ns] (thread 19) -wait_for_data() // [time: 387.5ns -> 412.5ns] (thread 21) -wait_for_data() // [time: 512.5ns -> 537.5ns] (thread 26) -wait_for_data() // [time: 537.5ns -> 562.5ns] (thread 27) -wait_for_data() // [time: 612.5ns -> 637.5ns] (thread 30) -wait_for_data() // [time: 787.5ns -> 812.5ns] (thread 37) -wait_for_data() // [time: 837.5ns -> 862.5ns] (thread 39) -recv(1) // [time: 862.5ns -> 887.5ns] (thread 40) -recv(2) // [time: 887.5ns -> 912.5ns] (thread 41) -recv(3) // [time: 912.5ns -> 937.5ns] (thread 42) -recv(4) // [time: 937.5ns -> 962.5ns] (thread 43) -recv(5) // [time: 962.5ns -> 987.5ns] (thread 44) -recv(6) // [time: 987.5ns -> 1012.5ns] (thread 45) -reset() // [time: 1062.5ns -> 1087.5ns] (thread 48) -reset() // [time: 1087.5ns -> 1100ns] (thread 49) +reset() // [time: 0ns -> 12.5ns]; +wait_for_data() // [time: 337.5ns -> 362.5ns]; +wait_for_data() // [time: 387.5ns -> 412.5ns]; +wait_for_data() // [time: 512.5ns -> 537.5ns]; +wait_for_data() // [time: 537.5ns -> 562.5ns]; +wait_for_data() // [time: 612.5ns -> 637.5ns]; +wait_for_data() // [time: 787.5ns -> 812.5ns]; +wait_for_data() // [time: 837.5ns -> 862.5ns]; +recv(1) // [time: 862.5ns -> 887.5ns]; +recv(2) // [time: 887.5ns -> 912.5ns]; +recv(3) // [time: 912.5ns -> 937.5ns]; +recv(4) // [time: 937.5ns -> 962.5ns]; +recv(5) // [time: 962.5ns -> 987.5ns]; +recv(6) // [time: 987.5ns -> 1012.5ns]; +reset() // [time: 1062.5ns -> 1087.5ns]; +reset() // [time: 1087.5ns -> 1100ns]; diff --git a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out index 59b5bbb2..c4ffa677 100644 --- a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out +++ b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out @@ -1,10 +1,10 @@ -reset() // [time: 0ns -> 25ns] (thread 0) -wait_for_data() // [time: 25ns -> 50ns] (thread 6) -wait_for_data() // [time: 50ns -> 75ns] (thread 7) -wait_for_data() // [time: 75ns -> 100ns] (thread 8) -recv(205) // [time: 100ns -> 125ns] (thread 9) -recv(171) // [time: 125ns -> 150ns] (thread 10) -recv(205) // [time: 150ns -> 175ns] (thread 11) -recv(171) // [time: 175ns -> 200ns] (thread 12) -recv(205) // [time: 200ns -> 225ns] (thread 13) -recv_last(171) // [time: 225ns -> 237.5ns] (thread 14) +reset() // [time: 0ns -> 25ns]; +wait_for_data() // [time: 25ns -> 50ns]; +wait_for_data() // [time: 50ns -> 75ns]; +wait_for_data() // [time: 75ns -> 100ns]; +recv(205) // [time: 100ns -> 125ns]; +recv(171) // [time: 125ns -> 150ns]; +recv(205) // [time: 150ns -> 175ns]; +recv(171) // [time: 175ns -> 200ns]; +recv(205) // [time: 200ns -> 225ns]; +recv_last(171) // [time: 225ns -> 237.5ns]; diff --git a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out index b4b160d8..c3bd4683 100644 --- a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out +++ b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out @@ -1,9 +1,9 @@ -reset() // [time: 0ns -> 25ns] (thread 0) -wait_for_data() // [time: 25ns -> 50ns] (thread 6) -wait_for_data() // [time: 50ns -> 75ns] (thread 7) -wait_for_data() // [time: 75ns -> 100ns] (thread 8) -recv(205) // [time: 100ns -> 125ns] (thread 9) -recv(171) // [time: 125ns -> 150ns] (thread 10) -recv(205) // [time: 150ns -> 175ns] (thread 11) -recv(171) // [time: 175ns -> 200ns] (thread 12) -recv_last(205) // [time: 200ns -> 212.5ns] (thread 13) +reset() // [time: 0ns -> 25ns]; +wait_for_data() // [time: 25ns -> 50ns]; +wait_for_data() // [time: 50ns -> 75ns]; +wait_for_data() // [time: 75ns -> 100ns]; +recv(205) // [time: 100ns -> 125ns]; +recv(171) // [time: 125ns -> 150ns]; +recv(205) // [time: 150ns -> 175ns]; +recv(171) // [time: 175ns -> 200ns]; +recv_last(205) // [time: 200ns -> 212.5ns]; diff --git a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out index 817f39e8..acd86dd1 100644 --- a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out +++ b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out @@ -1,15 +1,15 @@ -Sender::reset() // [time: 0ns -> 25ns] (thread Sender::2) -Receiver::reset() // [time: 0ns -> 25ns] (thread Receiver::2) -Sender::idle() // [time: 25ns -> 50ns] (thread Sender::3) -Sender::push(1) // [time: 50ns -> 75ns] (thread Sender::4) -Sender::push(2) // [time: 75ns -> 100ns] (thread Sender::5) -Sender::push(3) // [time: 100ns -> 125ns] (thread Sender::6) -Receiver::pop(2) // [time: 25ns -> 125ns] (thread Receiver::3) -Sender::push(4) // [time: 125ns -> 150ns] (thread Sender::7) -Receiver::pop(3) // [time: 100ns -> 150ns] (thread Receiver::4) -Sender::push(5) // [time: 150ns -> 175ns] (thread Sender::8) -Receiver::pop(4) // [time: 125ns -> 175ns] (thread Receiver::5) -Sender::push(6) // [time: 175ns -> 200ns] (thread Sender::9) -Receiver::pop(5) // [time: 150ns -> 200ns] (thread Receiver::6) -Sender::push(7) // [time: 200ns -> 212.5ns] (thread Sender::10) -Receiver::pop(6) // [time: 175ns -> 212.5ns] (thread Receiver::7) +Sender::reset() // [time: 0ns -> 25ns] +Receiver::reset() // [time: 0ns -> 25ns] +Sender::idle() // [time: 25ns -> 50ns] +Sender::push(1) // [time: 50ns -> 75ns] +Sender::push(2) // [time: 75ns -> 100ns] +Sender::push(3) // [time: 100ns -> 125ns] +Receiver::pop(2) // [time: 25ns -> 125ns] +Sender::push(4) // [time: 125ns -> 150ns] +Receiver::pop(3) // [time: 100ns -> 150ns] +Sender::push(5) // [time: 150ns -> 175ns] +Receiver::pop(4) // [time: 125ns -> 175ns] +Sender::push(6) // [time: 175ns -> 200ns] +Receiver::pop(5) // [time: 150ns -> 200ns] +Sender::push(7) // [time: 200ns -> 212.5ns] +Receiver::pop(6) // [time: 175ns -> 212.5ns] diff --git a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out index 2516f6b4..43ffae78 100644 --- a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out +++ b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out @@ -1,20 +1,20 @@ -Sender::reset() // [time: 0ns -> 25ns] (thread Sender::2) -Receiver::reset() // [time: 0ns -> 25ns] (thread Receiver::2) -Sender::idle() // [time: 25ns -> 50ns] (thread Sender::3) -Receiver::idle() // [time: 25ns -> 50ns] (thread Receiver::3) -Sender::push(1) // [time: 50ns -> 75ns] (thread Sender::4) -Receiver::idle() // [time: 50ns -> 75ns] (thread Receiver::4) -Sender::push(2) // [time: 75ns -> 100ns] (thread Sender::5) -Receiver::idle() // [time: 75ns -> 100ns] (thread Receiver::5) -Sender::push(3) // [time: 100ns -> 150ns] (thread Sender::6) -Receiver::pop(2) // [time: 100ns -> 150ns] (thread Receiver::6) -Sender::push(4) // [time: 150ns -> 175ns] (thread Sender::7) -Receiver::pop(3) // [time: 125ns -> 175ns] (thread Receiver::7) -Sender::push(5) // [time: 175ns -> 200ns] (thread Sender::8) -Receiver::pop(4) // [time: 150ns -> 200ns] (thread Receiver::8) -Sender::push(6) // [time: 200ns -> 225ns] (thread Sender::9) -Receiver::pop(5) // [time: 175ns -> 225ns] (thread Receiver::9) -Sender::push(7) // [time: 225ns -> 250ns] (thread Sender::10) -Receiver::pop(6) // [time: 200ns -> 250ns] (thread Receiver::10) -Sender::push(8) // [time: 250ns -> 262.5ns] (thread Sender::11) -Receiver::pop(7) // [time: 225ns -> 262.5ns] (thread Receiver::11) +Sender::reset() // [time: 0ns -> 25ns] +Receiver::reset() // [time: 0ns -> 25ns] +Sender::idle() // [time: 25ns -> 50ns] +Receiver::idle() // [time: 25ns -> 50ns] +Sender::push(1) // [time: 50ns -> 75ns] +Receiver::idle() // [time: 50ns -> 75ns] +Sender::push(2) // [time: 75ns -> 100ns] +Receiver::idle() // [time: 75ns -> 100ns] +Sender::push(3) // [time: 100ns -> 150ns] +Receiver::pop(2) // [time: 100ns -> 150ns] +Sender::push(4) // [time: 150ns -> 175ns] +Receiver::pop(3) // [time: 125ns -> 175ns] +Sender::push(5) // [time: 175ns -> 200ns] +Receiver::pop(4) // [time: 150ns -> 200ns] +Sender::push(6) // [time: 200ns -> 225ns] +Receiver::pop(5) // [time: 175ns -> 225ns] +Sender::push(7) // [time: 225ns -> 250ns] +Receiver::pop(6) // [time: 200ns -> 250ns] +Sender::push(8) // [time: 250ns -> 262.5ns] +Receiver::pop(7) // [time: 225ns -> 262.5ns] diff --git a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out index 6ef1f7f7..567a8a76 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out @@ -1,14 +1,14 @@ -reset() // [time: 0ns -> 25ns] (thread 4) -push(1) // [time: 25ns -> 50ns] (thread 6) -push(1) // [time: 50ns -> 75ns] (thread 7) -push(2) // [time: 75ns -> 100ns] (thread 8) -push(4) // [time: 100ns -> 125ns] (thread 9) -push(5) // [time: 125ns -> 150ns] (thread 10) -push(6) // [time: 150ns -> 175ns] (thread 11) -push(6) // [time: 175ns -> 200ns] (thread 12) -push(6) // [time: 200ns -> 225ns] (thread 13) -push(6) // [time: 225ns -> 250ns] (thread 14) -push(6) // [time: 250ns -> 275ns] (thread 15) -push(6) // [time: 275ns -> 300ns] (thread 16) -reset() // [time: 300ns -> 325ns] (thread 17) -push(6) // [time: 325ns -> 337.5ns] (thread 18) +reset() // [time: 0ns -> 25ns]; +push(1) // [time: 25ns -> 50ns]; +push(1) // [time: 50ns -> 75ns]; +push(2) // [time: 75ns -> 100ns]; +push(4) // [time: 100ns -> 125ns]; +push(5) // [time: 125ns -> 150ns]; +push(6) // [time: 150ns -> 175ns]; +push(6) // [time: 175ns -> 200ns]; +push(6) // [time: 200ns -> 225ns]; +push(6) // [time: 225ns -> 250ns]; +push(6) // [time: 250ns -> 275ns]; +push(6) // [time: 275ns -> 300ns]; +reset() // [time: 300ns -> 325ns]; +push(6) // [time: 325ns -> 337.5ns]; diff --git a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out index 293ac6ee..6476e1e1 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out @@ -1,18 +1,18 @@ -reset() // [time: 0ns -> 25ns] (thread 4) -push(1) // [time: 25ns -> 50ns] (thread 6) -push(1) // [time: 50ns -> 75ns] (thread 7) -push(2) // [time: 75ns -> 100ns] (thread 8) -push(4) // [time: 100ns -> 125ns] (thread 9) -push(5) // [time: 125ns -> 150ns] (thread 10) -push(6) // [time: 150ns -> 175ns] (thread 11) -push(6) // [time: 175ns -> 200ns] (thread 12) -push(6) // [time: 200ns -> 225ns] (thread 13) -push(6) // [time: 225ns -> 250ns] (thread 14) -push(6) // [time: 250ns -> 275ns] (thread 15) -push(6) // [time: 275ns -> 300ns] (thread 16) -reset() // [time: 300ns -> 325ns] (thread 17) -push(6) // [time: 325ns -> 350ns] (thread 18) -push(6) // [time: 350ns -> 375ns] (thread 19) -push(7) // [time: 375ns -> 400ns] (thread 20) -push(7) // [time: 400ns -> 425ns] (thread 21) -push(7) // [time: 425ns -> 437.5ns] (thread 22) +reset() // [time: 0ns -> 25ns]; +push(1) // [time: 25ns -> 50ns]; +push(1) // [time: 50ns -> 75ns]; +push(2) // [time: 75ns -> 100ns]; +push(4) // [time: 100ns -> 125ns]; +push(5) // [time: 125ns -> 150ns]; +push(6) // [time: 150ns -> 175ns]; +push(6) // [time: 175ns -> 200ns]; +push(6) // [time: 200ns -> 225ns]; +push(6) // [time: 225ns -> 250ns]; +push(6) // [time: 250ns -> 275ns]; +push(6) // [time: 275ns -> 300ns]; +reset() // [time: 300ns -> 325ns]; +push(6) // [time: 325ns -> 350ns]; +push(6) // [time: 350ns -> 375ns]; +push(7) // [time: 375ns -> 400ns]; +push(7) // [time: 400ns -> 425ns]; +push(7) // [time: 425ns -> 437.5ns]; diff --git a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out index 8820ce32..211cdb74 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out @@ -1,13 +1,13 @@ -reset() // [time: 0ns -> 25ns] (thread 4) -push(1) // [time: 25ns -> 50ns] (thread 5) -push(1) // [time: 50ns -> 75ns] (thread 6) -push(2) // [time: 75ns -> 100ns] (thread 7) -push(3) // [time: 100ns -> 125ns] (thread 8) -push(4) // [time: 125ns -> 150ns] (thread 9) -push(5) // [time: 150ns -> 175ns] (thread 10) -push(6) // [time: 175ns -> 200ns] (thread 11) -pop(1) // [time: 200ns -> 250ns] (thread 12) -push_and_pop(6, 2) // [time: 225ns -> 275ns] (thread 13) -push_and_pop(6, 3) // [time: 250ns -> 300ns] (thread 14) -push_and_pop(7, 3) // [time: 275ns -> 325ns] (thread 15) -push_and_pop(7, 5) // [time: 300ns -> 362.5ns] (thread 16) +reset() // [time: 0ns -> 25ns]; +push(1) // [time: 25ns -> 50ns]; +push(1) // [time: 50ns -> 75ns]; +push(2) // [time: 75ns -> 100ns]; +push(3) // [time: 100ns -> 125ns]; +push(4) // [time: 125ns -> 150ns]; +push(5) // [time: 150ns -> 175ns]; +push(6) // [time: 175ns -> 200ns]; +pop(1) // [time: 200ns -> 250ns]; +push_and_pop(6, 2) // [time: 225ns -> 275ns]; +push_and_pop(6, 3) // [time: 250ns -> 300ns]; +push_and_pop(7, 3) // [time: 275ns -> 325ns]; +push_and_pop(7, 5) // [time: 300ns -> 362.5ns]; diff --git a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out index c1a32ab4..fbdf71fc 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out @@ -1,12 +1,12 @@ -reset() // [time: 0ns -> 25ns] (thread 4) -push(1) // [time: 25ns -> 50ns] (thread 5) -push(1) // [time: 50ns -> 75ns] (thread 6) -push(2) // [time: 75ns -> 100ns] (thread 7) -push(3) // [time: 100ns -> 125ns] (thread 8) -push(4) // [time: 125ns -> 150ns] (thread 9) -push(5) // [time: 150ns -> 175ns] (thread 10) -push(6) // [time: 175ns -> 200ns] (thread 11) -pop(1) // [time: 200ns -> 250ns] (thread 12) -push_and_pop(6, 2) // [time: 225ns -> 275ns] (thread 13) -push_and_pop(6, 3) // [time: 250ns -> 300ns] (thread 14) -push_and_pop(7, 3) // [time: 275ns -> 325ns] (thread 15) +reset() // [time: 0ns -> 25ns]; +push(1) // [time: 25ns -> 50ns]; +push(1) // [time: 50ns -> 75ns]; +push(2) // [time: 75ns -> 100ns]; +push(3) // [time: 100ns -> 125ns]; +push(4) // [time: 125ns -> 150ns]; +push(5) // [time: 150ns -> 175ns]; +push(6) // [time: 175ns -> 200ns]; +pop(1) // [time: 200ns -> 250ns]; +push_and_pop(6, 2) // [time: 225ns -> 275ns]; +push_and_pop(6, 3) // [time: 250ns -> 300ns]; +push_and_pop(7, 3) // [time: 275ns -> 325ns]; diff --git a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out index 478c0376..63f284c0 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out @@ -1,44 +1,44 @@ -reset() // [time: 0ns -> 2.5ns] (thread 4) -reset() // [time: 2.5ns -> 5ns] (thread 5) -reset() // [time: 5ns -> 7.5ns] (thread 6) -reset() // [time: 7.5ns -> 10ns] (thread 7) -reset() // [time: 10ns -> 12.5ns] (thread 8) -reset() // [time: 12.5ns -> 15ns] (thread 9) -reset() // [time: 15ns -> 17.5ns] (thread 10) -reset() // [time: 17.5ns -> 20ns] (thread 11) -reset() // [time: 20ns -> 22.5ns] (thread 12) -reset() // [time: 22.5ns -> 25ns] (thread 13) -push(0) // [time: 37.5ns -> 40ns] (thread 19) -push(1) // [time: 40ns -> 42.5ns] (thread 20) -push(2) // [time: 42.5ns -> 45ns] (thread 21) -push(3) // [time: 45ns -> 47.5ns] (thread 22) -push(4) // [time: 47.5ns -> 50ns] (thread 23) -push(5) // [time: 50ns -> 52.5ns] (thread 24) -push(6) // [time: 52.5ns -> 55ns] (thread 25) -push(7) // [time: 55ns -> 57.5ns] (thread 26) -push(8) // [time: 57.5ns -> 60ns] (thread 27) -push(9) // [time: 60ns -> 62.5ns] (thread 28) -push(233) // [time: 62.5ns -> 65ns] (thread 29) -push(0) // [time: 77.5ns -> 80ns] (thread 35) -push(1) // [time: 80ns -> 82.5ns] (thread 36) -push(2) // [time: 82.5ns -> 85ns] (thread 37) -push(3) // [time: 85ns -> 87.5ns] (thread 38) -push(4) // [time: 87.5ns -> 90ns] (thread 39) -push(5) // [time: 90ns -> 92.5ns] (thread 40) -push(6) // [time: 92.5ns -> 95ns] (thread 41) -push(7) // [time: 95ns -> 97.5ns] (thread 42) -push(8) // [time: 97.5ns -> 100ns] (thread 43) -push(9) // [time: 100ns -> 102.5ns] (thread 44) -push(233) // [time: 102.5ns -> 105ns] (thread 45) -push(0) // [time: 117.5ns -> 120ns] (thread 51) -push(1) // [time: 120ns -> 122.5ns] (thread 52) -push(2) // [time: 122.5ns -> 125ns] (thread 53) -push(3) // [time: 125ns -> 127.5ns] (thread 54) -push(4) // [time: 127.5ns -> 130ns] (thread 55) -push(5) // [time: 130ns -> 132.5ns] (thread 56) -push(6) // [time: 132.5ns -> 135ns] (thread 57) -push(7) // [time: 135ns -> 137.5ns] (thread 58) -push(8) // [time: 137.5ns -> 140ns] (thread 59) -push(9) // [time: 140ns -> 142.5ns] (thread 60) -push(233) // [time: 142.5ns -> 145ns] (thread 61) -push(0) // [time: 157.5ns -> 158.75ns] (thread 67) +reset() // [time: 0ns -> 2.5ns]; +reset() // [time: 2.5ns -> 5ns]; +reset() // [time: 5ns -> 7.5ns]; +reset() // [time: 7.5ns -> 10ns]; +reset() // [time: 10ns -> 12.5ns]; +reset() // [time: 12.5ns -> 15ns]; +reset() // [time: 15ns -> 17.5ns]; +reset() // [time: 17.5ns -> 20ns]; +reset() // [time: 20ns -> 22.5ns]; +reset() // [time: 22.5ns -> 25ns]; +push(0) // [time: 37.5ns -> 40ns]; +push(1) // [time: 40ns -> 42.5ns]; +push(2) // [time: 42.5ns -> 45ns]; +push(3) // [time: 45ns -> 47.5ns]; +push(4) // [time: 47.5ns -> 50ns]; +push(5) // [time: 50ns -> 52.5ns]; +push(6) // [time: 52.5ns -> 55ns]; +push(7) // [time: 55ns -> 57.5ns]; +push(8) // [time: 57.5ns -> 60ns]; +push(9) // [time: 60ns -> 62.5ns]; +push(233) // [time: 62.5ns -> 65ns]; +push(0) // [time: 77.5ns -> 80ns]; +push(1) // [time: 80ns -> 82.5ns]; +push(2) // [time: 82.5ns -> 85ns]; +push(3) // [time: 85ns -> 87.5ns]; +push(4) // [time: 87.5ns -> 90ns]; +push(5) // [time: 90ns -> 92.5ns]; +push(6) // [time: 92.5ns -> 95ns]; +push(7) // [time: 95ns -> 97.5ns]; +push(8) // [time: 97.5ns -> 100ns]; +push(9) // [time: 100ns -> 102.5ns]; +push(233) // [time: 102.5ns -> 105ns]; +push(0) // [time: 117.5ns -> 120ns]; +push(1) // [time: 120ns -> 122.5ns]; +push(2) // [time: 122.5ns -> 125ns]; +push(3) // [time: 125ns -> 127.5ns]; +push(4) // [time: 127.5ns -> 130ns]; +push(5) // [time: 130ns -> 132.5ns]; +push(6) // [time: 132.5ns -> 135ns]; +push(7) // [time: 135ns -> 137.5ns]; +push(8) // [time: 137.5ns -> 140ns]; +push(9) // [time: 140ns -> 142.5ns]; +push(233) // [time: 142.5ns -> 145ns]; +push(0) // [time: 157.5ns -> 158.75ns]; diff --git a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out index abf42e0a..1e602b11 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out @@ -1,43 +1,43 @@ -reset() // [time: 0ns -> 2.5ns] (thread 4) -reset() // [time: 2.5ns -> 5ns] (thread 5) -reset() // [time: 5ns -> 7.5ns] (thread 6) -reset() // [time: 7.5ns -> 10ns] (thread 7) -reset() // [time: 10ns -> 12.5ns] (thread 8) -reset() // [time: 12.5ns -> 15ns] (thread 9) -reset() // [time: 15ns -> 17.5ns] (thread 10) -reset() // [time: 17.5ns -> 20ns] (thread 11) -reset() // [time: 20ns -> 22.5ns] (thread 12) -reset() // [time: 22.5ns -> 25ns] (thread 13) -push(0) // [time: 37.5ns -> 40ns] (thread 19) -push(1) // [time: 40ns -> 42.5ns] (thread 20) -push(2) // [time: 42.5ns -> 45ns] (thread 21) -push(3) // [time: 45ns -> 47.5ns] (thread 22) -push(4) // [time: 47.5ns -> 50ns] (thread 23) -push(5) // [time: 50ns -> 52.5ns] (thread 24) -push(6) // [time: 52.5ns -> 55ns] (thread 25) -push(7) // [time: 55ns -> 57.5ns] (thread 26) -push(8) // [time: 57.5ns -> 60ns] (thread 27) -push(9) // [time: 60ns -> 62.5ns] (thread 28) -push(233) // [time: 62.5ns -> 65ns] (thread 29) -push(0) // [time: 77.5ns -> 80ns] (thread 35) -push(1) // [time: 80ns -> 82.5ns] (thread 36) -push(2) // [time: 82.5ns -> 85ns] (thread 37) -push(3) // [time: 85ns -> 87.5ns] (thread 38) -push(4) // [time: 87.5ns -> 90ns] (thread 39) -push(5) // [time: 90ns -> 92.5ns] (thread 40) -push(6) // [time: 92.5ns -> 95ns] (thread 41) -push(7) // [time: 95ns -> 97.5ns] (thread 42) -push(8) // [time: 97.5ns -> 100ns] (thread 43) -push(9) // [time: 100ns -> 102.5ns] (thread 44) -push(233) // [time: 102.5ns -> 105ns] (thread 45) -push(0) // [time: 117.5ns -> 120ns] (thread 51) -push(1) // [time: 120ns -> 122.5ns] (thread 52) -push(2) // [time: 122.5ns -> 125ns] (thread 53) -push(3) // [time: 125ns -> 127.5ns] (thread 54) -push(4) // [time: 127.5ns -> 130ns] (thread 55) -push(5) // [time: 130ns -> 132.5ns] (thread 56) -push(6) // [time: 132.5ns -> 135ns] (thread 57) -push(7) // [time: 135ns -> 137.5ns] (thread 58) -push(8) // [time: 137.5ns -> 140ns] (thread 59) -push(9) // [time: 140ns -> 142.5ns] (thread 60) -push(233) // [time: 142.5ns -> 145ns] (thread 61) +reset() // [time: 0ns -> 2.5ns]; +reset() // [time: 2.5ns -> 5ns]; +reset() // [time: 5ns -> 7.5ns]; +reset() // [time: 7.5ns -> 10ns]; +reset() // [time: 10ns -> 12.5ns]; +reset() // [time: 12.5ns -> 15ns]; +reset() // [time: 15ns -> 17.5ns]; +reset() // [time: 17.5ns -> 20ns]; +reset() // [time: 20ns -> 22.5ns]; +reset() // [time: 22.5ns -> 25ns]; +push(0) // [time: 37.5ns -> 40ns]; +push(1) // [time: 40ns -> 42.5ns]; +push(2) // [time: 42.5ns -> 45ns]; +push(3) // [time: 45ns -> 47.5ns]; +push(4) // [time: 47.5ns -> 50ns]; +push(5) // [time: 50ns -> 52.5ns]; +push(6) // [time: 52.5ns -> 55ns]; +push(7) // [time: 55ns -> 57.5ns]; +push(8) // [time: 57.5ns -> 60ns]; +push(9) // [time: 60ns -> 62.5ns]; +push(233) // [time: 62.5ns -> 65ns]; +push(0) // [time: 77.5ns -> 80ns]; +push(1) // [time: 80ns -> 82.5ns]; +push(2) // [time: 82.5ns -> 85ns]; +push(3) // [time: 85ns -> 87.5ns]; +push(4) // [time: 87.5ns -> 90ns]; +push(5) // [time: 90ns -> 92.5ns]; +push(6) // [time: 92.5ns -> 95ns]; +push(7) // [time: 95ns -> 97.5ns]; +push(8) // [time: 97.5ns -> 100ns]; +push(9) // [time: 100ns -> 102.5ns]; +push(233) // [time: 102.5ns -> 105ns]; +push(0) // [time: 117.5ns -> 120ns]; +push(1) // [time: 120ns -> 122.5ns]; +push(2) // [time: 122.5ns -> 125ns]; +push(3) // [time: 125ns -> 127.5ns]; +push(4) // [time: 127.5ns -> 130ns]; +push(5) // [time: 130ns -> 132.5ns]; +push(6) // [time: 132.5ns -> 135ns]; +push(7) // [time: 135ns -> 137.5ns]; +push(8) // [time: 137.5ns -> 140ns]; +push(9) // [time: 140ns -> 142.5ns]; +push(233) // [time: 142.5ns -> 145ns]; diff --git a/monitor/tests/identities/identity_d1.out b/monitor/tests/identities/identity_d1.out index 49bf44d7..2d257e38 100644 --- a/monitor/tests/identities/identity_d1.out +++ b/monitor/tests/identities/identity_d1.out @@ -1 +1 @@ -slicing_ok(1, 1) +slicing_ok(1, 1); diff --git a/monitor/tests/multi/multi0.out b/monitor/tests/multi/multi0.out index f416770e..923a8f4f 100644 --- a/monitor/tests/multi/multi0.out +++ b/monitor/tests/multi/multi0.out @@ -1 +1 @@ -multi(10, 10) +multi(10, 10); diff --git a/monitor/tests/multi/multi0keep.out b/monitor/tests/multi/multi0keep.out index f416770e..923a8f4f 100644 --- a/monitor/tests/multi/multi0keep.out +++ b/monitor/tests/multi/multi0keep.out @@ -1 +1 @@ -multi(10, 10) +multi(10, 10); diff --git a/monitor/tests/multi/multi0keep2const.out b/monitor/tests/multi/multi0keep2const.out index f416770e..923a8f4f 100644 --- a/monitor/tests/multi/multi0keep2const.out +++ b/monitor/tests/multi/multi0keep2const.out @@ -1 +1 @@ -multi(10, 10) +multi(10, 10); diff --git a/monitor/tests/multi/multi2const.out b/monitor/tests/multi/multi2const.out index f416770e..923a8f4f 100644 --- a/monitor/tests/multi/multi2const.out +++ b/monitor/tests/multi/multi2const.out @@ -1 +1 @@ -multi(10, 10) +multi(10, 10); diff --git a/monitor/tests/multi/multi2multi.out b/monitor/tests/multi/multi2multi.out index f416770e..923a8f4f 100644 --- a/monitor/tests/multi/multi2multi.out +++ b/monitor/tests/multi/multi2multi.out @@ -1 +1 @@ -multi(10, 10) +multi(10, 10); diff --git a/monitor/tests/multi/multi_data.out b/monitor/tests/multi/multi_data.out index f416770e..923a8f4f 100644 --- a/monitor/tests/multi/multi_data.out +++ b/monitor/tests/multi/multi_data.out @@ -1 +1 @@ -multi(10, 10) +multi(10, 10); diff --git a/monitor/tests/multipliers/mult_d2.out b/monitor/tests/multipliers/mult_d2.out index 0198f095..c6ef7cc3 100644 --- a/monitor/tests/multipliers/mult_d2.out +++ b/monitor/tests/multipliers/mult_d2.out @@ -1,2 +1,2 @@ -mul(1, 2, 2) -mul(6, 8, 48) +mul(1, 2, 2); +mul(6, 8, 48); diff --git a/monitor/tests/picorv32/pcpi_mul_unsigned_mul.out b/monitor/tests/picorv32/pcpi_mul_unsigned_mul.out index b7159d35..98f5785f 100644 --- a/monitor/tests/picorv32/pcpi_mul_unsigned_mul.out +++ b/monitor/tests/picorv32/pcpi_mul_unsigned_mul.out @@ -1,5 +1,5 @@ -pcpi_mul_reset() -pcpi_mul(1, 1, 1, 33554483) -pcpi_mul(1, 100, 100, 33554483) -pcpi_mul(100, 1, 100, 33554483) -pcpi_mul(33554483, 200, 2415929304, 33554483) +pcpi_mul_reset(); +pcpi_mul(1, 1, 1, 33554483); +pcpi_mul(1, 100, 100, 33554483); +pcpi_mul(100, 1, 100, 33554483); +pcpi_mul(33554483, 200, 2415929304, 33554483); diff --git a/monitor/tests/serv/serv_regfile.out b/monitor/tests/serv/serv_regfile.out index da1a472f..70b626fc 100644 --- a/monitor/tests/serv/serv_regfile.out +++ b/monitor/tests/serv/serv_regfile.out @@ -1,2 +1,2 @@ -read_write(0x00, 0x00000000, 0x00000000, 0x00, 0x1, 0x05, 0xdeadbeef) -read_write(0x05, 0xdeadbeef, 0x00000000, 0x00, 0x0, 0x00, 0x00000000) +read_write(0x00, 0x00000000, 0x00000000, 0x00, 0x1, 0x05, 0xdeadbeef); +read_write(0x05, 0xdeadbeef, 0x00000000, 0x00, 0x0, 0x00, 0x00000000); diff --git a/monitor/tests/tinyaes128/aes128.out b/monitor/tests/tinyaes128/aes128.out index c77ecc9f..58ba2bcf 100644 --- a/monitor/tests/tinyaes128/aes128.out +++ b/monitor/tests/tinyaes128/aes128.out @@ -1,2 +1,2 @@ -aes128(0x000102030405060708090a0b0c0d0e0f, 0x00112233445566778899aabbccddeeff, 0x69c4e0d86a7b0430d8cdb78070b4c55a) -aes128(0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x66e94bd4ef8a2c3b884cfa59ca342b2e) +aes128(0x000102030405060708090a0b0c0d0e0f, 0x00112233445566778899aabbccddeeff, 0x69c4e0d86a7b0430d8cdb78070b4c55a); +aes128(0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x66e94bd4ef8a2c3b884cfa59ca342b2e); diff --git a/monitor/tests/wal/advanced/axis.out b/monitor/tests/wal/advanced/axis.out index 7f9da4e5..3e4da80c 100644 --- a/monitor/tests/wal/advanced/axis.out +++ b/monitor/tests/wal/advanced/axis.out @@ -1,12 +1,12 @@ -send_data(0) // [time: 804ns -> 812ns] (thread 102) -send_data(1) // [time: 1508ns -> 1516ns] (thread 190) -send_data(2) // [time: 2212ns -> 2220ns] (thread 278) -send_data(3) // [time: 2916ns -> 2924ns] (thread 366) -send_data(8) // [time: 3620ns -> 6628ns] (thread 454) -send_data(9) // [time: 7140ns -> 7412ns] (thread 519) -send_data(10) // [time: 7844ns -> 7852ns] (thread 574) -send_data(11) // [time: 8548ns -> 8556ns] (thread 662) -send_data(12) // [time: 9252ns -> 9260ns] (thread 750) -send_data(15) // [time: 9956ns -> 11628ns] (thread 838) -send_data(18) // [time: 12068ns -> 13932ns] (thread 894) -send_data(19) // [time: 14180ns -> 14188ns] (thread 926) +send_data(0) // [time: 804ns -> 812ns]; +send_data(1) // [time: 1508ns -> 1516ns]; +send_data(2) // [time: 2212ns -> 2220ns]; +send_data(3) // [time: 2916ns -> 2924ns]; +send_data(8) // [time: 3620ns -> 6628ns]; +send_data(9) // [time: 7140ns -> 7412ns]; +send_data(10) // [time: 7844ns -> 7852ns]; +send_data(11) // [time: 8548ns -> 8556ns]; +send_data(12) // [time: 9252ns -> 9260ns]; +send_data(15) // [time: 9956ns -> 11628ns]; +send_data(18) // [time: 12068ns -> 13932ns]; +send_data(19) // [time: 14180ns -> 14188ns]; diff --git a/monitor/tests/wal/advanced/axis_minimal.out b/monitor/tests/wal/advanced/axis_minimal.out index 7d931465..066af731 100644 --- a/monitor/tests/wal/advanced/axis_minimal.out +++ b/monitor/tests/wal/advanced/axis_minimal.out @@ -1 +1 @@ -send_data(15) // [time: 0ns -> 284ns] (thread 0) +send_data(15) // [time: 0ns -> 284ns]; diff --git a/monitor/tests/wal/advanced/axis_truncated.out b/monitor/tests/wal/advanced/axis_truncated.out index a378d355..3facc52f 100644 --- a/monitor/tests/wal/advanced/axis_truncated.out +++ b/monitor/tests/wal/advanced/axis_truncated.out @@ -1,3 +1,3 @@ -send_data(15) // [time: 0ns -> 968ns] (thread 0) -send_data(18) // [time: 1408ns -> 3272ns] (thread 57) -send_data(19) // [time: 3520ns -> 3528ns] (thread 89) +send_data(15) // [time: 0ns -> 968ns]; +send_data(18) // [time: 1408ns -> 3272ns]; +send_data(19) // [time: 3520ns -> 3528ns]; From fee201319c20918a4390283e1ad1a95183744220 Mon Sep 17 00:00:00 2001 From: Ernest Ng Date: Sat, 14 Feb 2026 14:12:06 -0500 Subject: [PATCH 4/7] Update formatting for monitor output --- monitor/src/global_scheduler.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/monitor/src/global_scheduler.rs b/monitor/src/global_scheduler.rs index 36af87ee..b05ae2f2 100644 --- a/monitor/src/global_scheduler.rs +++ b/monitor/src/global_scheduler.rs @@ -217,7 +217,7 @@ impl GlobalScheduler { // Include semi-colons so that the serialized // protocol trace is the same as the concrete // syntax for `.tx` files in the interpreter - println!("{};", lines.join(";\n")); + println!("{}", lines.join("\n")); } return; } @@ -256,21 +256,21 @@ impl GlobalScheduler { let end_time = self.trace.format_time(entry.end_time_step, ctx.time_unit); if ctx.show_thread_ids { format!( - "{} // [time: {} -> {}] (thread {})", + "{}; // [time: {} -> {}] (thread {})", entry.protocol_application, start_time, end_time, entry.thread_id ) } else { format!( - "{} // [time: {} -> {}]", + "{}; // [time: {} -> {}]", entry.protocol_application, start_time, end_time ) } } (false, true) => format!( - "{} // (thread {})", + "{}; // (thread {})", entry.protocol_application, entry.thread_id ), - (false, false) => entry.protocol_application.to_string(), + (false, false) => format!("{};", entry.protocol_application.to_string()), } } From 612f2892e1e81d59f8e73a577c85d54d97f783a4 Mon Sep 17 00:00:00 2001 From: Ernest Ng Date: Sat, 14 Feb 2026 14:14:53 -0500 Subject: [PATCH 5/7] Update Turnt expected output again --- .../fpga-debugging/axi-stream-s2/s2_buggy.out | 62 +++++------ .../fpga-debugging/axi-stream-s2/s2_fixed.out | 102 +++++++++--------- .../axis-adapter-s3/s3_buggy.out | 20 ++-- .../axis-adapter-s3/s3_fixed.out | 18 ++-- .../axis-async-fifo-c4/c4_buggy.out | 30 +++--- .../axis-async-fifo-c4/c4_fixed.out | 40 +++---- .../axis-fifo-d11/d11_buggy.out | 28 ++--- .../axis-fifo-d11/d11_fixed.out | 36 +++---- .../axis-fifo-d12/d12_buggy.out | 26 ++--- .../axis-fifo-d12/d12_fixed.out | 24 ++--- .../fpga-debugging/axis-fifo-d4/d4_buggy.out | 88 +++++++-------- .../fpga-debugging/axis-fifo-d4/d4_fixed.out | 86 +++++++-------- monitor/tests/wal/advanced/axis.out | 24 ++--- monitor/tests/wal/advanced/axis_minimal.out | 2 +- monitor/tests/wal/advanced/axis_truncated.out | 6 +- 15 files changed, 296 insertions(+), 296 deletions(-) diff --git a/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out b/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out index 8bfc29df..08e7da9c 100644 --- a/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out +++ b/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out @@ -1,33 +1,33 @@ Trace 0: -reset() // [time: 0ns -> 12.5ns]; -wait_for_data() // [time: 337.5ns -> 362.5ns]; -wait_for_data() // [time: 387.5ns -> 412.5ns]; -wait_for_data() // [time: 512.5ns -> 537.5ns]; -wait_for_data() // [time: 537.5ns -> 562.5ns]; -wait_for_data() // [time: 612.5ns -> 637.5ns]; -wait_for_data() // [time: 787.5ns -> 812.5ns]; -wait_for_data() // [time: 837.5ns -> 862.5ns]; -recv(1) // [time: 862.5ns -> 887.5ns]; -recv(2) // [time: 887.5ns -> 912.5ns]; -recv(3) // [time: 912.5ns -> 937.5ns]; -recv(4) // [time: 937.5ns -> 962.5ns]; -recv(5) // [time: 962.5ns -> 987.5ns]; -recv(6) // [time: 987.5ns -> 1012.5ns]; -stall(7, 0) // [time: 1012.5ns -> 1037.5ns]; -stall(7, 1) // [time: 1037.5ns -> 1050ns]; +reset(); // [time: 0ns -> 12.5ns] +wait_for_data(); // [time: 337.5ns -> 362.5ns] +wait_for_data(); // [time: 387.5ns -> 412.5ns] +wait_for_data(); // [time: 512.5ns -> 537.5ns] +wait_for_data(); // [time: 537.5ns -> 562.5ns] +wait_for_data(); // [time: 612.5ns -> 637.5ns] +wait_for_data(); // [time: 787.5ns -> 812.5ns] +wait_for_data(); // [time: 837.5ns -> 862.5ns] +recv(1); // [time: 862.5ns -> 887.5ns] +recv(2); // [time: 887.5ns -> 912.5ns] +recv(3); // [time: 912.5ns -> 937.5ns] +recv(4); // [time: 937.5ns -> 962.5ns] +recv(5); // [time: 962.5ns -> 987.5ns] +recv(6); // [time: 987.5ns -> 1012.5ns] +stall(7, 0); // [time: 1012.5ns -> 1037.5ns] +stall(7, 1); // [time: 1037.5ns -> 1050ns] Trace 1: -reset() // [time: 0ns -> 12.5ns]; -wait_for_data() // [time: 337.5ns -> 362.5ns]; -wait_for_data() // [time: 387.5ns -> 412.5ns]; -wait_for_data() // [time: 512.5ns -> 537.5ns]; -wait_for_data() // [time: 537.5ns -> 562.5ns]; -wait_for_data() // [time: 612.5ns -> 637.5ns]; -wait_for_data() // [time: 787.5ns -> 812.5ns]; -wait_for_data() // [time: 837.5ns -> 862.5ns]; -recv(1) // [time: 862.5ns -> 887.5ns]; -recv(2) // [time: 887.5ns -> 912.5ns]; -recv(3) // [time: 912.5ns -> 937.5ns]; -recv(4) // [time: 937.5ns -> 962.5ns]; -recv(5) // [time: 962.5ns -> 987.5ns]; -recv(6) // [time: 987.5ns -> 1012.5ns]; -stall(7, 1) // [time: 1037.5ns -> 1050ns]; +reset(); // [time: 0ns -> 12.5ns] +wait_for_data(); // [time: 337.5ns -> 362.5ns] +wait_for_data(); // [time: 387.5ns -> 412.5ns] +wait_for_data(); // [time: 512.5ns -> 537.5ns] +wait_for_data(); // [time: 537.5ns -> 562.5ns] +wait_for_data(); // [time: 612.5ns -> 637.5ns] +wait_for_data(); // [time: 787.5ns -> 812.5ns] +wait_for_data(); // [time: 837.5ns -> 862.5ns] +recv(1); // [time: 862.5ns -> 887.5ns] +recv(2); // [time: 887.5ns -> 912.5ns] +recv(3); // [time: 912.5ns -> 937.5ns] +recv(4); // [time: 937.5ns -> 962.5ns] +recv(5); // [time: 962.5ns -> 987.5ns] +recv(6); // [time: 987.5ns -> 1012.5ns] +stall(7, 1); // [time: 1037.5ns -> 1050ns] diff --git a/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out b/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out index 52beafbf..65a14cc5 100644 --- a/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out +++ b/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out @@ -1,54 +1,54 @@ Trace 0: -reset() // [time: 0ns -> 12.5ns]; -wait_for_data() // [time: 337.5ns -> 362.5ns]; -wait_for_data() // [time: 387.5ns -> 412.5ns]; -wait_for_data() // [time: 512.5ns -> 537.5ns]; -wait_for_data() // [time: 537.5ns -> 562.5ns]; -wait_for_data() // [time: 612.5ns -> 637.5ns]; -wait_for_data() // [time: 787.5ns -> 812.5ns]; -wait_for_data() // [time: 837.5ns -> 862.5ns]; -recv(1) // [time: 862.5ns -> 887.5ns]; -recv(2) // [time: 887.5ns -> 912.5ns]; -recv(3) // [time: 912.5ns -> 937.5ns]; -recv(4) // [time: 937.5ns -> 962.5ns]; -recv(5) // [time: 962.5ns -> 987.5ns]; -recv(6) // [time: 987.5ns -> 1012.5ns]; -stall(7, 0) // [time: 1012.5ns -> 1037.5ns]; -stall(7, 0) // [time: 1037.5ns -> 1062.5ns]; -reset() // [time: 1062.5ns -> 1087.5ns]; -reset() // [time: 1087.5ns -> 1100ns]; +reset(); // [time: 0ns -> 12.5ns] +wait_for_data(); // [time: 337.5ns -> 362.5ns] +wait_for_data(); // [time: 387.5ns -> 412.5ns] +wait_for_data(); // [time: 512.5ns -> 537.5ns] +wait_for_data(); // [time: 537.5ns -> 562.5ns] +wait_for_data(); // [time: 612.5ns -> 637.5ns] +wait_for_data(); // [time: 787.5ns -> 812.5ns] +wait_for_data(); // [time: 837.5ns -> 862.5ns] +recv(1); // [time: 862.5ns -> 887.5ns] +recv(2); // [time: 887.5ns -> 912.5ns] +recv(3); // [time: 912.5ns -> 937.5ns] +recv(4); // [time: 937.5ns -> 962.5ns] +recv(5); // [time: 962.5ns -> 987.5ns] +recv(6); // [time: 987.5ns -> 1012.5ns] +stall(7, 0); // [time: 1012.5ns -> 1037.5ns] +stall(7, 0); // [time: 1037.5ns -> 1062.5ns] +reset(); // [time: 1062.5ns -> 1087.5ns] +reset(); // [time: 1087.5ns -> 1100ns] Trace 1: -reset() // [time: 0ns -> 12.5ns]; -wait_for_data() // [time: 337.5ns -> 362.5ns]; -wait_for_data() // [time: 387.5ns -> 412.5ns]; -wait_for_data() // [time: 512.5ns -> 537.5ns]; -wait_for_data() // [time: 537.5ns -> 562.5ns]; -wait_for_data() // [time: 612.5ns -> 637.5ns]; -wait_for_data() // [time: 787.5ns -> 812.5ns]; -wait_for_data() // [time: 837.5ns -> 862.5ns]; -recv(1) // [time: 862.5ns -> 887.5ns]; -recv(2) // [time: 887.5ns -> 912.5ns]; -recv(3) // [time: 912.5ns -> 937.5ns]; -recv(4) // [time: 937.5ns -> 962.5ns]; -recv(5) // [time: 962.5ns -> 987.5ns]; -recv(6) // [time: 987.5ns -> 1012.5ns]; -stall(7, 0) // [time: 1012.5ns -> 1037.5ns]; -reset() // [time: 1062.5ns -> 1087.5ns]; -reset() // [time: 1087.5ns -> 1100ns]; +reset(); // [time: 0ns -> 12.5ns] +wait_for_data(); // [time: 337.5ns -> 362.5ns] +wait_for_data(); // [time: 387.5ns -> 412.5ns] +wait_for_data(); // [time: 512.5ns -> 537.5ns] +wait_for_data(); // [time: 537.5ns -> 562.5ns] +wait_for_data(); // [time: 612.5ns -> 637.5ns] +wait_for_data(); // [time: 787.5ns -> 812.5ns] +wait_for_data(); // [time: 837.5ns -> 862.5ns] +recv(1); // [time: 862.5ns -> 887.5ns] +recv(2); // [time: 887.5ns -> 912.5ns] +recv(3); // [time: 912.5ns -> 937.5ns] +recv(4); // [time: 937.5ns -> 962.5ns] +recv(5); // [time: 962.5ns -> 987.5ns] +recv(6); // [time: 987.5ns -> 1012.5ns] +stall(7, 0); // [time: 1012.5ns -> 1037.5ns] +reset(); // [time: 1062.5ns -> 1087.5ns] +reset(); // [time: 1087.5ns -> 1100ns] Trace 2: -reset() // [time: 0ns -> 12.5ns]; -wait_for_data() // [time: 337.5ns -> 362.5ns]; -wait_for_data() // [time: 387.5ns -> 412.5ns]; -wait_for_data() // [time: 512.5ns -> 537.5ns]; -wait_for_data() // [time: 537.5ns -> 562.5ns]; -wait_for_data() // [time: 612.5ns -> 637.5ns]; -wait_for_data() // [time: 787.5ns -> 812.5ns]; -wait_for_data() // [time: 837.5ns -> 862.5ns]; -recv(1) // [time: 862.5ns -> 887.5ns]; -recv(2) // [time: 887.5ns -> 912.5ns]; -recv(3) // [time: 912.5ns -> 937.5ns]; -recv(4) // [time: 937.5ns -> 962.5ns]; -recv(5) // [time: 962.5ns -> 987.5ns]; -recv(6) // [time: 987.5ns -> 1012.5ns]; -reset() // [time: 1062.5ns -> 1087.5ns]; -reset() // [time: 1087.5ns -> 1100ns]; +reset(); // [time: 0ns -> 12.5ns] +wait_for_data(); // [time: 337.5ns -> 362.5ns] +wait_for_data(); // [time: 387.5ns -> 412.5ns] +wait_for_data(); // [time: 512.5ns -> 537.5ns] +wait_for_data(); // [time: 537.5ns -> 562.5ns] +wait_for_data(); // [time: 612.5ns -> 637.5ns] +wait_for_data(); // [time: 787.5ns -> 812.5ns] +wait_for_data(); // [time: 837.5ns -> 862.5ns] +recv(1); // [time: 862.5ns -> 887.5ns] +recv(2); // [time: 887.5ns -> 912.5ns] +recv(3); // [time: 912.5ns -> 937.5ns] +recv(4); // [time: 937.5ns -> 962.5ns] +recv(5); // [time: 962.5ns -> 987.5ns] +recv(6); // [time: 987.5ns -> 1012.5ns] +reset(); // [time: 1062.5ns -> 1087.5ns] +reset(); // [time: 1087.5ns -> 1100ns] diff --git a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out index c4ffa677..216bc0f0 100644 --- a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out +++ b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out @@ -1,10 +1,10 @@ -reset() // [time: 0ns -> 25ns]; -wait_for_data() // [time: 25ns -> 50ns]; -wait_for_data() // [time: 50ns -> 75ns]; -wait_for_data() // [time: 75ns -> 100ns]; -recv(205) // [time: 100ns -> 125ns]; -recv(171) // [time: 125ns -> 150ns]; -recv(205) // [time: 150ns -> 175ns]; -recv(171) // [time: 175ns -> 200ns]; -recv(205) // [time: 200ns -> 225ns]; -recv_last(171) // [time: 225ns -> 237.5ns]; +reset(); // [time: 0ns -> 25ns] +wait_for_data(); // [time: 25ns -> 50ns] +wait_for_data(); // [time: 50ns -> 75ns] +wait_for_data(); // [time: 75ns -> 100ns] +recv(205); // [time: 100ns -> 125ns] +recv(171); // [time: 125ns -> 150ns] +recv(205); // [time: 150ns -> 175ns] +recv(171); // [time: 175ns -> 200ns] +recv(205); // [time: 200ns -> 225ns] +recv_last(171); // [time: 225ns -> 237.5ns] diff --git a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out index c3bd4683..4064052f 100644 --- a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out +++ b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out @@ -1,9 +1,9 @@ -reset() // [time: 0ns -> 25ns]; -wait_for_data() // [time: 25ns -> 50ns]; -wait_for_data() // [time: 50ns -> 75ns]; -wait_for_data() // [time: 75ns -> 100ns]; -recv(205) // [time: 100ns -> 125ns]; -recv(171) // [time: 125ns -> 150ns]; -recv(205) // [time: 150ns -> 175ns]; -recv(171) // [time: 175ns -> 200ns]; -recv_last(205) // [time: 200ns -> 212.5ns]; +reset(); // [time: 0ns -> 25ns] +wait_for_data(); // [time: 25ns -> 50ns] +wait_for_data(); // [time: 50ns -> 75ns] +wait_for_data(); // [time: 75ns -> 100ns] +recv(205); // [time: 100ns -> 125ns] +recv(171); // [time: 125ns -> 150ns] +recv(205); // [time: 150ns -> 175ns] +recv(171); // [time: 175ns -> 200ns] +recv_last(205); // [time: 200ns -> 212.5ns] diff --git a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out index acd86dd1..74dbbbaa 100644 --- a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out +++ b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out @@ -1,15 +1,15 @@ -Sender::reset() // [time: 0ns -> 25ns] -Receiver::reset() // [time: 0ns -> 25ns] -Sender::idle() // [time: 25ns -> 50ns] -Sender::push(1) // [time: 50ns -> 75ns] -Sender::push(2) // [time: 75ns -> 100ns] -Sender::push(3) // [time: 100ns -> 125ns] -Receiver::pop(2) // [time: 25ns -> 125ns] -Sender::push(4) // [time: 125ns -> 150ns] -Receiver::pop(3) // [time: 100ns -> 150ns] -Sender::push(5) // [time: 150ns -> 175ns] -Receiver::pop(4) // [time: 125ns -> 175ns] -Sender::push(6) // [time: 175ns -> 200ns] -Receiver::pop(5) // [time: 150ns -> 200ns] -Sender::push(7) // [time: 200ns -> 212.5ns] -Receiver::pop(6) // [time: 175ns -> 212.5ns] +Sender::reset(); // [time: 0ns -> 25ns] +Receiver::reset(); // [time: 0ns -> 25ns] +Sender::idle(); // [time: 25ns -> 50ns] +Sender::push(1); // [time: 50ns -> 75ns] +Sender::push(2); // [time: 75ns -> 100ns] +Sender::push(3); // [time: 100ns -> 125ns] +Receiver::pop(2); // [time: 25ns -> 125ns] +Sender::push(4); // [time: 125ns -> 150ns] +Receiver::pop(3); // [time: 100ns -> 150ns] +Sender::push(5); // [time: 150ns -> 175ns] +Receiver::pop(4); // [time: 125ns -> 175ns] +Sender::push(6); // [time: 175ns -> 200ns] +Receiver::pop(5); // [time: 150ns -> 200ns] +Sender::push(7); // [time: 200ns -> 212.5ns] +Receiver::pop(6); // [time: 175ns -> 212.5ns] diff --git a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out index 43ffae78..7f52f271 100644 --- a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out +++ b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out @@ -1,20 +1,20 @@ -Sender::reset() // [time: 0ns -> 25ns] -Receiver::reset() // [time: 0ns -> 25ns] -Sender::idle() // [time: 25ns -> 50ns] -Receiver::idle() // [time: 25ns -> 50ns] -Sender::push(1) // [time: 50ns -> 75ns] -Receiver::idle() // [time: 50ns -> 75ns] -Sender::push(2) // [time: 75ns -> 100ns] -Receiver::idle() // [time: 75ns -> 100ns] -Sender::push(3) // [time: 100ns -> 150ns] -Receiver::pop(2) // [time: 100ns -> 150ns] -Sender::push(4) // [time: 150ns -> 175ns] -Receiver::pop(3) // [time: 125ns -> 175ns] -Sender::push(5) // [time: 175ns -> 200ns] -Receiver::pop(4) // [time: 150ns -> 200ns] -Sender::push(6) // [time: 200ns -> 225ns] -Receiver::pop(5) // [time: 175ns -> 225ns] -Sender::push(7) // [time: 225ns -> 250ns] -Receiver::pop(6) // [time: 200ns -> 250ns] -Sender::push(8) // [time: 250ns -> 262.5ns] -Receiver::pop(7) // [time: 225ns -> 262.5ns] +Sender::reset(); // [time: 0ns -> 25ns] +Receiver::reset(); // [time: 0ns -> 25ns] +Sender::idle(); // [time: 25ns -> 50ns] +Receiver::idle(); // [time: 25ns -> 50ns] +Sender::push(1); // [time: 50ns -> 75ns] +Receiver::idle(); // [time: 50ns -> 75ns] +Sender::push(2); // [time: 75ns -> 100ns] +Receiver::idle(); // [time: 75ns -> 100ns] +Sender::push(3); // [time: 100ns -> 150ns] +Receiver::pop(2); // [time: 100ns -> 150ns] +Sender::push(4); // [time: 150ns -> 175ns] +Receiver::pop(3); // [time: 125ns -> 175ns] +Sender::push(5); // [time: 175ns -> 200ns] +Receiver::pop(4); // [time: 150ns -> 200ns] +Sender::push(6); // [time: 200ns -> 225ns] +Receiver::pop(5); // [time: 175ns -> 225ns] +Sender::push(7); // [time: 225ns -> 250ns] +Receiver::pop(6); // [time: 200ns -> 250ns] +Sender::push(8); // [time: 250ns -> 262.5ns] +Receiver::pop(7); // [time: 225ns -> 262.5ns] diff --git a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out index 567a8a76..25b7d504 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out @@ -1,14 +1,14 @@ -reset() // [time: 0ns -> 25ns]; -push(1) // [time: 25ns -> 50ns]; -push(1) // [time: 50ns -> 75ns]; -push(2) // [time: 75ns -> 100ns]; -push(4) // [time: 100ns -> 125ns]; -push(5) // [time: 125ns -> 150ns]; -push(6) // [time: 150ns -> 175ns]; -push(6) // [time: 175ns -> 200ns]; -push(6) // [time: 200ns -> 225ns]; -push(6) // [time: 225ns -> 250ns]; -push(6) // [time: 250ns -> 275ns]; -push(6) // [time: 275ns -> 300ns]; -reset() // [time: 300ns -> 325ns]; -push(6) // [time: 325ns -> 337.5ns]; +reset(); // [time: 0ns -> 25ns] +push(1); // [time: 25ns -> 50ns] +push(1); // [time: 50ns -> 75ns] +push(2); // [time: 75ns -> 100ns] +push(4); // [time: 100ns -> 125ns] +push(5); // [time: 125ns -> 150ns] +push(6); // [time: 150ns -> 175ns] +push(6); // [time: 175ns -> 200ns] +push(6); // [time: 200ns -> 225ns] +push(6); // [time: 225ns -> 250ns] +push(6); // [time: 250ns -> 275ns] +push(6); // [time: 275ns -> 300ns] +reset(); // [time: 300ns -> 325ns] +push(6); // [time: 325ns -> 337.5ns] diff --git a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out index 6476e1e1..1bb521d0 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out @@ -1,18 +1,18 @@ -reset() // [time: 0ns -> 25ns]; -push(1) // [time: 25ns -> 50ns]; -push(1) // [time: 50ns -> 75ns]; -push(2) // [time: 75ns -> 100ns]; -push(4) // [time: 100ns -> 125ns]; -push(5) // [time: 125ns -> 150ns]; -push(6) // [time: 150ns -> 175ns]; -push(6) // [time: 175ns -> 200ns]; -push(6) // [time: 200ns -> 225ns]; -push(6) // [time: 225ns -> 250ns]; -push(6) // [time: 250ns -> 275ns]; -push(6) // [time: 275ns -> 300ns]; -reset() // [time: 300ns -> 325ns]; -push(6) // [time: 325ns -> 350ns]; -push(6) // [time: 350ns -> 375ns]; -push(7) // [time: 375ns -> 400ns]; -push(7) // [time: 400ns -> 425ns]; -push(7) // [time: 425ns -> 437.5ns]; +reset(); // [time: 0ns -> 25ns] +push(1); // [time: 25ns -> 50ns] +push(1); // [time: 50ns -> 75ns] +push(2); // [time: 75ns -> 100ns] +push(4); // [time: 100ns -> 125ns] +push(5); // [time: 125ns -> 150ns] +push(6); // [time: 150ns -> 175ns] +push(6); // [time: 175ns -> 200ns] +push(6); // [time: 200ns -> 225ns] +push(6); // [time: 225ns -> 250ns] +push(6); // [time: 250ns -> 275ns] +push(6); // [time: 275ns -> 300ns] +reset(); // [time: 300ns -> 325ns] +push(6); // [time: 325ns -> 350ns] +push(6); // [time: 350ns -> 375ns] +push(7); // [time: 375ns -> 400ns] +push(7); // [time: 400ns -> 425ns] +push(7); // [time: 425ns -> 437.5ns] diff --git a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out index 211cdb74..bff00413 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out @@ -1,13 +1,13 @@ -reset() // [time: 0ns -> 25ns]; -push(1) // [time: 25ns -> 50ns]; -push(1) // [time: 50ns -> 75ns]; -push(2) // [time: 75ns -> 100ns]; -push(3) // [time: 100ns -> 125ns]; -push(4) // [time: 125ns -> 150ns]; -push(5) // [time: 150ns -> 175ns]; -push(6) // [time: 175ns -> 200ns]; -pop(1) // [time: 200ns -> 250ns]; -push_and_pop(6, 2) // [time: 225ns -> 275ns]; -push_and_pop(6, 3) // [time: 250ns -> 300ns]; -push_and_pop(7, 3) // [time: 275ns -> 325ns]; -push_and_pop(7, 5) // [time: 300ns -> 362.5ns]; +reset(); // [time: 0ns -> 25ns] +push(1); // [time: 25ns -> 50ns] +push(1); // [time: 50ns -> 75ns] +push(2); // [time: 75ns -> 100ns] +push(3); // [time: 100ns -> 125ns] +push(4); // [time: 125ns -> 150ns] +push(5); // [time: 150ns -> 175ns] +push(6); // [time: 175ns -> 200ns] +pop(1); // [time: 200ns -> 250ns] +push_and_pop(6, 2); // [time: 225ns -> 275ns] +push_and_pop(6, 3); // [time: 250ns -> 300ns] +push_and_pop(7, 3); // [time: 275ns -> 325ns] +push_and_pop(7, 5); // [time: 300ns -> 362.5ns] diff --git a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out index fbdf71fc..280d8156 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out @@ -1,12 +1,12 @@ -reset() // [time: 0ns -> 25ns]; -push(1) // [time: 25ns -> 50ns]; -push(1) // [time: 50ns -> 75ns]; -push(2) // [time: 75ns -> 100ns]; -push(3) // [time: 100ns -> 125ns]; -push(4) // [time: 125ns -> 150ns]; -push(5) // [time: 150ns -> 175ns]; -push(6) // [time: 175ns -> 200ns]; -pop(1) // [time: 200ns -> 250ns]; -push_and_pop(6, 2) // [time: 225ns -> 275ns]; -push_and_pop(6, 3) // [time: 250ns -> 300ns]; -push_and_pop(7, 3) // [time: 275ns -> 325ns]; +reset(); // [time: 0ns -> 25ns] +push(1); // [time: 25ns -> 50ns] +push(1); // [time: 50ns -> 75ns] +push(2); // [time: 75ns -> 100ns] +push(3); // [time: 100ns -> 125ns] +push(4); // [time: 125ns -> 150ns] +push(5); // [time: 150ns -> 175ns] +push(6); // [time: 175ns -> 200ns] +pop(1); // [time: 200ns -> 250ns] +push_and_pop(6, 2); // [time: 225ns -> 275ns] +push_and_pop(6, 3); // [time: 250ns -> 300ns] +push_and_pop(7, 3); // [time: 275ns -> 325ns] diff --git a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out index 63f284c0..47c322ff 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out @@ -1,44 +1,44 @@ -reset() // [time: 0ns -> 2.5ns]; -reset() // [time: 2.5ns -> 5ns]; -reset() // [time: 5ns -> 7.5ns]; -reset() // [time: 7.5ns -> 10ns]; -reset() // [time: 10ns -> 12.5ns]; -reset() // [time: 12.5ns -> 15ns]; -reset() // [time: 15ns -> 17.5ns]; -reset() // [time: 17.5ns -> 20ns]; -reset() // [time: 20ns -> 22.5ns]; -reset() // [time: 22.5ns -> 25ns]; -push(0) // [time: 37.5ns -> 40ns]; -push(1) // [time: 40ns -> 42.5ns]; -push(2) // [time: 42.5ns -> 45ns]; -push(3) // [time: 45ns -> 47.5ns]; -push(4) // [time: 47.5ns -> 50ns]; -push(5) // [time: 50ns -> 52.5ns]; -push(6) // [time: 52.5ns -> 55ns]; -push(7) // [time: 55ns -> 57.5ns]; -push(8) // [time: 57.5ns -> 60ns]; -push(9) // [time: 60ns -> 62.5ns]; -push(233) // [time: 62.5ns -> 65ns]; -push(0) // [time: 77.5ns -> 80ns]; -push(1) // [time: 80ns -> 82.5ns]; -push(2) // [time: 82.5ns -> 85ns]; -push(3) // [time: 85ns -> 87.5ns]; -push(4) // [time: 87.5ns -> 90ns]; -push(5) // [time: 90ns -> 92.5ns]; -push(6) // [time: 92.5ns -> 95ns]; -push(7) // [time: 95ns -> 97.5ns]; -push(8) // [time: 97.5ns -> 100ns]; -push(9) // [time: 100ns -> 102.5ns]; -push(233) // [time: 102.5ns -> 105ns]; -push(0) // [time: 117.5ns -> 120ns]; -push(1) // [time: 120ns -> 122.5ns]; -push(2) // [time: 122.5ns -> 125ns]; -push(3) // [time: 125ns -> 127.5ns]; -push(4) // [time: 127.5ns -> 130ns]; -push(5) // [time: 130ns -> 132.5ns]; -push(6) // [time: 132.5ns -> 135ns]; -push(7) // [time: 135ns -> 137.5ns]; -push(8) // [time: 137.5ns -> 140ns]; -push(9) // [time: 140ns -> 142.5ns]; -push(233) // [time: 142.5ns -> 145ns]; -push(0) // [time: 157.5ns -> 158.75ns]; +reset(); // [time: 0ns -> 2.5ns] +reset(); // [time: 2.5ns -> 5ns] +reset(); // [time: 5ns -> 7.5ns] +reset(); // [time: 7.5ns -> 10ns] +reset(); // [time: 10ns -> 12.5ns] +reset(); // [time: 12.5ns -> 15ns] +reset(); // [time: 15ns -> 17.5ns] +reset(); // [time: 17.5ns -> 20ns] +reset(); // [time: 20ns -> 22.5ns] +reset(); // [time: 22.5ns -> 25ns] +push(0); // [time: 37.5ns -> 40ns] +push(1); // [time: 40ns -> 42.5ns] +push(2); // [time: 42.5ns -> 45ns] +push(3); // [time: 45ns -> 47.5ns] +push(4); // [time: 47.5ns -> 50ns] +push(5); // [time: 50ns -> 52.5ns] +push(6); // [time: 52.5ns -> 55ns] +push(7); // [time: 55ns -> 57.5ns] +push(8); // [time: 57.5ns -> 60ns] +push(9); // [time: 60ns -> 62.5ns] +push(233); // [time: 62.5ns -> 65ns] +push(0); // [time: 77.5ns -> 80ns] +push(1); // [time: 80ns -> 82.5ns] +push(2); // [time: 82.5ns -> 85ns] +push(3); // [time: 85ns -> 87.5ns] +push(4); // [time: 87.5ns -> 90ns] +push(5); // [time: 90ns -> 92.5ns] +push(6); // [time: 92.5ns -> 95ns] +push(7); // [time: 95ns -> 97.5ns] +push(8); // [time: 97.5ns -> 100ns] +push(9); // [time: 100ns -> 102.5ns] +push(233); // [time: 102.5ns -> 105ns] +push(0); // [time: 117.5ns -> 120ns] +push(1); // [time: 120ns -> 122.5ns] +push(2); // [time: 122.5ns -> 125ns] +push(3); // [time: 125ns -> 127.5ns] +push(4); // [time: 127.5ns -> 130ns] +push(5); // [time: 130ns -> 132.5ns] +push(6); // [time: 132.5ns -> 135ns] +push(7); // [time: 135ns -> 137.5ns] +push(8); // [time: 137.5ns -> 140ns] +push(9); // [time: 140ns -> 142.5ns] +push(233); // [time: 142.5ns -> 145ns] +push(0); // [time: 157.5ns -> 158.75ns] diff --git a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out index 1e602b11..28b0ad74 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out @@ -1,43 +1,43 @@ -reset() // [time: 0ns -> 2.5ns]; -reset() // [time: 2.5ns -> 5ns]; -reset() // [time: 5ns -> 7.5ns]; -reset() // [time: 7.5ns -> 10ns]; -reset() // [time: 10ns -> 12.5ns]; -reset() // [time: 12.5ns -> 15ns]; -reset() // [time: 15ns -> 17.5ns]; -reset() // [time: 17.5ns -> 20ns]; -reset() // [time: 20ns -> 22.5ns]; -reset() // [time: 22.5ns -> 25ns]; -push(0) // [time: 37.5ns -> 40ns]; -push(1) // [time: 40ns -> 42.5ns]; -push(2) // [time: 42.5ns -> 45ns]; -push(3) // [time: 45ns -> 47.5ns]; -push(4) // [time: 47.5ns -> 50ns]; -push(5) // [time: 50ns -> 52.5ns]; -push(6) // [time: 52.5ns -> 55ns]; -push(7) // [time: 55ns -> 57.5ns]; -push(8) // [time: 57.5ns -> 60ns]; -push(9) // [time: 60ns -> 62.5ns]; -push(233) // [time: 62.5ns -> 65ns]; -push(0) // [time: 77.5ns -> 80ns]; -push(1) // [time: 80ns -> 82.5ns]; -push(2) // [time: 82.5ns -> 85ns]; -push(3) // [time: 85ns -> 87.5ns]; -push(4) // [time: 87.5ns -> 90ns]; -push(5) // [time: 90ns -> 92.5ns]; -push(6) // [time: 92.5ns -> 95ns]; -push(7) // [time: 95ns -> 97.5ns]; -push(8) // [time: 97.5ns -> 100ns]; -push(9) // [time: 100ns -> 102.5ns]; -push(233) // [time: 102.5ns -> 105ns]; -push(0) // [time: 117.5ns -> 120ns]; -push(1) // [time: 120ns -> 122.5ns]; -push(2) // [time: 122.5ns -> 125ns]; -push(3) // [time: 125ns -> 127.5ns]; -push(4) // [time: 127.5ns -> 130ns]; -push(5) // [time: 130ns -> 132.5ns]; -push(6) // [time: 132.5ns -> 135ns]; -push(7) // [time: 135ns -> 137.5ns]; -push(8) // [time: 137.5ns -> 140ns]; -push(9) // [time: 140ns -> 142.5ns]; -push(233) // [time: 142.5ns -> 145ns]; +reset(); // [time: 0ns -> 2.5ns] +reset(); // [time: 2.5ns -> 5ns] +reset(); // [time: 5ns -> 7.5ns] +reset(); // [time: 7.5ns -> 10ns] +reset(); // [time: 10ns -> 12.5ns] +reset(); // [time: 12.5ns -> 15ns] +reset(); // [time: 15ns -> 17.5ns] +reset(); // [time: 17.5ns -> 20ns] +reset(); // [time: 20ns -> 22.5ns] +reset(); // [time: 22.5ns -> 25ns] +push(0); // [time: 37.5ns -> 40ns] +push(1); // [time: 40ns -> 42.5ns] +push(2); // [time: 42.5ns -> 45ns] +push(3); // [time: 45ns -> 47.5ns] +push(4); // [time: 47.5ns -> 50ns] +push(5); // [time: 50ns -> 52.5ns] +push(6); // [time: 52.5ns -> 55ns] +push(7); // [time: 55ns -> 57.5ns] +push(8); // [time: 57.5ns -> 60ns] +push(9); // [time: 60ns -> 62.5ns] +push(233); // [time: 62.5ns -> 65ns] +push(0); // [time: 77.5ns -> 80ns] +push(1); // [time: 80ns -> 82.5ns] +push(2); // [time: 82.5ns -> 85ns] +push(3); // [time: 85ns -> 87.5ns] +push(4); // [time: 87.5ns -> 90ns] +push(5); // [time: 90ns -> 92.5ns] +push(6); // [time: 92.5ns -> 95ns] +push(7); // [time: 95ns -> 97.5ns] +push(8); // [time: 97.5ns -> 100ns] +push(9); // [time: 100ns -> 102.5ns] +push(233); // [time: 102.5ns -> 105ns] +push(0); // [time: 117.5ns -> 120ns] +push(1); // [time: 120ns -> 122.5ns] +push(2); // [time: 122.5ns -> 125ns] +push(3); // [time: 125ns -> 127.5ns] +push(4); // [time: 127.5ns -> 130ns] +push(5); // [time: 130ns -> 132.5ns] +push(6); // [time: 132.5ns -> 135ns] +push(7); // [time: 135ns -> 137.5ns] +push(8); // [time: 137.5ns -> 140ns] +push(9); // [time: 140ns -> 142.5ns] +push(233); // [time: 142.5ns -> 145ns] diff --git a/monitor/tests/wal/advanced/axis.out b/monitor/tests/wal/advanced/axis.out index 3e4da80c..a60052e8 100644 --- a/monitor/tests/wal/advanced/axis.out +++ b/monitor/tests/wal/advanced/axis.out @@ -1,12 +1,12 @@ -send_data(0) // [time: 804ns -> 812ns]; -send_data(1) // [time: 1508ns -> 1516ns]; -send_data(2) // [time: 2212ns -> 2220ns]; -send_data(3) // [time: 2916ns -> 2924ns]; -send_data(8) // [time: 3620ns -> 6628ns]; -send_data(9) // [time: 7140ns -> 7412ns]; -send_data(10) // [time: 7844ns -> 7852ns]; -send_data(11) // [time: 8548ns -> 8556ns]; -send_data(12) // [time: 9252ns -> 9260ns]; -send_data(15) // [time: 9956ns -> 11628ns]; -send_data(18) // [time: 12068ns -> 13932ns]; -send_data(19) // [time: 14180ns -> 14188ns]; +send_data(0); // [time: 804ns -> 812ns] +send_data(1); // [time: 1508ns -> 1516ns] +send_data(2); // [time: 2212ns -> 2220ns] +send_data(3); // [time: 2916ns -> 2924ns] +send_data(8); // [time: 3620ns -> 6628ns] +send_data(9); // [time: 7140ns -> 7412ns] +send_data(10); // [time: 7844ns -> 7852ns] +send_data(11); // [time: 8548ns -> 8556ns] +send_data(12); // [time: 9252ns -> 9260ns] +send_data(15); // [time: 9956ns -> 11628ns] +send_data(18); // [time: 12068ns -> 13932ns] +send_data(19); // [time: 14180ns -> 14188ns] diff --git a/monitor/tests/wal/advanced/axis_minimal.out b/monitor/tests/wal/advanced/axis_minimal.out index 066af731..52de7d43 100644 --- a/monitor/tests/wal/advanced/axis_minimal.out +++ b/monitor/tests/wal/advanced/axis_minimal.out @@ -1 +1 @@ -send_data(15) // [time: 0ns -> 284ns]; +send_data(15); // [time: 0ns -> 284ns] diff --git a/monitor/tests/wal/advanced/axis_truncated.out b/monitor/tests/wal/advanced/axis_truncated.out index 3facc52f..132c780d 100644 --- a/monitor/tests/wal/advanced/axis_truncated.out +++ b/monitor/tests/wal/advanced/axis_truncated.out @@ -1,3 +1,3 @@ -send_data(15) // [time: 0ns -> 968ns]; -send_data(18) // [time: 1408ns -> 3272ns]; -send_data(19) // [time: 3520ns -> 3528ns]; +send_data(15); // [time: 0ns -> 968ns] +send_data(18); // [time: 1408ns -> 3272ns] +send_data(19); // [time: 3520ns -> 3528ns] From 608cb2acec80d88caf40f44494312fdb2d77e747 Mon Sep 17 00:00:00 2001 From: Ernest Ng Date: Sat, 14 Feb 2026 14:16:29 -0500 Subject: [PATCH 6/7] Clippy --- monitor/src/global_scheduler.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitor/src/global_scheduler.rs b/monitor/src/global_scheduler.rs index b05ae2f2..4bf99227 100644 --- a/monitor/src/global_scheduler.rs +++ b/monitor/src/global_scheduler.rs @@ -270,7 +270,7 @@ impl GlobalScheduler { "{}; // (thread {})", entry.protocol_application, entry.thread_id ), - (false, false) => format!("{};", entry.protocol_application.to_string()), + (false, false) => format!("{};", entry.protocol_application), } } From ff5a14be9504e0c11a2d33e0a3da78a731db3658 Mon Sep 17 00:00:00 2001 From: Nikil-Shyamsunder Date: Sat, 14 Feb 2026 21:39:54 -0800 Subject: [PATCH 7/7] update output to reflect interpreter syntax --- monitor/src/global_scheduler.rs | 22 ++-- monitor/tests/adders/add_d1.out | 7 +- monitor/tests/adders/add_d2.out | 7 +- monitor/tests/alus/alu_d1.out | 13 +- monitor/tests/alus/alu_d2.out | 13 +- .../bit_truncation_fft.out | 5 +- .../bit_truncation_sha.out | 5 +- .../tests/brave_new_world_francis/ftu_sha.out | 5 +- .../brave_new_world_francis/signal_async.out | 5 +- .../use_without_valid.out | 5 +- monitor/tests/fifo/fifo.out | 15 ++- monitor/tests/fifo/push_pop_identity.out | 15 ++- .../fpga-debugging/axi-stream-s2/s2_buggy.out | 71 ++++++----- .../fpga-debugging/axi-stream-s2/s2_fixed.out | 116 ++++++++++-------- .../axis-adapter-s3/s3_buggy.out | 23 ++-- .../axis-adapter-s3/s3_fixed.out | 21 ++-- .../axis-async-fifo-c4/c4_buggy.out | 33 ++--- .../axis-async-fifo-c4/c4_fixed.out | 43 ++++--- .../axis-fifo-d11/d11_buggy.out | 31 ++--- .../axis-fifo-d11/d11_fixed.out | 39 +++--- .../axis-fifo-d12/d12_buggy.out | 29 +++-- .../axis-fifo-d12/d12_fixed.out | 27 ++-- .../fpga-debugging/axis-fifo-d4/d4_buggy.out | 91 +++++++------- .../fpga-debugging/axis-fifo-d4/d4_fixed.out | 89 +++++++------- monitor/tests/identities/identity_d1.out | 5 +- monitor/tests/multi/multi0.out | 5 +- monitor/tests/multi/multi0keep.out | 5 +- monitor/tests/multi/multi0keep2const.out | 5 +- monitor/tests/multi/multi2const.out | 5 +- monitor/tests/multi/multi2multi.out | 5 +- monitor/tests/multi/multi_data.out | 5 +- monitor/tests/multipliers/mult_d2.out | 7 +- .../tests/picorv32/pcpi_mul_unsigned_mul.out | 13 +- monitor/tests/serv/serv_regfile.out | 7 +- monitor/tests/tinyaes128/aes128.out | 7 +- monitor/tests/wal/advanced/axis.out | 27 ++-- monitor/tests/wal/advanced/axis_minimal.out | 5 +- monitor/tests/wal/advanced/axis_truncated.out | 9 +- 38 files changed, 482 insertions(+), 358 deletions(-) diff --git a/monitor/src/global_scheduler.rs b/monitor/src/global_scheduler.rs index 4bf99227..ed746e38 100644 --- a/monitor/src/global_scheduler.rs +++ b/monitor/src/global_scheduler.rs @@ -167,6 +167,15 @@ fn collect_maximal_traces(scheduler_group: &SchedulerGroup) -> Vec, trace: WaveSignalTrace) -> Self { @@ -206,18 +215,15 @@ impl GlobalScheduler { if scheduler_group_traces.len() == 1 { let traces = &scheduler_group_traces[0]; for (i, trace) in traces.iter().enumerate() { - if traces.len() > 1 { - println!("Trace {}:", i); - } let lines: Vec = trace .iter() .filter(|prot_application| !prot_application.is_idle) .map(|entry| self.format_augmented_protocol_application(entry, ctx)) .collect(); - // Include semi-colons so that the serialized - // protocol trace is the same as the concrete - // syntax for `.tx` files in the interpreter - println!("{}", lines.join("\n")); + if i > 0 { + println!(); + } + Self::print_trace_block(i, &lines); } return; } @@ -241,7 +247,7 @@ impl GlobalScheduler { .filter(|entry| !entry.is_idle) .map(|entry| self.format_augmented_protocol_application(entry, ctx)) .collect(); - println!("{}", lines.join("\n")); + Self::print_trace_block(0, &lines); } /// Formats an `AugmentedProtocolApplication` into a display string diff --git a/monitor/tests/adders/add_d1.out b/monitor/tests/adders/add_d1.out index 7f04e8ac..ff76d998 100644 --- a/monitor/tests/adders/add_d1.out +++ b/monitor/tests/adders/add_d1.out @@ -1,2 +1,5 @@ -add(1, 2, 3); -add(4, 5, 9); +// trace 0 +trace { + add(1, 2, 3); + add(4, 5, 9); +} diff --git a/monitor/tests/adders/add_d2.out b/monitor/tests/adders/add_d2.out index 7f04e8ac..ff76d998 100644 --- a/monitor/tests/adders/add_d2.out +++ b/monitor/tests/adders/add_d2.out @@ -1,2 +1,5 @@ -add(1, 2, 3); -add(4, 5, 9); +// trace 0 +trace { + add(1, 2, 3); + add(4, 5, 9); +} diff --git a/monitor/tests/alus/alu_d1.out b/monitor/tests/alus/alu_d1.out index 97cf3873..16fa0842 100644 --- a/monitor/tests/alus/alu_d1.out +++ b/monitor/tests/alus/alu_d1.out @@ -1,5 +1,8 @@ -add(1, 2, 3); -add(123, 245, 368); -sub(200, 200, 0); -and(100, 100, 100); -or(0, 230, 230); +// trace 0 +trace { + add(1, 2, 3); + add(123, 245, 368); + sub(200, 200, 0); + and(100, 100, 100); + or(0, 230, 230); +} diff --git a/monitor/tests/alus/alu_d2.out b/monitor/tests/alus/alu_d2.out index 97cf3873..16fa0842 100644 --- a/monitor/tests/alus/alu_d2.out +++ b/monitor/tests/alus/alu_d2.out @@ -1,5 +1,8 @@ -add(1, 2, 3); -add(123, 245, 368); -sub(200, 200, 0); -and(100, 100, 100); -or(0, 230, 230); +// trace 0 +trace { + add(1, 2, 3); + add(123, 245, 368); + sub(200, 200, 0); + and(100, 100, 100); + or(0, 230, 230); +} diff --git a/monitor/tests/brave_new_world_francis/bit_truncation_fft.out b/monitor/tests/brave_new_world_francis/bit_truncation_fft.out index 5c77a7bc..2861938d 100644 --- a/monitor/tests/brave_new_world_francis/bit_truncation_fft.out +++ b/monitor/tests/brave_new_world_francis/bit_truncation_fft.out @@ -1 +1,4 @@ -bit_truncation_fft(8386560, 2047); +// trace 0 +trace { + bit_truncation_fft(8386560, 2047); +} diff --git a/monitor/tests/brave_new_world_francis/bit_truncation_sha.out b/monitor/tests/brave_new_world_francis/bit_truncation_sha.out index 0816d351..52f5d64f 100644 --- a/monitor/tests/brave_new_world_francis/bit_truncation_sha.out +++ b/monitor/tests/brave_new_world_francis/bit_truncation_sha.out @@ -1 +1,4 @@ -bit_truncation_sha(4398046511104, 68719476736); +// trace 0 +trace { + bit_truncation_sha(4398046511104, 68719476736); +} diff --git a/monitor/tests/brave_new_world_francis/ftu_sha.out b/monitor/tests/brave_new_world_francis/ftu_sha.out index e143d1fe..bf9d06bc 100644 --- a/monitor/tests/brave_new_world_francis/ftu_sha.out +++ b/monitor/tests/brave_new_world_francis/ftu_sha.out @@ -1 +1,4 @@ -failure_to_update_sha(); +// trace 0 +trace { + failure_to_update_sha(); +} diff --git a/monitor/tests/brave_new_world_francis/signal_async.out b/monitor/tests/brave_new_world_francis/signal_async.out index bec00deb..ccd9f567 100644 --- a/monitor/tests/brave_new_world_francis/signal_async.out +++ b/monitor/tests/brave_new_world_francis/signal_async.out @@ -1 +1,4 @@ -signal_async(6, 7); +// trace 0 +trace { + signal_async(6, 7); +} diff --git a/monitor/tests/brave_new_world_francis/use_without_valid.out b/monitor/tests/brave_new_world_francis/use_without_valid.out index f8176b0b..1b5733f2 100644 --- a/monitor/tests/brave_new_world_francis/use_without_valid.out +++ b/monitor/tests/brave_new_world_francis/use_without_valid.out @@ -1 +1,4 @@ -use_without_valid(5, 5); +// trace 0 +trace { + use_without_valid(5, 5); +} diff --git a/monitor/tests/fifo/fifo.out b/monitor/tests/fifo/fifo.out index 9a6c533b..8d3f2a95 100644 --- a/monitor/tests/fifo/fifo.out +++ b/monitor/tests/fifo/fifo.out @@ -1,6 +1,9 @@ -reset(); -push(3); -push(4); -idle(); -pop(3); -pop(4); +// trace 0 +trace { + reset(); + push(3); + push(4); + idle(); + pop(3); + pop(4); +} diff --git a/monitor/tests/fifo/push_pop_identity.out b/monitor/tests/fifo/push_pop_identity.out index 167c9759..7b7038ac 100644 --- a/monitor/tests/fifo/push_pop_identity.out +++ b/monitor/tests/fifo/push_pop_identity.out @@ -1,6 +1,9 @@ -reset(); -push(2); -pop(2); -idle(); -push(3); -pop(3); +// trace 0 +trace { + reset(); + push(2); + pop(2); + idle(); + push(3); + pop(3); +} diff --git a/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out b/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out index 08e7da9c..40a7ea8e 100644 --- a/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out +++ b/monitor/tests/fpga-debugging/axi-stream-s2/s2_buggy.out @@ -1,33 +1,38 @@ -Trace 0: -reset(); // [time: 0ns -> 12.5ns] -wait_for_data(); // [time: 337.5ns -> 362.5ns] -wait_for_data(); // [time: 387.5ns -> 412.5ns] -wait_for_data(); // [time: 512.5ns -> 537.5ns] -wait_for_data(); // [time: 537.5ns -> 562.5ns] -wait_for_data(); // [time: 612.5ns -> 637.5ns] -wait_for_data(); // [time: 787.5ns -> 812.5ns] -wait_for_data(); // [time: 837.5ns -> 862.5ns] -recv(1); // [time: 862.5ns -> 887.5ns] -recv(2); // [time: 887.5ns -> 912.5ns] -recv(3); // [time: 912.5ns -> 937.5ns] -recv(4); // [time: 937.5ns -> 962.5ns] -recv(5); // [time: 962.5ns -> 987.5ns] -recv(6); // [time: 987.5ns -> 1012.5ns] -stall(7, 0); // [time: 1012.5ns -> 1037.5ns] -stall(7, 1); // [time: 1037.5ns -> 1050ns] -Trace 1: -reset(); // [time: 0ns -> 12.5ns] -wait_for_data(); // [time: 337.5ns -> 362.5ns] -wait_for_data(); // [time: 387.5ns -> 412.5ns] -wait_for_data(); // [time: 512.5ns -> 537.5ns] -wait_for_data(); // [time: 537.5ns -> 562.5ns] -wait_for_data(); // [time: 612.5ns -> 637.5ns] -wait_for_data(); // [time: 787.5ns -> 812.5ns] -wait_for_data(); // [time: 837.5ns -> 862.5ns] -recv(1); // [time: 862.5ns -> 887.5ns] -recv(2); // [time: 887.5ns -> 912.5ns] -recv(3); // [time: 912.5ns -> 937.5ns] -recv(4); // [time: 937.5ns -> 962.5ns] -recv(5); // [time: 962.5ns -> 987.5ns] -recv(6); // [time: 987.5ns -> 1012.5ns] -stall(7, 1); // [time: 1037.5ns -> 1050ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 12.5ns] + wait_for_data(); // [time: 337.5ns -> 362.5ns] + wait_for_data(); // [time: 387.5ns -> 412.5ns] + wait_for_data(); // [time: 512.5ns -> 537.5ns] + wait_for_data(); // [time: 537.5ns -> 562.5ns] + wait_for_data(); // [time: 612.5ns -> 637.5ns] + wait_for_data(); // [time: 787.5ns -> 812.5ns] + wait_for_data(); // [time: 837.5ns -> 862.5ns] + recv(1); // [time: 862.5ns -> 887.5ns] + recv(2); // [time: 887.5ns -> 912.5ns] + recv(3); // [time: 912.5ns -> 937.5ns] + recv(4); // [time: 937.5ns -> 962.5ns] + recv(5); // [time: 962.5ns -> 987.5ns] + recv(6); // [time: 987.5ns -> 1012.5ns] + stall(7, 0); // [time: 1012.5ns -> 1037.5ns] + stall(7, 1); // [time: 1037.5ns -> 1050ns] +} + +// trace 1 +trace { + reset(); // [time: 0ns -> 12.5ns] + wait_for_data(); // [time: 337.5ns -> 362.5ns] + wait_for_data(); // [time: 387.5ns -> 412.5ns] + wait_for_data(); // [time: 512.5ns -> 537.5ns] + wait_for_data(); // [time: 537.5ns -> 562.5ns] + wait_for_data(); // [time: 612.5ns -> 637.5ns] + wait_for_data(); // [time: 787.5ns -> 812.5ns] + wait_for_data(); // [time: 837.5ns -> 862.5ns] + recv(1); // [time: 862.5ns -> 887.5ns] + recv(2); // [time: 887.5ns -> 912.5ns] + recv(3); // [time: 912.5ns -> 937.5ns] + recv(4); // [time: 937.5ns -> 962.5ns] + recv(5); // [time: 962.5ns -> 987.5ns] + recv(6); // [time: 987.5ns -> 1012.5ns] + stall(7, 1); // [time: 1037.5ns -> 1050ns] +} diff --git a/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out b/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out index 65a14cc5..8ad4900a 100644 --- a/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out +++ b/monitor/tests/fpga-debugging/axi-stream-s2/s2_fixed.out @@ -1,54 +1,62 @@ -Trace 0: -reset(); // [time: 0ns -> 12.5ns] -wait_for_data(); // [time: 337.5ns -> 362.5ns] -wait_for_data(); // [time: 387.5ns -> 412.5ns] -wait_for_data(); // [time: 512.5ns -> 537.5ns] -wait_for_data(); // [time: 537.5ns -> 562.5ns] -wait_for_data(); // [time: 612.5ns -> 637.5ns] -wait_for_data(); // [time: 787.5ns -> 812.5ns] -wait_for_data(); // [time: 837.5ns -> 862.5ns] -recv(1); // [time: 862.5ns -> 887.5ns] -recv(2); // [time: 887.5ns -> 912.5ns] -recv(3); // [time: 912.5ns -> 937.5ns] -recv(4); // [time: 937.5ns -> 962.5ns] -recv(5); // [time: 962.5ns -> 987.5ns] -recv(6); // [time: 987.5ns -> 1012.5ns] -stall(7, 0); // [time: 1012.5ns -> 1037.5ns] -stall(7, 0); // [time: 1037.5ns -> 1062.5ns] -reset(); // [time: 1062.5ns -> 1087.5ns] -reset(); // [time: 1087.5ns -> 1100ns] -Trace 1: -reset(); // [time: 0ns -> 12.5ns] -wait_for_data(); // [time: 337.5ns -> 362.5ns] -wait_for_data(); // [time: 387.5ns -> 412.5ns] -wait_for_data(); // [time: 512.5ns -> 537.5ns] -wait_for_data(); // [time: 537.5ns -> 562.5ns] -wait_for_data(); // [time: 612.5ns -> 637.5ns] -wait_for_data(); // [time: 787.5ns -> 812.5ns] -wait_for_data(); // [time: 837.5ns -> 862.5ns] -recv(1); // [time: 862.5ns -> 887.5ns] -recv(2); // [time: 887.5ns -> 912.5ns] -recv(3); // [time: 912.5ns -> 937.5ns] -recv(4); // [time: 937.5ns -> 962.5ns] -recv(5); // [time: 962.5ns -> 987.5ns] -recv(6); // [time: 987.5ns -> 1012.5ns] -stall(7, 0); // [time: 1012.5ns -> 1037.5ns] -reset(); // [time: 1062.5ns -> 1087.5ns] -reset(); // [time: 1087.5ns -> 1100ns] -Trace 2: -reset(); // [time: 0ns -> 12.5ns] -wait_for_data(); // [time: 337.5ns -> 362.5ns] -wait_for_data(); // [time: 387.5ns -> 412.5ns] -wait_for_data(); // [time: 512.5ns -> 537.5ns] -wait_for_data(); // [time: 537.5ns -> 562.5ns] -wait_for_data(); // [time: 612.5ns -> 637.5ns] -wait_for_data(); // [time: 787.5ns -> 812.5ns] -wait_for_data(); // [time: 837.5ns -> 862.5ns] -recv(1); // [time: 862.5ns -> 887.5ns] -recv(2); // [time: 887.5ns -> 912.5ns] -recv(3); // [time: 912.5ns -> 937.5ns] -recv(4); // [time: 937.5ns -> 962.5ns] -recv(5); // [time: 962.5ns -> 987.5ns] -recv(6); // [time: 987.5ns -> 1012.5ns] -reset(); // [time: 1062.5ns -> 1087.5ns] -reset(); // [time: 1087.5ns -> 1100ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 12.5ns] + wait_for_data(); // [time: 337.5ns -> 362.5ns] + wait_for_data(); // [time: 387.5ns -> 412.5ns] + wait_for_data(); // [time: 512.5ns -> 537.5ns] + wait_for_data(); // [time: 537.5ns -> 562.5ns] + wait_for_data(); // [time: 612.5ns -> 637.5ns] + wait_for_data(); // [time: 787.5ns -> 812.5ns] + wait_for_data(); // [time: 837.5ns -> 862.5ns] + recv(1); // [time: 862.5ns -> 887.5ns] + recv(2); // [time: 887.5ns -> 912.5ns] + recv(3); // [time: 912.5ns -> 937.5ns] + recv(4); // [time: 937.5ns -> 962.5ns] + recv(5); // [time: 962.5ns -> 987.5ns] + recv(6); // [time: 987.5ns -> 1012.5ns] + stall(7, 0); // [time: 1012.5ns -> 1037.5ns] + stall(7, 0); // [time: 1037.5ns -> 1062.5ns] + reset(); // [time: 1062.5ns -> 1087.5ns] + reset(); // [time: 1087.5ns -> 1100ns] +} + +// trace 1 +trace { + reset(); // [time: 0ns -> 12.5ns] + wait_for_data(); // [time: 337.5ns -> 362.5ns] + wait_for_data(); // [time: 387.5ns -> 412.5ns] + wait_for_data(); // [time: 512.5ns -> 537.5ns] + wait_for_data(); // [time: 537.5ns -> 562.5ns] + wait_for_data(); // [time: 612.5ns -> 637.5ns] + wait_for_data(); // [time: 787.5ns -> 812.5ns] + wait_for_data(); // [time: 837.5ns -> 862.5ns] + recv(1); // [time: 862.5ns -> 887.5ns] + recv(2); // [time: 887.5ns -> 912.5ns] + recv(3); // [time: 912.5ns -> 937.5ns] + recv(4); // [time: 937.5ns -> 962.5ns] + recv(5); // [time: 962.5ns -> 987.5ns] + recv(6); // [time: 987.5ns -> 1012.5ns] + stall(7, 0); // [time: 1012.5ns -> 1037.5ns] + reset(); // [time: 1062.5ns -> 1087.5ns] + reset(); // [time: 1087.5ns -> 1100ns] +} + +// trace 2 +trace { + reset(); // [time: 0ns -> 12.5ns] + wait_for_data(); // [time: 337.5ns -> 362.5ns] + wait_for_data(); // [time: 387.5ns -> 412.5ns] + wait_for_data(); // [time: 512.5ns -> 537.5ns] + wait_for_data(); // [time: 537.5ns -> 562.5ns] + wait_for_data(); // [time: 612.5ns -> 637.5ns] + wait_for_data(); // [time: 787.5ns -> 812.5ns] + wait_for_data(); // [time: 837.5ns -> 862.5ns] + recv(1); // [time: 862.5ns -> 887.5ns] + recv(2); // [time: 887.5ns -> 912.5ns] + recv(3); // [time: 912.5ns -> 937.5ns] + recv(4); // [time: 937.5ns -> 962.5ns] + recv(5); // [time: 962.5ns -> 987.5ns] + recv(6); // [time: 987.5ns -> 1012.5ns] + reset(); // [time: 1062.5ns -> 1087.5ns] + reset(); // [time: 1087.5ns -> 1100ns] +} diff --git a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out index 216bc0f0..fc233887 100644 --- a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out +++ b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_buggy.out @@ -1,10 +1,13 @@ -reset(); // [time: 0ns -> 25ns] -wait_for_data(); // [time: 25ns -> 50ns] -wait_for_data(); // [time: 50ns -> 75ns] -wait_for_data(); // [time: 75ns -> 100ns] -recv(205); // [time: 100ns -> 125ns] -recv(171); // [time: 125ns -> 150ns] -recv(205); // [time: 150ns -> 175ns] -recv(171); // [time: 175ns -> 200ns] -recv(205); // [time: 200ns -> 225ns] -recv_last(171); // [time: 225ns -> 237.5ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 25ns] + wait_for_data(); // [time: 25ns -> 50ns] + wait_for_data(); // [time: 50ns -> 75ns] + wait_for_data(); // [time: 75ns -> 100ns] + recv(205); // [time: 100ns -> 125ns] + recv(171); // [time: 125ns -> 150ns] + recv(205); // [time: 150ns -> 175ns] + recv(171); // [time: 175ns -> 200ns] + recv(205); // [time: 200ns -> 225ns] + recv_last(171); // [time: 225ns -> 237.5ns] +} diff --git a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out index 4064052f..989b7303 100644 --- a/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out +++ b/monitor/tests/fpga-debugging/axis-adapter-s3/s3_fixed.out @@ -1,9 +1,12 @@ -reset(); // [time: 0ns -> 25ns] -wait_for_data(); // [time: 25ns -> 50ns] -wait_for_data(); // [time: 50ns -> 75ns] -wait_for_data(); // [time: 75ns -> 100ns] -recv(205); // [time: 100ns -> 125ns] -recv(171); // [time: 125ns -> 150ns] -recv(205); // [time: 150ns -> 175ns] -recv(171); // [time: 175ns -> 200ns] -recv_last(205); // [time: 200ns -> 212.5ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 25ns] + wait_for_data(); // [time: 25ns -> 50ns] + wait_for_data(); // [time: 50ns -> 75ns] + wait_for_data(); // [time: 75ns -> 100ns] + recv(205); // [time: 100ns -> 125ns] + recv(171); // [time: 125ns -> 150ns] + recv(205); // [time: 150ns -> 175ns] + recv(171); // [time: 175ns -> 200ns] + recv_last(205); // [time: 200ns -> 212.5ns] +} diff --git a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out index 74dbbbaa..d80b0d5f 100644 --- a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out +++ b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_buggy.out @@ -1,15 +1,18 @@ -Sender::reset(); // [time: 0ns -> 25ns] -Receiver::reset(); // [time: 0ns -> 25ns] -Sender::idle(); // [time: 25ns -> 50ns] -Sender::push(1); // [time: 50ns -> 75ns] -Sender::push(2); // [time: 75ns -> 100ns] -Sender::push(3); // [time: 100ns -> 125ns] -Receiver::pop(2); // [time: 25ns -> 125ns] -Sender::push(4); // [time: 125ns -> 150ns] -Receiver::pop(3); // [time: 100ns -> 150ns] -Sender::push(5); // [time: 150ns -> 175ns] -Receiver::pop(4); // [time: 125ns -> 175ns] -Sender::push(6); // [time: 175ns -> 200ns] -Receiver::pop(5); // [time: 150ns -> 200ns] -Sender::push(7); // [time: 200ns -> 212.5ns] -Receiver::pop(6); // [time: 175ns -> 212.5ns] +// trace 0 +trace { + Sender::reset(); // [time: 0ns -> 25ns] + Receiver::reset(); // [time: 0ns -> 25ns] + Sender::idle(); // [time: 25ns -> 50ns] + Sender::push(1); // [time: 50ns -> 75ns] + Sender::push(2); // [time: 75ns -> 100ns] + Sender::push(3); // [time: 100ns -> 125ns] + Receiver::pop(2); // [time: 25ns -> 125ns] + Sender::push(4); // [time: 125ns -> 150ns] + Receiver::pop(3); // [time: 100ns -> 150ns] + Sender::push(5); // [time: 150ns -> 175ns] + Receiver::pop(4); // [time: 125ns -> 175ns] + Sender::push(6); // [time: 175ns -> 200ns] + Receiver::pop(5); // [time: 150ns -> 200ns] + Sender::push(7); // [time: 200ns -> 212.5ns] + Receiver::pop(6); // [time: 175ns -> 212.5ns] +} diff --git a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out index 7f52f271..421b780e 100644 --- a/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out +++ b/monitor/tests/fpga-debugging/axis-async-fifo-c4/c4_fixed.out @@ -1,20 +1,23 @@ -Sender::reset(); // [time: 0ns -> 25ns] -Receiver::reset(); // [time: 0ns -> 25ns] -Sender::idle(); // [time: 25ns -> 50ns] -Receiver::idle(); // [time: 25ns -> 50ns] -Sender::push(1); // [time: 50ns -> 75ns] -Receiver::idle(); // [time: 50ns -> 75ns] -Sender::push(2); // [time: 75ns -> 100ns] -Receiver::idle(); // [time: 75ns -> 100ns] -Sender::push(3); // [time: 100ns -> 150ns] -Receiver::pop(2); // [time: 100ns -> 150ns] -Sender::push(4); // [time: 150ns -> 175ns] -Receiver::pop(3); // [time: 125ns -> 175ns] -Sender::push(5); // [time: 175ns -> 200ns] -Receiver::pop(4); // [time: 150ns -> 200ns] -Sender::push(6); // [time: 200ns -> 225ns] -Receiver::pop(5); // [time: 175ns -> 225ns] -Sender::push(7); // [time: 225ns -> 250ns] -Receiver::pop(6); // [time: 200ns -> 250ns] -Sender::push(8); // [time: 250ns -> 262.5ns] -Receiver::pop(7); // [time: 225ns -> 262.5ns] +// trace 0 +trace { + Sender::reset(); // [time: 0ns -> 25ns] + Receiver::reset(); // [time: 0ns -> 25ns] + Sender::idle(); // [time: 25ns -> 50ns] + Receiver::idle(); // [time: 25ns -> 50ns] + Sender::push(1); // [time: 50ns -> 75ns] + Receiver::idle(); // [time: 50ns -> 75ns] + Sender::push(2); // [time: 75ns -> 100ns] + Receiver::idle(); // [time: 75ns -> 100ns] + Sender::push(3); // [time: 100ns -> 150ns] + Receiver::pop(2); // [time: 100ns -> 150ns] + Sender::push(4); // [time: 150ns -> 175ns] + Receiver::pop(3); // [time: 125ns -> 175ns] + Sender::push(5); // [time: 175ns -> 200ns] + Receiver::pop(4); // [time: 150ns -> 200ns] + Sender::push(6); // [time: 200ns -> 225ns] + Receiver::pop(5); // [time: 175ns -> 225ns] + Sender::push(7); // [time: 225ns -> 250ns] + Receiver::pop(6); // [time: 200ns -> 250ns] + Sender::push(8); // [time: 250ns -> 262.5ns] + Receiver::pop(7); // [time: 225ns -> 262.5ns] +} diff --git a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out index 25b7d504..7f01204e 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_buggy.out @@ -1,14 +1,17 @@ -reset(); // [time: 0ns -> 25ns] -push(1); // [time: 25ns -> 50ns] -push(1); // [time: 50ns -> 75ns] -push(2); // [time: 75ns -> 100ns] -push(4); // [time: 100ns -> 125ns] -push(5); // [time: 125ns -> 150ns] -push(6); // [time: 150ns -> 175ns] -push(6); // [time: 175ns -> 200ns] -push(6); // [time: 200ns -> 225ns] -push(6); // [time: 225ns -> 250ns] -push(6); // [time: 250ns -> 275ns] -push(6); // [time: 275ns -> 300ns] -reset(); // [time: 300ns -> 325ns] -push(6); // [time: 325ns -> 337.5ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 25ns] + push(1); // [time: 25ns -> 50ns] + push(1); // [time: 50ns -> 75ns] + push(2); // [time: 75ns -> 100ns] + push(4); // [time: 100ns -> 125ns] + push(5); // [time: 125ns -> 150ns] + push(6); // [time: 150ns -> 175ns] + push(6); // [time: 175ns -> 200ns] + push(6); // [time: 200ns -> 225ns] + push(6); // [time: 225ns -> 250ns] + push(6); // [time: 250ns -> 275ns] + push(6); // [time: 275ns -> 300ns] + reset(); // [time: 300ns -> 325ns] + push(6); // [time: 325ns -> 337.5ns] +} diff --git a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out index 1bb521d0..91c4edb1 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d11/d11_fixed.out @@ -1,18 +1,21 @@ -reset(); // [time: 0ns -> 25ns] -push(1); // [time: 25ns -> 50ns] -push(1); // [time: 50ns -> 75ns] -push(2); // [time: 75ns -> 100ns] -push(4); // [time: 100ns -> 125ns] -push(5); // [time: 125ns -> 150ns] -push(6); // [time: 150ns -> 175ns] -push(6); // [time: 175ns -> 200ns] -push(6); // [time: 200ns -> 225ns] -push(6); // [time: 225ns -> 250ns] -push(6); // [time: 250ns -> 275ns] -push(6); // [time: 275ns -> 300ns] -reset(); // [time: 300ns -> 325ns] -push(6); // [time: 325ns -> 350ns] -push(6); // [time: 350ns -> 375ns] -push(7); // [time: 375ns -> 400ns] -push(7); // [time: 400ns -> 425ns] -push(7); // [time: 425ns -> 437.5ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 25ns] + push(1); // [time: 25ns -> 50ns] + push(1); // [time: 50ns -> 75ns] + push(2); // [time: 75ns -> 100ns] + push(4); // [time: 100ns -> 125ns] + push(5); // [time: 125ns -> 150ns] + push(6); // [time: 150ns -> 175ns] + push(6); // [time: 175ns -> 200ns] + push(6); // [time: 200ns -> 225ns] + push(6); // [time: 225ns -> 250ns] + push(6); // [time: 250ns -> 275ns] + push(6); // [time: 275ns -> 300ns] + reset(); // [time: 300ns -> 325ns] + push(6); // [time: 325ns -> 350ns] + push(6); // [time: 350ns -> 375ns] + push(7); // [time: 375ns -> 400ns] + push(7); // [time: 400ns -> 425ns] + push(7); // [time: 425ns -> 437.5ns] +} diff --git a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out index bff00413..6a0936b1 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_buggy.out @@ -1,13 +1,16 @@ -reset(); // [time: 0ns -> 25ns] -push(1); // [time: 25ns -> 50ns] -push(1); // [time: 50ns -> 75ns] -push(2); // [time: 75ns -> 100ns] -push(3); // [time: 100ns -> 125ns] -push(4); // [time: 125ns -> 150ns] -push(5); // [time: 150ns -> 175ns] -push(6); // [time: 175ns -> 200ns] -pop(1); // [time: 200ns -> 250ns] -push_and_pop(6, 2); // [time: 225ns -> 275ns] -push_and_pop(6, 3); // [time: 250ns -> 300ns] -push_and_pop(7, 3); // [time: 275ns -> 325ns] -push_and_pop(7, 5); // [time: 300ns -> 362.5ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 25ns] + push(1); // [time: 25ns -> 50ns] + push(1); // [time: 50ns -> 75ns] + push(2); // [time: 75ns -> 100ns] + push(3); // [time: 100ns -> 125ns] + push(4); // [time: 125ns -> 150ns] + push(5); // [time: 150ns -> 175ns] + push(6); // [time: 175ns -> 200ns] + pop(1); // [time: 200ns -> 250ns] + push_and_pop(6, 2); // [time: 225ns -> 275ns] + push_and_pop(6, 3); // [time: 250ns -> 300ns] + push_and_pop(7, 3); // [time: 275ns -> 325ns] + push_and_pop(7, 5); // [time: 300ns -> 362.5ns] +} diff --git a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out index 280d8156..4eeb0094 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d12/d12_fixed.out @@ -1,12 +1,15 @@ -reset(); // [time: 0ns -> 25ns] -push(1); // [time: 25ns -> 50ns] -push(1); // [time: 50ns -> 75ns] -push(2); // [time: 75ns -> 100ns] -push(3); // [time: 100ns -> 125ns] -push(4); // [time: 125ns -> 150ns] -push(5); // [time: 150ns -> 175ns] -push(6); // [time: 175ns -> 200ns] -pop(1); // [time: 200ns -> 250ns] -push_and_pop(6, 2); // [time: 225ns -> 275ns] -push_and_pop(6, 3); // [time: 250ns -> 300ns] -push_and_pop(7, 3); // [time: 275ns -> 325ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 25ns] + push(1); // [time: 25ns -> 50ns] + push(1); // [time: 50ns -> 75ns] + push(2); // [time: 75ns -> 100ns] + push(3); // [time: 100ns -> 125ns] + push(4); // [time: 125ns -> 150ns] + push(5); // [time: 150ns -> 175ns] + push(6); // [time: 175ns -> 200ns] + pop(1); // [time: 200ns -> 250ns] + push_and_pop(6, 2); // [time: 225ns -> 275ns] + push_and_pop(6, 3); // [time: 250ns -> 300ns] + push_and_pop(7, 3); // [time: 275ns -> 325ns] +} diff --git a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out index 47c322ff..168cdc90 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_buggy.out @@ -1,44 +1,47 @@ -reset(); // [time: 0ns -> 2.5ns] -reset(); // [time: 2.5ns -> 5ns] -reset(); // [time: 5ns -> 7.5ns] -reset(); // [time: 7.5ns -> 10ns] -reset(); // [time: 10ns -> 12.5ns] -reset(); // [time: 12.5ns -> 15ns] -reset(); // [time: 15ns -> 17.5ns] -reset(); // [time: 17.5ns -> 20ns] -reset(); // [time: 20ns -> 22.5ns] -reset(); // [time: 22.5ns -> 25ns] -push(0); // [time: 37.5ns -> 40ns] -push(1); // [time: 40ns -> 42.5ns] -push(2); // [time: 42.5ns -> 45ns] -push(3); // [time: 45ns -> 47.5ns] -push(4); // [time: 47.5ns -> 50ns] -push(5); // [time: 50ns -> 52.5ns] -push(6); // [time: 52.5ns -> 55ns] -push(7); // [time: 55ns -> 57.5ns] -push(8); // [time: 57.5ns -> 60ns] -push(9); // [time: 60ns -> 62.5ns] -push(233); // [time: 62.5ns -> 65ns] -push(0); // [time: 77.5ns -> 80ns] -push(1); // [time: 80ns -> 82.5ns] -push(2); // [time: 82.5ns -> 85ns] -push(3); // [time: 85ns -> 87.5ns] -push(4); // [time: 87.5ns -> 90ns] -push(5); // [time: 90ns -> 92.5ns] -push(6); // [time: 92.5ns -> 95ns] -push(7); // [time: 95ns -> 97.5ns] -push(8); // [time: 97.5ns -> 100ns] -push(9); // [time: 100ns -> 102.5ns] -push(233); // [time: 102.5ns -> 105ns] -push(0); // [time: 117.5ns -> 120ns] -push(1); // [time: 120ns -> 122.5ns] -push(2); // [time: 122.5ns -> 125ns] -push(3); // [time: 125ns -> 127.5ns] -push(4); // [time: 127.5ns -> 130ns] -push(5); // [time: 130ns -> 132.5ns] -push(6); // [time: 132.5ns -> 135ns] -push(7); // [time: 135ns -> 137.5ns] -push(8); // [time: 137.5ns -> 140ns] -push(9); // [time: 140ns -> 142.5ns] -push(233); // [time: 142.5ns -> 145ns] -push(0); // [time: 157.5ns -> 158.75ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 2.5ns] + reset(); // [time: 2.5ns -> 5ns] + reset(); // [time: 5ns -> 7.5ns] + reset(); // [time: 7.5ns -> 10ns] + reset(); // [time: 10ns -> 12.5ns] + reset(); // [time: 12.5ns -> 15ns] + reset(); // [time: 15ns -> 17.5ns] + reset(); // [time: 17.5ns -> 20ns] + reset(); // [time: 20ns -> 22.5ns] + reset(); // [time: 22.5ns -> 25ns] + push(0); // [time: 37.5ns -> 40ns] + push(1); // [time: 40ns -> 42.5ns] + push(2); // [time: 42.5ns -> 45ns] + push(3); // [time: 45ns -> 47.5ns] + push(4); // [time: 47.5ns -> 50ns] + push(5); // [time: 50ns -> 52.5ns] + push(6); // [time: 52.5ns -> 55ns] + push(7); // [time: 55ns -> 57.5ns] + push(8); // [time: 57.5ns -> 60ns] + push(9); // [time: 60ns -> 62.5ns] + push(233); // [time: 62.5ns -> 65ns] + push(0); // [time: 77.5ns -> 80ns] + push(1); // [time: 80ns -> 82.5ns] + push(2); // [time: 82.5ns -> 85ns] + push(3); // [time: 85ns -> 87.5ns] + push(4); // [time: 87.5ns -> 90ns] + push(5); // [time: 90ns -> 92.5ns] + push(6); // [time: 92.5ns -> 95ns] + push(7); // [time: 95ns -> 97.5ns] + push(8); // [time: 97.5ns -> 100ns] + push(9); // [time: 100ns -> 102.5ns] + push(233); // [time: 102.5ns -> 105ns] + push(0); // [time: 117.5ns -> 120ns] + push(1); // [time: 120ns -> 122.5ns] + push(2); // [time: 122.5ns -> 125ns] + push(3); // [time: 125ns -> 127.5ns] + push(4); // [time: 127.5ns -> 130ns] + push(5); // [time: 130ns -> 132.5ns] + push(6); // [time: 132.5ns -> 135ns] + push(7); // [time: 135ns -> 137.5ns] + push(8); // [time: 137.5ns -> 140ns] + push(9); // [time: 140ns -> 142.5ns] + push(233); // [time: 142.5ns -> 145ns] + push(0); // [time: 157.5ns -> 158.75ns] +} diff --git a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out index 28b0ad74..d4462d29 100644 --- a/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out +++ b/monitor/tests/fpga-debugging/axis-fifo-d4/d4_fixed.out @@ -1,43 +1,46 @@ -reset(); // [time: 0ns -> 2.5ns] -reset(); // [time: 2.5ns -> 5ns] -reset(); // [time: 5ns -> 7.5ns] -reset(); // [time: 7.5ns -> 10ns] -reset(); // [time: 10ns -> 12.5ns] -reset(); // [time: 12.5ns -> 15ns] -reset(); // [time: 15ns -> 17.5ns] -reset(); // [time: 17.5ns -> 20ns] -reset(); // [time: 20ns -> 22.5ns] -reset(); // [time: 22.5ns -> 25ns] -push(0); // [time: 37.5ns -> 40ns] -push(1); // [time: 40ns -> 42.5ns] -push(2); // [time: 42.5ns -> 45ns] -push(3); // [time: 45ns -> 47.5ns] -push(4); // [time: 47.5ns -> 50ns] -push(5); // [time: 50ns -> 52.5ns] -push(6); // [time: 52.5ns -> 55ns] -push(7); // [time: 55ns -> 57.5ns] -push(8); // [time: 57.5ns -> 60ns] -push(9); // [time: 60ns -> 62.5ns] -push(233); // [time: 62.5ns -> 65ns] -push(0); // [time: 77.5ns -> 80ns] -push(1); // [time: 80ns -> 82.5ns] -push(2); // [time: 82.5ns -> 85ns] -push(3); // [time: 85ns -> 87.5ns] -push(4); // [time: 87.5ns -> 90ns] -push(5); // [time: 90ns -> 92.5ns] -push(6); // [time: 92.5ns -> 95ns] -push(7); // [time: 95ns -> 97.5ns] -push(8); // [time: 97.5ns -> 100ns] -push(9); // [time: 100ns -> 102.5ns] -push(233); // [time: 102.5ns -> 105ns] -push(0); // [time: 117.5ns -> 120ns] -push(1); // [time: 120ns -> 122.5ns] -push(2); // [time: 122.5ns -> 125ns] -push(3); // [time: 125ns -> 127.5ns] -push(4); // [time: 127.5ns -> 130ns] -push(5); // [time: 130ns -> 132.5ns] -push(6); // [time: 132.5ns -> 135ns] -push(7); // [time: 135ns -> 137.5ns] -push(8); // [time: 137.5ns -> 140ns] -push(9); // [time: 140ns -> 142.5ns] -push(233); // [time: 142.5ns -> 145ns] +// trace 0 +trace { + reset(); // [time: 0ns -> 2.5ns] + reset(); // [time: 2.5ns -> 5ns] + reset(); // [time: 5ns -> 7.5ns] + reset(); // [time: 7.5ns -> 10ns] + reset(); // [time: 10ns -> 12.5ns] + reset(); // [time: 12.5ns -> 15ns] + reset(); // [time: 15ns -> 17.5ns] + reset(); // [time: 17.5ns -> 20ns] + reset(); // [time: 20ns -> 22.5ns] + reset(); // [time: 22.5ns -> 25ns] + push(0); // [time: 37.5ns -> 40ns] + push(1); // [time: 40ns -> 42.5ns] + push(2); // [time: 42.5ns -> 45ns] + push(3); // [time: 45ns -> 47.5ns] + push(4); // [time: 47.5ns -> 50ns] + push(5); // [time: 50ns -> 52.5ns] + push(6); // [time: 52.5ns -> 55ns] + push(7); // [time: 55ns -> 57.5ns] + push(8); // [time: 57.5ns -> 60ns] + push(9); // [time: 60ns -> 62.5ns] + push(233); // [time: 62.5ns -> 65ns] + push(0); // [time: 77.5ns -> 80ns] + push(1); // [time: 80ns -> 82.5ns] + push(2); // [time: 82.5ns -> 85ns] + push(3); // [time: 85ns -> 87.5ns] + push(4); // [time: 87.5ns -> 90ns] + push(5); // [time: 90ns -> 92.5ns] + push(6); // [time: 92.5ns -> 95ns] + push(7); // [time: 95ns -> 97.5ns] + push(8); // [time: 97.5ns -> 100ns] + push(9); // [time: 100ns -> 102.5ns] + push(233); // [time: 102.5ns -> 105ns] + push(0); // [time: 117.5ns -> 120ns] + push(1); // [time: 120ns -> 122.5ns] + push(2); // [time: 122.5ns -> 125ns] + push(3); // [time: 125ns -> 127.5ns] + push(4); // [time: 127.5ns -> 130ns] + push(5); // [time: 130ns -> 132.5ns] + push(6); // [time: 132.5ns -> 135ns] + push(7); // [time: 135ns -> 137.5ns] + push(8); // [time: 137.5ns -> 140ns] + push(9); // [time: 140ns -> 142.5ns] + push(233); // [time: 142.5ns -> 145ns] +} diff --git a/monitor/tests/identities/identity_d1.out b/monitor/tests/identities/identity_d1.out index 2d257e38..6b745f06 100644 --- a/monitor/tests/identities/identity_d1.out +++ b/monitor/tests/identities/identity_d1.out @@ -1 +1,4 @@ -slicing_ok(1, 1); +// trace 0 +trace { + slicing_ok(1, 1); +} diff --git a/monitor/tests/multi/multi0.out b/monitor/tests/multi/multi0.out index 923a8f4f..8219b9ab 100644 --- a/monitor/tests/multi/multi0.out +++ b/monitor/tests/multi/multi0.out @@ -1 +1,4 @@ -multi(10, 10); +// trace 0 +trace { + multi(10, 10); +} diff --git a/monitor/tests/multi/multi0keep.out b/monitor/tests/multi/multi0keep.out index 923a8f4f..8219b9ab 100644 --- a/monitor/tests/multi/multi0keep.out +++ b/monitor/tests/multi/multi0keep.out @@ -1 +1,4 @@ -multi(10, 10); +// trace 0 +trace { + multi(10, 10); +} diff --git a/monitor/tests/multi/multi0keep2const.out b/monitor/tests/multi/multi0keep2const.out index 923a8f4f..8219b9ab 100644 --- a/monitor/tests/multi/multi0keep2const.out +++ b/monitor/tests/multi/multi0keep2const.out @@ -1 +1,4 @@ -multi(10, 10); +// trace 0 +trace { + multi(10, 10); +} diff --git a/monitor/tests/multi/multi2const.out b/monitor/tests/multi/multi2const.out index 923a8f4f..8219b9ab 100644 --- a/monitor/tests/multi/multi2const.out +++ b/monitor/tests/multi/multi2const.out @@ -1 +1,4 @@ -multi(10, 10); +// trace 0 +trace { + multi(10, 10); +} diff --git a/monitor/tests/multi/multi2multi.out b/monitor/tests/multi/multi2multi.out index 923a8f4f..8219b9ab 100644 --- a/monitor/tests/multi/multi2multi.out +++ b/monitor/tests/multi/multi2multi.out @@ -1 +1,4 @@ -multi(10, 10); +// trace 0 +trace { + multi(10, 10); +} diff --git a/monitor/tests/multi/multi_data.out b/monitor/tests/multi/multi_data.out index 923a8f4f..8219b9ab 100644 --- a/monitor/tests/multi/multi_data.out +++ b/monitor/tests/multi/multi_data.out @@ -1 +1,4 @@ -multi(10, 10); +// trace 0 +trace { + multi(10, 10); +} diff --git a/monitor/tests/multipliers/mult_d2.out b/monitor/tests/multipliers/mult_d2.out index c6ef7cc3..e81c6c28 100644 --- a/monitor/tests/multipliers/mult_d2.out +++ b/monitor/tests/multipliers/mult_d2.out @@ -1,2 +1,5 @@ -mul(1, 2, 2); -mul(6, 8, 48); +// trace 0 +trace { + mul(1, 2, 2); + mul(6, 8, 48); +} diff --git a/monitor/tests/picorv32/pcpi_mul_unsigned_mul.out b/monitor/tests/picorv32/pcpi_mul_unsigned_mul.out index 98f5785f..7b7bd936 100644 --- a/monitor/tests/picorv32/pcpi_mul_unsigned_mul.out +++ b/monitor/tests/picorv32/pcpi_mul_unsigned_mul.out @@ -1,5 +1,8 @@ -pcpi_mul_reset(); -pcpi_mul(1, 1, 1, 33554483); -pcpi_mul(1, 100, 100, 33554483); -pcpi_mul(100, 1, 100, 33554483); -pcpi_mul(33554483, 200, 2415929304, 33554483); +// trace 0 +trace { + pcpi_mul_reset(); + pcpi_mul(1, 1, 1, 33554483); + pcpi_mul(1, 100, 100, 33554483); + pcpi_mul(100, 1, 100, 33554483); + pcpi_mul(33554483, 200, 2415929304, 33554483); +} diff --git a/monitor/tests/serv/serv_regfile.out b/monitor/tests/serv/serv_regfile.out index 70b626fc..92f93316 100644 --- a/monitor/tests/serv/serv_regfile.out +++ b/monitor/tests/serv/serv_regfile.out @@ -1,2 +1,5 @@ -read_write(0x00, 0x00000000, 0x00000000, 0x00, 0x1, 0x05, 0xdeadbeef); -read_write(0x05, 0xdeadbeef, 0x00000000, 0x00, 0x0, 0x00, 0x00000000); +// trace 0 +trace { + read_write(0x00, 0x00000000, 0x00000000, 0x00, 0x1, 0x05, 0xdeadbeef); + read_write(0x05, 0xdeadbeef, 0x00000000, 0x00, 0x0, 0x00, 0x00000000); +} diff --git a/monitor/tests/tinyaes128/aes128.out b/monitor/tests/tinyaes128/aes128.out index 58ba2bcf..0153c201 100644 --- a/monitor/tests/tinyaes128/aes128.out +++ b/monitor/tests/tinyaes128/aes128.out @@ -1,2 +1,5 @@ -aes128(0x000102030405060708090a0b0c0d0e0f, 0x00112233445566778899aabbccddeeff, 0x69c4e0d86a7b0430d8cdb78070b4c55a); -aes128(0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x66e94bd4ef8a2c3b884cfa59ca342b2e); +// trace 0 +trace { + aes128(0x000102030405060708090a0b0c0d0e0f, 0x00112233445566778899aabbccddeeff, 0x69c4e0d86a7b0430d8cdb78070b4c55a); + aes128(0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x66e94bd4ef8a2c3b884cfa59ca342b2e); +} diff --git a/monitor/tests/wal/advanced/axis.out b/monitor/tests/wal/advanced/axis.out index a60052e8..3f3b07eb 100644 --- a/monitor/tests/wal/advanced/axis.out +++ b/monitor/tests/wal/advanced/axis.out @@ -1,12 +1,15 @@ -send_data(0); // [time: 804ns -> 812ns] -send_data(1); // [time: 1508ns -> 1516ns] -send_data(2); // [time: 2212ns -> 2220ns] -send_data(3); // [time: 2916ns -> 2924ns] -send_data(8); // [time: 3620ns -> 6628ns] -send_data(9); // [time: 7140ns -> 7412ns] -send_data(10); // [time: 7844ns -> 7852ns] -send_data(11); // [time: 8548ns -> 8556ns] -send_data(12); // [time: 9252ns -> 9260ns] -send_data(15); // [time: 9956ns -> 11628ns] -send_data(18); // [time: 12068ns -> 13932ns] -send_data(19); // [time: 14180ns -> 14188ns] +// trace 0 +trace { + send_data(0); // [time: 804ns -> 812ns] + send_data(1); // [time: 1508ns -> 1516ns] + send_data(2); // [time: 2212ns -> 2220ns] + send_data(3); // [time: 2916ns -> 2924ns] + send_data(8); // [time: 3620ns -> 6628ns] + send_data(9); // [time: 7140ns -> 7412ns] + send_data(10); // [time: 7844ns -> 7852ns] + send_data(11); // [time: 8548ns -> 8556ns] + send_data(12); // [time: 9252ns -> 9260ns] + send_data(15); // [time: 9956ns -> 11628ns] + send_data(18); // [time: 12068ns -> 13932ns] + send_data(19); // [time: 14180ns -> 14188ns] +} diff --git a/monitor/tests/wal/advanced/axis_minimal.out b/monitor/tests/wal/advanced/axis_minimal.out index 52de7d43..1f3b586f 100644 --- a/monitor/tests/wal/advanced/axis_minimal.out +++ b/monitor/tests/wal/advanced/axis_minimal.out @@ -1 +1,4 @@ -send_data(15); // [time: 0ns -> 284ns] +// trace 0 +trace { + send_data(15); // [time: 0ns -> 284ns] +} diff --git a/monitor/tests/wal/advanced/axis_truncated.out b/monitor/tests/wal/advanced/axis_truncated.out index 132c780d..7c8edb29 100644 --- a/monitor/tests/wal/advanced/axis_truncated.out +++ b/monitor/tests/wal/advanced/axis_truncated.out @@ -1,3 +1,6 @@ -send_data(15); // [time: 0ns -> 968ns] -send_data(18); // [time: 1408ns -> 3272ns] -send_data(19); // [time: 3520ns -> 3528ns] +// trace 0 +trace { + send_data(15); // [time: 0ns -> 968ns] + send_data(18); // [time: 1408ns -> 3272ns] + send_data(19); // [time: 3520ns -> 3528ns] +}