Extraction script updates to match new reports names

This commit is contained in:
David Harris 2023-02-20 10:16:45 -08:00
parent 4cc8448b16
commit 801f4a68b7
4 changed files with 12 additions and 6 deletions

View File

@ -117,7 +117,7 @@
// largest length in IEU/FPU // largest length in IEU/FPU
`define CVTLEN ((`NF<`XLEN) ? (`XLEN) : (`NF)) `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 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 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)) `define LOGNORMSHIFTSZ ($clog2(`NORMSHIFTSZ))

View File

@ -357,8 +357,10 @@ module lsu (
///////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////
if (`BIGENDIAN_SUPPORTED) begin:endian if (`BIGENDIAN_SUPPORTED) begin:endian
endianswap #(`LLEN) storeswap(.BigEndianM, .a(LittleEndianWriteDataM), .y(LSUWriteDataM)); // endianswap #(`LLEN) storeswap(.BigEndianM, .a(LittleEndianWriteDataM), .y(LSUWriteDataM));
endianswap #(`LLEN) loadswap(.BigEndianM, .a(ReadDataWordMuxM), .y(LittleEndianReadDataWordM)); // 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 end else begin
assign LSUWriteDataM = LittleEndianWriteDataM; assign LSUWriteDataM = LittleEndianWriteDataM;
assign LittleEndianReadDataWordM = ReadDataWordMuxM; assign LittleEndianReadDataWordM = ReadDataWordMuxM;

View File

@ -51,7 +51,7 @@ opendir(DIR, $dir) or die "Could not open $dir";
while (my $filename = readdir(DIR)) { while (my $filename = readdir(DIR)) {
if ($filename =~ /orig_tsmc28psyn/) { if ($filename =~ /orig_tsmc28psyn/) {
# print "$filename\n"; # if ($filename =~ /orig_sky90/) {
&processRun("$dir/$filename"); &processRun("$dir/$filename");
} }
} }
@ -82,7 +82,7 @@ foreach my $kw (@keywordsp) {
sub processRun { sub processRun {
my $fname = shift; 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"); open(FILE, "$ffname") or die ("Could not read $ffname");
# Extract configuration from fname; # Extract configuration from fname;

View File

@ -141,7 +141,7 @@ def areaDelay(tech, delays, areas, labels, fig, ax, norm=False):
if norm: if norm:
delays = [d/fo4 for d in delays] delays = [d/fo4 for d in delays]
areas = [a/add32area for a in areas] areas = [a/add32area for a in areas]
plt.scatter(delays, areas, marker=marker, color=color) plt.scatter(delays, areas, marker=marker, color=color)
plt.xlabel('Cycle time (ns)') plt.xlabel('Cycle time (ns)')
plt.ylabel('Area (sq microns)') plt.ylabel('Area (sq microns)')
@ -165,6 +165,9 @@ def plotFeatures(tech, width, config):
areas += [oneSynth.area] areas += [oneSynth.area]
labels += [oneSynth.mod] 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, (ax) = plt.subplots(1, 1)
fig = areaDelay(tech, delays, areas, labels, fig, ax) fig = areaDelay(tech, delays, areas, labels, fig, ax)
@ -185,6 +188,7 @@ def plotConfigs(tech, mod=''):
fig, (ax) = plt.subplots(1, 1) fig, (ax) = plt.subplots(1, 1)
fig = areaDelay(tech, delays, areas, labels, fig, ax) fig = areaDelay(tech, delays, areas, labels, fig, ax)
titleStr = tech+'_'+mod titleStr = tech+'_'+mod