mirror of
https://github.com/openhwgroup/cvw.git
synced 2025-04-22 12:57:23 -04:00
tuning modules for ppa
This commit is contained in:
parent
517e44746e
commit
2ca897620f
7 changed files with 208 additions and 5 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue