def main(argv): parser = argparse.ArgumentParser(prog="check_fuse_creation", usage="%(prog)s [options] <log_file>.log") parser.add_argument("bits_file", metavar="<log_file>.bits", nargs="?", help="Anlogic bitstream generated .bits file") parser.add_argument("log_file", metavar="<log_file>.log", nargs="?", help="Anlogic bitstream generated .log file") parser.add_argument('part', type=str, help="FPGA part (e.g. eagle_s20)") args = parser.parse_args(argv[1:]) log_file = args.log_file bits_file = args.bits_file if log_file is None or bits_file is None : parser.print_help() sys.exit() if not os.path.isfile(log_file): print("File path {} does not exist...".format(log_file)) sys.exit() if not os.path.isfile(bits_file): print("File path {} does not exist...".format(bits_file)) sys.exit() tang_root = database.get_tangdinasty_root() chipdb = os.path.join(tang_root, "arch", args.part + ".db") unlogic.decode_chipdb(["decrypt_all", chipdb, "--datadir", os.path.join("work_decrypt",args.part)]) print() extract_elements(bits_file,log_file)
def main(): devices = database.get_devices() tang_root = database.get_tangdinasty_root() shutil.rmtree("work_decrypt", ignore_errors=True) os.mkdir("work_decrypt") print("Decrypting all chipdb files...") for family in devices["families"].keys(): print("Family: " + family) for device in devices["families"][family]["devices"].keys(): print("Device: " + device) selected_device = devices["families"][family]["devices"][device] unc_file = path.join("work_decrypt", device + ".unc") chipdb = path.join(tang_root, "arch", device + ".db") unlogic.decode_chipdb( ["decrypt_all", chipdb, "--decrypt", unc_file])
def main(): devices = database.get_devices() tang_root = database.get_tangdinasty_root() for architecture in devices["architectures"].keys(): print("Architecture: " + architecture) for part in devices["architectures"][architecture]["parts"].keys(): print("Part: " + part) selected_part = devices["architectures"][architecture]["parts"][ part] package = selected_part["packages"][0] json_file = path.join(database.get_db_subdir(architecture, part), "tilegrid.json") chipdb = path.join(tang_root, "arch", part + ".db") unlogic.decode_chipdb([ "get_tilegrid_all", chipdb, "--tilegrid", json_file, "--datadir", path.join("work_decrypt", part) ])
def main(): devices = database.get_devices() tang_root = database.get_tangdinasty_root() shutil.rmtree(database.get_db_root(), ignore_errors=True) os.mkdir(database.get_db_root()) shutil.copy(path.join(database.get_tang_root(), "devices.json"), path.join(database.get_db_root(), "devices.json")) for family in devices["families"].keys(): print("Family: " + family) for device in devices["families"][family]["devices"].keys(): print("Device: " + device) selected_device = devices["families"][family]["devices"][device] database_dir = database.get_db_subdir(family, device) if not path.exists(path.join(database_dir,"bits")): os.mkdir(path.join(database_dir,"bits")) chipdb = path.join(tang_root, "arch", device + ".db") unlogic.decode_chipdb(["create_database", chipdb, "--db_dir", database_dir])
def main(): devices = database.get_devices() tang_root = database.get_tangdinasty_root() shutil.rmtree("work_decrypt", ignore_errors=True) os.mkdir("work_decrypt") print("Decrypting all chipdb files...") for architecture in devices["architectures"].keys(): print("Architecture: " + architecture) for part in devices["architectures"][architecture]["parts"].keys(): print("Part: " + part) selected_part = devices["architectures"][architecture]["parts"][ part] package = selected_part["packages"][0] os.mkdir(path.join("work_decrypt", part)) unc_file = path.join("work_decrypt", part + ".unc") chipdb = path.join(tang_root, "arch", part + ".db") unlogic.decode_chipdb([ "decrypt_all", chipdb, "--decrypt", unc_file, "--datadir", path.join("work_decrypt", part) ])