mirror of
https://github.com/openXC7/prjxray.git
synced 2026-08-22 14:06:54 +02:00
roi_harness: added zybo support
Fixed also basys3 settings to produce a correct harness for the basys Signed-off-by: Alessandro Comodi <[email protected]>
This commit is contained in:
@@ -11,4 +11,7 @@ export XRAY_PIN_04="D13"
|
|||||||
export XRAY_PIN_05="J17"
|
export XRAY_PIN_05="J17"
|
||||||
export XRAY_PIN_06="U14"
|
export XRAY_PIN_06="U14"
|
||||||
|
|
||||||
|
# HCLK Tile
|
||||||
|
export XRAY_ROI_HCLK="CLK_HROW_TOP_R_X60Y130/CLK_HROW_CK_BUFHCLK_L0"
|
||||||
|
|
||||||
source $XRAY_DIR/utils/environment.sh
|
source $XRAY_DIR/utils/environment.sh
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
# XC7A35T-1CPG236C
|
# XC7A35T-1CPG236C
|
||||||
export XRAY_PART=xc7a35tcpg236-1
|
export XRAY_PART=xc7a35tcpg236-1
|
||||||
export XRAY_PINCFG=BASYS3-SWBUT
|
export XRAY_PINCFG=BASYS3-SWBUT
|
||||||
|
export XRAY_DIN_N_LARGE=17
|
||||||
|
export XRAY_DOUT_N_LARGE=17
|
||||||
|
|
||||||
# For generating DB
|
# For generating DB
|
||||||
export XRAY_PIN_00="V17"
|
export XRAY_PIN_00="V17"
|
||||||
@@ -11,4 +13,10 @@ export XRAY_PIN_04="W15"
|
|||||||
export XRAY_PIN_05="V15"
|
export XRAY_PIN_05="V15"
|
||||||
export XRAY_PIN_06="W14"
|
export XRAY_PIN_06="W14"
|
||||||
|
|
||||||
|
# ROI is in the top left
|
||||||
|
export XRAY_ROI_LARGE=SLICE_X0Y100:SLICE_X35Y149
|
||||||
|
|
||||||
|
# HCLK Tile
|
||||||
|
export XRAY_ROI_HCLK="CLK_HROW_TOP_R_X60Y130/CLK_HROW_CK_BUFHCLK_L0"
|
||||||
|
|
||||||
source $XRAY_DIR/utils/environment.sh
|
source $XRAY_DIR/utils/environment.sh
|
||||||
|
|||||||
@@ -26,19 +26,23 @@ stat ${XRAY_DIR}/database/${XRAY_DATABASE}/${XRAY_PART}.yaml >/dev/null
|
|||||||
# 6x by 18y CLBs (108)
|
# 6x by 18y CLBs (108)
|
||||||
if [ "$SMALL" = Y ] ; then
|
if [ "$SMALL" = Y ] ; then
|
||||||
echo "Design: small"
|
echo "Design: small"
|
||||||
export PITCH=1
|
export PITCH=${XRAY_PITCH:-1}
|
||||||
export DIN_N=${XRAY_DIN_N_SMALL:-8}
|
export DIN_N=${XRAY_DIN_N_SMALL:-8}
|
||||||
export DOUT_N=${XRAY_DOUT_N_SMALL:-8}
|
export DOUT_N=${XRAY_DOUT_N_SMALL:-8}
|
||||||
export XRAY_ROI=${XRAY_ROI_SMALL:-SLICE_X12Y100:SLICE_X17Y117}
|
export XRAY_ROI=${XRAY_ROI_SMALL:-SLICE_X12Y100:SLICE_X17Y117}
|
||||||
# All of CMT X0Y2
|
# All of CMT X0Y2
|
||||||
else
|
else
|
||||||
echo "Design: large"
|
echo "Design: large"
|
||||||
export PITCH=2
|
export PITCH=${XRAY_PITCH:-2}
|
||||||
export DIN_N=${XRAY_DIN_N_LARGE:-8}
|
export DIN_N=${XRAY_DIN_N_LARGE:-8}
|
||||||
export DOUT_N=${XRAY_DOUT_N_LARGE:-8}
|
export DOUT_N=${XRAY_DOUT_N_LARGE:-8}
|
||||||
export XRAY_ROI=${XRAY_ROI_LARGE:-SLICE_X0Y100:SLICE_X35Y149}
|
export XRAY_ROI=${XRAY_ROI_LARGE:-SLICE_X0Y100:SLICE_X35Y149}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo ${DIN_N}
|
||||||
|
echo ${DOUT_N}
|
||||||
|
echo ${XRAY_ROI}
|
||||||
|
|
||||||
mkdir -p $BUILD_DIR
|
mkdir -p $BUILD_DIR
|
||||||
pushd $BUILD_DIR
|
pushd $BUILD_DIR
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,12 @@ if { [info exists ::env(PITCH) ] } {
|
|||||||
set PITCH "$::env(PITCH)"
|
set PITCH "$::env(PITCH)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if { [info exists ::env(XRAY_ROI_HCLK)] } {
|
||||||
|
set XRAY_ROI_HCLK "$::env(XRAY_ROI_HCLK)"
|
||||||
|
} else {
|
||||||
|
puts "WARNING: No HCLK has been set"
|
||||||
|
}
|
||||||
|
|
||||||
# X12 in the ROI, X10 just to the left
|
# X12 in the ROI, X10 just to the left
|
||||||
# Start at bottom left of ROI and work up
|
# Start at bottom left of ROI and work up
|
||||||
# (IOs are to left)
|
# (IOs are to left)
|
||||||
@@ -423,7 +429,7 @@ if {$fixed_xdc eq ""} {
|
|||||||
# It will go to high level interconnect that goes everywhere
|
# It will go to high level interconnect that goes everywhere
|
||||||
# But we still need to record something, so lets force a route
|
# But we still need to record something, so lets force a route
|
||||||
# FIXME: very ROI specific
|
# FIXME: very ROI specific
|
||||||
set node "CLK_HROW_TOP_R_X60Y130/CLK_HROW_CK_BUFHCLK_L0"
|
set node "$XRAY_ROI_HCLK"
|
||||||
set wire [node2wire $node]
|
set wire [node2wire $node]
|
||||||
route_via2 "clk_IBUF_BUFG" "$node"
|
route_via2 "clk_IBUF_BUFG" "$node"
|
||||||
set net "clk"
|
set net "clk"
|
||||||
@@ -441,7 +447,11 @@ if {$fixed_xdc eq ""} {
|
|||||||
route_via2 "din_IBUF[$i]" "$node"
|
route_via2 "din_IBUF[$i]" "$node"
|
||||||
set y_left [expr {$y_left + $PITCH}]
|
set y_left [expr {$y_left + $PITCH}]
|
||||||
} else {
|
} else {
|
||||||
set node "INT_R_X25Y${y_right}/WW2BEG1"
|
if {$part eq "xc7z010clg400-1"} {
|
||||||
|
set node "INT_R_X31Y${y_right}/WW2BEG2"
|
||||||
|
} else {
|
||||||
|
set node "INT_R_X25Y${y_right}/WW2BEG1"
|
||||||
|
}
|
||||||
route_via2 "din_IBUF[$i]" "$node"
|
route_via2 "din_IBUF[$i]" "$node"
|
||||||
set y_right [expr {$y_right + $PITCH}]
|
set y_right [expr {$y_right + $PITCH}]
|
||||||
}
|
}
|
||||||
@@ -478,8 +488,13 @@ if {$fixed_xdc eq ""} {
|
|||||||
set y_left [expr {$y_left + $PITCH}]
|
set y_left [expr {$y_left + $PITCH}]
|
||||||
# XXX: only care about right ports on Arty
|
# XXX: only care about right ports on Arty
|
||||||
} else {
|
} else {
|
||||||
set node "INT_R_X23Y${y_right}/LH12"
|
if {$part eq "xc7z010clg400-1"} {
|
||||||
route_via2 "roi/dout[$i]" "$node"
|
set node "INT_R_X29Y${y_right}/EE2BEG0"
|
||||||
|
route_via2 "roi/dout[$i]" "$node INT_R_X31Y${y_right}"
|
||||||
|
} else {
|
||||||
|
set node "INT_R_X23Y${y_right}/LH12"
|
||||||
|
route_via2 "roi/dout[$i]" "$node"
|
||||||
|
}
|
||||||
set y_right [expr {$y_right + $PITCH}]
|
set y_right [expr {$y_right + $PITCH}]
|
||||||
}
|
}
|
||||||
set net "dout[$i]"
|
set net "dout[$i]"
|
||||||
|
|||||||
@@ -16,4 +16,10 @@ export XRAY_PIN_06="K19"
|
|||||||
# ROI is in top right
|
# ROI is in top right
|
||||||
export XRAY_ROI_LARGE="SLICE_X22Y50:SLICE_X43Y99"
|
export XRAY_ROI_LARGE="SLICE_X22Y50:SLICE_X43Y99"
|
||||||
|
|
||||||
|
# HCLK Tile
|
||||||
|
export XRAY_ROI_HCLK="CLK_HROW_TOP_R_X82Y78/CLK_HROW_CK_BUFHCLK_R0"
|
||||||
|
|
||||||
|
# PITCH
|
||||||
|
export XRAY_PITCH=3
|
||||||
|
|
||||||
source $XRAY_DIR/utils/environment.sh
|
source $XRAY_DIR/utils/environment.sh
|
||||||
|
|||||||
Reference in New Issue
Block a user