Initial commit
This commit is contained in:
301
01-WaveformGenerator/Scripts/hdlDesigner.bat
Normal file
301
01-WaveformGenerator/Scripts/hdlDesigner.bat
Normal file
@@ -0,0 +1,301 @@
|
||||
::==============================================================================
|
||||
:: hdl_designer.bash - Starts HDL designer
|
||||
::
|
||||
:start
|
||||
setlocal EnableExtensions EnableDelayedExpansion
|
||||
set cmd_location=%~dp0
|
||||
pushd %cmd_location%
|
||||
set SEPARATOR=--------------------------------------------------------------------------------
|
||||
set INDENT=" "
|
||||
|
||||
echo %SEPARATOR%
|
||||
echo -- %~nx0 Started!
|
||||
echo.
|
||||
|
||||
:: -----------------------------------------------------------------------------
|
||||
:: Define default environment variables
|
||||
IF NOT DEFINED REQUIRE_LIBS SET "REQUIRE_LIBS=0"
|
||||
IF NOT DEFINED REQUIRE_HDS SET "REQUIRE_HDS=0"
|
||||
IF NOT DEFINED REQUIRE_MODELSIM SET "REQUIRE_MODELSIM=0"
|
||||
IF NOT DEFINED REQUIRE_ISE SET "REQUIRE_ISE=0"
|
||||
IF NOT DEFINED REQUIRE_LIBERO SET "REQUIRE_LIBERO=0"
|
||||
IF NOT DEFINED REQUIRE_DIAMOND SET "REQUIRE_DIAMOND=0"
|
||||
IF NOT DEFINED REQUIRE_ICECUBE2 SET "REQUIRE_ICECUBE2=0"
|
||||
::
|
||||
::remove trailing backslash
|
||||
if %cmd_location:~-1%==\ set design_directory=%design_directory:~0,-1%
|
||||
|
||||
set design_name=%~n0
|
||||
set hpd_name=hds
|
||||
|
||||
if "%ISE_VERSION%"== "" (
|
||||
set ISE_VERSION=14.7
|
||||
)
|
||||
set prefs_directory="%design_directory:"=%\Prefs"
|
||||
set library_matchings="%hpd_name%.hdp"
|
||||
set simulation_directory="%design_directory:"=%\Simulation"
|
||||
set user_prefs_directory="%prefs_directory:"=%\hds_user"
|
||||
set team_prefs_directory="%prefs_directory:"=%\hds_team"
|
||||
if "%SCRATCH_DIR%" == "" (
|
||||
set scratch_directory=C:\temp\eda\%username%
|
||||
) else (
|
||||
set scratch_directory=%SCRATCH_DIR%
|
||||
)
|
||||
|
||||
set synthesis_subdirectory=""
|
||||
if %REQUIRE_ISE% == 1 (
|
||||
set synthesis_subdirectory="Board\ise"
|
||||
)
|
||||
if %REQUIRE_LIBERO% == 1 (
|
||||
set synthesis_subdirectory="Board\libero"
|
||||
)
|
||||
if %REQUIRE_DIAMOND% == 1 (
|
||||
set synthesis_subdirectory="Board\diamond"
|
||||
)
|
||||
if %REQUIRE_ICECUBE2% == 1 (
|
||||
set synthesis_subdirectory="Board\icecube2"
|
||||
)
|
||||
set concat_directory="%design_directory:"=%\Board\concat"
|
||||
|
||||
::------------------------------------------------------------------------------
|
||||
:: Parse command line options
|
||||
::
|
||||
:parse
|
||||
set usage1="Usage: hdl_designer.bat [-v] [-h]"
|
||||
set usage2=" [-n designName] [-d designDirectory]"
|
||||
set usage3=" [-p prefsDirectory] [-u userPrefsDirectory] [-t teamPrefsDirectory]"
|
||||
set usage4=" [-s scratchDirectory] [-c concatDirectory]"
|
||||
set usage5=" [-y synthesisDirectory] [-m library_matchings]"
|
||||
|
||||
echo Search Commandline Parameters
|
||||
:parseloop
|
||||
if not "%1"=="" (
|
||||
if "%1"=="-v" (
|
||||
set VERBOSE=1
|
||||
echo %INDENT:"=%verbose enabled
|
||||
shift
|
||||
)
|
||||
if "%1"=="-h" (
|
||||
goto :HELP
|
||||
shift
|
||||
)
|
||||
if "%1"=="-n" (
|
||||
set design_name=%2
|
||||
echo %INDENT:"=%design_name=!design_name:"=!
|
||||
shift & shift
|
||||
)
|
||||
if "%1"=="-d" (
|
||||
set design_directory=%2
|
||||
echo %INDENT:"=%design_directory=!design_directory:"=!
|
||||
shift & shift
|
||||
)
|
||||
if "%1"=="-p" (
|
||||
set prefs_directory=%2
|
||||
echo %INDENT:"=%prefs_directory=!prefs_directory:"=!
|
||||
shift & shift
|
||||
)
|
||||
if "%1"=="-u" (
|
||||
set user_prefs_directory=%2
|
||||
echo %INDENT:"=%user_prefs_directory=%user_prefs_directory:"=%
|
||||
shift & shift
|
||||
)
|
||||
if "%1"=="-t" (
|
||||
set team_prefs_directory=%2
|
||||
echo %INDENT:"=%team_prefs_directory=%team_prefs_directory:"=%
|
||||
shift & shift
|
||||
)
|
||||
if "%1"=="-s" (
|
||||
set scratch_directory=%2
|
||||
echo %INDENT:"=%scratch_directory=%scratch_directory:"=%
|
||||
shift & shift
|
||||
)
|
||||
if "%1"=="-c" (
|
||||
set concat_directory=%2
|
||||
echo "%INDENT:"=%concat_directory=%concat_directory:"=% "
|
||||
shift & shift
|
||||
)
|
||||
if "%1"=="-y" (
|
||||
set synthesis_subdirectory=%2
|
||||
echo %INDENT:"=%synthesis_subdirectory=%synthesis_subdirectory:"=%
|
||||
shift & shift
|
||||
)
|
||||
if "%1"=="-m" (
|
||||
set set library_matchings="%2.hdp"
|
||||
echo %INDENT:"=%library_matchings=%library_matchings:"=%
|
||||
shift & shift
|
||||
)
|
||||
goto :parseloop
|
||||
)
|
||||
echo.
|
||||
|
||||
:: Setting all concurrent variables
|
||||
set prefs_directory="!design_directory:"=!\Prefs"
|
||||
set user_prefs_directory="!prefs_directory:"=!\hds_user"
|
||||
set team_prefs_directory="!prefs_directory:"=!\hds_team"
|
||||
set library_matchings=!prefs_directory:"=!\!library_matchings:"=!
|
||||
set simulation_directory="!design_directory:"=!\Simulation"
|
||||
set concat_directory="!design_directory:"=!\Board\concat"
|
||||
|
||||
:: Getting realpath
|
||||
:: TODO
|
||||
|
||||
:: create scratch dir
|
||||
if not exist "%scratch_directory%" (
|
||||
mkdir "%scratch_directory:"=%"
|
||||
)
|
||||
|
||||
::================================================================================
|
||||
:: Main script
|
||||
::
|
||||
echo.
|
||||
call "./searchPaths.bat"
|
||||
|
||||
::------------------------------------------------------------------------------
|
||||
:: Project environment variables
|
||||
::
|
||||
set DESIGN_NAME=%design_name:"=%
|
||||
set HDS_LIBS=%library_matchings:"=%
|
||||
set HDS_USER_HOME=%user_prefs_directory:"=%
|
||||
set HDS_TEAM_HOME=%team_prefs_directory:"=%
|
||||
set SIMULATION_DIR=%simulation_directory:"=%
|
||||
:: Changing Slashed (Needed for Modelsim)
|
||||
set SIMULATION_DIR=%SIMULATION_DIR:\=/%
|
||||
set SCRATCH_DIR=%scratch_directory:"=%
|
||||
set CONCAT_DIR=%concat_directory:"=%
|
||||
set ISE_BASE_DIR=%design_directory:"=%\%synthesis_subdirectory:"=%
|
||||
set ISE_WORK_DIR=%scratch_directory:"=%\%DESIGN_NAME:"=%\%synthesis_subdirectory:"=%
|
||||
set LIBERO_BASE_DIR=%design_directory:"=%\%synthesis_subdirectory:"=%
|
||||
set LIBERO_WORK_DIR=%scratch_directory:"=%\%DESIGN_NAME:"=%\%synthesis_subdirectory:"=%
|
||||
set DIAMOND_BASE_DIR=%design_directory:"=%\%synthesis_subdirectory:"=%
|
||||
set DIAMOND_WORK_DIR=%scratch_directory:"=%\%DESIGN_NAME:"=%\%synthesis_subdirectory:"=%
|
||||
set ICECUBE2_BASE_DIR=%design_directory:"=%\%synthesis_subdirectory:"=%
|
||||
set ICECUBE2_WORK_DIR=%scratch_directory:"=%\%DESIGN_NAME:"=%\%synthesis_subdirectory:"=%
|
||||
|
||||
::------------------------------------------------------------------------------
|
||||
:: Display info
|
||||
::
|
||||
if !VERBOSE! == 1 (
|
||||
echo Program Parameters
|
||||
echo %INDENT:"=%DESIGN_NAME is %DESIGN_NAME:"=%
|
||||
echo %INDENT:"=%HEI_LIBS_DIR is %HEI_LIBS_DIR:"=%
|
||||
echo %INDENT:"=%HDS_LIBS is %HDS_LIBS:"=%
|
||||
echo %INDENT:"=%SIMULATION_DIR is %SIMULATION_DIR:"=%
|
||||
echo %INDENT:"=%HDS_USER_HOME is %HDS_USER_HOME:"=%
|
||||
echo %INDENT:"=%HDS_TEAM_HOME is %HDS_TEAM_HOME:"=%
|
||||
echo %INDENT:"=%SCRATCH_DIR is %SCRATCH_DIR:"=%
|
||||
echo %INDENT:"=%CONCAT_DIR is %CONCAT_DIR:"=%
|
||||
if %REQUIRE_HDS% == 1 (
|
||||
echo %INDENT:"=%HDS_HOME is %HDS_HOME:"=%
|
||||
)
|
||||
if %REQUIRE_MODELSIM% == 1 (
|
||||
echo %INDENT:"=%MODELSIM_HOME is %MODELSIM_HOME:"=%
|
||||
)
|
||||
if %REQUIRE_ISE% == 1 (
|
||||
echo %INDENT:"=%ISE_HOME is %ISE_HOME:"=%
|
||||
echo %INDENT:"=%ISE_BASE_DIR is %ISE_BASE_DIR:"=%
|
||||
echo %INDENT:"=%ISE_WORK_DIR is %ISE_WORK_DIR:"=%
|
||||
)
|
||||
if %REQUIRE_LIBERO% == 1 (
|
||||
echo %INDENT:"=%LIBERO_HOME is %LIBERO_HOME:"=%
|
||||
echo %INDENT:"=%LIBERO_BASE_DIR is %LIBERO_BASE_DIR:"=%
|
||||
echo %INDENT:"=%LIBERO_WORK_DIR is %LIBERO_WORK_DIR:"=%
|
||||
)
|
||||
if %REQUIRE_DIAMOND% == 1 (
|
||||
echo %INDENT:"=%DIAMOND_HOME is %DIAMOND_HOME:"=%
|
||||
echo %INDENT:"=%DIAMOND_BASE_DIR is %DIAMOND_BASE_DIR:"=%
|
||||
echo %INDENT:"=%DIAMOND_WORK_DIR is %DIAMOND_WORK_DIR:"=%
|
||||
)
|
||||
if %REQUIRE_ICECUBE2% == 1 (
|
||||
echo %INDENT:"=%ICECUBE2_HOME is %ICECUBE2_HOME:"=%
|
||||
echo %INDENT:"=%ICECUBE2_BASE_DIR is %ICECUBE2_BASE_DIR:"=%
|
||||
echo %INDENT:"=%ICECUBE2_WORK_DIR is %ICECUBE2_WORK_DIR:"=%
|
||||
)
|
||||
echo.
|
||||
)
|
||||
|
||||
::------------------------------------------------------------------------------
|
||||
:: Delete scratch directory
|
||||
::
|
||||
echo.
|
||||
call "./cleanScratch.bat"
|
||||
|
||||
::------------------------------------------------------------------------------
|
||||
:: Copy synthesis data to scratch directory
|
||||
::
|
||||
if %REQUIRE_ISE% == 1 (
|
||||
if exist %ISE_BASE_DIR% (
|
||||
echo %ISE_BASE_DIR:"=%
|
||||
echo -> %ISE_WORK_DIR:"=%
|
||||
if exist %ISE_WORK_DIR% (
|
||||
rmdir /S /Q "%ISE_WORK_DIR%"
|
||||
)
|
||||
mkdir "%ISE_WORK_DIR%"
|
||||
xcopy /Y "%ISE_BASE_DIR%" "%ISE_WORK_DIR%\"
|
||||
)
|
||||
)
|
||||
|
||||
if %REQUIRE_LIBERO% == 1 (
|
||||
if exist %LIBERO_BASE_DIR% (
|
||||
echo %LIBERO_BASE_DIR:"=%
|
||||
echo -> %LIBERO_BASE_DIR:"=%
|
||||
if exist %LIBERO_WORK_DIR% (
|
||||
rmdir /S /Q "%LIBERO_WORK_DIR%"
|
||||
)
|
||||
mkdir "%LIBERO_WORK_DIR%"
|
||||
xcopy /S /Y "%LIBERO_BASE_DIR%" "%LIBERO_WORK_DIR%\"
|
||||
)
|
||||
)
|
||||
|
||||
if %REQUIRE_DIAMOND% == 1 (
|
||||
if exist %DIAMOND_BASE_DIR% (
|
||||
echo %DIAMOND_BASE_DIR:"=%
|
||||
echo -> %DIAMOND_BASE_DIR:"=%
|
||||
if exist %DIAMOND_WORK_DIR% (
|
||||
rmdir /S /Q "%DIAMOND_WORK_DIR%"
|
||||
)
|
||||
mkdir "%DIAMOND_WORK_DIR%"
|
||||
xcopy /S /Y "%DIAMOND_BASE_DIR%" "%DIAMOND_WORK_DIR%\"
|
||||
)
|
||||
)
|
||||
|
||||
if %REQUIRE_ICECUBE2% == 1 (
|
||||
if exist %ICECUBE2_BASE_DIR% (
|
||||
echo %ICECUBE2_BASE_DIR:"=%
|
||||
echo -> %ICECUBE2_BASE_DIR:"=%
|
||||
if exist %ICECUBE2_WORK_DIR% (
|
||||
rmdir /S /Q "%ICECUBE2_WORK_DIR%"
|
||||
)
|
||||
mkdir "%ICECUBE2_WORK_DIR%"
|
||||
xcopy /S /Y "%ICECUBE2_BASE_DIR%" "%ICECUBE2_WORK_DIR%\"
|
||||
)
|
||||
)
|
||||
|
||||
::------------------------------------------------------------------------------
|
||||
:: Launch application
|
||||
::
|
||||
echo -- Launching program
|
||||
::echo %INDENT:"=%Waiting until programs finished...
|
||||
::start /wait !HDS_HOME:"=!\bin\hdldesigner.exe
|
||||
%windir%\system32\cmd.exe /c start !HDS_HOME!\bin\hdldesigner.exe
|
||||
::echo -- Finished... YOU CAN CLOSE THIS WINDOW NOW!
|
||||
|
||||
:end
|
||||
echo.
|
||||
echo -- %~nx0 Finished!
|
||||
echo %SEPARATOR%
|
||||
echo. && echo.
|
||||
popd
|
||||
endlocal
|
||||
goto:eof
|
||||
|
||||
::------------------------------------------------------------------------------
|
||||
:: Helper Functions
|
||||
::
|
||||
:HELP
|
||||
echo.
|
||||
echo %usage1:"=%
|
||||
echo %usage2:"=%
|
||||
echo %usage3:"=%
|
||||
echo %usage4:"=%
|
||||
echo %usage5:"=%
|
||||
echo.&pause&goto:eof
|
||||
Reference in New Issue
Block a user