tilegrid: ROI fixes

Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
John McMaster 2018-12-03 18:27:03 -08:00
parent 49aa56712f
commit 48a6967adb
4 changed files with 12 additions and 4 deletions

View File

@ -3,10 +3,11 @@ export XRAY_PART="xc7a50tfgg484-1"
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_X65Y99 SLICE_X0Y100:SLICE_X57Y149 RAMB18_X0Y0:RAMB18_X1Y59 RAMB36_X0Y0:RAMB36_X1Y29 RAMB18_X2Y0:RAMB18_X2Y39 RAMB36_X2Y0:RAMB36_X2Y19 DSP48_X0Y0:DSP48_X1Y59"
# These settings must remain in sync
export XRAY_ROI="SLICE_X0Y100:SLICE_X35Y149 RAMB18_X0Y40:RAMB18_X0Y59 RAMB36_X0Y20:RAMB36_X0Y29 DSP48_X0Y40:DSP48_X0Y59"
export XRAY_ROI="SLICE_X0Y100:SLICE_X35Y149 RAMB18_X0Y40:RAMB18_X0Y59 RAMB36_X0Y20:RAMB36_X0Y29 DSP48_X0Y40:DSP48_X0Y59 IOB_X0Y100:IOB_X0Y149"
# Most of CMT X0Y2.
export XRAY_ROI_GRID_X1="9"
export XRAY_ROI_GRID_X2="58"

View File

@ -3,7 +3,8 @@ source "$::env(FUZDIR)/util.tcl"
proc loc_iob {} {
# Some pads are output only (ex: OPAD_X0Y0/PAD) => filt IOB_*
# XXX: GTX bank missing, deal with that later
set duts [get_bels -filter {TYPE =~ PAD && NAME =~ IOB_*}]
set roi_sites [get_sites -of_objects [get_pblocks roi]]
set duts [get_bels -of_objects $roi_sites -filter {TYPE =~ PAD && NAME =~ IOB_*}]
# Sort them into CMT columns
set dut_columns [group_dut_cols $duts 50]

View File

@ -26,7 +26,8 @@ proc write_tiles_txt {} {
}
proc run {} {
make_project
# Generate grid of entire part
make_project_roi XRAY_ROI_TILEGRID
place_design
route_design

View File

@ -137,6 +137,11 @@ proc assign_iobs {} {
}
proc make_project {} {
# Generate .bit only over ROI
make_project_roi XRAY_ROI
}
proc make_project_roi { roi_var } {
# 6 CMTs in our reference part
# What is the largest?
set n_di 16
@ -150,7 +155,7 @@ proc make_project {} {
create_pblock roi
add_cells_to_pblock [get_pblocks roi] [get_cells roi]
foreach roi "$::env(XRAY_ROI_TILEGRID)" {
foreach roi "$::env($roi_var)" {
puts "ROI: $roi"
resize_pblock [get_pblocks roi] -add "$roi"
}