s3e: fix build break
[calu.git] / spartan3e / Makefile
1 SHELL := bash
2
3 VHDL_DIR := ../cpu/src
4 PROJ_VHDL = \
5         core_top_s3e.vhd \
6         alu_b.vhd \
7         alu_pkg.vhd \
8         alu.vhd \
9         common_pkg.vhd \
10         core_pkg.vhd \
11         decoder_b.vhd \
12         decoder.vhd \
13         decode_stage_b.vhd \
14         decode_stage.vhd \
15         exec_op/add_op_b.vhd \
16         exec_op/and_op_b.vhd \
17         exec_op/or_op_b.vhd \
18         exec_op/shift_op_b.vhd \
19         exec_op/xor_op_b.vhd \
20         exec_op.vhd \
21         execute_stage_b.vhd \
22         execute_stage.vhd \
23         extension_b.vhd \
24         extension_interrupt_b.vhd \
25         extension_interrupt.vhd \
26         extension_timer_b.vhd \
27         extension_timer_pkg.vhd \
28         extension_timer.vhd \
29         extension_pkg.vhd \
30         extension_uart_b.vhd \
31         extension_uart_pkg.vhd \
32         extension_uart.vhd \
33         extension_7seg_b.vhd \
34         extension_7seg_pkg.vhd \
35         extension_7seg.vhd \
36         extension_imp_b.vhd \
37         extension_imp_pkg.vhd \
38         extension_imp.vhd \
39         extension.vhd \
40         fetch_stage_b.vhd \
41         fetch_stage.vhd \
42         mem_pkg.vhd \
43         r2_w_ram_b.vhd \
44         r2_w_ram.vhd \
45         rom_b.vhd \
46         rom.vhd \
47         rs232_rx_arc.vhd \
48         rs232_rx.vhd \
49         rs232_tx_arc.vhd \
50         rs232_tx.vhd \
51         ram_xilinx.vhd \
52         ram_xilinx_b.vhd \
53         r_w_ram_b.vhd \
54         r_w_ram.vhd \
55         rw_r_ram_b.vhd \
56         rw_r_ram.vhd \
57         writeback_stage_b.vhd \
58         writeback_stage.vhd
59
60 PROJ_VHDL := $(foreach n,$(PROJ_VHDL),$(VHDL_DIR)/$(n))
61
62 NAME := core_top
63
64
65 all: generated/$(NAME).mcs
66
67 generated: 
68         rm -rf generated
69         mkdir generated
70
71 clean:
72         rm -rf *.o *.cf tb *.vcd $(NAME) $(SIM_TOP) *.ghw
73         rm -f *.bit *.bgn *_pad.txt *_pad.csv *.xpi *.srp *.ngc *.par
74         rm -f *.lst *.ngd *.ngm *.pcf *.mrp *.unroutes *.pad
75         rm -f *.bld *.ncd *.twr *.drc
76         rm -f *.map *.xrpt *.log *.twx *.xml *.ptwx
77         rm -rf xst $(NAME).prj
78         rm -rf generated/
79         rm -rf xlnx_auto_0_xdb _xmsgs
80
81 #Xilinx ISE actions. Uses a wrapper script named "xilinx" to run the ISE batch commands
82
83 # create an ISE project file from the list of VHDL files
84 $(NAME).prj: $(PROJ_VHDL)
85         echo $(PROJ_VHDL) |tr " " "\n">$(NAME).prj
86
87 bitfile: generated step0 step1 step2 step3 step4 step5
88
89 step0: $(NAME).prj 
90         xst -ifn ISE_scripts/$(NAME).scrs -ofn $(NAME).srp
91 step1:
92         ngdbuild -nt on -uc spartan3e.ucf $(NAME).ngc $(NAME).ngd
93 step2:
94         map -pr b $(NAME).ngd -o $(NAME).ncd $(NAME).pcf
95 step3:
96         par -w -ol high $(NAME).ncd $(NAME).ncd $(NAME).pcf
97 step4:
98         trce -v 10 -o $(NAME).twr $(NAME).ncd $(NAME).pcf
99 step5:
100         bitgen $(NAME).ncd generated/$(NAME).bit -w #-f $(NAME).ut
101
102 generated/$(NAME).bit: bitfile
103
104 jtag: generated/$(NAME).bit
105         impact -batch ISE_scripts/loadjtag.cmds
106
107 jtag_brv1: s3e_bootrom_v1.bit
108         impact -batch ISE_scripts/loadjtag_brv1.cmds
109
110 mcs: generated/$(NAME).bit
111         impact -batch ISE_scripts/makeprom.cmds
112
113 generated/$(NAME).mcs: mcs
114
115 load: generated/$(NAME).mcs
116         impact -batch ISE_scripts/loadprom.cmds
117
118 impact:
119         impact
120
121 ise: $(NAME).prj
122         ise