Source code for elasticai.creator.testing.cocotb_prepare

import json
from pathlib import Path

from elasticai.creator.file_generation import find_project_root


[docs] def build_report_folder_and_testdata(dut_name: str, testdata: dict) -> Path: """Building the test/simulation folder which contains the test data and hardware design for testing in cocotb :param dut_name: The name of the Top Module :param testdata: Dictionary with test data/params data :return: Path to the report folder containing hardware design and testpattern data """ build_dir = find_project_root() / "build_test" / dut_name.lower() build_dir.mkdir(exist_ok=True, parents=True) file_name = "testdata.json" with open(build_dir / file_name, "w") as f0: json.dump(testdata, f0, indent=1) return build_dir
[docs] def read_testdata(dut_name: str) -> dict: """Reading the data as testpattern in the cocotb testbench :param dut_name: The name of the Top Module DUT in the cocotb testbench (using dut._name) :return: Dictionary with testpattern for testing the DUT """ path_to_file = find_project_root() / "build_test" / dut_name.lower() file_name = "testdata.json".lower() with open( path_to_file / file_name, "r", ) as f: data = json.load(f) return data