[OE-core] [PATCH 3/4] arachne-pnr: Add Arachne Place and route for iCE40 FPGAs

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


Arachne Place and Route provides tools to complete the place and route
step for iCE40 FPGAs. This allows for processing synthesised designs
from Yosys, and generating netlist output which can be processed by
IceStorm.

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

diff --git a/meta/recipes-devtools/arachne-pnr/arachne-pnr_git.bb b/meta/recipes-devtools/arachne-pnr/arachne-pnr_git.bb
new file mode 100644
index 0000000000..2928a9d78b
--- /dev/null
+++ b/meta/recipes-devtools/arachne-pnr/arachne-pnr_git.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "Arachne Place and Route tool for iCE40 FPGAs"
+HOMEPAGE = "https://github.com/cseed/arachne-pnr"
+LICENSE = "MIT"
+SECTION = "devel/fpga"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bb65c4bee625d497d43f50e6dacb4e2"
+
+SRC_URI = "git://github.com/cseed/arachne-pnr;protocol=https"
+SRCREV = "7e135edb31feacde85ec5b7e5c03fc9157080977"
+
+PV = "0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+# needs coreutils for 'sum'
+# icestorm is needed for chipdb
+# depends on itself for processing chipdb content
+DEPENDS = "coreutils-native icestorm-native arachne-pnr-native"
+
+# export the path for icestorm chipdb
+export ICEBOX = "${STAGING_DIR_NATIVE}${datadir_native}/icebox"
+
+# set executable for use when processing chipdb
+ARACHNEPNR_class-native = "${B}/bin/arachne-pnr"
+ARACHNEPNR = "arachne-pnr"
+
+do_compile () {
+	oe_runmake bin/arachne-pnr
+
+	# manually build the chipdb.bin files
+	mkdir -p ${B}/share/arachne-pnr
+	for i in 384 1k 8k; do
+		${ARACHNEPNR} -d 384 -c ${ICEBOX}/chipdb-$i.txt --write-binary-chipdb ${B}/share/arachne-pnr/chipdb-$i.bin
+	done
+}
+
+do_install () {
+	oe_runmake PREFIX="${prefix}" DESTDIR="${D}" install
+}
+
+# populate the chipdb into the sysroot (not enabled by default on -native)
+SYSROOT_DIRS_NATIVE_append = " ${datadir}/arachne-pnr"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.14.1




More information about the Openembedded-core mailing list