NCC clean newCell
[fleet.git] / bee2-selectmap / Makefile
1
2 projectname = bee2-control-user-fifo
3
4 build_machine = sting.eecs.berkeley.edu
5 build_machine_xilinx_path = /opt/xilinx/ISE9.2i_lin/
6 build_machine_work_dir = ~/$(projectname)
7 bee2_machine = bee441.megacz.com
8
9 ## you probably want to customize the stuff above this line
10
11 ## you probably don't want to change anything below this line
12
13 xilinx =  cd $(build_machine_work_dir);
14 xilinx += LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(XILINX)/bin/lin
15 xilinx += XILINX=$(XILINX)
16 xilinx += PATH=$$PATH:$(XILINX)/bin/lin
17 xilinx += $(XILINX)/bin/lin/
18
19 bitfile = bee2-control-user-fifo.bit
20
21 remote_run  = user_unprogram 1;
22 remote_run += user_program 1 $(bitfile);
23 remote_run += echo "Gdkkn+vnqkc " > /dev/selectmap1;
24 remote_run += head -c12 /dev/selectmap1; echo
25
26 verilog_files = $(find . -name \*.v)
27
28 run: upload build/fpga/$(bitfile)
29         ssh root@$(bee2_machine) '$(remote_run)'
30
31 upload: build/fpga/$(bitfile)
32         rsync -zare ssh --progress --verbose build/fpga/$(bitfile) root@$(bee2_machine):
33
34 build/fpga/$(bitfile): $(verilog_files)
35         mkdir -p build/fpga/
36         rsync -zare ssh --progress --delete --verbose ./ ${build_machine}:${build_machine_work_dir}
37         time ssh ${build_machine} 'make -C ${build_machine_work_dir} synth XILINX=${build_machine_xilinx_path}'
38         scp ${build_machine}:${build_machine_work_dir}/main.bit build/fpga/$(bitfile)
39
40 synth:
41         mkdir -p build/fpga/
42         echo work > main.lso
43         for A in *.v; do echo verilog work \""$$A"\"; done > main.prj
44         mkdir -p tmp
45         mkdir -p xst
46         rm -rf build/fpga/_ngo
47         $(xilinx)xst -intstyle xflow -ifn main.xst -ofn main.syr < main.xst
48         $(xilinx)ngdbuild -intstyle xflow -dd _ngo -nt timestamp -uc main.ucf -p xc2vp70-ff1704-6 main.ngc main.ngd
49         $(xilinx)map -intstyle xflow -p xc2vp70-ff1704-6 -cm speed -l -pr b -k 4 -c 100 -tx off -o main_map.ncd main.ngd main.pcf
50         $(xilinx)par -w -intstyle xflow -pl std -ol std -t 99 main_map.ncd main.ncd main.pcf
51         $(xilinx)bitgen -intstyle xflow -d -f main.ut main.ncd
52 #       $(xilinx)trce -intstyle xflow -e 3 -l 3 -s 6 -xml main main.ncd -o main.twr main.pcf