[OE-core] [PATCH 2/4] icestorm: Add IceStorm tools for iCE40 FPGAs

Nathan Rossi nathan at nathanrossi.com
Sun Sep 10 13:14:46 UTC 2017


IceStorm includes tools for packing iCE40 designs into bitstreams as
well as the data used in place and route tooling. Also included in
IceStorm is JTAG programming (which uses libftdi) and other helper tools
to generate iCE40 HDL and verify timing constraints.

Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
---
 meta/recipes-devtools/icestorm/icestorm_git.bb | 51 ++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 meta/recipes-devtools/icestorm/icestorm_git.bb

diff --git a/meta/recipes-devtools/icestorm/icestorm_git.bb b/meta/recipes-devtools/icestorm/icestorm_git.bb
new file mode 100644
index 0000000000..01d755212b
--- /dev/null
+++ b/meta/recipes-devtools/icestorm/icestorm_git.bb
@@ -0,0 +1,51 @@
+DESCRIPTION = "Project IceStorm aims at reverse engineering, documenting and tools for Lattice iCE40 FPGAs"
+HOMEPAGE = "http://www.clifford.at/icestorm/"
+LICENSE = "ISC"
+SECTION = "devel/fpga"
+
+LIC_FILES_CHKSUM = "file://README;beginline=8;endline=18;md5=8104f3444ed967701dafaeab14d572b9"
+
+SRC_URI = "git://github.com/cliffordwolf/icestorm;protocol=https"
+SRCREV = "69613a26d3e3a5c6f0836a773717b03360df85ce"
+
+S = "${WORKDIR}/git"
+
+PV = "0+git${SRCPV}"
+
+inherit pkgconfig
+
+# diffutils (provided by hosttools)
+DEPENDS = "gawk-native python3-native"
+
+PACKAGECONFIG = "icebox icetime"
+PACKAGECONFIG[iceprog] = ",,libftdi"
+PACKAGECONFIG[icetime] = ",,,python3"
+PACKAGECONFIG[icebox] = ",,,python3"
+
+MAKE_SUBDIRS = "icepack icemulti icepll icebram ${PACKAGECONFIG}"
+
+do_configure () {
+	# remove posioned directories
+	sed -i 's/-I\S*//g' ${S}/config.mk
+	sed -i 's/-L\S*//g' ${S}/iceprog/Makefile
+}
+
+do_compile () {
+	for i in ${MAKE_SUBDIRS}; do
+		oe_runmake -C ${B}/$i PREFIX="${prefix}"
+	done
+}
+
+do_install () {
+	for i in ${MAKE_SUBDIRS}; do
+		oe_runmake -C ${B}/$i PREFIX="${prefix}" DESTDIR="${D}" install
+	done
+}
+
+# populate the chipdb into the sysroot (not enabled by default on -native)
+SYSROOT_DIRS_NATIVE_append = " ${datadir}/icebox"
+
+# package the icebox chipdb files
+FILES_${PN} += "${datadir}/icebox"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.14.1




More information about the Openembedded-core mailing list