source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Synthesis @ 78

Last change on this file since 78 was 78, checked in by rosiere, 16 years ago

Add :

  • Execute_loop (must be test systemC)
  • Prediction
    • Direction : predifined scheme
    • Branch Target Buffer
  • iFetch_unit
    • ifetch_queue
    • pc management
  • Decod_unit
    • coming soon : support for custom operation
  • Rename_unit
    • RAT
    • Free_list
    • Dependence RAW check
    • Load store unit pointer
  • New Environnement (hierarchy_memory will remove in a next version)


Modif :

  • Manage Custom Operation
  • All component in execute_loop to use the new statistics management

Not Finish :

  • Return Address Stack
  • Environnement
File size: 3.8 KB
RevLine 
[2]1#
2# $Id$
3#
[53]4# [ Description ]
[2]5#
6# Makefile
7#
8
[53]9#-----[ Variables ]----------------------------------------
[2]10
11DIR_VHDL                        = .
12DIR_WORK                        = work
13
14FPGA_CFG_FILE_LOCAL             = mkf.info
15FPGA_CFG_FILE_GLOBAL_DIR        = $(DIR_MORPHEO)/Behavioural
16FPGA_CFG_FILE_GLOBAL            = configure.mkf
17
[19]18FPGA_FILES                      = $(patsubst $(DIR_CFG_GEN)/%.cfg,%,$(wildcard $(DIR_CFG_GEN)/*.cfg))   \
19                                  $(patsubst $(DIR_CFG_USER)/%.cfg,%,$(wildcard $(DIR_CFG_USER)/*.cfg))
20
21FPGA_LOG_FILES                  = $(patsubst $(DIR_CFG_GEN)/%.cfg,$(DIR_LOG)/%.fpga.log,$(wildcard $(DIR_CFG_GEN)/*.cfg))       \
22                                  $(patsubst $(DIR_CFG_USER)/%.cfg,$(DIR_LOG)/%.fpga.log,$(wildcard $(DIR_CFG_USER)/*.cfg))
[53]23#-----[ Rules ]--------------------------------------------
[62]24.PRECIOUS                       : $(DIR_LOG)/%.vhdl.log $(DIR_LOG)/%.sim.log
[2]25
26vhdl                            : execute $(DIR_WORK)
[48]27                                @\
[15]28                                declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*_Pack.vhdl));                                              \
[2]29                                declare -a log_files=($${vhdl_files[*]/%.vhdl/.vhdl.log});                                              \
[48]30                                if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;          \
31                                declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*_Testbench.vhdl));                                         \
[2]32                                declare -a log_files=($${vhdl_files[*]/%.vhdl/.vhdl.log});                                              \
[48]33                                if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;          \
[15]34                                declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*.vhdl|$(GREP_NOT) "(_Pack\.|_Testbench\.)"));              \
[2]35                                declare -a log_files=($${vhdl_files[*]/%.vhdl/.vhdl.log});                                              \
[48]36                                if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;
[2]37
[62]38sim                             : vhdl
[48]39                                @\
[15]40                                declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*_Testbench.vhdl));                                         \
[62]41                                declare -a log_files=($${vhdl_files[*]/%.vhdl/.sim.log});                                               \
[48]42                                if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;
[2]43
[62]44fpga                            : sim
[48]45                                @\
46                                $(ECHO) -e "" > $(FPGA_CFG_FILE_LOCAL); \
47                                $(ECHO) "files :::::::: $(FPGA_FILES)"; \
48                                for file in $(FPGA_FILES); do                                                                           \
[2]49                                        declare -a files=($$($(LS) $$file*.vhdl|$(GREP_NOT) "(_Testbench\.)"));                         \
50                                        $(ECHO) -e "# $$file"                             >> $(FPGA_CFG_FILE_LOCAL);                    \
51                                        $(ECHO) -e "target_dep\tall\t$$file.ngc"          >> $(FPGA_CFG_FILE_LOCAL);                    \
52                                        $(ECHO) -e "target_dep\t$$file.ngc\t$$file.prj"   >> $(FPGA_CFG_FILE_LOCAL);                    \
53                                        $(ECHO) -e "target_dep\t$$file.prj\t$${files[*]}" >> $(FPGA_CFG_FILE_LOCAL);                    \
54                                        $(ECHO) -e ""                                     >> $(FPGA_CFG_FILE_LOCAL);                    \
[48]55                                done;                                   \
[78]56                                ($(XILINX_ENV); cd $(FPGA_CFG_FILE_GLOBAL_DIR); $(FPGA_CFG_FILE_GLOBAL));                               \
[48]57                                $(MAKE) $(FPGA_LOG_FILES);
[2]58
59$(DIR_LOG)/%.fpga.log           :
[48]60                                @\
61                                $(ECHO) "Synthetis on FPGA  : $*"; \
62                                $(XILINX_ENV); $(MAKE) -f Makefile.mkf $*.ngc &> $@;
[2]63
64$(DIR_WORK)                     :
[48]65                                @\
66                                $(ECHO) "Create work-space  : $@"; \
67                                $(MODELTECH_VLIB) $@;
[2]68
[62]69$(DIR_LOG)/%.sim.log            : $(DIR_VHDL)/%.vhdl $(DIR_LOG)/%.vhdl.log
[48]70                                @\
71                                $(ECHO) "VHDL's Simulation  : $*"; \
72                                $(MODELTECH_VSIM) "$(DIR_WORK).`$(BASENAME) $* |$(UPPERtoLOWER)`" &> $@; \
[42]73                                declare -i count=`$(GREP) -ch "Test OK" $@`;            \
74                                if $(TEST) $$count -ne 0;                               \
[2]75                                then echo "                     $* ... OK";             \
76                                else echo "                     $* ... KO"; exit 1;     \
77                                fi;
78
79$(DIR_LOG)/%.vhdl.log           : $(DIR_VHDL)/%.vhdl
[48]80                                @\
81                                $(ECHO) "VHDL's Compilation : $*"; \
82                                $(MODELTECH_VCOM) $< &> $@;
[2]83
84synthesis_clean                 :
[48]85                                @\
86                                if $(TEST) -f Makefile.mkf; then $(MAKE) -f Makefile.mkf clean; fi; \
[68]87                                $(RM) $(DIR_WORK) transcript Makefile.mkf $(FPGA_CFG_FILE_LOCAL) *.wlf;
[2]88
89synthesis_help                  :
[48]90                                @\
[53]91                                $(ECHO) " -----[ Synthesis ]----------------------------------";\
[48]92                                $(ECHO) "";\
93                                $(ECHO) " * vhdl                 : compile all vhdl's file";\
[62]94                                $(ECHO) " * sim                  : simulate all testbench's file";\
[48]95                                $(ECHO) " * fpga                 : synthetis with fpga's tools";\
96                                $(ECHO) "";
Note: See TracBrowser for help on using the repository browser.