diff --git a/.github/scripts/parse_rpt.py b/.github/scripts/parse_rpt.py index 5ae66f197..e01f62d03 100644 --- a/.github/scripts/parse_rpt.py +++ b/.github/scripts/parse_rpt.py @@ -110,3 +110,33 @@ print("Flow check is clean!") else: print("Flow check failed!") + +if len(sys.argv) == 1: + result_filename = "work/prePEX_sim_result" # might remove from check or need to implement different logic later if sim outputs change due to downstream changes + sim_state_filename = "work/sim_state_file.txt" + + with open(result_filename) as f2, open("../../../.github/scripts/expected_sim_outputs/prePEX_sim_result.txt") as f1: + content1 = f2.readlines() + content2 = f1.readlines() + if content1 != content2: + raise ValueError("Simulations failed: simulation result file does not match!") + + sim_state = json.load(open("work/sim_state_file.txt")) + if sim_state["failed_sims"] != 0: + raise ValueError("Simulations failed: Non zero failed simulations!") + + for folder_num in range(1, sim_state["completed_sims"] + 1): + dir_path = r'simulations/run/' + pex_path = os.listdir(dir_path) + + file_name = "simulations/run/" + pex_path + "/" + str(folder_num) + "/" + param_file = file_name + "parameters.txt" + log_file = file_name + "sim_" + str(folder_num) + ".log" + spice_file = file_name + "sim_" + str(folder_num) + ".sp" + + if os.path.exists(log_file) and os.path.exists(log_file) and os.path.exists(spice_file): + pass + else: + raise ValueError("Simulations failed: required files do not exist in sim run folders!") + + print("Simulations are clean!") diff --git a/.github/workflows/tempSense_sky130hd.yml b/.github/workflows/tempSense_sky130hd.yml index 92ddee223..7182b97ae 100644 --- a/.github/workflows/tempSense_sky130hd.yml +++ b/.github/workflows/tempSense_sky130hd.yml @@ -39,7 +39,7 @@ jobs: cp ./.github/scripts/parse_rpt.py ./openfasoc/generators/temp-sense-gen/. &&\ pip3 install -r requirements.txt &&\ cd ./openfasoc/generators/temp-sense-gen &&\ - make sky130hd_temp &&\ + make sky130hd_temp_full &&\ python3 parse_rpt.py " && exit_code=$? | tee -a file.log if [ $? -ne 0 ]; then exit 1; fi diff --git a/README.rst b/README.rst index 6a83aa73b..d3f42ef43 100644 --- a/README.rst +++ b/README.rst @@ -107,4 +107,4 @@ If you find this tool useful in your research, we kindly request to cite our pap - Tutu Ajayi et al., "`An Open-source Framework for Autonomous SoC Design with Analog Block Generation `_," 2020 IFIP/IEEE 28th International Conference on Very Large Scale Integration (VLSI-SOC), 2020, pp. 141-146. - - Qirui Zhang et al., "`An Open-Source and Autonomous Temperature Sensor Generator Verified With 64 Instances in SkyWater 130 nm for Comprehensive Design Space Exploration `_," in IEEE Solid-State Circuits Letters, vol. 5, pp. 174-177, 2022. + - Qirui Zhang et al., "`An Open-Source and Autonomous Temperature Sensor Generator Verified With 64 Instances in SkyWater 130 nm for Comprehensive Design Space Exploration `_," in IEEE Solid-State Circuits Letters, vol. 5, pp. 174-177, 2022. \ No newline at end of file diff --git a/conda_versions.txt b/conda_versions.txt index e9e587610..2ba8455b1 100644 --- a/conda_versions.txt +++ b/conda_versions.txt @@ -2,4 +2,4 @@ magic==8.3.446_1_g1108046 netgen==1.5.262_0_gc1ed4ce open_pdks.sky130a==1.0.457_0_g32e8f23 openroad==2.0_10905_ge89829335 -yosys==0.35_8_g5691cd095 +yosys==0.35_8_g5691cd095 \ No newline at end of file diff --git a/docker/conda/Dockerfile b/docker/conda/Dockerfile index 604ed4910..892159a60 100755 --- a/docker/conda/Dockerfile +++ b/docker/conda/Dockerfile @@ -31,4 +31,4 @@ COPY ./scripts /scripts RUN git clone http://git.code.sf.net/p/ngspice/ngspice && \ cd ngspice && \ - ./compile_linux.sh + ./compile_linux.sh \ No newline at end of file diff --git a/docker/conda/packages.txt b/docker/conda/packages.txt index bfe190315..9a0e68ae2 100644 --- a/docker/conda/packages.txt +++ b/docker/conda/packages.txt @@ -22,4 +22,4 @@ flex libx11-dev libx11-6 libxaw7-dev -libreadline6-dev +libreadline6-dev \ No newline at end of file diff --git a/openfasoc/generators/PMU-gen/tools/parse_rpt.py b/openfasoc/generators/PMU-gen/tools/parse_rpt.py index 1eb96c06e..aafeabcd3 100755 --- a/openfasoc/generators/PMU-gen/tools/parse_rpt.py +++ b/openfasoc/generators/PMU-gen/tools/parse_rpt.py @@ -22,4 +22,4 @@ raise ValueError("LVS failed!") else: print("LVS is clean!") -print("Generator check is clean!") +print("Generator check is clean!") \ No newline at end of file diff --git a/openfasoc/generators/common/__init__.py b/openfasoc/generators/common/__init__.py index f7ed95929..739673f43 100644 --- a/openfasoc/generators/common/__init__.py +++ b/openfasoc/generators/common/__init__.py @@ -8,7 +8,7 @@ - `common.simulation` 1. `run_simulations()`: Used to run SPICE testbenches with multiple parameters. - `common.check_gen_files` - 1. `check_gen_files(parameters: json_filename, is_tempsense)`: Used to check if the various files that should be generated by the flow are present in their required directories. + 1. `check_gen_files(parameters: json_filename, _generator_is, cryo_library)`: Used to check if the various files that should be generated by the flow are present in their required directories. - `common.check_gen_extensions` 1. Stores the extensions of the files generated by the flow. See individual function documentation for more information on a particular function. diff --git a/openfasoc/generators/common/check_gen_files.py b/openfasoc/generators/common/check_gen_files.py index 9673c5f14..ae6151480 100644 --- a/openfasoc/generators/common/check_gen_files.py +++ b/openfasoc/generators/common/check_gen_files.py @@ -61,4 +61,4 @@ def check_gen_files(json_filename, _generator_is, cryo_library) -> int: raise ValueError(file + " does not exist!") #print("Found generated .csv files!") - return 1 + return 1 \ No newline at end of file diff --git a/openfasoc/generators/cryo-gen/tools/check_gen_extensions b/openfasoc/generators/cryo-gen/tools/check_gen_extensions index 499a23dfe..15f83a789 100644 --- a/openfasoc/generators/cryo-gen/tools/check_gen_extensions +++ b/openfasoc/generators/cryo-gen/tools/check_gen_extensions @@ -5,4 +5,4 @@ _sim.spice _pex.spice .sdc -.def +.def \ No newline at end of file diff --git a/openfasoc/generators/cryo-gen/tools/parse_rpt.py b/openfasoc/generators/cryo-gen/tools/parse_rpt.py index e05f6bc06..b369460d6 100644 --- a/openfasoc/generators/cryo-gen/tools/parse_rpt.py +++ b/openfasoc/generators/cryo-gen/tools/parse_rpt.py @@ -41,4 +41,4 @@ if check_gen_files(json_filename, _generator_is, cryo_library): print("Flow check is clean!") else: - print("Flow check failed!") + print("Flow check failed!") \ No newline at end of file diff --git a/openfasoc/generators/dcdc-gen/tools/parse_rpt.py b/openfasoc/generators/dcdc-gen/tools/parse_rpt.py index 1eb96c06e..aafeabcd3 100755 --- a/openfasoc/generators/dcdc-gen/tools/parse_rpt.py +++ b/openfasoc/generators/dcdc-gen/tools/parse_rpt.py @@ -22,4 +22,4 @@ raise ValueError("LVS failed!") else: print("LVS is clean!") -print("Generator check is clean!") +print("Generator check is clean!") \ No newline at end of file diff --git a/openfasoc/generators/scpa-gen/tools/parse_rpt.py b/openfasoc/generators/scpa-gen/tools/parse_rpt.py index 31f20ff03..f9582c780 100644 --- a/openfasoc/generators/scpa-gen/tools/parse_rpt.py +++ b/openfasoc/generators/scpa-gen/tools/parse_rpt.py @@ -5,5 +5,4 @@ raise ValueError("DRC failed!") else: print("DRC is clean!") - -print("Generator check is clean!") +print("Generator check is clean!") \ No newline at end of file diff --git a/openfasoc/generators/temp-sense-gen/Makefile b/openfasoc/generators/temp-sense-gen/Makefile index 872a0bb65..c3ce7b356 100644 --- a/openfasoc/generators/temp-sense-gen/Makefile +++ b/openfasoc/generators/temp-sense-gen/Makefile @@ -79,4 +79,4 @@ banner: @@echo " | |_| | __/ | |___| |\ | _|/ ___ \ ___) | |_| | |___ " @@echo " \___/|_| |_____|_| \_|_| /_/ \_\|____/ \___/ \____|" @@echo "" - @@echo "===============================================================" + @@echo "===============================================================" \ No newline at end of file diff --git a/openfasoc/generators/temp-sense-gen/tools/parse_rpt.py b/openfasoc/generators/temp-sense-gen/tools/parse_rpt.py index b574d3c77..b1a8926e7 100644 --- a/openfasoc/generators/temp-sense-gen/tools/parse_rpt.py +++ b/openfasoc/generators/temp-sense-gen/tools/parse_rpt.py @@ -33,4 +33,4 @@ if check_gen_files(json_filename, _generator_is, " "): print("Flow check is clean!") else: - print("Flow check failed!") + print("Flow check failed!") \ No newline at end of file diff --git a/versions.txt b/versions.txt index 7f3ba739e..7822834de 100644 --- a/versions.txt +++ b/versions.txt @@ -3,4 +3,4 @@ OpenROAD - 2.0_10905 yosys - 0.35+7 magic - 8.3.447 netgen - 1.5.262 -open_pdks - 1.0.457 +open_pdks - 1.0.457 \ No newline at end of file