aboutsummaryrefslogtreecommitdiffstats
path: root/fpga/usrp3/top/x400/dboards/zbx/cpld/Makefile.zbx_cpld.inc
blob: 7b47f61cd32787f541cae705f57d5b5a39a98094 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#
# Copyright 2021 Ettus Research, a National Instruments Brand
#
# SPDX-License-Identifier: LGPL-3.0-or-later
#

##################################################
# Project Setup
##################################################
# TOP_MODULE = <Input arg>
# NAME = <Input arg>
# PART_ID = <Input arg>
# ARCH = <Input arg>

##################################################
# Include other makefiles
##################################################

PROJECT_DIR = $(abspath .)
BASE_DIR = $(abspath ../../../../)
IP_DIR = $(abspath ./ip)
include $(BASE_DIR)/../tools/make/quartus_design_builder.mak

# Include IP directory
include $(IP_DIR)/Makefile.inc

# Define VERILOG_DEFS for macros definition
VERILOG_DEFS=$(EXTRA_DEFS) $(GIT_HASH_VERILOG_DEF)

# Memory initialization files (CPLD default values)
REGS_PY_FILE=$(PROJECT_DIR)/../../../../../../../host/lib/ic_reg_maps/gen_zbx_cpld_regs.py
INIT_FILES_DIR=$(PROJECT_DIR)/register_endpoints/memory_init_files/
REGS_PY_MODULE=$(INIT_FILES_DIR)/zbx_cpld_regs_t.py

$(REGS_PY_MODULE): $(REGS_PY_FILE)
	@python3 $(REGS_PY_FILE) $(REGS_PY_MODULE)

# Using one of the files as a dependency (all files are generated at the same time)
INIT_FILES := $(INIT_FILES_DIR)/rx0_path_defaults.hex

$(INIT_FILES): $(REGS_PY_MODULE) $(INIT_FILES_DIR)/gen_defaults.py
	@python3 $(INIT_FILES_DIR)/gen_defaults.py

cpld_defaults: .prereqs $(INIT_FILES)
	@echo "Initialization files DONE ..."

bin: .prereqs
	$(call BUILD_QUARTUS_DESIGN,$(TOP_MODULE),$(ARCH),$(PART_ID),$(PROJECT_DIR),$(BUILD_DIR),$(POST_TCL_SCRIPT),0)
	@\
	pushd $(BUILD_DIR); \
	echo "Converting bitfile to svf format (ISP enabled)..."; \
	quartus_cpf --convert \
		--frequency 12.5MHz \
		--voltage 2.5       \
		--operation p       \
		output_files/$(TOP_MODULE).pof output_files/$(TOP_MODULE)_isp_on.svf -o background_programming=on; \
	echo "Converting bitfile to svf format (ISP disabled)..."; \
	quartus_cpf --convert \
		--frequency 12.5MHz \
		--voltage 2.5       \
		--operation p       \
		output_files/$(TOP_MODULE).pof output_files/$(TOP_MODULE)_isp_off.svf; \
	echo "Converting bitfile to rpd format..."; \
	quartus_cpf -c raw_conversion.cof; \
	popd;

quar_ip: .prereqs ip
	@echo "IP Build DONE ..."