From 38bbd19abfaa7cda7393c8dc6d3bc727fc2872b8 Mon Sep 17 00:00:00 2001 From: cturek Date: Thu, 14 Jul 2022 19:38:27 +0000 Subject: [PATCH] Six tests passing and a bunch of sizizing issues fixed --- pipelined/config/shared/wally-shared.vh | 2 ++ pipelined/srt/sqrttestgen.c | 15 +++++++++--- pipelined/srt/srt.sv | 8 +++---- pipelined/srt/testbench.sv | 32 ++++++++++++------------- 4 files changed, 33 insertions(+), 24 deletions(-) diff --git a/pipelined/config/shared/wally-shared.vh b/pipelined/config/shared/wally-shared.vh index 5dc008bb..1237ef18 100644 --- a/pipelined/config/shared/wally-shared.vh +++ b/pipelined/config/shared/wally-shared.vh @@ -104,6 +104,8 @@ `define RADIX 32'h4 `define DIVCOPIES 32'h4 `define DIVLEN ((`NF < `XLEN) ? (`XLEN) : (`NF + 3)) +`define EXTRAFRACBITS ((`NF<(`XLEN)) ? (`XLEN - `NF) : 3) +`define EXTRAINTBITS ((`NF<(`XLEN)) ? 0 : (`NF - `XLEN + 3)) `define DIVRESLEN ((`NF>`XLEN) ? `NF+4 : `XLEN) `define LOGR ((`RADIX==2) ? 32'h1 : 32'h2) // FPDUR = ceil(DIVRESLEN/(LOGR*DIVCOPIES)) diff --git a/pipelined/srt/sqrttestgen.c b/pipelined/srt/sqrttestgen.c index 710fc32f..07f34c3c 100644 --- a/pipelined/srt/sqrttestgen.c +++ b/pipelined/srt/sqrttestgen.c @@ -30,11 +30,11 @@ void main(void) FILE *fptr; double aFrac, rFrac; int aExp, rExp; - double mans[ENTRIES] = {1, 1.5, 1.25, 1.125, 1.0625, + double mans[ENTRIES] = {1, 1849.0/1024, 1.25, 1.125, 1.0625, 1.75, 1.875, 1.99999, 1.1, 1.2, 1.01, 1.001, 1.0001, 2/1.1, 2/1.5, 2/1.25, 2/1.125}; - double exps[ENTRIES] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + double exps[ENTRIES] = {0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; int i; int bias = 1023; @@ -47,10 +47,19 @@ void main(void) for (i=0; i