assassyn-public: The repo of the assassyn language- Workloads & Evaluation:
riscv-bmark: The workloads repo for the CPU evaluationMachSuite: The workloads for the HLS evaluationcomponents: The scripts for the architectural component breakdown.gem5: The simulator to be compared with.sv-source: Some special verilog source for post-synthesis while some of those original design are very difficult to be synthesized.scripts: Automation scripts for generating and summarizing of experiment data.gem5_cpu: Scripts about using gem5.hls_assassyn: Scripts about using assassyn for hls benchmarks.hls_baseline: Scripts about using verilator and Bambu for the hls benchmarks baseline.minor_cpu: Scripts about simulating assassyn minor cpu with different version.sodor_cpu: Scripts about simulating 5 pipeline sodor core of chipyard.post_synthesis: Scripts about post synthesis.my_time: Scripts for generating preciser timer.
plot: The scripts for the figure ploting. Eachfig-x.pyis a script for the corresponding figure in the paper.bambu-0.9.7.AppImage,open_eda.sif: Prerequisites package.
- Anaconda: For language Python support, and the VM for synthesis.
- Docker: For gem5 simulation.
- Rust: For the assassyn backend elaboration.
-
Elaborate the CPU and run all the RISCV benchmarks.
-
minor_cpu.py: Elaborate the CPU written in our language, run each workload, simulate both simulator and verilog, and finally export the results to/scripts/minor_cpu/minor_logs/minor.csv. -
cpu_test.py: Elaborate different CPU versions, run each workload, get each cycles of them, and finally export the results to/scripts/minor_cpu/minor_logs/cpu_all_version.csv.```bash sourse ./setup.sh cd ./scripts/my_time g++ time.cpp -o my_time cd ../.. cd ./scripts/minor_cpu python ./minor_cpu.py python ./cpu_test.py cd ../.. -
sodor_cpu.py: Elaborate the Sodor CPU from chipyard, run each workload,simulate and finally export the results to/scripts/sodor_cpu/sodor_logs/sodor.csv.```bash cd ./scripts/sodor_cpu python ./sodor_cpu.py cd ../.. -
machsuite_hls.py: Elaborate the HLS Baseline, run each benchmarks, synthesize, and finally export the results to/scripts/hls_baseline/machsuite_logs/hls_baseline.csv.```bash cd ./scripts/hls_baseline python ./machsuite_hls.py cd ../.. -
ass_hls.py: Elaborate the HLS using Assassyn, run each benchmarks, synthesize, and finally export the results to/scripts/hls_baseline/ass_hls_logs/ass_hls.csv.```bash cd ./scripts/hls_assassyn python ./ass_hls.py cd ../.. -
csv_combine.py: Combine distributed data together/plot/HLS.csv,/plot/cpu-bmarks.csv.```bash cd ./scripts/gem5_cpu python ./gem5_cpu.py cd ../.. -
gem5_cpu.py: Simulate the benchmarks using gem5 and finally export the results to/scripts/gem5_cpu/gem5_logs/gem5.csv.
-
-
Post Synthesize.
-
base_report.py: Post Synthesize all the baseline workloads, and gather the json format area result, export the results to/plot/reports. -
assassyn_report.py: Post Synthesize all the assassyn workloads, and gather the json format area result, export the results to/plot/reports.
-
-
Plot the figures.
fig-x.py: Run each script to plot the corresponding figure in the paper.