aboutsummaryrefslogtreecommitdiffstats
path: root/fpga/usrp3/tools/make/diamond_design_builder.mak
diff options
context:
space:
mode:
authorJavier Valenzuela <javier.valenzuela@ni.com>2022-06-14 10:12:05 -0500
committerskooNI <60897865+skooNI@users.noreply.github.com>2022-07-20 15:57:20 -0500
commit303ddf1238ef1d38fb8b25f7e97b2319475299c1 (patch)
treeee9aba5aca59ee20dc7b618ab41c4cc7ba18ba40 /fpga/usrp3/tools/make/diamond_design_builder.mak
parent32786c63930bc532bca1f25ab8d3404b5773edfd (diff)
downloaduhd-303ddf1238ef1d38fb8b25f7e97b2319475299c1.tar.gz
uhd-303ddf1238ef1d38fb8b25f7e97b2319475299c1.tar.bz2
uhd-303ddf1238ef1d38fb8b25f7e97b2319475299c1.zip
fpga: x400: zbx: Add support for XO3 CPLD variant.
The main changes included are: - Variant-dependent pin-out instantiation. - Update clocking scheme in top level file to include XO3 PLL - Add ability to shift outgoing data for the GPIO communication interface with the X410 FPGA. - Include project files required to build the XO3 variant of the ZBX CPLD. - Add build flow for Lattice Diamond designs. - Add ability to build XO3 variant of ZBX CPLD.
Diffstat (limited to 'fpga/usrp3/tools/make/diamond_design_builder.mak')
-rw-r--r--fpga/usrp3/tools/make/diamond_design_builder.mak33
1 files changed, 33 insertions, 0 deletions
diff --git a/fpga/usrp3/tools/make/diamond_design_builder.mak b/fpga/usrp3/tools/make/diamond_design_builder.mak
new file mode 100644
index 000000000..ad80a5b70
--- /dev/null
+++ b/fpga/usrp3/tools/make/diamond_design_builder.mak
@@ -0,0 +1,33 @@
+#
+# Copyright 2022 Ettus Research, a National Instruments Brand
+#
+# SPDX-License-Identifier: LGPL-2.0-or-later
+#
+
+include $(BASE_DIR)/../tools/make/diamond_preamble.mak
+SIMULATION = 0
+
+# -------------------------------------------------------------------
+# Usage: BUILD_DIAMOND_DESIGN
+# Args: $1 = PROJECT_NAME
+# $2 = PART_ID (LCMXO3LF-9400C, etc)
+# $3 = PROJECT_DIR (Absolute path to the top level project dir)
+# $4 = BUILD_DIR (Absolute path to the top level build dir)
+# $5 = IMPLEMENTATION_NAME (name of design implementation in project)
+# Prereqs:
+# - TOOLS_DIR must be defined globally
+# - DESIGN_SRCS must be defined and should contain all source files
+BUILD_DIAMOND_DESIGN = \
+ @ \
+ echo "========================================================"; \
+ echo "BUILDER: Building $(1) for $(2)"; \
+ echo "========================================================"; \
+ echo "BUILDER: Staging Diamond sources in build directory..."; \
+ cp -rf $(3)/lattice/* $(4)/;\
+ cd $(4); \
+ echo "BUILDER: Implementating design..."; \
+ pnmainc build.tcl > $(1)_log.txt ; \
+ echo "BUILDER: Generating bitfile..."; \
+ ddtcmd -oft -svfsingle -if $(5)/$(1)_$(5).jed \
+ -dev $(2) -op "FLASH Erase,Program,Verify" -revd \
+ -of $(5)/$(1)_$(5).svf;