Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental Kintex7 xc7k325 support (alternative) #1844

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,8 @@ $(foreach DB,$(DATABASES),$(eval $(call database,$(DB))))

ARTIX_PARTS=artix7_50t artix7_200t
ZYNQ_PARTS=zynq7010
KINTEX_PARTS=
SPARTAN_PARTS=
KINTEX_PARTS=kintex7_325t

XRAY_PARTS=${ARTIX_PARTS} ${ZYNQ_PARTS} ${KINTEX_PARTS} ${SPARTAN_PARTS}

Expand Down Expand Up @@ -275,4 +275,4 @@ clean:
$(MAKE) -C fuzzers clean
rm -rf build

.PHONY: clean
.PHONY: clean
3 changes: 3 additions & 0 deletions fuzzers/005-tilegrid/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,11 @@ endif

# Kintex7 only fuzzers
ifeq (${XRAY_DATABASE}, kintex7)
# Enable orphan_int_column for kintex7, but not for xc7k325tffg900-2 where this fuzzer returns empty.
ifneq (${XRAY_PART}, xc7k325tffg900-2)
TILEGRID_TDB_DEPENDENCIES += orphan_int_column/$(BUILD_FOLDER)/segbits_tilegrid.tdb
endif
endif

BASICDB_TILEGRID=$(BUILD_FOLDER)/basicdb/${XRAY_FABRIC}/tilegrid.json

Expand Down
4 changes: 4 additions & 0 deletions fuzzers/005-tilegrid/generate_full.py
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,10 @@ def propagate_IOI_Y9(database, tiles_by_grid):
ioi_tiles = os.getenv('XRAY_IOI3_TILES')

assert ioi_tiles is not None, "XRAY_IOI3_TILES env variable not set"
#skip further processing if XRAY_IOI3_TILES is empty string
if (ioi_tiles.strip() == ''):
return

tiles = ioi_tiles.split(" ")

for tile in tiles:
Expand Down
2 changes: 2 additions & 0 deletions settings/kintex7/devices.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# device to fabric mapping
"xc7k325t":
fabric: "xc7k325t"
"xc7k70t":
fabric: "xc7k70t"
40 changes: 40 additions & 0 deletions settings/kintex7_325t.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Copyright (C) 2017-2020 The Project X-Ray Authors.
#
# Use of this source code is governed by a ISC-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/ISC
#
# SPDX-License-Identifier: ISC
export XRAY_DATABASE="kintex7"
export XRAY_PART="xc7k325tffg900-2"
export XRAY_ROI_FRAMES="0x00000000:0xffffffff"

# All CLB's in part, all BRAM's in part, all DSP's in part.
# tcl queries IOB => don't bother adding
export XRAY_ROI_TILEGRID="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y0:DSP48_X5Y139 RAMB18_X0Y0:RAMB18_X5Y139 RAMB36_X0Y0:RAMB36_X4Y69"

export XRAY_EXCLUDE_ROI_TILEGRID=""

# This is used by fuzzers/005-tilegrid/generate_full.py
# (special handling for frame addresses of certain IOIs -- see the script for details).
# This needs to be changed for any new device!
# If you have a FASM mismatch or unknown bits in IOIs, CHECK THIS FIRST.
export XRAY_IOI3_TILES=""

# These settings must remain in sync
export XRAY_ROI="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y0:DSP48_X5Y139 RAMB18_X0Y0:RAMB18_X5Y139 RAMB36_X0Y0:RAMB36_X4Y69"
# Part of CMT X0Y1
export XRAY_ROI_GRID_X1="-1"
export XRAY_ROI_GRID_X2="-1"
# Include VBRK / VTERM
export XRAY_ROI_GRID_Y1="-1"
export XRAY_ROI_GRID_Y2="-1"

source $(dirname ${BASH_SOURCE[0]})/../utils/environment.sh

env=$(python3 ${XRAY_UTILS_DIR}/create_environment.py)
ENV_RET=$?
if [[ $ENV_RET != 0 ]] ; then
return $ENV_RET
fi
eval $env