Subversion Repositories socgen
[/] [socgen/] [trunk/] [tools/] [bin/] [Makefile.root] - Rev 100
Go to most recent revision | Compare with Previous | Blame | View Log
SHELL=/bin/shMAKE=makeVPP_NAME=vppreprocVERILOG_NAME=iverilogCUR_DIR=$(shell pwd)VAR_DIR=$(CUR_DIR)/variantsSRC_DIR=$(CUR_DIR)/verilogGEN_DIR=$(CUR_DIR)/gen################################################################################# Run verilator for lint check################################################################################.PHONY lint:lint:echo "################################################################################"; \echo; \rm -f TB.v;\chmod 755 filelist.ver ;\./filelist.ver ;\verilator --cc TB.v --exe ../../../../../../../tools/lint/sim_main.cpp -top-module TB -Wno-WIDTH -Wno-CASEX 2> lint.log;\echo "################################################################################"; \################################################################################# preform linting for each variant################################################################################.PHONY build_lint:build_lint:@for VARIANT in `ls $(CUR_DIR)/../lint`; do \echo "################################################################################"; \echo; \echo "Coverage: $$VARIANT ####"; echo; \cd $(CUR_DIR)/../lint/$$VARIANT/;\rm -f *.log;\chmod 755 filelist.ver ;\rm -f TB.v;\./filelist.ver ;\verilator --cc TB.v --exe ../../../../../../../tools/lint/sim_main.cpp -top-module TB -Wno-WIDTH -Wno-CASEX 2> lint.log;\cd $(CUR_DIR) ;\done; \################################################################################# run simulation suite################################################################################.PHONY clean_sims:clean_sims:(\rm -f $(CUR_DIR)/../out/*;\rm -f $(CUR_DIR)/../log/*;\)################################################################################# set up coverage for each variant################################################################################.PHONY build_cov:build_cov:@for VARIANT in `ls $(CUR_DIR)/../cov`; do \echo "################################################################################"; \echo; \echo "Coverage: $$VARIANT ####"; echo; \cd $(CUR_DIR)/../cov/$$VARIANT/;\rm -f *.log;\$(VPP_NAME) --noline --noblank -DSYNTHESIS ../../../../../../../tools/coverage/TestBench > coverage.v ;\make build_cdd ;\cd $(CUR_DIR) ;\done; \################################################################################# run coverage report after all sims################################################################################.PHONY print_cov:print_cov:@for VARIANT in `ls $(CUR_DIR)/../cov`; do \echo "################################################################################"; \echo; \echo "Report Coverage: $$VARIANT ####"; echo; \cd $(CUR_DIR)/../cov/$$VARIANT/;\make report_cov;\cd $(CUR_DIR) ;\done; \.PHONY run_sims:run_sims: clean_sims build_cov build_lint@for VARIANT_PROG in `ls $(CUR_DIR)/../icarus`; do \echo "################################################################################"; \echo; \echo "Simulating: $$VARIANT_PROG ####"; echo; \cd $(CUR_DIR)/../icarus/$$VARIANT_PROG/;\make sim;\done; \################################################################################# run each sim and then add coverage################################################################################.PHONY sim:sim:(\$(VERILOG_NAME) -f filelist.sim -D VCD ../../../../../../../tools/simulation/TestBench 2> ./${test}_elab.log | tee >> ./${test}_elab.log ;\./a.out 2> ./${test}_sim.log | tee >> ./${test}_sim.log ;\rm a.out;\cd ../../cov/${comp};\make score_cov TEST=${test} ;\).PHONY group_build_fpgas:group_build_fpgas:@for COMP in `ls $(CUR_DIR)/../ip`; do \echo "################################################"; \echo; \echo "Synthesising: $$COMP ####"; echo; \cd $(CUR_DIR)/../ip/$$COMP/bin;\make build_fpgas;\done; \.PHONY build_fpgas:build_fpgas:@for COMP in `ls $(CUR_DIR)/../syn/ise`; do \echo "################################################"; \echo; \echo "Synthesising: $$COMP ####"; echo; \cd $(CUR_DIR)/../syn/ise/$$COMP/;\make fpga;\done; \PHONY: fpgafpga:(\echo "run -ifn ./filelist.syn -ifmt mixed -top " $(Design) " -ofn " $(Design)".ngc -ofmt NGC -p " $(Part) "-opt_mode Speed -opt_level 1" > Xst;\xst -ifn ./Xst -ofn $(Design).log;\ngdbuild -dd _ngo -nt timestamp -p $(Part) -uc ./target/Pad_Ring.ucf $(Design) >>$(Design).log ;\map -p $(Part) -cm area -ir off -pr off -c 100 -o $(Design)_map.ncd $(Design).ngd $(Design).pcf >>$(Design).log ;\par -w -ol std -t 1 $(Design)_map.ncd $(Design).ncd $(Design).pcf >>$(Design).log ;\trce -e 3 -s 5 -xml $(Design) $(Design).ncd -o $(Design).twr $(Design).pcf -ucf ../target/Pad_Ring.ucf >>$(Design).log ;\netgen -s 5 -pcf $(Design).pcf -sdf_anno true -sdf_path "./gate_sims/par" -insert_glbl true -insert_pp_buffers true -w -dir ./gate_sims/par -ofmt verilog -sim $(Design).ncd $(Design).v >>$(Design).log ;\bitgen -f ./target/cclk.ut $(Design).ncd >>$(Design).log ;\mv $(Design).bit Board_Design_cclk.bit ;\promgen -w -u 0 Board_Design_cclk >>$(Design).log ; \mv Board_Design_cclk.mcs ./debug ;\bitgen -f ./target/jtag.ut $(Design).ncd >>$(Design).log ;\mv $(Design).bit Board_Design_jtag.bit ;\impact -batch ./debug/impact_bat >>$(Design).log ;\mv *.bit ./debug ;\).PHONY group_build_sw:group_build_sw: group_start_sw@for COMP in `ls $(CUR_DIR)/../sw`; do \echo "################################################"; \echo; \echo "Linking: $$COMP ###"; echo; \cd $(CUR_DIR)/../sw/$$COMP;\make all;\done; \.PHONY group_start_sw:group_start_sw:@for CHILD in `ls $(CUR_DIR)/../children`; do \echo "################################################"; \echo; \echo "Linking: $$CHILD ##"; echo; \cd $(CUR_DIR)/../children/$$CHILD/bin;\${MAKE} group_build_sw;\done; \.PHONY group_run_sims:group_run_sims:@for COMP in `ls $(CUR_DIR)/../ip`; do \echo "################################################"; \echo; \echo "Linking: $$COMP ####"; echo; \cd $(CUR_DIR)/../ip/$$COMP/sim/bin;\make run_sims COMP=$$COMP ;\make print_cov ;\done; \
Go to most recent revision | Compare with Previous | Blame | View Log
