prjxray/fuzzers/005-tilegrid
Keith Rothman 1307e11397 IOB_SING solution via segbit aliases.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-03-01 17:02:18 -08:00
..
bram Sort tiles and revamp gen_fuzz_states to be more efficient. 2019-02-13 17:59:37 -08:00
bram_block Convert BRAM block tilegrid fuzzer to use first RAMB18E1. 2019-02-13 18:25:09 -08:00
bram_int Merge pull request #648 from litghost/rework_tilegrid 2019-02-13 18:42:06 -08:00
cfg_int Make generic generate_top for tilegrid. 2019-02-12 16:43:02 -08:00
clb Sort tiles and revamp gen_fuzz_states to be more efficient. 2019-02-13 17:59:37 -08:00
clb_int Sort tiles and revamp gen_fuzz_states to be more efficient. 2019-02-13 17:59:37 -08:00
clk_bufg Make generic generate_top for tilegrid. 2019-02-12 16:43:02 -08:00
clk_hrow Merge pull request #648 from litghost/rework_tilegrid 2019-02-13 18:42:06 -08:00
dsp Merge pull request #648 from litghost/rework_tilegrid 2019-02-13 18:42:06 -08:00
dsp_int Sort tiles and revamp gen_fuzz_states to be more efficient. 2019-02-13 17:59:37 -08:00
fifo_int Merge pull request #648 from litghost/rework_tilegrid 2019-02-13 18:42:06 -08:00
fuzzaddr tilegrid: fix multi regression 2019-01-09 23:29:21 +01:00
iob Fix missing IOB base address. 2019-02-13 22:47:29 -08:00
iob_int Sort tiles and revamp gen_fuzz_states to be more efficient. 2019-02-13 17:59:37 -08:00
mmcm Sort tiles and revamp gen_fuzz_states to be more efficient. 2019-02-13 17:59:37 -08:00
monitor Sort tiles and revamp gen_fuzz_states to be more efficient. 2019-02-13 17:59:37 -08:00
monitor_int Make generic generate_top for tilegrid. 2019-02-12 16:43:02 -08:00
orphan_int_column Solve orphan INT columns in Kintex7. 2019-02-07 15:01:09 -08:00
pll Run make format. 2019-02-13 18:08:23 -08:00
ps7_int Handle A7/K7/Z7 differences gracefully. 2019-01-27 22:30:53 -08:00
Makefile Add CLK_BUFG to tilegrid. 2019-02-12 15:15:34 -08:00
README.md Makes minor documentation change. 2019-02-03 00:59:43 +10:30
add_tdb.py Add CLK_BUFG to tilegrid. 2019-02-12 15:15:34 -08:00
generate.py Refactor all existing tiles to fuzzer approach. 2019-01-27 08:20:48 -08:00
generate.sh introduce vivado wrapper 2018-12-28 19:05:49 +01:00
generate_full.py IOB_SING solution via segbit aliases. 2019-03-01 17:02:18 -08:00
generate_tiles.tcl tcl: reformat existing code 2018-12-05 16:52:56 -08:00
top.v tilegrid: fix IBUF define 2018-12-04 20:59:37 -08:00
util.py Remove some of the __future__.] 2019-01-28 12:54:36 -08:00
util.tcl Expand tilegrid to entire grid. 2019-01-27 08:20:48 -08:00

README.md

Tilegrid Fuzzer

This fuzzer creates the tilegrid.json bitstream database. This database contains segment definitions including base frame address and frame offsets.

Example workflow for CLB

generate.tcl LOCs one LUT per segment column towards generating frame base addresses.

A reference bitstream is generated and then:

  • a series of bitstreams are generated each with one LUT bit toggled; then
  • these are compared to find a toggled bit in the CLB segment column; then
  • the resulting address is truncated to get the base frame address.

Finally, generate.py calculates the segment word offsets based on known segment column structure

Environment variables

XRAY_ROI

This environment variable must be set with a valid ROI. See database for example values

XRAY_ROI_FRAMES

This can be set to a specific value to speed up processing and reduce disk space If you don't know where your ROI is, just set to to include all values (0x00000000:0xfffffff)

XRAY_ROI_GRID_*

Optionally, use these as a small performance optimization:

  • XRAY_ROI_GRID_X1
  • XRAY_ROI_GRID_X2
  • XRAY_ROI_GRID_Y1
  • XRAY_ROI_GRID_Y2

These should, if unused, be set to -1, with this caveat:

WARNING: CLB test generates this based on CLBs but implicitly includes INT

Therefore, if you don't set an explicit XRAY_ROI_GRID_* it may fail if you don't have a CLB*_L at left and a CLB*_R at right.