vaughnbetz / COFFE

38 stars 25 forks source link

Sm asic flow #35

Closed StephenMoreOSU closed 2 years ago

StephenMoreOSU commented 2 years ago

Added unit test for stratix III like dsp from COFFE 2 paper, some csv/plotting scripts, removed aboslute paths from config files, updated user guide, updated primetime scripts, power analysis for DC 2017

The way I tested the strtatix_III_dsp block was by going to the ASIC flow section in the User Guide and following the instructions: https://github.com/vaughnbetz/COFFE/pull/35/files#diff-2f8534d3cafa5add9da1f0f7c12f787561c64b9e551d79c78aab52f83065b545R36

Overview

Improvements in parsing hardblock configuration data, refactoring in hardblock functions, minor changes to synthesis,power, timing scripts.

Specific Changes

Utility

Asic Flow

-In preprocessing function the "search_path" for both primetime and synthesis scripts is generated (which replaces the "primetime_lib_path" parameter). It derives its search path from the SYNOPSYS environment variable which should be set DC is properly setup. After adding the inital synopsys directories the process libs and verilog source directories are added as well.

Unit Test & Post Processing

Testing procedure

Note: I couldn't get any accurate power/delay results from the primetime scripts until I made the set_switching_activity change so my inital results were after that command was changed, however, the rest of the scripts in coffe stayed the same.

-Ran the full custom flow to make sure it worked: All results are under ~/COFFE/analyze_results/results_archive

Compared results against those in https://dl.acm.org/doi/10.1145/3301298 (COFFE 2) (they looked reasonable to me, cost looked pretty much like the Agr wire load model presented)

StephenMoreOSU commented 2 years ago

@aman26kbm, @sadegh68 I made a few more changes, finally got around to updating the PR conversation to describe what they were, could you give them a quick look before I merge them, Also made sure to have a copy of the old dsp_slice.txt