def fli(env, dev, ipbuspkg):
# -------------------------------------------------------------------------
# Must be in a build area
if env.project is None:
raise click.ClickException(
'Project area not defined. Move into a project area and try again')
if env.projectConfig['toolset'] != 'sim':
raise click.ClickException(
"Work area toolset mismatch. Expected 'sim', found '%s'" % env.projectConfig['toolset'])
# -------------------------------------------------------------------------
# -------------------------------------------------------------------------
if not which('vsim'):
raise click.ClickException(
"ModelSim is not available. Have you sourced the environment script?")
# -------------------------------------------------------------------------
# -------------------------------------------------------------------------
if ipbuspkg not in env.getSources():
raise click.ClickException(
"Package %s not found in source/. The FLI cannot be built." % ipbuspkg)
# -------------------------------------------------------------------------
# Set ModelSim root based on vsim's path
os.environ['MODELSIM_ROOT'] = (dirname(dirname(which('vsim'))))
# Apply set
# os.environ['MTI_VCO_MODE']='64'
lFliSrc = join(env.src, ipbuspkg, 'components', 'ipbus_eth',
'firmware', 'sim', 'modelsim_fli')
import sh
# Clean-up
sh.rm('-rf', 'modelsim_fli', 'mac_fli.so', _out=sys.stdout)
# Copy
sh.cp('-a', lFliSrc, './', _out=sys.stdout)
# Make
sh.make('-C', 'modelsim_fli', 'TAP_DEV={0}'.format(dev), _out=sys.stdout)
# Link
sh.ln('-s', 'modelsim_fli/mac_fli.so', '.', _out=sys.stdout)
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
评论列表
文章目录