From ea9f5a5936307acf02888f2480bf1cb926bbc0e2 Mon Sep 17 00:00:00 2001 From: David Mapstone <david@mapstone.me> Date: Wed, 15 Mar 2023 15:47:39 +0000 Subject: [PATCH] SOC1-141: Updated Environment Variables for Accelerator Engine so can be generalised for all accelerators --- README.md | 2 +- flow/socsim_py | 2 +- model/py/hash_model.py | 36 ++++++++++++++++++------------------ set_env.sh | 12 ++++++------ 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index f0694d2..c16a9c0 100644 --- a/README.md +++ b/README.md @@ -51,5 +51,5 @@ Once this is done, a simulation can be ran using the socsim command: ``` This will generate simulation dumps in the following directory: ``` -% $SHA_2_ACC_DIR/simulate/sim +% $ACC_ENGINE_DIR/simulate/sim ``` \ No newline at end of file diff --git a/flow/socsim_py b/flow/socsim_py index 782aa60..4b0ba33 100755 --- a/flow/socsim_py +++ b/flow/socsim_py @@ -11,4 +11,4 @@ #!/usr/bin/env bash -python3 $SHA_2_ACC_DIR"/flow/socsim_py.py" $@ \ No newline at end of file +python3 $ACC_ENGINE_DIR"/flow/socsim_py.py" $@ \ No newline at end of file diff --git a/model/py/hash_model.py b/model/py/hash_model.py index 20087d6..13f32fa 100644 --- a/model/py/hash_model.py +++ b/model/py/hash_model.py @@ -15,12 +15,12 @@ import hashlib def main(): # Check Environment Variables set - if not "SHA_2_ACC_DIR" in os.environ: + if not "ACC_ENGINE_DIR" in os.environ: print("Sourceme file at root of repository has not been sourced. Please source this file and try again.") quit() # Read in Descriptor File # - contains number of payloads of data to generate and random seed - stim_file = os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/model/" + "model_stim.csv" + stim_file = os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/model/" + "model_stim.csv" with open(stim_file, "r") as stim: csvreader = csv.reader(stim, delimiter=",") stim_list = list(csvreader) @@ -256,49 +256,49 @@ def main(): # Write out Input ID Seed to Text File input_header = ["id_value", "last", "gap_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "input_id_stim.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "input_id_stim.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(expected_id_list): writer.writerow([expected_id_list[idx], "1", id_gap_list[idx]]) # Write out Buffer Input ID to Text File input_header = ["id_value", "last", "gap_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "input_buf_id_stim.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "input_buf_id_stim.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(id_buf_id_list): writer.writerow([id_buf_id_list[idx], "1", id_gap_list[idx]]) # Write out Input Validator ID Seed to Text File input_header = ["id_value", "last", "gap_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "input_validator_id_stim.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "input_validator_id_stim.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(id_validator_buf_list): writer.writerow([id_validator_buf_list[idx], "1", id_gap_list[idx]]) # Write out Output ID Values to Text File input_header = ["expected_id_value, id_last, stall_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "output_id_ref.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "output_id_ref.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(expected_id_list): writer.writerow([word, "1", expected_id_stall_list[idx]]) # Write out Output ID Values to Text File input_header = ["expected_id_value, id_last, status_id, stall_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "output_buf_id_ref.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "output_buf_id_ref.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(id_buf_id_list): writer.writerow([word, "1", word, expected_id_stall_list[idx]]) # Write out Input Data Stimulus to Text File input_header = ["input_data", "input_data_last", "gap_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "input_data_stim.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "input_data_stim.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(in_data_words_list): writer.writerow(["{0:x}".format(int(word, 2)), in_data_words_last_list[idx], in_data_words_gap_list[idx]]) # Write out Input Data 32bit AHB Stimulus to Text File input_header = ["input_data_32word", "input_data_32word_last", "input_data_last"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/system/" + "input_data_32bit_stim.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/system/" + "input_data_32bit_stim.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(in_data_words_list): sub_word_count = 0 @@ -312,49 +312,49 @@ def main(): # Write out Cfg Stimulus to Text File input_header = ["input_cfg_size", "input_cfg_scheme", "input_cfg_last"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "input_cfg_stim.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "input_cfg_stim.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(in_cfg_words_list): writer.writerow(["{0:x}".format(int(word, 2)), "0", "1", in_cfg_words_gap_list[idx]]) # Write out Cfg Stimulus to Text File input_header = ["input_cfg_size", "input_cfg_scheme", "input_cfg_id", "input_cfg_last", "gap_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "input_cfg_sync_stim.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "input_cfg_sync_stim.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(in_cfg_words_list): writer.writerow(["{0:x}".format(int(word, 2)), "0", expected_id_list[idx] ,"1", in_cfg_words_gap_list[idx]]) # Write out Cfg sync reference to Text File input_header = ["output_cfg_size", "output_cfg_scheme", "output_cfg_id", "output_cfg_last", "stall_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "output_cfg_sync_ref.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "output_cfg_sync_ref.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(sync_cfg_size_list): writer.writerow(["{0:x}".format(int(word, 2)), "0", sync_cfg_id_list[idx], "1", sync_cfg_stall_list[idx]]) # Write out Expected output to text file output_header = ["output_data", "output_data_id", "output_data_last", "stall_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "output_message_block_ref.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "output_message_block_ref.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(message_block_list): writer.writerow(["{0:x}".format(int(word, 2)), message_block_id_list[idx], message_block_last_list[idx], message_block_stall_list[idx]]) # Write out Message Block (Input) to text file output_header = ["message_block_data", "message_block_id", "message_block_data_last", "gap_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "input_message_block_stim.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "input_message_block_stim.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(message_block_list): writer.writerow(["{0:x}".format(int(word, 2)), message_block_id_list[idx], message_block_last_list[idx], message_block_gap_list[idx]]) # Write out hash value to text file output_header = ["output_data", "output_id", "output_data_last", "stall_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "output_hash_ref.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "output_hash_ref.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(hash_list): writer.writerow([word, expected_id_list[idx], "1", hash_stall_list[idx]]) # Write out hash value to text file output_header = ["output_data", "output_sub_word_last", "output_data_last"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/system/" + "output_hash_32bit_ref.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/system/" + "output_hash_32bit_ref.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(hash_list): sub_word_count = 0 @@ -368,14 +368,14 @@ def main(): # Write out Validator Hash Input to text file output_header = ["hash_in", "hash_in_id", "hash_last", "gap_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "input_hash_in_stim.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "input_hash_in_stim.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(hash_list): writer.writerow([word, id_validator_hash_list[idx], "1", hash_gap_list[idx]]) # Write out hash out (include error) value to text file output_header = ["hash", "hash_err", "hash_last", "stall_value"] - with open(os.environ["SHA_2_ACC_DIR"] + "/simulate/stimulus/unit/" + "output_hash_out_ref.csv", "w", encoding="UTF8", newline='') as f: + with open(os.environ["ACC_ENGINE_DIR"] + "/simulate/stimulus/unit/" + "output_hash_out_ref.csv", "w", encoding="UTF8", newline='') as f: writer = csv.writer(f) for idx, word in enumerate(val_hash_list): writer.writerow([word, hash_err_list[idx], "1", hash_stall_list[idx]]) diff --git a/set_env.sh b/set_env.sh index 3e3d269..c857946 100755 --- a/set_env.sh +++ b/set_env.sh @@ -21,16 +21,16 @@ if [ -z $DESIGN_ROOT ]; then fi # Set Environment Variable for this Repository -export SHA_2_ACC_DIR="$( cd -- "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 ; pwd -P )" -echo $SHA_2_ACC_DIR +export ACC_ENGINE_DIR="$( cd -- "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 ; pwd -P )" +echo $ACC_ENGINE_DIR # If this Repo is root of workspace -if [ $SHA_2_ACC_DIR = $DESIGN_ROOT ]; then - echo "Design Workspace: $SHA_2_ACC_DIR" +if [ $ACC_ENGINE_DIR = $DESIGN_ROOT ]; then + echo "Design Workspace: $ACC_ENGINE_DIR" export DESIGN_ROOT fi # Source environment variables for all submodules -for d in $SHA_2_ACC_DIR/* ; do +for d in $ACC_ENGINE_DIR/* ; do if [ -f "$d/.git" ]; then if [ -f "$d/set_env.sh" ]; then # If .git file exists - submodule @@ -40,4 +40,4 @@ for d in $SHA_2_ACC_DIR/* ; do done # Add Flow directory to Path -export PATH="$PATH:/$SHA_2_ACC_DIR/flow" \ No newline at end of file +export PATH="$PATH:/$ACC_ENGINE_DIR/flow" \ No newline at end of file -- GitLab