OpenCores
URL https://opencores.org/ocsvn/minsoc/minsoc/trunk

Subversion Repositories minsoc

[/] [minsoc/] [trunk/] [backend/] [spartan3e_starter_kit_eth/] [configure] - Diff between revs 105 and 141

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 105 Rev 141
#!/bin/bash
#!/bin/bash
#NON STANDARD SCRIPT, USE ANOTHER AS TEMPLATE, NON STANDARD PART IS MARKED AS COMMENT
#NON STANDARD SCRIPT, USE ANOTHER AS TEMPLATE, NON STANDARD PART IS MARKED AS COMMENT
#new boards have to udpate this
#new boards have to udpate this
BOARD=spartan3e_starter_kit_eth                                         #this has to have the name of the directory this file is in
BOARD=spartan3e_starter_kit_eth                                         #this has to have the name of the directory this file is in
DEVICE_PART='xc3s500e-4-fg320'
DEVICE_PART='xc3s500e-4-fg320'
CONSTRAINT_FILE='spartan3e_starter_kit_eth.ucf'
CONSTRAINT_FILE='spartan3e_starter_kit_eth.ucf'
#~new boards update
#~new boards update
#system workings
#system workings
MINSOC_DIR=`pwd`/../..
MINSOC_DIR=`pwd`/../..
BACKEND_DIR=$MINSOC_DIR/backend
BACKEND_DIR=$MINSOC_DIR/backend
SYN_DIR=$MINSOC_DIR/syn
SYN_DIR=$MINSOC_DIR/syn
SYNSRC_DIR=$MINSOC_DIR/prj/xilinx
SYNSRC_DIR=$MINSOC_DIR/prj/xilinx
SYNSUPPORT_DIR=$SYN_DIR/buildSupport
SYNSUPPORT_DIR=$SYN_DIR/buildSupport
MAKEFILE_DIR=$SYN_DIR/xilinx
MAKEFILE_DIR=$SYN_DIR/xilinx
SYN_FILES=(ethmac.xst uart_top.xst adbg_top.xst or1200_top.xst minsoc_top.xst)
SYN_FILES=(ethmac.xst uart_top.xst adbg_top.xst or1200_top.xst minsoc_top.xst)
MAKEFILE=Makefile
MAKEFILE=Makefile
FIND_PART='DEVICE_PART'
FIND_PART='DEVICE_PART'
FIND_CONSTRAINT='CONSTRAINT_FILE'
FIND_CONSTRAINT='CONSTRAINT_FILE'
BOARD_DIR=$BACKEND_DIR/$BOARD
BOARD_DIR=$BACKEND_DIR/$BOARD
BOARD_FILES=(board.h orp.ld minsoc_defines.v minsoc_bench_defines.v gcc-opt.mk $CONSTRAINT_FILE)
BOARD_FILES=(board.h orp.ld minsoc_defines.v minsoc_bench_defines.v gcc-opt.mk $CONSTRAINT_FILE)
in_minsoc=`pwd | grep minsoc/backend/${BOARD}$`
in_minsoc=`pwd | grep minsoc/backend/${BOARD}$`
if [ -z $in_minsoc ]
if [ -z $in_minsoc ]
then
then
        echo ""
        echo ""
        echo "                  !!!WARNING!!!"
        echo "                  !!!WARNING!!!"
        echo "This script cannot be run if not in a board directory inside minsoc/backend,"
        echo "This script cannot be run if not in a board directory inside minsoc/backend,"
        echo "because it relies on the directory structure of the minsoc system."
        echo "because it relies on the directory structure of the minsoc system."
        echo ""
        echo ""
        echo "Possibly your minsoc directory is named differently, minsoc_trunk for example."
        echo "Possibly your minsoc directory is named differently, minsoc_trunk for example."
        echo "Its name must be minsoc only."
        echo "Its name must be minsoc only."
        echo ""
        echo ""
    exit 1
    exit 1
fi
fi
#NON STANDARD SCRIPT PART
#NON STANDARD SCRIPT PART
echo "THIS SCRIPT HAS A NON-STANDARD BEGINNING."
echo "THIS SCRIPT HAS A NON-STANDARD BEGINNING."
echo "__________________________________________________________________________"
echo "__________________________________________________________________________"
echo "Ethernet on Spartan3E Starter Kit requires another configuration for or1200."
echo "${BOARD} requires another configuration for or1200."
echo "For minsoc release-1.0 or1200_r1 will be used."
 
echo "This will need or1200_defines.v of or1200_r1 with same configuration."
 
 
 
echo ""
echo ""
echo "Copying or1200_defines.v, to or1200 implementation directory..."
echo "Copying or1200_defines.v, to or1200 implementation directory..."
echo "(minsoc/rtl/verilog/or1200/rtl/verilog)"
echo "(minsoc/rtl/verilog/or1200/rtl/verilog)"
echo "__________________________________________________________________________"
echo "__________________________________________________________________________"
cp $BOARD_DIR/or1200_defines.v $MINSOC_DIR/rtl/verilog/or1200/rtl/verilog
cp $BOARD_DIR/or1200_defines.v $MINSOC_DIR/rtl/verilog/or1200/rtl/verilog
echo ""
echo ""
echo "REGULAR SCRIPT STARTS NOW"
echo "REGULAR SCRIPT STARTS NOW"
echo "__________________________________________________________________________"
echo "__________________________________________________________________________"
#~NON STANDARD SCRIPT PART
#~NON STANDARD SCRIPT PART
echo ""
echo ""
echo "This script sets up the SoC for simulations and synthesis."
echo "This script sets up the SoC for simulations and synthesis."
echo ""
echo ""
echo "In order to do so, SoC board's specific files for firmware compilation, "
echo "In order to do so, SoC board's specific files for firmware compilation, "
echo "testbench generation and synthesis are configured."
echo "testbench generation and synthesis are configured."
echo "Firmware and testbench looks for board specific files under $BACKEND_DIR."
echo "Firmware and testbench looks for board specific files under $BACKEND_DIR."
echo "Synthesis work under $SYN_DIR."
echo "Synthesis work under $SYN_DIR."
echo ""
echo ""
echo ""
echo ""
 
 
 
echo "Copying board specific SoC files from $BOARD_DIR to $BACKEND_DIR directory."
 
echo "__________________________________________________________________________"
 
echo ""
 
for file in "${BOARD_FILES[@]}"
 
do
 
    if [ $file != NONE ]
 
    then
 
        echo "Copying $file, to backend directory..."
 
        cp $BOARD_DIR/$file $BACKEND_DIR
 
    fi
 
done
 
echo ""
 
echo ""
 
 
echo "Generating project files for simulation and synthesis..."
echo "Generating project files for simulation and synthesis..."
 
echo "__________________________________________________________________________"
 
echo ""
make -C $MINSOC_DIR/prj
make -C $MINSOC_DIR/prj
echo "Generation complete."
echo "Generation complete."
echo "__________________________________________________________________________"
echo ""
echo ""
echo ""
if [ $CONSTRAINT_FILE == 'NONE' ]
if [ $CONSTRAINT_FILE == 'NONE' ]
then
then
    echo "Skipping synthesis preparation. Standard implementation can only be simulated."
    echo "Skipping synthesis preparation. Standard implementation can only be simulated."
 
    echo ""
 
    echo ""
else
else
    echo "Device part for files under $SYNSRC_DIR will be patched and stored "
    echo "Device part for files under $SYNSRC_DIR will be patched and stored "
    echo "temporarily."
    echo "temporarily."
    echo "Afterwards, they are copied to $SYNSUPPORT_DIR."
    echo "Afterwards, they are copied to $SYNSUPPORT_DIR."
    echo "__________________________________________________________________________"
    echo "__________________________________________________________________________"
    echo ""
    echo ""
    for file in "${SYN_FILES[@]}"
    for file in "${SYN_FILES[@]}"
    do
    do
        echo "Updating synthesis file, $file..."
        echo "Updating synthesis file, $file..."
        echo "Copying $file to synthesis directory..."
        echo "Copying $file to synthesis directory..."
        echo ""
        echo ""
        sed "s/$FIND_PART/$DEVICE_PART/g" $SYNSRC_DIR/$file > TMPFILE
        sed "s/$FIND_PART/$DEVICE_PART/g" $SYNSRC_DIR/$file > TMPFILE
        sed "s/$FIND_CONSTRAINT/$CONSTRAINT_FILE/g" TMPFILE > TMPFILE2 && mv TMPFILE2 $SYNSUPPORT_DIR/$file
        sed "s/$FIND_CONSTRAINT/$CONSTRAINT_FILE/g" TMPFILE > TMPFILE2 && mv TMPFILE2 $SYNSUPPORT_DIR/$file
        rm TMPFILE
        rm TMPFILE
    done
    done
    echo "Updating Makefile file under $MAKEFILE_DIR..."
    echo "Updating Makefile file under $MAKEFILE_DIR..."
    echo "Copying Makefile to synthesis directory, $SYN_DIR..."
    echo "Copying Makefile to synthesis directory, $SYN_DIR..."
    echo ""
    echo ""
    sed "s/$FIND_PART/$DEVICE_PART/g" $MAKEFILE_DIR/$MAKEFILE > TMPFILE
    sed "s/$FIND_PART/$DEVICE_PART/g" $MAKEFILE_DIR/$MAKEFILE > TMPFILE
    sed "s/$FIND_CONSTRAINT/$CONSTRAINT_FILE/g" TMPFILE > TMPFILE2 && mv TMPFILE2 $SYN_DIR/$MAKEFILE
    sed "s/$FIND_CONSTRAINT/$CONSTRAINT_FILE/g" TMPFILE > TMPFILE2 && mv TMPFILE2 $SYN_DIR/$MAKEFILE
    rm TMPFILE
    rm TMPFILE
    cp $MAKEFILE_DIR/setup.bat $SYN_DIR/setup.bat
    cp $MAKEFILE_DIR/setup.bat $SYN_DIR/setup.bat
fi
 
echo ""
echo ""
echo ""
echo ""
 
 
 
 
echo "Copying board specific SoC files from $BOARD_DIR to $BACKEND_DIR directory."
 
echo "__________________________________________________________________________"
 
echo ""
 
for file in "${BOARD_FILES[@]}"
 
do
 
    if [ $file != NONE ]
 
    then
 
        echo "Copying $file, to backend directory..."
 
        cp $BOARD_DIR/$file $BACKEND_DIR
 
    fi
    fi
done
 
echo ""
echo "Configuration done."
echo ""
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2020 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.