import getopt
import os.path
import sys
-from spec import modules, specgen
-
-from bsv.pinmux_generator import pinmuxgen as bsvgen
+from spec import modules, specgen, dummytest
def printhelp():
'o:vht:s:',
['output=',
'validate',
+ 'test',
'outputtype=',
'spec=',
'help',
validate = False
spec = None
pinspec = None
+ testing = False
for opt, arg in options:
if opt in ('-o', '--output'):
output_dir = arg
output_type = arg
elif opt in ('-v', '--validate'):
validate = True
+ elif opt in ('--test',):
+ testing = True
elif opt in ('-h', '--help'):
printhelp()
sys.exit(0)
if not os.path.exists(d):
os.makedirs(d)
with open(fname, "w") as of:
- pinout, bankspec, pinspec, fixedpins = module.pinspec(of)
- specgen(of, output_dir, pinout, bankspec, pinspec, fixedpins)
+ ps = module.pinspec()
+ pinout, bankspec, pinspec, fixedpins = ps.write(of)
+ if testing:
+ dummytest(ps, output_dir, output_type)
+ else:
+ specgen(of, output_dir, pinout,
+ bankspec, pinspec, fixedpins, ps.fastbus)
else:
- gentypes = {'bsv': bsvgen}
- if output_type not in gentypes:
+ if output_type == 'bsv':
+ from bsv.pinmux_generator import pinmuxgen as gentypes
+ elif output_type == 'myhdl':
+ from myhdlgen.pinmux_generator import pinmuxgen as gentypes
+ else:
print ("ERROR: output type '%s' does not exist" % output_type)
printhelp()
sys.exit(0)
- gentypes[output_type](output_dir, validate)
+
+ gentypes(output_dir, validate)