blob: 4bf358959751e961a8b044a8c62a968bc2919fb3 [file] [log] [blame]
#! /usr/bin/python
#Iterate through a directory listing treating each individual verilog file as a single project and synthesize using VL2MV
import os
import subprocess
import sys
import odin_script_util as odin
from os.path import abspath
if len(sys.argv) is not 2:
print "usage: " + sys.argv[0] + " <dir>"
path = abspath(sys.argv[1]) + "/"
os.system("mkdir -p \"" + path + "VL2MV_Blifs/\"")
slog = open(path + "VL2MV_success.lst", "w")
filelist = filter(odin.isVerilog, os.listdir(path))
for file in filelist:
cmd = "vl2mv -o \"" + path + "VL2MV_Blifs/" + odin.trimDotV(file) + ".mv\" \"" + path + file + "\""
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
(out, err) = process.communicate()
#Log our failures and successes
if process.returncode != 0 :
flog = open(path + "VL2MV_Blifs/" + odin.trimDotV(file) + ".log", "w")
flog.write("Verilog File: " + file + "\n")
flog.write("VL2MV Command: " + cmd + "\n")
flog.write("VL2MV Output:\n" + out + "\n\n")
flog.close()
else:
slog.write(file + "\n")