forked from Github_Repos/cvw
		
	Extraction script updates to match new reports names
This commit is contained in:
		
							parent
							
								
									df9950483e
								
							
						
					
					
						commit
						023ba68088
					
				@ -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))
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user