forked from Github_Repos/cvw
		
	tuning modules for ppa
This commit is contained in:
		
							parent
							
								
									31f372e7b3
								
							
						
					
					
						commit
						b82520237c
					
				@ -180,12 +180,39 @@ module ppa_shiftleft #(parameter WIDTH=32) (
 | 
			
		||||
  assign y = a << amt;
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module ppa_shifter_16 #(parameter WIDTH=16) (
 | 
			
		||||
  input  logic [WIDTH-1:0]     A,
 | 
			
		||||
  input  logic [$clog2(WIDTH)-1:0] Amt,
 | 
			
		||||
  input  logic                 Right, Arith, W64,
 | 
			
		||||
  output logic [WIDTH-1:0]     Y);
 | 
			
		||||
 | 
			
		||||
  ppa_shifter #(WIDTH) sh (.*);
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module ppa_shifter_32 #(parameter WIDTH=32) (
 | 
			
		||||
  input  logic [WIDTH-1:0]     A,
 | 
			
		||||
  input  logic [$clog2(WIDTH)-1:0] Amt,
 | 
			
		||||
  input  logic                 Right, Arith, W64,
 | 
			
		||||
  output logic [WIDTH-1:0]     Y);
 | 
			
		||||
 | 
			
		||||
  ppa_shifter #(WIDTH) sh (.*);
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module ppa_shifter_64 #(parameter WIDTH=64) (
 | 
			
		||||
  input  logic [WIDTH-1:0]     A,
 | 
			
		||||
  input  logic [$clog2(WIDTH)-1:0] Amt,
 | 
			
		||||
  input  logic                 Right, Arith, W64,
 | 
			
		||||
  output logic [WIDTH-1:0]     Y);
 | 
			
		||||
 | 
			
		||||
  ppa_shifter #(WIDTH) sh (.*);
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module ppa_shifter #(parameter WIDTH=32) (
 | 
			
		||||
  input  logic [WIDTH-1:0]     A,
 | 
			
		||||
  input  logic [$clog2(WIDTH)-1:0] Amt,
 | 
			
		||||
  input  logic                 Right, Arith, W64,
 | 
			
		||||
  output logic [WIDTH-1:0]     Y);
 | 
			
		||||
 | 
			
		||||
  logic [2*WIDTH-2:0]      z, zshift;
 | 
			
		||||
  logic [$clog2(WIDTH)-1:0]    amttrunc, offset;
 | 
			
		||||
 | 
			
		||||
@ -264,7 +291,7 @@ module ppa_prioriyencoder #(parameter N = 8) (
 | 
			
		||||
    end
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module ppa_decoder (
 | 
			
		||||
module ppa_decoder #(parameter N = 8) (
 | 
			
		||||
  input  logic  [$clog2(N)-1:0] a,
 | 
			
		||||
  output logic  [N-1:0] y);
 | 
			
		||||
  always_comb begin 
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										17
									
								
								synthDC/Synopsys_stack_trace_52064.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								synthDC/Synopsys_stack_trace_52064.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
			
		||||
GNU gdb (GDB) Red Hat Enterprise Linux 8.2-16.el8
 | 
			
		||||
Copyright (C) 2018 Free Software Foundation, Inc.
 | 
			
		||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 | 
			
		||||
This is free software: you are free to change and redistribute it.
 | 
			
		||||
There is NO WARRANTY, to the extent permitted by law.
 | 
			
		||||
Type "show copying" and "show warranty" for details.
 | 
			
		||||
This GDB was configured as "x86_64-redhat-linux-gnu".
 | 
			
		||||
Type "show configuration" for configuration details.
 | 
			
		||||
For bug reporting instructions, please see:
 | 
			
		||||
<http://www.gnu.org/software/gdb/bugs/>.
 | 
			
		||||
Find the GDB manual and other documentation resources online at:
 | 
			
		||||
    <http://www.gnu.org/software/gdb/documentation/>.
 | 
			
		||||
 | 
			
		||||
For help, type "help".
 | 
			
		||||
Type "apropos word" to search for commands related to "word".
 | 
			
		||||
Attaching to process 52064
 | 
			
		||||
(gdb) (gdb) (gdb) (gdb) 
 | 
			
		||||
							
								
								
									
										17
									
								
								synthDC/Synopsys_stack_trace_55441.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								synthDC/Synopsys_stack_trace_55441.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
			
		||||
GNU gdb (GDB) Red Hat Enterprise Linux 8.2-16.el8
 | 
			
		||||
Copyright (C) 2018 Free Software Foundation, Inc.
 | 
			
		||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 | 
			
		||||
This is free software: you are free to change and redistribute it.
 | 
			
		||||
There is NO WARRANTY, to the extent permitted by law.
 | 
			
		||||
Type "show copying" and "show warranty" for details.
 | 
			
		||||
This GDB was configured as "x86_64-redhat-linux-gnu".
 | 
			
		||||
Type "show configuration" for configuration details.
 | 
			
		||||
For bug reporting instructions, please see:
 | 
			
		||||
<http://www.gnu.org/software/gdb/bugs/>.
 | 
			
		||||
Find the GDB manual and other documentation resources online at:
 | 
			
		||||
    <http://www.gnu.org/software/gdb/documentation/>.
 | 
			
		||||
 | 
			
		||||
For help, type "help".
 | 
			
		||||
Type "apropos word" to search for commands related to "word".
 | 
			
		||||
Attaching to process 55441
 | 
			
		||||
(gdb) (gdb) (gdb) (gdb) 
 | 
			
		||||
							
								
								
									
										67
									
								
								synthDC/crte_000052064.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								synthDC/crte_000052064.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,67 @@
 | 
			
		||||
CRTE_SNAPSHOT_START
 | 
			
		||||
 | 
			
		||||
SECTION_CRTE_VERSION
 | 
			
		||||
3.0
 | 
			
		||||
 | 
			
		||||
SECTION_PID
 | 
			
		||||
52064
 | 
			
		||||
 | 
			
		||||
SECTION_POLLING_INTERVAL
 | 
			
		||||
5
 | 
			
		||||
 | 
			
		||||
SECTION_DATE_TIME
 | 
			
		||||
Thu May 12 21:44:48 UTC 2022 (1652391888)
 | 
			
		||||
 | 
			
		||||
SECTION_OS_VERSION
 | 
			
		||||
osname: Linux
 | 
			
		||||
hostname: tera
 | 
			
		||||
arch: x86_64
 | 
			
		||||
release_version: 5.4.157-1-pve
 | 
			
		||||
 | 
			
		||||
SECTION_IPC_INFO
 | 
			
		||||
 | 
			
		||||
------ Message Queues --------
 | 
			
		||||
key        msqid      owner      perms      used-bytes   messages    
 | 
			
		||||
 | 
			
		||||
------ Shared Memory Segments --------
 | 
			
		||||
key        shmid      owner      perms      bytes      nattch     status      
 | 
			
		||||
0x00000000 360451     nwhyte-agu 600        524288     2          dest         
 | 
			
		||||
0x00000000 65540      kkim       600        134217728  2          dest         
 | 
			
		||||
0x00000000 557061     nwhyte-agu 600        67108864   2          dest         
 | 
			
		||||
0x00000000 6          harris     600        524288     2          dest         
 | 
			
		||||
0x00000000 7          harris     600        524288     2          dest         
 | 
			
		||||
0x00000000 5275656    harris     600        2097152    2          dest         
 | 
			
		||||
0x00000000 11993097   kkim       600        524288     2          dest         
 | 
			
		||||
0x00000000 11         harris     600        524288     2          dest         
 | 
			
		||||
0x00000000 15204364   harris     644        790528     2          dest         
 | 
			
		||||
0x00000000 7372813    chuang     600        524288     2        SECTION_ULIMIT
 | 
			
		||||
core file size          (blocks, -c) 0
 | 
			
		||||
data seg size           (kbytes, -d) unlimited
 | 
			
		||||
scheduling priority             (-e) 0
 | 
			
		||||
file size               (blocks, -f) unlimited
 | 
			
		||||
pending signals                 (-i) 515072
 | 
			
		||||
max locked memory       (kbytes, -l) 64
 | 
			
		||||
max memory size         (kbytes, -m) unlimited
 | 
			
		||||
open files                      (-n) 524288
 | 
			
		||||
pipe size            (512 bytes, -p) 8
 | 
			
		||||
POSIX message queues     (bytes, -q) 819200
 | 
			
		||||
real-time priority              (-r) 0
 | 
			
		||||
stack size              (kbytes, -s) unlimited
 | 
			
		||||
cpu time               (seconds, -t) unlimited
 | 
			
		||||
max user processes              (-u) 515072
 | 
			
		||||
virtual memory          (kbytes, -v) unlimited
 | 
			
		||||
file locks                      (-x) unlimited
 | 
			
		||||
 | 
			
		||||
SECTION_SYSCONF
 | 
			
		||||
_SC_THREAD_SAFE_FUNCTIONS= 200809
 | 
			
		||||
_SC_CLK_TCK= 100
 | 
			
		||||
_SC_OPEN_MAX= 524288
 | 
			
		||||
_SC_PAGE_SIZE= 4096
 | 
			
		||||
_SC_ARG_MAX= 4611686018427387903
 | 
			
		||||
_SC_CHILD_MAX= 515072
 | 
			
		||||
_SC_LINE_MAX= 2048
 | 
			
		||||
 | 
			
		||||
SECTION_FULL_COMMAND
 | 
			
		||||
/cad/synopsys/SYN/linux64/syn/bin/common_shell_exec -64 -shell dc_shell -r /cad/synopsys/SYN -f scripts/synth.tcl
 | 
			
		||||
 | 
			
		||||
SECTION_CPUINFO
 | 
			
		||||
							
								
								
									
										67
									
								
								synthDC/crte_000055441.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								synthDC/crte_000055441.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,67 @@
 | 
			
		||||
CRTE_SNAPSHOT_START
 | 
			
		||||
 | 
			
		||||
SECTION_CRTE_VERSION
 | 
			
		||||
3.0
 | 
			
		||||
 | 
			
		||||
SECTION_PID
 | 
			
		||||
55441
 | 
			
		||||
 | 
			
		||||
SECTION_POLLING_INTERVAL
 | 
			
		||||
5
 | 
			
		||||
 | 
			
		||||
SECTION_DATE_TIME
 | 
			
		||||
Thu May 12 21:47:47 UTC 2022 (1652392067)
 | 
			
		||||
 | 
			
		||||
SECTION_OS_VERSION
 | 
			
		||||
osname: Linux
 | 
			
		||||
hostname: tera
 | 
			
		||||
arch: x86_64
 | 
			
		||||
release_version: 5.4.157-1-pve
 | 
			
		||||
 | 
			
		||||
SECTION_IPC_INFO
 | 
			
		||||
 | 
			
		||||
------ Message Queues --------
 | 
			
		||||
key        msqid      owner      perms      used-bytes   messages    
 | 
			
		||||
 | 
			
		||||
------ Shared Memory Segments --------
 | 
			
		||||
key        shmid      owner      perms      bytes      nattch     status      
 | 
			
		||||
0x00000000 360451     nwhyte-agu 600        524288     2          dest         
 | 
			
		||||
0x00000000 65540      kkim       600        134217728  2          dest         
 | 
			
		||||
0x00000000 557061     nwhyte-agu 600        67108864   2          dest         
 | 
			
		||||
0x00000000 6          harris     600        524288     2          dest         
 | 
			
		||||
0x00000000 7          harris     600        524288     2          dest         
 | 
			
		||||
0x00000000 5275656    harris     600        2097152    2          dest         
 | 
			
		||||
0x00000000 11993097   kkim       600        524288     2          dest         
 | 
			
		||||
0x00000000 11         harris     600        524288     2          dest         
 | 
			
		||||
0x00000000 15204364   harris     644        790528     2          dest         
 | 
			
		||||
0x00000000 7372813    chuang     600        524288     2        SECTION_ULIMIT
 | 
			
		||||
core file size          (blocks, -c) 0
 | 
			
		||||
data seg size           (kbytes, -d) unlimited
 | 
			
		||||
scheduling priority             (-e) 0
 | 
			
		||||
file size               (blocks, -f) unlimited
 | 
			
		||||
pending signals                 (-i) 515072
 | 
			
		||||
max locked memory       (kbytes, -l) 64
 | 
			
		||||
max memory size         (kbytes, -m) unlimited
 | 
			
		||||
open files                      (-n) 524288
 | 
			
		||||
pipe size            (512 bytes, -p) 8
 | 
			
		||||
POSIX message queues     (bytes, -q) 819200
 | 
			
		||||
real-time priority              (-r) 0
 | 
			
		||||
stack size              (kbytes, -s) unlimited
 | 
			
		||||
cpu time               (seconds, -t) unlimited
 | 
			
		||||
max user processes              (-u) 515072
 | 
			
		||||
virtual memory          (kbytes, -v) unlimited
 | 
			
		||||
file locks                      (-x) unlimited
 | 
			
		||||
 | 
			
		||||
SECTION_SYSCONF
 | 
			
		||||
_SC_THREAD_SAFE_FUNCTIONS= 200809
 | 
			
		||||
_SC_CLK_TCK= 100
 | 
			
		||||
_SC_OPEN_MAX= 524288
 | 
			
		||||
_SC_PAGE_SIZE= 4096
 | 
			
		||||
_SC_ARG_MAX= 4611686018427387903
 | 
			
		||||
_SC_CHILD_MAX= 515072
 | 
			
		||||
_SC_LINE_MAX= 2048
 | 
			
		||||
 | 
			
		||||
SECTION_FULL_COMMAND
 | 
			
		||||
/cad/synopsys/SYN/linux64/syn/bin/common_shell_exec -64 -shell dc_shell -r /cad/synopsys/SYN -f scripts/synth.tcl
 | 
			
		||||
 | 
			
		||||
SECTION_CPUINFO
 | 
			
		||||
@ -4,17 +4,19 @@ import subprocess
 | 
			
		||||
from multiprocessing import Pool
 | 
			
		||||
import csv
 | 
			
		||||
import re
 | 
			
		||||
import matplotlib.pyplot as plt
 | 
			
		||||
import numpy as np
 | 
			
		||||
# import matplotlib.pyplot as plt
 | 
			
		||||
# import numpy as np
 | 
			
		||||
 | 
			
		||||
print("hi")
 | 
			
		||||
 | 
			
		||||
def run_command(module, width, freq):
 | 
			
		||||
    command = "make synth DESIGN=ppa_{}_{} TECH=sky90 DRIVE=INV FREQ={} MAXOPT=1".format(module, width, freq)
 | 
			
		||||
    subprocess.Popen(command, shell=True)
 | 
			
		||||
 | 
			
		||||
widths = ['32']
 | 
			
		||||
widths = ['16']
 | 
			
		||||
modules = ['shifter']
 | 
			
		||||
freqs = ['10', '4000', '5000', '6000']
 | 
			
		||||
freqs = ['10']
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
LoT = []
 | 
			
		||||
for module in modules:
 | 
			
		||||
@ -24,6 +26,7 @@ for module in modules:
 | 
			
		||||
 | 
			
		||||
pool = Pool()
 | 
			
		||||
pool.starmap(run_command, LoT)
 | 
			
		||||
pool.close()
 | 
			
		||||
 | 
			
		||||
bashCommand = "grep 'Critical Path Length' runs/ppa_*/reports/*qor*"
 | 
			
		||||
outputCPL = subprocess.check_output(['bash','-c', bashCommand])
 | 
			
		||||
 | 
			
		||||
@ -35,11 +35,16 @@ mult,64,10,4.793300,46798.920227
 | 
			
		||||
mult,64,4000,1.411752,93087.261425
 | 
			
		||||
mult,64,5000,1.404875,94040.801492
 | 
			
		||||
mult,64,6000,1.415466,89931.661403
 | 
			
		||||
shifter,16,10,0.000000,0.000000
 | 
			
		||||
shifter,32,10,1.906335,1656.200032
 | 
			
		||||
shifter,32,10,1.906335,1656.200032
 | 
			
		||||
shifter,32,10,1.906335,1656.200032
 | 
			
		||||
shifter,32,4000,0.260606,3490.760054
 | 
			
		||||
shifter,32,4000,0.260606,3490.760054
 | 
			
		||||
shifter,32,4000,0.260606,3490.760054
 | 
			
		||||
shifter,32,5000,0.238962,4985.260077
 | 
			
		||||
shifter,32,5000,0.238962,4985.260077
 | 
			
		||||
shifter,32,5000,0.238962,4985.260077
 | 
			
		||||
shifter,32,6000,0.241742,4312.000069
 | 
			
		||||
shifter,32,6000,0.241742,4312.000069
 | 
			
		||||
shifter,32,6000,0.241742,4312.000069
 | 
			
		||||
 | 
			
		||||
		
		
			
  | 
		Loading…
	
		Reference in New Issue
	
	Block a user