| # 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 | |
| ### URAY_ROI | |
| This environment variable must be set with a valid ROI. | |
| See database for example values | |
| ### URAY_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) | |
| ### URAY_ROI_GRID_* | |
| Optionally, use these as a small performance optimization: | |
| - URAY_ROI_GRID_X1 | |
| - URAY_ROI_GRID_X2 | |
| - URAY_ROI_GRID_Y1 | |
| - URAY_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 URAY_ROI_GRID_* it may fail | |
| if you don't have a CLB*_L at left and a CLB*_R at right. |