@@ -3,15 +3,15 @@ include $(TOP_DIR)/dir_list.mk
33.PHONY : all
44all : $(TARGET )
55
6- HARDWARE = marblemini
7- DSP_FLAVOR = 7
86XILINX_TOOL := VIVADO
9-
107APP_NAME = cmoc
118
9+ HARDWARE = marblemini
10+
1211APP_DIR = $(TOP_DIR ) /cmoc
1312DSP_DIR = $(TOP_DIR ) /dsp
1413OSCOPE_COMMON_DIR = $(TOP_DIR ) /projects/oscope/common
14+ TEST_MARBLE_FAMILY = $(TOP_DIR ) /projects/test_marble_family
1515BS_HARDWARE_DIR = $(BOARD_SUPPORT_DIR ) /$(HARDWARE )
1616
1717vpath % .v $(APP_DIR ) $(RTSIM_DIR ) $(DSP_DIR ) $(DSP_DIR ) /hosted $(BADGER_DIR )
@@ -24,19 +24,20 @@ include $(APP_DIR)/rules.mk
2424
2525SYNTH_OPT += $(VERILOG_DEFINE_FLAGS )
2626
27- VFLAGS_DEP += -y$(BS_HARDWARE_DIR ) -y$(BOARD_SUPPORT_DIR ) /marblemini -y$(FPGA_FAMILY_DIR ) -y$(FPGA_FAMILY_DIR ) -y$(FPGA_FAMILY_DIR ) /xilinx -y$(FPGA_FAMILY_DIR ) /pll -y. -y$(APP_DIR ) -y$(HOMELESS_DIR ) -y$(HOMELESS_DIR ) /freq_demo -y$(BADGER_DIR ) -y$(BADGER_DIR ) /tests -y$(BADGER_DIR ) /tests/kc705 -y$(SERIAL_IO_DIR ) -y../../test_marble_family -y../../test_marble_family /pps_lock -y$(PERIPH_DRIVERS_DIR ) -y$(PERIPH_DRIVERS_DIR ) /i2cbridge -y../bmb7_cu
27+ VFLAGS_DEP += -y$(BS_HARDWARE_DIR ) -y$(BOARD_SUPPORT_DIR ) /marblemini -y$(FPGA_FAMILY_DIR ) -y$(FPGA_FAMILY_DIR ) -y$(FPGA_FAMILY_DIR ) /xilinx -y$(FPGA_FAMILY_DIR ) /pll -y. -y$(APP_DIR ) -y$(HOMELESS_DIR ) -y$(HOMELESS_DIR ) /freq_demo -y$(BADGER_DIR ) -y$(BADGER_DIR ) /tests -y$(BADGER_DIR ) /tests/kc705 -y$(SERIAL_IO_DIR ) -y$( TEST_MARBLE_FAMILY ) -I $( TEST_MARBLE_FAMILY ) -y $( TEST_MARBLE_FAMILY ) /pps_lock -y$(PERIPH_DRIVERS_DIR ) -y$(PERIPH_DRIVERS_DIR ) /i2cbridge -y../bmb7_cu
2828
2929VFLAGS += $(VERILOG_DEFINE_FLAGS )
3030
31- system_top.xdc : $(BOARD_SUPPORT_DIR ) /$(HARDWARE ) /Marble.xdc $(BOARD_SUPPORT_DIR ) /$(HARDWARE ) /pin_map.csv digilent_led_pmod.csv oscope_rules .csv
31+ system_top.xdc : $(BOARD_SUPPORT_DIR ) /$(HARDWARE ) /Marble.xdc $(BOARD_SUPPORT_DIR ) /$(HARDWARE ) /pin_map.csv $( HARDWARE ) _top .csv
3232 @echo " Building for $( HARDWARE) ; Use make HARDWARE=marble(mini) otherwise"
3333 $(PYTHON ) $(BADGER_DIR ) /tests/meta-xdc.py $^ > $@
3434
35- CLEAN += $(TARGET ) $(AUTOGEN_DIR ) /config_romx.v *~ system_top.xdc cmoc_top.bin cmoc_top.prm cmoc_top.bit $(APP_NAME ) _regmap_long.json $(APP_NAME ) _regmap.json $(RTEFI_CLEAN )
35+ CLEAN += $(TARGET ) $(AUTOGEN_DIR ) /config_romx.v *~ system_top.xdc cmoc_top.bin cmoc_top.prm cmoc_top.bit $(APP_NAME ) _regmap_long.json $(APP_NAME ) _regmap.json marble_features*.vh $(RTEFI_CLEAN )
36+ CLEAN += *.log *.jou
3637CLEAN_DIRS += _xilinx
3738
3839cmoc_top.bit : $(AUTOGEN_DIR ) /config_romx.v
39- cmoc_top.v : $(AUTOGEN_DIR ) /config_romx.v rtefi_blob.v construct_tx_table.v cryomodule_auto
40+ cmoc_top.v : marble_features_defs.vh marble_features_params.vh $(AUTOGEN_DIR ) /config_romx.v rtefi_blob.v construct_tx_table.v cryomodule_auto
4041
4142download : cmoc_top.bit
4243 openocd -f $(BOARD_SUPPORT_DIR ) /$(HARDWARE ) /marble.cfg -c " transport select jtag; init; xc7_program xc7.tap; pld load 0 $^; exit"
@@ -50,6 +51,10 @@ $(APP_NAME)_regmap.json: $(AUTOGEN_DIR)/regmap_cryomodule.json $(OSCOPE_COMMON_D
5051 $(PYTHON ) $(OSCOPE_COMMON_DIR ) /merge_json.py -o $(APP_NAME ) _regmap_long.json -i $(filter % .json, $^ )
5152 $(PYTHON ) $(OSCOPE_COMMON_DIR ) /shorten_names.py -o $@ -i $(APP_NAME ) _regmap_long.json
5253
54+ # actual file output is marble_features_(defs/params).vh
55+ marble_features_defs.vh marble_features_params.vh : $(BUILD_DIR ) /gen_features.py $(TEST_MARBLE_FAMILY ) /marble_features.yaml
56+ $(PYTHON ) $< -i $(filter % .yaml, $^ ) -c $(HARDWARE ) --split
57+
5358include $(BUILD_DIR ) /bottom_rules.mk
5459
5560ifneq (,$(findstring bit,$(MAKECMDGOALS ) ) )
0 commit comments