Skip to content

Commit ff01ca1

Browse files
Add support for Crosslink NX with Nextpnr FPGA Interchange
Signed-off-by: Robert Szczepanski <[email protected]>
1 parent 1976677 commit ff01ca1

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ QUICKLOGIC_URL = https://storage.googleapis.com/symbiflow-arch-defs-install/quic
3737

3838
INTERCHANGE_BASE_URL = https://storage.googleapis.com/fpga-interchange-tests/artifacts/prod/foss-fpga-tools/fpga-interchange-tests/continuous/50/20211008-072036
3939
INTERCHANGE_VERSION = 6ff4159
40-
INTERCHANGE_DEVICES ?= xc7a35t xc7a100t xc7a200t xc7z010 xczu7ev
40+
INTERCHANGE_DEVICES ?= xc7a35t xc7a100t xc7a200t xc7z010 xczu7ev LIFCL-17 LIFCL-40
4141
RAPIDWRIGHT_PATH = $(TOP_DIR)/third_party/RapidWright
4242

4343

toolchains/nextpnr.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def get_share_data(self):
7474
return os.path.join(nextpnr_location, '..', 'share')
7575

7676
def configure(self):
77-
assert self.xdc
77+
assert self.xdc, "Interchange format requires xdc constraint file."
7878

7979
os.makedirs(self.out_dir, exist_ok=True)
8080

@@ -390,7 +390,7 @@ def __init__(self, rootdir):
390390

391391
def prepare_edam(self):
392392
assert "fasm2bels" not in self.toolchain, "fasm2bels unsupported for fpga_interchange variant"
393-
self.chip = self.family + self.device
393+
self.chip = self.family + self.device if self.family != "nexus" else self.device
394394
share_dir = NextpnrGeneric.get_share_data(self)
395395
self.chipdb = os.path.join(
396396
self.rootdir, 'env', 'interchange', 'devices', self.chip,
@@ -414,10 +414,15 @@ def prepare_edam(self):
414414
'env.sh'
415415
) + ' nextpnr fpga_interchange-' + self.device
416416

417-
self.yosys_synth_opts = [
418-
"-flatten", "-nowidelut", "-arch {}".format(self.family), "-nodsp",
419-
"-nosrl"
420-
]
417+
if self.family != "nexus":
418+
self.yosys_synth_opts = [
419+
"-flatten", "-nowidelut", "-arch {}".format(self.family), "-nodsp",
420+
"-nosrl"
421+
]
422+
else:
423+
self.yosys_synth_opts = [
424+
"-flatten", "-nowidelut", "-nodsp"
425+
]
421426

422427
lib_file = os.path.join(
423428
self.rootdir, 'env', 'interchange', 'techmaps',

0 commit comments

Comments
 (0)