Initial commit
This commit is contained in:
		
							
								
								
									
										154
									
								
								03-DigitalToAnalogConverter/Scripts/hdlDesigner.bash
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										154
									
								
								03-DigitalToAnalogConverter/Scripts/hdlDesigner.bash
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,154 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| #================================================================================ | ||||
| # hdl_designer.bash - Starts HDL designer | ||||
| # | ||||
| base_directory="$(dirname "$(readlink -f "$0")")" | ||||
| base_directory="$base_directory/.." | ||||
| pushd $base_directory | ||||
|  | ||||
| SEPARATOR='--------------------------------------------------------------------------------' | ||||
| INDENT='  ' | ||||
|  | ||||
| echo "$SEPARATOR" | ||||
| echo "-- ${0##*/} Started!" | ||||
| echo "" | ||||
|  | ||||
| #-------------------------------------------------------------------------------- | ||||
| # Parse command line options | ||||
| # | ||||
| command_switches='n:d:p:m:i:u:t:s:c:y:vh' | ||||
| usage='Usage: hdl_designer.bash [-v] [-h]' | ||||
| usage="$usage\n\t[-d designDirectory] [-u userPrefsDirectory]" | ||||
|                                                     # set name and base directory | ||||
| design_name=`basename $0 .bash` | ||||
| design_directory=`dirname ${BASH_SOURCE[0]}` | ||||
|  | ||||
| while getopts $command_switches options; do | ||||
|   case $options in | ||||
|     n ) design_name=$OPTARG;; | ||||
|     d ) design_directory=$OPTARG;; | ||||
|   esac | ||||
| done | ||||
|                                             # continue with preferences directory | ||||
| prefs_directory="$design_directory/Prefs" | ||||
|  | ||||
| OPTIND=1 | ||||
| while getopts $command_switches options; do | ||||
|   case $options in | ||||
|     n ) design_name=$OPTARG;; | ||||
|     d ) design_directory=$OPTARG;; | ||||
|     p ) prefs_directory=$OPTARG;; | ||||
|   esac | ||||
| done | ||||
|                                                    # finish with other parameters | ||||
| library_matchings="$design_name.hdp" | ||||
| library_matchings='hds.hdp' | ||||
| simulation_directory="$design_directory/Simulation" | ||||
| user_prefs_directory="$prefs_directory/hds_user-linux" | ||||
| team_prefs_directory="$prefs_directory/hds_team" | ||||
| scratch_directory='/tmp/eda/' | ||||
| synthesis_subdirectory="Board/ise" | ||||
| concat_directory="$design_directory/Board/concat" | ||||
|  | ||||
| OPTIND=1 | ||||
| while getopts $command_switches options; do | ||||
|   case $options in | ||||
|     n ) ;; | ||||
|     d ) ;; | ||||
|     m ) library_matchings=$OPTARG;; | ||||
|     i ) simulation_directory=$OPTARG;; | ||||
|     u ) user_prefs_directory=$OPTARG;; | ||||
|     t ) team_prefs_directory=$OPTARG;; | ||||
|     s ) scratch_directory=$OPTARG;; | ||||
|     c ) concat_directory=$OPTARG;; | ||||
|     y ) synthesis_subdirectory=$OPTARG;; | ||||
|     v ) verbose=1;; | ||||
|     h ) echo -e $usage | ||||
|           exit 1;; | ||||
|     * ) echo -e $usage | ||||
|           exit 1;; | ||||
|   esac | ||||
| done | ||||
|  | ||||
| design_directory=`realpath $design_directory` | ||||
| library_matchings=`realpath $prefs_directory/$library_matchings` | ||||
| simulation_directory=`realpath $simulation_directory` | ||||
| user_prefs_directory=`realpath $user_prefs_directory` | ||||
| team_prefs_directory=`realpath $team_prefs_directory` | ||||
| concat_directory=`realpath $concat_directory` | ||||
| mkdir -p $scratch_directory | ||||
| scratch_directory=`realpath $scratch_directory` | ||||
|  | ||||
| #================================================================================ | ||||
| # Main script | ||||
| # | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # System environment variables | ||||
| # | ||||
| export HDS_HOME=/usr/opt/HDS | ||||
| export MODELSIM_HOME=/usr/opt/Modelsim/modeltech/bin/ | ||||
| export SYNTHESIS_HOME=/usr/opt/Xilinx/ISE_DS/ISE | ||||
| export LC_ALL=C | ||||
| export LD_LIBRARY_PATH=/usr/openwin/lib:/usr/lib:/usr/dt/lib:/usr/opt/HDS/ezwave/lib:/usr/opt/HDS/bin | ||||
| export MGLS_HOME=/usr/opt/HDS/license/mgls | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # Project environment variables | ||||
| # | ||||
| export DESIGN_NAME=$design_name | ||||
| export HDS_LIBS=$library_matchings | ||||
| export HDS_USER_HOME="$user_prefs_directory" | ||||
| export HDS_TEAM_HOME=$team_prefs_directory | ||||
| export SIMULATION_DIR=$simulation_directory | ||||
| export SCRATCH_DIR=$scratch_directory | ||||
| export CONCAT_DIR=$concat_directory | ||||
| export SYNTHESIS_BASE_DIR=`realpath $design_directory/$synthesis_subdirectory` | ||||
| export SYNTHESIS_WORK_DIR=$scratch_directory/$synthesis_subdirectory | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # Display info | ||||
| # | ||||
| if [ -n "$verbose" ] ; then | ||||
|   echo "Environment variables:" | ||||
|   echo "${INDENT}Design name              is $DESIGN_NAME" | ||||
|   echo "${INDENT}Lib matchings file       is $HDS_LIBS" | ||||
|   echo "${INDENT}Simulation directory     is $SIMULATION_DIR" | ||||
|   echo "${INDENT}User prefs directory     is $HDS_USER_HOME" | ||||
|   echo "${INDENT}Team prefs directory     is $HDS_TEAM_HOME" | ||||
|   echo "${INDENT}Scratch directory        is $SCRATCH_DIR" | ||||
|   echo "${INDENT}Concat directory         is $CONCAT_DIR" | ||||
|   echo "${INDENT}HDS location             is $HDS_HOME" | ||||
|   echo "${INDENT}Modelsim location        is $MODELSIM_HOME" | ||||
|   echo "${INDENT}Synthesis app location   is $SYNTHESIS_HOME" | ||||
|   echo "${INDENT}Synthesis base directory is $SYNTHESIS_BASE_DIR" | ||||
|   echo "${INDENT}Synthesis work directory is $SYNTHESIS_WORK_DIR" | ||||
| fi | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # Copy synthesis data to scratch | ||||
| # | ||||
| if true; then | ||||
|   echo "Copying" | ||||
|   echo "${INDENT}$SYNTHESIS_BASE_DIR" | ||||
|   echo "${INDENT}-> $SYNTHESIS_WORK_DIR" | ||||
| fi | ||||
| if [ -e "$SYNTHESIS_BASE_DIR" ]; then | ||||
|   rm -Rf $SYNTHESIS_WORK_DIR | ||||
|   mkdir -p $SYNTHESIS_WORK_DIR | ||||
|   cp -pr $SYNTHESIS_BASE_DIR/* $SYNTHESIS_WORK_DIR/ | ||||
| fi | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # Launch application | ||||
| # | ||||
| hdl_designer & | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # Exit | ||||
| # | ||||
| echo "" | ||||
| echo "-- ${0##*/} Finished!" | ||||
| echo "$SEPARATOR" | ||||
| popd | ||||
		Reference in New Issue
	
	Block a user