Ignore:
Timestamp:
Apr 14, 2009, 8:39:12 PM (15 years ago)
Author:
rosiere
Message:

1) Add modelsim simulation systemC
2) Modelsim cosimulation systemC / VHDL is not finish !!!! (cf execute_queue and write_unit)
3) Add multi architecture
5) Add template for comparator, multiplier and divider
6) Change Message
Warning) Various test macro have change, many selftest can't compile

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Synthesis

    r112 r113  
    1010
    1111DIR_VHDL                        = .
    12 DIR_WORK                        = work
     12WORK_NAME                       = work
     13DIR_WORK                        = $(MORPHEO_TMP)/$(WORK_NAME)
    1314
    1415FPGA_CFG_FILE_LOCAL             = mkf.info
     
    2122FPGA_LOG_FILES                  = $(patsubst $(DIR_CFG_GEN)/%.cfg,$(DIR_LOG)/%.fpga.log,$(wildcard $(DIR_CFG_GEN)/*.cfg))       \
    2223                                  $(patsubst $(DIR_CFG_USER)/%.cfg,$(DIR_LOG)/%.fpga.log,$(wildcard $(DIR_CFG_USER)/*.cfg))
     24
     25
    2326#-----[ Rules ]--------------------------------------------
    2427.PRECIOUS                       : $(DIR_LOG)/%.vhdl.log $(DIR_LOG)/%.sim.log
    2528
    26 vhdl                            : execute $(DIR_WORK)
     29vhdl                            : $(EXEC_LOG)
     30                                @\
     31                                $(MAKE) vhdl_package; \
     32                                $(MAKE) vhdl_entity; \
     33                                $(MAKE) vhdl_testbench
     34
     35vhdl_package                    : $(DIR_WORK)
    2736                                @\
    2837                                declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*_Pack.vhdl));                                              \
    2938                                declare -a log_files=($${vhdl_files[*]/%.vhdl/.vhdl.log});                                              \
    30                                 if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;          \
     39                                if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) -k $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;
     40
     41vhdl_testbench                  : $(DIR_WORK)
     42                                @\
     43                                declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*_Testbench.vhdl));                                         \
     44                                declare -a log_files=($${vhdl_files[*]/%.vhdl/.vhdl.log});                                              \
     45                                if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) -k $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;
     46
     47vhdl_entity                     : $(DIR_WORK)
     48                                @\
    3149                                declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*.vhdl|$(GREP_NOT) "(_Pack\.|_Testbench\.)"));              \
    3250                                declare -a log_files=($${vhdl_files[*]/%.vhdl/.vhdl.log});                                              \
    33                                 if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;          \
    34                                 declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*_Testbench.vhdl));                                         \
    35                                 declare -a log_files=($${vhdl_files[*]/%.vhdl/.vhdl.log});                                              \
    36                                 if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;
     51                                if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) -k $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;       \
    3752
     53#list                           :
     54#                               @\
     55#                               declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*.vhdl|$(GREP_NOT) "(_Pack\.|_Testbench\.)"));              \
     56#                               for file1 in $${vhdl_files[*]}; do \
     57#                                   declare    x=$$(basename $${file1} .vhdl); \
     58#                                   declare -i count_x=$($(ECHO) $${x} | ${WC} -m); \
     59#                                    for file2 in $${vhdl_files[*]}; do \
     60#                                       if $(TEST) "$${file1}" != "$${file2}"; then\
     61#                                          declare    y=$$(basename $${file2} .vhdl); \
     62#                                          declare -i count_y=$($(ECHO) $${y} | ${WC} -m); \
     63#                                          if $(TEST) $${count_x} -gt $${count_y}; then \
     64#                                             break; \
     65#                                          fi; \
     66#                                          $(ECHO) $${x}; \
     67#                                       fi; \
     68#                                   done; \
     69#                               done;
    3870
    3971sim                             : vhdl
     
    4173                                declare -a vhdl_files=($$($(LS) $(DIR_VHDL)/*_Testbench.vhdl));                                         \
    4274                                declare -a log_files=($${vhdl_files[*]/%.vhdl/.sim.log});                                               \
    43                                 if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;
     75                                if $(TEST) $${#log_files[*]} -ne 0; then $(MAKE) -k $${log_files[*]/#$(DIR_VHDL)/$(DIR_LOG)}; fi;
    4476
    4577fpga                            : sim
     
    5688                                done;                                   \
    5789                                ($(XILINX_ENV); cd $(FPGA_CFG_FILE_GLOBAL_DIR); ./$(FPGA_CFG_FILE_GLOBAL));                             \
    58                                 $(MAKE) $(FPGA_LOG_FILES);
     90                                $(MAKE) -k $(FPGA_LOG_FILES);
    5991
    6092$(DIR_LOG)/%.fpga.log           :
     
    6597$(DIR_WORK)                     :
    6698                                @\
    67                                 $(ECHO) "Create work-space  : $@"; \
    68                                 $(MODELTECH_VLIB) $@; \
    69                                 $(MODELTECH_VMAP) $(XILINX_CORELIB);
     99                                $(ECHO) "Create work-space  : $@";                                                      \
     100                                $(MODELTECH_VLIB) $@;                                                                   \
     101                                $(MODELTECH_VMAP) $(XILINX_LIBNAME) $(XILINX_LIBDIR);                                   \
     102                                if $(TEST) $${?} -ne 0; then                                                            \
     103                                   $(ECHO) "Xilinx corelib must be compiled to simulation tools";                       \
     104                                   $(ECHO) "Run manualy \"$(XILINX_COMPXLIB)\" with $(XILINX_CORELIB) directory";       \
     105                                fi;                                 
    70106
    71107$(DIR_LOG)/%.sim.log            : $(DIR_VHDL)/%.vhdl $(DIR_LOG)/%.vhdl.log
     
    82118                                @\
    83119                                $(ECHO) "VHDL's Compilation : $*"; \
    84                                 $(MODELTECH_VCOM) $< &> $@;
     120                                $(MODELTECH_VCOM) -work $(DIR_WORK) $< &> $@;
    85121
    86122synthesis_clean                 :
    87123                                @\
    88124                                if $(TEST) -f Makefile.mkf; then $(MAKE) -f Makefile.mkf clean; fi; \
    89                                 $(RM) $(DIR_WORK) transcript Makefile.mkf *.wlf;
     125                                $(RM) $(DIR_WORK) transcript Makefile.mkf *wlf* modelsim.ini;
    90126
    91127synthesis_clean_all             : synthesis_clean
Note: See TracChangeset for help on using the changeset viewer.