Adding description of segdata file format.

Signed-off-by: Ben Reynwar <breynwar@isi.edu>
This commit is contained in:
Ben Reynwar 2021-08-04 17:45:47 -04:00 committed by Hans Baier
parent 722c6eab4d
commit 8434bf85a2
1 changed files with 36 additions and 1 deletions

View File

@ -10,7 +10,7 @@ bitread:
to get the various FASM features.
segmatch:
Used in the fuzzing process to correlate the different bits and find which one belong to which feature.
gen_part_base_yaml.
gen_part_base_yaml:
Used to get a high level information on the device structure (number of
configuration rows/columns and maximum frame addresses)
xc7frames2bit:
@ -24,3 +24,38 @@ bits2rbt:
???
frame_address_decoder:
???
segmatch
--------
This tools takes input files of the format:
code::
seg 00000000_050
bit 38_15
bit 39_14
<....>
tag HCLK_IOI3.LVDS_25_IN_USE 0
tag HCLK_IOI3.ONLY_DIFF_IN_USE 0
<...>
seg 00001C80_050
bit 38_15
bit 38_26
where `seg <base_frame_address> <tile_offset>` indicates how to address the tile,
and `bit <frame_address_offset> <bit_position>` indicates the position of the bit
within the tile.
base_frame_address:
The frame address of the first frame that configures the tile.
tile_offset:
The word index of the first word that configures the tile within a frame.
frame_address_offset:
frame_address - base_frame_address
bit_position:
The index of the bit within the words of this frame that configure this tile.
The `prjxray.segmaker.Segmaker` is a helper class that can be used to write these
files inside the fuzzer's `generate.py`.