95764a11 |
1 | PWD := $(shell pwd) |
2 | |
3 | XST := $(shell which xst) |
4 | |
5 | TMP = tmp/ |
6 | $(shell mkdir tmp) |
7 | |
ad16d1e3 |
8 | PROJECT := raggedstone |
95764a11 |
9 | |
82cc0f36 |
10 | all: xst ngdbuild map par trace prom final |
95764a11 |
11 | |
12 | log: |
13 | time make all &>build.log |
14 | |
15 | xst: $(PROJECT).ngc |
16 | |
17 | ngdbuild: $(PROJECT).ngc $(PROJECT).ngd |
18 | |
19 | $(PROJECT).ngc: |
20 | @# echo synclib > $(PROJECT).lso # hmm. things are different in ise 9.1 |
21 | echo work > $(PROJECT).lso |
152884e6 |
22 | xst -intstyle ise -ifn $(PROJECT).xst -ofn $(PROJECT).syr |
95764a11 |
23 | #cat $(PROJECT).syr |
24 | mv $(PROJECT).syr $(TMP) |
25 | mv $(PROJECT).ngr $(PROJECT).lso $(TMP) |
26 | mv xst $(TMP) |
27 | |
28 | $(PROJECT).ngd: |
29 | ngdbuild -intstyle ise -dd "$(PWD)/_ngo" -nt timestamp -uc $(PROJECT).ucf -p xc3s1500-fg456-4 $(PROJECT).ngc $(PROJECT).ngd &> tmp/build.ngdbuild.log |
30 | mv $(PROJECT).bld $(TMP) |
31 | mv _ngo $(TMP) |
32 | |
33 | map: |
34 | map -intstyle ise -p xc3s1500-fg456-4 -cm area -pr b -k 4 -c 100 -o $(PROJECT)_map.ncd $(PROJECT).ngd $(PROJECT).pcf &> tmp/build.map.log |
35 | mv $(PROJECT)_map.mrp $(PROJECT)_map.ngm $(PROJECT).ngc $(TMP) |
36 | |
37 | par: |
38 | @#par -w -intstyle ise -ol std -n 4 -t 1 $(PROJECT)_map.ncd $(PROJECT).dir $(PROJECT).pcf &> tmp/build.par.log |
39 | par -w -intstyle ise -ol std -t 1 $(PROJECT)_map.ncd $(PROJECT).ncd $(PROJECT).pcf &> tmp/build.par.log |
40 | mv $(PROJECT).xpi $(PROJECT).par $(PROJECT).pad $(TMP) |
41 | mv $(PROJECT)_pad.csv $(PROJECT)_pad.txt $(TMP) |
42 | |
43 | trace: |
44 | trce -intstyle ise -e 3 -l 3 -s 4 -xml $(PROJECT) $(PROJECT).ncd -o $(PROJECT).twr $(PROJECT).pcf &> tmp/build.trce.log |
45 | #cat $(PROJECT).twr |
46 | mv $(PROJECT).twr $(TMP) |
47 | mv $(PROJECT).twx $(TMP) |
48 | mv $(PROJECT)_map.ncd $(PROJECT).ngd $(PROJECT).pcf $(TMP) |
49 | |
50 | prom: |
51 | bitgen -intstyle ise -f $(PROJECT).ut $(PROJECT).ncd &> tmp/build.bitgen.log |
52 | # cp $(PROJECT).bit ../jcarr_last.bit |
53 | #cat $(PROJECT).drc |
54 | mv $(PROJECT).drc $(TMP) |
55 | #cat $(PROJECT).bgn |
56 | mv $(PROJECT).bgn $(TMP) |
57 | |
58 | mcs: |
49b4c0ec |
59 | promgen -w -p mcs -u 0 $(PROJECT) -o pci1 pci2 -x xcf02s xcf04s |
95764a11 |
60 | |
61 | final: |
62 | -mv $(PROJECT).unroutes *.xml $(TMP) |
63 | -mv $(PROJECT)*.map $(TMP) |
64 | -mv $(PROJECT).ncd $(TMP) |
62d4774b |
65 | -grep -A 8 -B 1 ^Selected\ Device tmp/$(PROJECT).syr |
95764a11 |
66 | -grep -A 8 -B 1 ^Timing\ Summary tmp/build.xst.log |
67 | -grep -A 21 -B 1 ^Design\ Summary tmp/build.map.log |
68 | |
69 | burn: |
70 | xc3sprog $(PROJECT).bit |
71 | |
72 | clean: |
73 | rm -rf $(TMP) |
74 | rm -rf *.bit *.bgn *.mcs *.prm *.bld *.drc *.mcs *.ncd *.ngc *.ngd |
e8e63794 |
75 | rm -rf *.ngr *.pad *.par *.pcf *.prm *.syr *.twr *.twx *.xpi *.lso *.prm *.mcs _impact* |
95764a11 |
76 | rm -rf $(PROJECT)_map.* $(PROJECT)_pad.* |
77 | rm -rf _ngo xst |
78 | rm -rf build.log |
79 | rm -rf $(PROJECT).unroutes *.xml |
82cc0f36 |
80 | |
81 | load: |
82 | impact -batch xc3s1500.batch |
49b4c0ec |
83 | |
84 | flash: mcs |
85 | impact -batch xcf.batch |