mirror of https://github.com/openXC7/prjxray.git
add kintex 480T support
Signed-off-by: Hans Baier <hansfbaier@gmail.com>
This commit is contained in:
parent
4214de4ece
commit
ee5ffe2333
2
Makefile
2
Makefile
|
|
@ -189,7 +189,7 @@ $(foreach DB,$(DATABASES),$(eval $(call database,$(DB))))
|
|||
|
||||
ARTIX_PARTS=artix7_50t artix7_200t
|
||||
ZYNQ_PARTS=zynq7010
|
||||
KINTEX_PARTS=kintex7_160t
|
||||
KINTEX_PARTS=kintex7_160t kintex7_480t
|
||||
SPARTAN_PARTS=
|
||||
|
||||
XRAY_PARTS=${ARTIX_PARTS} ${ZYNQ_PARTS} ${KINTEX_PARTS} ${SPARTAN_PARTS}
|
||||
|
|
|
|||
|
|
@ -111,17 +111,32 @@ def add_tile_bits(
|
|||
assert offset + words <= 101, (
|
||||
tile_name, offset + words, offset, words, block_type)
|
||||
|
||||
is_xc7k480t = 'xc7k480t' in os.environ['XRAY_PART']
|
||||
|
||||
baseaddr_str = '0x%08X' % baseaddr
|
||||
block = bits.get(block_type, None)
|
||||
if block is not None:
|
||||
done = True
|
||||
verbose and print(
|
||||
"%s: existing defintion for %s" % (tile_name, block_type))
|
||||
assert block["baseaddr"] == baseaddr_str
|
||||
assert block["frames"] == frames, (block, frames)
|
||||
assert block["offset"] == offset, "%s; orig offset %s, new %s" % (
|
||||
tile_name, block["offset"], offset)
|
||||
# TODO: HACK: some of the offsets of the K480T seem to be messed up
|
||||
# using the maximum offset below seems to make most sense when looking
|
||||
# at the preceding blocks
|
||||
if is_xc7k480t:
|
||||
if not block["offset"] == offset:
|
||||
print("XXX Hack: %s; orig offset %s, new %s" % (tile_name, block["offset"], offset))
|
||||
offset = max(block['offset'], offset)
|
||||
print("XXX Hack: using offset {offset}")
|
||||
done = False
|
||||
else:
|
||||
assert block["offset"] == offset, "%s; orig offset %s, new %s" % (
|
||||
- tile_name, block["offset"], offset)
|
||||
|
||||
assert block["words"] == words
|
||||
return
|
||||
if done: return
|
||||
|
||||
block = bits.setdefault(block_type, {})
|
||||
|
||||
# FDRI address
|
||||
|
|
|
|||
|
|
@ -0,0 +1,176 @@
|
|||
CMT_TOP_R_LOWER_T_X8Y122/CMT_PHASER_DOWN_DQS_TO_PHASER_A
|
||||
CMT_TOP_R_LOWER_T_X8Y174/CMT_PHASER_DOWN_DQS_TO_PHASER_A
|
||||
CMT_TOP_R_LOWER_T_X8Y18/CMT_PHASER_DOWN_DQS_TO_PHASER_A
|
||||
CMT_TOP_R_LOWER_T_X8Y226/CMT_PHASER_DOWN_DQS_TO_PHASER_A
|
||||
CMT_TOP_R_LOWER_T_X8Y278/CMT_PHASER_DOWN_DQS_TO_PHASER_A
|
||||
CMT_TOP_R_LOWER_T_X8Y330/CMT_PHASER_DOWN_DQS_TO_PHASER_A
|
||||
CMT_TOP_R_LOWER_T_X8Y382/CMT_PHASER_DOWN_DQS_TO_PHASER_A
|
||||
CMT_TOP_R_LOWER_T_X8Y70/CMT_PHASER_DOWN_DQS_TO_PHASER_A
|
||||
CMT_TOP_R_UPPER_B_X8Y135/CMT_PHASER_UP_DQS_TO_PHASER_D
|
||||
CMT_TOP_R_UPPER_B_X8Y187/CMT_PHASER_UP_DQS_TO_PHASER_D
|
||||
CMT_TOP_R_UPPER_B_X8Y239/CMT_PHASER_UP_DQS_TO_PHASER_D
|
||||
CMT_TOP_R_UPPER_B_X8Y291/CMT_PHASER_UP_DQS_TO_PHASER_D
|
||||
CMT_TOP_R_UPPER_B_X8Y31/CMT_PHASER_UP_DQS_TO_PHASER_D
|
||||
CMT_TOP_R_UPPER_B_X8Y343/CMT_PHASER_UP_DQS_TO_PHASER_D
|
||||
CMT_TOP_R_UPPER_B_X8Y395/CMT_PHASER_UP_DQS_TO_PHASER_D
|
||||
CMT_TOP_R_UPPER_B_X8Y83/CMT_PHASER_UP_DQS_TO_PHASER_D
|
||||
LIOI3_TBYTESRC_X0Y107/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y107/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y119/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y119/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y131/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y131/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y143/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y143/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y157/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y157/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y169/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y169/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y181/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y181/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y193/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y193/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y19/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y19/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y207/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y207/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y219/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y219/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y231/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y231/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y243/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y243/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y257/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y257/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y269/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y269/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y281/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y281/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y293/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y293/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y307/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y307/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y319/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y319/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y31/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y31/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y331/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y331/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y343/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y343/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y357/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y357/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y369/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y369/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y381/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y381/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y393/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y393/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y43/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y43/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y57/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y57/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y69/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y69/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y7/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y7/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y81/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y81/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTESRC_X0Y93/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTESRC_X0Y93/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y113/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y113/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y137/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y137/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y13/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y13/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y163/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y163/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y187/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y187/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y213/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y213/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y237/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y237/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y263/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y263/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y287/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y287/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y313/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y313/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y337/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y337/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y363/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y363/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y37/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y37/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y387/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y387/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y63/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y63/LIOI_I2GCLK_TOP1
|
||||
LIOI3_TBYTETERM_X0Y87/LIOI_I2GCLK_BOT1
|
||||
LIOI3_TBYTETERM_X0Y87/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y105/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y109/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y117/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y121/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y129/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y133/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y141/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y145/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y155/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y159/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y167/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y171/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y179/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y17/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y183/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y191/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y195/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y205/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y209/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y217/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y21/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y221/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y229/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y233/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y241/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y245/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y255/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y259/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y267/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y271/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y279/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y283/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y291/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y295/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y29/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y305/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y309/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y317/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y321/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y329/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y333/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y33/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y341/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y345/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y355/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y359/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y367/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y371/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y379/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y383/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y391/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y395/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y41/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y45/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y55/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y59/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y5/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y67/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y71/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y79/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y83/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y91/LIOI_I2GCLK_TOP1
|
||||
LIOI3_X0Y95/LIOI_I2GCLK_BOT1
|
||||
LIOI3_X0Y9/LIOI_I2GCLK_BOT1
|
||||
|
|
@ -3,4 +3,7 @@
|
|||
fabric: "xc7k70t"
|
||||
"xc7k160t":
|
||||
fabric: "xc7k160t"
|
||||
|
||||
"xc7k420t":
|
||||
fabric: "xc7k480t"
|
||||
"xc7k480t":
|
||||
fabric: "xc7k480t"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
# 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="xc7k480tffg1156-2"
|
||||
export XRAY_ROI_FRAMES="0x00000000:0xffffffff"
|
||||
|
||||
export XRAY_PIN_00=AL18
|
||||
export XRAY_PIN_01=AL19
|
||||
export XRAY_PIN_02=AK18
|
||||
export XRAY_PIN_03=AK19
|
||||
|
||||
# select the whole part
|
||||
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="LIOI3_X0Y9"
|
||||
|
||||
# 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
|
||||
Loading…
Reference in New Issue