Wally PPA Study
July 8, 2022
Madeleine Masser-Frye
mmasserfrye@hmc.edu
___________________
Apologies for issues in this folder, code was written originally for individual use and documentation was compiled in haste. Please feel free to contact the author with questions.

-------------------
ppaSynth.py

Run to synthesize datapath modules from src/ppa.
To run a specific combination of widths, modules, techs, and freqs,
modify those lists and use allCombos() to generate synthsToRun (comment out freqSweep).  
To run a sweep of frequencies around the best delay found in existing syntheses (according to bestSynths.csv), modify the parameters and use freqSweep to generate synthsToRun.
To remove synths to be run that already exist in /runs from synthsToRun, use filterRedundant().
Syntheses run in parallel but you may encounter issues doing more than a dozen or so at once.
-------------------
ppaAnalyze.py

Run to plot results of PPA syntheses. See docstrings for individual function info.
-------------------
bestSynths.csv

Results of the synthesis for each combination of module, width, and tech with the best achievable delay.  Generated by csvOfBest() in ppaAnalyze.py
-------------------
ppaFitting.csv & ppaEquations.csv

Representations of the regression fit for each module and metric.  Generated in ppaAnalyze.py by makeCoefTable() and makeEqTable().
-------------------
ppaData.csv

Results from all synthesis runs.  Generated by synthsintocsv() and used by synthsfromcsv in ppaAnalyze.py.
