From 5bb521635e2839fe14b054a161fcc00e4230fc00 Mon Sep 17 00:00:00 2001 From: David Harris Date: Sun, 17 Apr 2022 21:43:12 +0000 Subject: [PATCH] Experiments with prefix comparator; minor fixes in WFI and testbench warnings --- pipelined/src/ieu/comparator.sv | 43 +++++++++++++++++++++++++- pipelined/src/privileged/privileged.sv | 5 +-- pipelined/testbench/testbench.sv | 4 +-- 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/pipelined/src/ieu/comparator.sv b/pipelined/src/ieu/comparator.sv index f1a66861..67fd476d 100644 --- a/pipelined/src/ieu/comparator.sv +++ b/pipelined/src/ieu/comparator.sv @@ -52,6 +52,47 @@ module comparator #(parameter WIDTH=32) ( assign overflow = (a[WIDTH-1] ^ b[WIDTH-1]) & (a[WIDTH-1] ^ diff[WIDTH-1]); assign lt = neg ^ overflow; assign ltu = ~carry; - assign flags = {eq, lt, ltu}; +// assign flags = {eq, lt, ltu}; + + /* verilator lint_off UNOPTFLAT */ + + // prefix implementation + localparam levels=$clog2(WIDTH); + genvar i; + genvar level; + logic [WIDTH-1:0] ee[levels:0]; + logic [WIDTH-1:0] ll[levels:0]; + logic eq2, lt2, ltu2; + + + // Bitwise logic + for (i=0; i