diff --git a/config/shared/wally-shared.vh b/config/shared/wally-shared.vh index 507388f7f..3da14abd5 100644 --- a/config/shared/wally-shared.vh +++ b/config/shared/wally-shared.vh @@ -117,7 +117,7 @@ // largest length in IEU/FPU `define CVTLEN ((`NF<`XLEN) ? (`XLEN) : (`NF)) -`define LLEN ((`FLEN<`XLEN) ? (`XLEN) : (`FLEN)) +`define LLEN (($unsigned(`FLEN)<$unsigned(`XLEN)) ? ($unsigned(`XLEN)) : ($unsigned(`FLEN))) `define LOGCVTLEN $unsigned($clog2(`CVTLEN+1)) `define NORMSHIFTSZ (((`CVTLEN+`NF+1)>(`DIVb + 1 +`NF+1) & (`CVTLEN+`NF+1)>(3*`NF+6)) ? (`CVTLEN+`NF+1) : ((`DIVb + 1 +`NF+1) > (3*`NF+6) ? (`DIVb + 1 +`NF+1) : (3*`NF+6))) `define LOGNORMSHIFTSZ ($clog2(`NORMSHIFTSZ)) diff --git a/src/lsu/lsu.sv b/src/lsu/lsu.sv index e01de3128..040691080 100644 --- a/src/lsu/lsu.sv +++ b/src/lsu/lsu.sv @@ -357,8 +357,10 @@ module lsu ( ///////////////////////////////////////////////////////////////////////////////////////////// if (`BIGENDIAN_SUPPORTED) begin:endian - endianswap #(`LLEN) storeswap(.BigEndianM, .a(LittleEndianWriteDataM), .y(LSUWriteDataM)); - endianswap #(`LLEN) loadswap(.BigEndianM, .a(ReadDataWordMuxM), .y(LittleEndianReadDataWordM)); +// endianswap #(`LLEN) storeswap(.BigEndianM, .a(LittleEndianWriteDataM), .y(LSUWriteDataM)); +// endianswap #(`LLEN) loadswap(.BigEndianM, .a(ReadDataWordMuxM), .y(LittleEndianReadDataWordM)); + endianswap #(64) storeswap(.BigEndianM, .a(LittleEndianWriteDataM), .y(LSUWriteDataM)); + endianswap #(64) loadswap(.BigEndianM, .a(ReadDataWordMuxM), .y(LittleEndianReadDataWordM)); end else begin assign LSUWriteDataM = LittleEndianWriteDataM; assign LittleEndianReadDataWordM = ReadDataWordMuxM; diff --git a/synthDC/extractArea.pl b/synthDC/extractArea.pl index d16c74df5..a2a89d7d6 100755 --- a/synthDC/extractArea.pl +++ b/synthDC/extractArea.pl @@ -51,7 +51,7 @@ opendir(DIR, $dir) or die "Could not open $dir"; while (my $filename = readdir(DIR)) { if ($filename =~ /orig_tsmc28psyn/) { -# print "$filename\n"; +# if ($filename =~ /orig_sky90/) { &processRun("$dir/$filename"); } } @@ -82,7 +82,7 @@ foreach my $kw (@keywordsp) { sub processRun { my $fname = shift; - my $ffname = "$fname/reports/wallypipelinedcore_area.rep"; + my $ffname = "$fname/reports/area.rep"; open(FILE, "$ffname") or die ("Could not read $ffname"); # Extract configuration from fname; diff --git a/synthDC/extractSummary.py b/synthDC/extractSummary.py index 94902f9c9..65b7d1842 100755 --- a/synthDC/extractSummary.py +++ b/synthDC/extractSummary.py @@ -141,7 +141,7 @@ def areaDelay(tech, delays, areas, labels, fig, ax, norm=False): if norm: delays = [d/fo4 for d in delays] areas = [a/add32area for a in areas] - + plt.scatter(delays, areas, marker=marker, color=color) plt.xlabel('Cycle time (ns)') plt.ylabel('Area (sq microns)') @@ -165,6 +165,9 @@ def plotFeatures(tech, width, config): areas += [oneSynth.area] labels += [oneSynth.mod] + if (delays == []): + print("No delays found for freq ", freq, ". Did you set --skyfreq and --tsmcfreq?\n") + fig, (ax) = plt.subplots(1, 1) fig = areaDelay(tech, delays, areas, labels, fig, ax) @@ -185,6 +188,7 @@ def plotConfigs(tech, mod=''): fig, (ax) = plt.subplots(1, 1) + fig = areaDelay(tech, delays, areas, labels, fig, ax) titleStr = tech+'_'+mod