]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/lx-rocon.git/commitdiff
Improve tumbl, tweak xst settings for more optimal synthesis
authorMartin Meloun <meloumar@cmp.felk.cvut.cz>
Mon, 30 Sep 2013 12:27:45 +0000 (14:27 +0200)
committerMartin Meloun <meloumar@cmp.felk.cvut.cz>
Mon, 30 Sep 2013 12:27:45 +0000 (14:27 +0200)
hw/Makefile
hw/lx_rocon_top.prj
submodule/tumbl

index d2706c416b1fe1c4ef264fb11b2600729b6cee4d..cfdb561c7337da33bc2ddf0177a008e616b0c613 100644 (file)
@@ -62,6 +62,28 @@ REQ_FIRMWARE       := $(OUT)/imem.bin $(OUT)/imem.asm $(OUT)/dmem.bin $(OUT)/fir
 #===============================================================================
 # Sythesis settings
 
+XST_GLOB_OPT := AllClockNets
+XST_OPT_LEVEL := 2
+XST_IOB_PACKING := False
+XST_KEEP_HIEARCHY := No
+XST_NETLIST_HIEARCHY := As_Optimized
+XST_READ_CORES := YES
+XST_WRITE_TIMING_CONSTRAINTS := NO
+XST_CROSS_CLOCK_ANALYSIS := NO
+XST_CASE := Maintain
+XST_REDUCE_CONTROL_SETS := Auto
+XST_REGISTER_DUPLICATION := Yes
+XST_REGISTER_BALANCING := Yes
+XST_MOVE_FIRST_STAGE := YES
+XST_MOVE_LAST_STAGE := YES
+XST_OPTIMIZE_PRIMITIVES := NO
+XST_USE_CLOCK_ENABLE := AUTO
+XST_EQUIVALENT_REGISTER_REMOVAL := YES
+XST_IOBUF := YES
+XST_MAX_FANOUT := 100000
+XST_RESOURCE_SHARING := YES
+XST_SLICE_UTILIZATION_RATIO_MARGIN := 5
+
 MAP_LOGIC_OPT := on
 MAP_GLOBAL_OPT := off
 MAP_EQUIVALENT_REGISTER_REMOVAL := off
@@ -112,13 +134,31 @@ re-synthesize $(REQ_NGC): $(addprefix $(REQ_SRC)/,$(PRJ))
          -top $(TOP) \
          -p $(DEVICE) \
          -opt_mode Speed \
-         -keep_hierarchy soft \
-         -opt_level 1" | xst | tee xst.log
+         -keep_hierarchy $(XST_KEEP_HIEARCHY) \
+         -glob_opt $(XST_GLOB_OPT) \
+         -opt_level $(XST_OPT_LEVEL) \
+         -iob $(XST_IOB_PACKING) \
+         -read_cores $(XST_READ_CORES) \
+         -write_timing_constraints $(XST_WRITE_TIMING_CONSTRAINTS) \
+         -cross_clock_analysis $(XST_CROSS_CLOCK_ANALYSIS) \
+         -case $(XST_CASE) \
+         -reduce_control_sets $(XST_REDUCE_CONTROL_SETS) \
+         -resource_sharing $(XST_RESOURCE_SHARING) \
+         -iobuf $(XST_IOBUF) \
+         -max_fanout $(XST_MAX_FANOUT) \
+         -register_duplication $(XST_REGISTER_DUPLICATION) \
+         -register_balancing $(XST_REGISTER_BALANCING) \
+         -move_first_stage $(XST_MOVE_FIRST_STAGE) \
+         -move_last_stage $(XST_MOVE_LAST_STAGE) \
+         -optimize_primitives $(XST_OPTIMIZE_PRIMITIVES) \
+         -use_clock_enable $(XST_USE_CLOCK_ENABLE) \
+         -equivalent_register_removal $(XST_EQUIVALENT_REGISTER_REMOVAL) \
+         -slice_utilization_ratio_maxmargin $(XST_SLICE_UTILIZATION_RATIO_MARGIN)" | xst | tee xst.log
 
 .PHONY: re-translate
 re-translate $(REQ_NGD): $(REQ_NGC) $(REQ_UCF)
        cd $(OUT); \
-       ngdbuild -intstyle $(INTSTYLE) -p $(DEVICE) -uc $(SRC)/$(UCF) \
+       ngdbuild -intstyle $(INTSTYLE) -p $(DEVICE) -nt timestamp -uc $(SRC)/$(UCF) \
          $(addprefix -sd $(SRC)/,$(SEARCH_DIRS)) \
          $(NGC) \
          $(NGD)
index cdfca3d8c582ab3e0fe55a7dc9fd1c36afda02c1..42a5741f75873cfb690b86472809c755b023aa4e 100644 (file)
@@ -1,8 +1,6 @@
 vhdl work "tumbl/mbl_Pkg.vhd"
 vhdl work "lx_rocon_pkg.vhd"
-vhdl work "dff2.vhd"
 vhdl work "xilinx_dualport_bram.vhd"
-vhdl work "qcounter.vhd"
 vhdl work "tumbl/mem.vhd"
 vhdl work "tumbl/fetch.vhd"
 vhdl work "tumbl/exeq.vhd"
@@ -11,12 +9,9 @@ vhdl work "tumbl/core_ctrl.vhd"
 vhdl work "lx-rocon_tumbl/lx_rocon_imem.vhd"
 vhdl work "lx-rocon_tumbl/lx_rocon_gprf_abd.vhd"
 vhdl work "lx-rocon_tumbl/lx_rocon_dmem.vhd"
-vhdl work "irc_reader.vhd"
 vhdl work "lx-rocon_tumbl/lx_rocon_tumbl.vhd"
-vhdl work "irc_register.vhd"
 vhdl work "calibration_write_register.vhd"
 vhdl work "calibration_read_register.vhd"
 vhdl work "bus_tumbl.vhd"
-vhdl work "bus_irc.vhd"
 vhdl work "bus_calibration.vhd"
 vhdl work "lx_rocon_top.vhd"
index 8f15121bd781ce710a4bea9c4bb9b4975b556e2e..b4ac16f8af94e83dcf1af5caf7b54a9335f41dd1 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 8f15121bd781ce710a4bea9c4bb9b4975b556e2e
+Subproject commit b4ac16f8af94e83dcf1af5caf7b54a9335f41dd1