blob: 5d2c9d324195dde92c833a2c849f456316c89b13 [file] [log] [blame]
#!/usr/bin/env python3
import os
import argparse
from yaml import load, Loader
SOURCE_FILE_TYPES = [
"verilogSource",
"systemVerilogSource",
]
def get_sources(eda_yml):
eda_yml_path = os.path.realpath(eda_yml)
current_dir = os.path.dirname(eda_yml_path)
with open(eda_yml_path) as f:
data = load(f, Loader=Loader)
files = data["files"]
for src in files:
if "file_type" not in src.keys():
continue
if src["file_type"] in SOURCE_FILE_TYPES:
file_path = os.path.realpath(
os.path.join(current_dir, src["name"])
)
basename = os.path.basename(file_path)
print(basename)
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Get sources from an EDA YAML file produced by fusesoc"
)
parser.add_argument("eda_yml", help="An EDA YAML produced by fusesoc")
args = parser.parse_args()
get_sources(args.eda_yml)