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

Subversion Repositories minsoc

[/] [minsoc/] [branches/] [verilator/] [backend/] [altera_3c25_board/] [configure] - Blame information for rev 97

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 93 javieralso
#!/bin/bash
2
 
3
#new boards have to udpate this
4
BOARD=altera_3c25_board                                         #this has to have the name of the directory this file is in
5
DEVICE_PART=EP3C25Q240C8
6
FAMILY_PART="Cyclone III"
7
CONSTRAINT_FILE='altera_3c25_board.ucf'
8
PROJECT_FILE=minsoc_top.qsf
9
#SW_VERSION=`quartus_map -v | grep Version`
10
#~new boards update
11
 
12
#system workings
13
MINSOC_DIR=`pwd`/../..
14
BACKEND_DIR=$MINSOC_DIR/backend
15
SYN_DIR=$MINSOC_DIR/syn
16
SYNSRC_DIR=$MINSOC_DIR/prj/altera
17
SYNSUPPORT_DIR=$SYN_DIR/buildSupport
18
MAKEFILE_DIR=$SYN_DIR/altera
19
 
20 96 javieralso
SYN_FILES=(adbg_top.prj jtag_top.prj or1200_top.prj uart_top.prj minsoc_top.prj altera_virtual_jtag.prj)
21 93 javieralso
MAKEFILE=Makefile
22
 
23
FIND_PART='DEVICE_PART'
24
FIND_FAMILY='FAMILY_PART'
25
FIND_VERSION='SW_VERSION'
26
FIND_CONSTRAINT='CONSTRAINT_FILE'
27
 
28
BOARD_DIR=$BACKEND_DIR/$BOARD
29
BOARD_FILES=(board.h orp.ld minsoc_defines.v minsoc_bench_defines.v gcc-opt.mk $CONSTRAINT_FILE)
30
 
31
in_minsoc=`pwd | grep minsoc/backend/${BOARD}$`
32
if [ -z $in_minsoc ]
33
then
34
        echo ""
35
        echo "                  !!!WARNING!!!"
36
        echo "This script cannot be run if not in a board directory inside minsoc/backend,"
37
        echo "because it relies on the directory structure of the minsoc system."
38
        echo ""
39
        echo "Possibly your minsoc directory is named differently, minsoc_trunk for example."
40
        echo "Its name must be minsoc only."
41
        echo ""
42
        exit 1
43
fi
44
 
45
echo ""
46 97 rfajardo
echo "This script sets up the SoC for simulations and synthesis."
47 93 javieralso
echo ""
48 97 rfajardo
echo "In order to do so, SoC board's specific files for firmware compilation, "
49
echo "testbench generation and synthesis are configured."
50
echo "Firmware and testbench looks for board specific files under $BACKEND_DIR."
51
echo "Synthesis work under $SYN_DIR."
52 93 javieralso
echo ""
53 97 rfajardo
echo ""
54 93 javieralso
 
55 97 rfajardo
echo "Generating project files for simulation and synthesis..."
56
make -C $MINSOC_DIR/prj
57
echo "Generation complete."
58
echo "__________________________________________________________________________"
59
echo ""
60
 
61 93 javieralso
if [ $CONSTRAINT_FILE == 'NONE' ]
62
then
63
    echo "Skipping synthesis preparation. Standard implementation can only be simulated."
64
else
65 97 rfajardo
    echo "Device part and family for files under $SYNSRC_DIR will patched and stored "
66 93 javieralso
    echo "temporarily."
67 97 rfajardo
    echo "Afterwards, they are copied to $SYNSUPPORT_DIR."
68 93 javieralso
    echo "__________________________________________________________________________"
69
    echo ""
70 95 javieralso
    sed "s/$FIND_PART/$DEVICE_PART/g" $MAKEFILE_DIR/$PROJECT_FILE > TMPFILE
71 93 javieralso
    sed "s/$FIND_FAMILY/$FAMILY_PART/g" TMPFILE > TMPFILE2
72
    #sed "s/$FIND_VERSION/$SW_VERSION/g" TMPFILE> TMPFILE
73
    echo "Adding settings from constraint file..."
74
    cat $CONSTRAINT_FILE >> TMPFILE2
75
 
76 95 javieralso
    echo "Generating quartus settings from prj files in $SYNSRC_DIR"
77 93 javieralso
    for file in "${SYN_FILES[@]}"
78
    do
79
        echo "Adding settings from file $file..."
80
        cat $SYNSRC_DIR/$file >> TMPFILE2
81
    done
82 95 javieralso
    mv TMPFILE2 $SYNSUPPORT_DIR/$PROJECT_FILE
83 93 javieralso
    rm TMPFILE
84
    echo ""
85 95 javieralso
    echo "Generated quartus settings file in $SYNSUPPORT_DIR/$PROJECT_FILE"
86 93 javieralso
    echo ""
87
 
88 97 rfajardo
    echo "Copying Makefile from $MAKEFILE_DIR to synthesis directory, $SYN_DIR..."
89 93 javieralso
    cp $MAKEFILE_DIR/$MAKEFILE $SYN_DIR/$MAKEFILE
90
    echo ""
91
 
92 97 rfajardo
    echo "Copying board specific SoC files from $BOARD_DIR to $BACKEND_DIR directory."
93 93 javieralso
    echo "__________________________________________________________________________"
94
    echo ""
95
    for file in "${BOARD_FILES[@]}"
96
    do
97
        if [ $file != NONE ]
98
        then
99
            echo "Copying $file, to backend directory..."
100
            cp $BOARD_DIR/$file $BACKEND_DIR
101
        fi
102
    done
103
    echo ""
104
    echo "Configuration done."
105 95 javieralso
    echo "For synthesis help go to $SYN_DIR and type \"make\"."
106 93 javieralso
fi
107
 

powered by: WebSVN 2.1.0

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