#!/bin/bash
|
#!/bin/bash
|
|
|
|
set -e
|
if ( (test $# != 1) || ((test $1 != "xst") && (test $1 != "fpga") && (test $1 != "dc")) ) then
|
if ( (test $# != 1) || ((test $1 != "xst") && (test $1 != "fpga") && (test $1 != "dc")) ) then
|
echo "Usage: $0 {xst|fpga|dc}"
|
echo "Usage: $0 {xst|fpga|dc}"
|
exit 1;
|
exit 1
|
fi
|
fi
|
|
|
test_var S1_ROOT
|
test_var S1_ROOT
|
|
|
echo -e "Synthesizing the design using $1"
|
echo -e "Synthesizing the design using $1"
|
mkdir -p $S1_ROOT/run/synth/$1
|
mkdir -p $S1_ROOT/run/synth/$1
|
cd $S1_ROOT/run/synth/$1
|
cd $S1_ROOT/run/synth/$1
|
rm -rf * .syn*
|
rm -rf * .syn*
|
|
|
if(test $1 == "xst") then
|
if(test $1 == "xst") then
|
xst -ifn $S1_ROOT/tools/src/build_xst.cmd -ofn synth.log
|
xst -ifn $S1_ROOT/tools/src/build_xst.cmd -ofn synth.log
|
#export TOP_LEVEL="s1_top"
|
#export TOP_LEVEL="s1_top"
|
#ngdbuild ${TOP_LEVEL}
|
#ngdbuild ${TOP_LEVEL}
|
#map -o ${TOP_LEVEL}_map.ncd ${TOP_LEVEL}
|
#map -o ${TOP_LEVEL}_map.ncd ${TOP_LEVEL}
|
#par -w -ol high ${TOP_LEVEL}_map.ncd ${TOP_LEVEL}.ncd
|
#par -w -ol high ${TOP_LEVEL}_map.ncd ${TOP_LEVEL}.ncd
|
#bitgen -g startupclk:Cclk -w ${TOP_LEVEL} ${TOP_LEVEL}.bit
|
#bitgen -g startupclk:Cclk -w ${TOP_LEVEL} ${TOP_LEVEL}.bit
|
#trce ${TOP_LEVEL} ${TOP_LEVEL}_map
|
#trce ${TOP_LEVEL} ${TOP_LEVEL}_map
|
fi
|
fi
|
|
|
if(test $1 == "fpga") then
|
if(test $1 == "fpga") then
|
iverilog -g1 -t xnf -o fpga.edif -c$FILELIST_FPGA 2>&1 | tee synth.log
|
iverilog -g1 -t xnf -o fpga.edif -c$FILELIST_FPGA 2>&1 | tee synth.log
|
fi
|
fi
|
|
|
if(test $1 == "dc") then
|
if(test $1 == "dc") then
|
mkdir work
|
mkdir work
|
ln -s -f ../../../tools/src/synopsys_dc.setup .synopsys_dc.setup
|
ln -s -f ../../../tools/src/synopsys_dc.setup .synopsys_dc.setup
|
dc_shell -tcl_mode -f $FILELIST_DC 2>&1 | tee synth.log
|
dc_shell -tcl_mode -f $FILELIST_DC 2>&1 | tee synth.log
|
fi
|
fi
|
|
|
echo -e "Synthesis with $1 done!"
|
echo -e "Synthesis with $1 done!"
|
|
|
|
|
|
|