uart_rx: ein prozessmodell. spart weitere 3 logic elements :P
[hwmod.git] / spartan3e / Makefile
1 SHELL := bash
2
3 VHDL_DIR := ../src
4 PROJ_VHDL = alu.vhd \
5         textmode_vga/spartan3e_starterkit/textmode_vga_platform_dependent_pkg.vhd \
6         clk_vga_s3e.vhd \
7         calc_s3e.vhd \
8         display.vhd \
9         history.vhd \
10         math_pkg.vhd \
11         gen_pkg.vhd \
12         parser.vhd \
13         scanner.vhd \
14         sp_ram.vhd \
15         uart_rx.vhd \
16         uart_tx.vhd \
17         pc_communication.vhd \
18         textmode_vga/console_sm.vhd \
19         textmode_vga/console_sm_beh.vhd \
20         textmode_vga/console_sm_sync.vhd \
21         textmode_vga/console_sm_sync_beh.vhd \
22         textmode_vga/font_pkg.vhd \
23         textmode_vga/font_rom.vhd \
24         textmode_vga/font_rom_beh.vhd \
25         textmode_vga/interval.vhd \
26         textmode_vga/interval_beh.vhd \
27         textmode_vga/textmode_vga.vhd \
28         textmode_vga/textmode_vga_component_pkg.vhd \
29         textmode_vga/textmode_vga_h_sm.vhd \
30         textmode_vga/textmode_vga_h_sm_beh.vhd \
31         textmode_vga/textmode_vga_pkg.vhd \
32         textmode_vga/textmode_vga_struct.vhd \
33         textmode_vga/textmode_vga_v_sm.vhd \
34         textmode_vga/textmode_vga_v_sm_beh.vhd \
35         textmode_vga/video_memory.vhd \
36         textmode_vga/video_memory_beh.vhd \
37         ps2/ps2_keyboard_controller.vhd \
38         ps2/ps2_keyboard_controller_beh.vhd \
39         ps2/ps2_keyboard_controller_pkg.vhd \
40         ps2/ps2_transceiver.vhd \
41         ps2/ps2_transceiver_beh.vhd \
42         ps2/ps2_transceiver_pkg.vhd \
43         debouncing/counter.vhd \
44         debouncing/counter_beh.vhd \
45         debouncing/debounce.vhd \
46         debouncing/debounce_fsm.vhd \
47         debouncing/debounce_fsm_beh.vhd \
48         debouncing/debounce_pkg.vhd \
49         debouncing/debounce_struct.vhd \
50         debouncing/event_counter.vhd \
51         debouncing/event_counter_beh.vhd \
52         debouncing/event_counter_pkg.vhd \
53         debouncing/sync.vhd \
54         debouncing/sync_beh.vhd \
55         debouncing/sync_pkg.vhd
56
57 PROJ_VHDL := $(foreach n,$(PROJ_VHDL),$(VHDL_DIR)/$(n))
58
59 NAME := calc
60
61
62 all: generated/$(NAME).mcs
63
64 generated: 
65         rm -rf generated
66         mkdir generated
67
68 clean:
69         rm -rf *.o *.cf tb *.vcd $(NAME) $(SIM_TOP) *.ghw
70         rm -f *.bit *.bgn *_pad.txt *_pad.csv *.xpi *.srp *.ngc *.par
71         rm -f *.lst *.ngd *.ngm *.pcf *.mrp *.unroutes *.pad
72         rm -f *.bld *.ncd *.twr *.drc
73         rm -f *.map *.xrpt *.log *.twx *.xml *.ptwx
74         rm -rf xst $(NAME).prj
75         rm -rf generated/
76         rm -rf xlnx_auto_0_xdb
77
78 #Xilinx ISE actions. Uses a wrapper script named "xilinx" to run the ISE batch commands
79
80 # create an ISE project file from the list of VHDL files
81 $(NAME).prj: $(PROJ_VHDL)
82         echo $(PROJ_VHDL) |tr " " "\n">$(NAME).prj
83
84 bitfile: generated step0 step1 step2 step3 step4 step5
85
86 step0: $(NAME).prj 
87         xst -ifn ISE_scripts/$(NAME).scrs -ofn $(NAME).srp
88 step1:
89         ngdbuild -nt on -uc spartan3e.ucf $(NAME).ngc $(NAME).ngd
90 step2:
91         map -pr b $(NAME).ngd -o $(NAME).ncd $(NAME).pcf
92 step3:
93         par -w -ol high $(NAME).ncd $(NAME).ncd $(NAME).pcf
94 step4:
95         trce -v 10 -o $(NAME).twr $(NAME).ncd $(NAME).pcf
96 step5:
97         bitgen $(NAME).ncd generated/$(NAME).bit -w #-f $(NAME).ut
98
99 generated/$(NAME).bit: bitfile
100
101 jtag: generated/$(NAME).bit
102         impact -batch ISE_scripts/loadjtag.cmds
103
104 mcs: generated/$(NAME).bit
105         impact -batch ISE_scripts/makeprom.cmds
106
107 generated/$(NAME).mcs: mcs
108
109 load: generated/$(NAME).mcs
110         impact -batch ISE_scripts/loadprom.cmds
111
112 impact:
113         impact
114
115 ise: $(NAME).prj
116         ise