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