blob: e123eb2071b306510852d9f583d9208bd0f1f77e [file] [log] [blame]
"""
Python wrapper for `diamond.sh`
"""
from os import path
import os
import subprocess
import database
def run(device, source, no_trce=False, mapargs=None, backanno=False):
"""
Run diamond.sh with a given device name and source Verilog file
"""
env = os.environ.copy()
if no_trce:
env["NO_TRCE"] = "1"
if backanno:
env["BACKANNO"] = "1"
if mapargs is not None:
env["MAPARGS"] = mapargs
dsh_path = path.join(database.get_trellis_root(), "diamond.sh")
return subprocess.run(["bash",dsh_path,device,source], env=env)