diff --git a/minitests/tiles_wires_pips/.gitignore b/minitests/tiles_wires_pips/.gitignore new file mode 100644 index 00000000..38b82e96 --- /dev/null +++ b/minitests/tiles_wires_pips/.gitignore @@ -0,0 +1,7 @@ +/.Xil +/design/ +/design.bit +/design.dcp +/vivado* +/wires_*.txt +/pips_*.txt diff --git a/minitests/tiles_wires_pips/runme.sh b/minitests/tiles_wires_pips/runme.sh new file mode 100755 index 00000000..f8b50c7c --- /dev/null +++ b/minitests/tiles_wires_pips/runme.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -e +vivado -mode batch -source runme.tcl +echo "==========================================================" +md5sum wires_{INT,CLBLL,CLBLM}_[LR]_*.txt | sed -re 's,X[0-9]+Y[0-9]+,XY,' | sort | uniq -c | sort -k3 +echo "==========================================================" +md5sum pips_{INT,CLBLL,CLBLM}_[LR]_*.txt | sed -re 's,X[0-9]+Y[0-9]+,XY,' | sort | uniq -c | sort -k3 diff --git a/minitests/tiles_wires_pips/runme.tcl b/minitests/tiles_wires_pips/runme.tcl new file mode 100644 index 00000000..c51f0fac --- /dev/null +++ b/minitests/tiles_wires_pips/runme.tcl @@ -0,0 +1,43 @@ +if 0 { +create_project -force -part $::env(XRAY_PART) design design + +read_verilog top.v +synth_design -top top + +set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_00) IOSTANDARD LVCMOS33" [get_ports i] +set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_01) IOSTANDARD LVCMOS33" [get_ports o] + +create_pblock roi +resize_pblock [get_pblocks roi] -add "$::env(XRAY_ROI)" + +set_property CFGBVS VCCO [current_design] +set_property CONFIG_VOLTAGE 3.3 [current_design] +set_property BITSTREAM.GENERAL.PERFRAMECRC YES [current_design] + +place_design +route_design + +write_checkpoint -force design.dcp +write_bitstream -force design.bit + +source ../../utils/utils.tcl +} + +proc print_tile_info {tile} { + puts "Dumping wires and PIPs for tile $tile." + set fp [open "wires_${tile}.txt" w] + foreach wire [lsort [get_wires -of_objects [get_tiles $tile]]] { + puts $fp [regsub {.*/} $wire ""] + } + close $fp + set fp [open "pips_${tile}.txt" w] + foreach wire [lsort [get_pips -of_objects [get_tiles $tile]]] { + puts $fp [regsub {.*/} $wire ""] + } + close $fp +} + +foreach tile [lsort [get_tiles]] { + print_tile_info $tile +} + diff --git a/minitests/tiles_wires_pips/top.v b/minitests/tiles_wires_pips/top.v new file mode 100644 index 00000000..c0e91c58 --- /dev/null +++ b/minitests/tiles_wires_pips/top.v @@ -0,0 +1,3 @@ +module top (input i, output o); + assign o = i; +endmodule