# comment/uncomment the lines below if you want to use Synplicity/Exemplar
# generated top level EDIF
# EDIF_DIR="../../../synthesis/orca4/synplicity/config1/xgxs_top"; SEED=1;PRF1="xgxs_top_synplicity.prf"; PRF2="xgxs_top_io_synplicity.prf"
EDIF_DIR="../../../synthesis/orca4/exemplar/config1"; SEED=1;PRF1="xgxs_top_exemplar.prf";PRF2="xgxs_top_io_exemplar.prf"
echo ----------------------------------------------------------------------
echo Clean up dir
echo ----------------------------------------------------------------------
rm -rf ./xgxs_top
mkdir xgxs_top


echo ---------------------------------------------------------------------
echo EDIF TO NGD
echo ---------------------------------------------------------------------
edif2ngd -l or4e00 "${EDIF_DIR}/xgxs_top.edn" "xgxs_top/xgxs_top.ngo" 

echo ----------------------------------------------------------------------
echo NGD BUILD
echo ----------------------------------------------------------------------
ngdbuild -a ort82g5 -p "../.." -p "." -p "../../../source" "xgxs_top/xgxs_top.ngo" "xgxs_top/xgxs_top_1.ngd" 

echo ----------------------------------------------------------------------
echo MAP
echo ----------------------------------------------------------------------
mkdir xgxs_top/Map_Rev_1
cp ../../${PRF1} xgxs_top/Map_Rev_1/xgxs_top.prf

map -a ort82g5 -p ort82g5 -t BM680 -s 3 -m -swl 8 "xgxs_top/xgxs_top_1.ngd" -o "xgxs_top/Map_Rev_1/Map_Rev_1.ncd" "xgxs_top/Map_Rev_1/xgxs_top.prf" 

echo ----------------------------------------------------------------------
echo POST MAP TRACE
echo ----------------------------------------------------------------------
trce -v 1 -c -o "xgxs_top/Map_Rev_1/Map_Rev_1.twr" "xgxs_top/Map_Rev_1/Map_Rev_1.ncd" "xgxs_top/Map_Rev_1/xgxs_top.prf" 


echo ----------------------------------------------------------------------
echo "PAR (-t = seed number)"
echo ----------------------------------------------------------------------
mkdir xgxs_top/Map_Rev_1/Par_Rev_1

par -w -q -i 25 -c 1 -e 6 -l 5 -n 1 -t ${SEED} -s 1 "xgxs_top/Map_Rev_1/Map_Rev_1.ncd" "xgxs_top/Map_Rev_1/Par_Rev_1/Par_Rev_1" "xgxs_top/Map_Rev_1/xgxs_top.prf" 

echo ----------------------------------------------------------------------
echo POST PAR ERROR TRACE 
echo ----------------------------------------------------------------------
trce -e 100 -c -o "xgxs_top/Map_Rev_1/Par_Rev_1/pp_error.twr" "xgxs_top/Map_Rev_1/Par_Rev_1/Par_Rev_1.ncd" "xgxs_top/Map_Rev_1/xgxs_top.prf" 

echo ----------------------------------------------------------------------
echo POST PAR TRACE
echo ----------------------------------------------------------------------
trce -v 100 -c -o "xgxs_top/Map_Rev_1/Par_Rev_1/Par_Rev_1.twr" "xgxs_top/Map_Rev_1/Par_Rev_1/Par_Rev_1.ncd" "xgxs_top/Map_Rev_1/xgxs_top.prf" 

#echo ----------------------------------------------------------------------
#echo BIT GEN
#echo ----------------------------------------------------------------------
# bitgen -w -g LengthBits:24 -g SysbusCfg:Reset -g SysbusclkCfg:Reset -g WaitStateTimeout:0 -g GrantTimeout:0 -g ZeroFrames:Yes -g RegisterCfg:Enable -g OutputsCfg:Enable -g RamCfg:Reset -g StartupClk:Cclk -g ReadBack:Disable -g ReadCapture:Disable -g DoneActive:C4 -g OutputsActive:C2 -g GSRInactive:DoneIn "xgxs_top/Map_Rev_1/Par_Rev_1/Par_Rev_1.ncd" "xgxs_top/Map_Rev_1/Par_Rev_1/bitstream.bit" 

#echo ----------------------------------------------------------------------
#echo BACK ANNOTATE 
echo ----------------------------------------------------------------------
# ldbanno  -w -n Verilog -l orca -o "xgxs_top/Map_Rev_1/Par_Rev_1/backanno.v" "xgxs_top/Map_Rev_1/Par_Rev_1/Par_Rev_1.ncd" 


echo ----------------------------------------------------------------------
echo "IO POST PAR TRACE (Setup)"
echo ----------------------------------------------------------------------
trce -v 20 -c -o "xgxs_top/Map_Rev_1/Par_Rev_1/xgxs_top_io_setup.twr" "xgxs_top/Map_Rev_1/Par_Rev_1/Par_Rev_1.ncd" "../../${PRF1}" 

echo ----------------------------------------------------------------------
echo "IO POST PAR TRACE (Hold)"
echo ----------------------------------------------------------------------
trce -v 20 -hld -o "xgxs_top/Map_Rev_1/Par_Rev_1/xgxs_top_io_hold.twr" "xgxs_top/Map_Rev_1/Par_Rev_1/Par_Rev_1.ncd" "../../${PRF2}" 

