mirror of https://github.com/openXC7/prjxray.git
commit
06b1ddddc1
|
|
@ -4,3 +4,58 @@ Tools
|
|||
`SymbiFlow/prjxray/tools/`
|
||||
|
||||
Here, you can find various programs to work with bitstreams, mainly to assist building fuzzers.
|
||||
|
||||
bitread:
|
||||
Used to read a bitstream file to output a readable bitfile that can be than used
|
||||
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:
|
||||
Used to get a high level information on the device structure (number of
|
||||
configuration rows/columns and maximum frame addresses)
|
||||
xc7frames2bit:
|
||||
Used to write a bitstream file starting from a frames one. Where, in turn,
|
||||
the frames file can be generated starting from a FASM file.
|
||||
xc7patch:
|
||||
Used to patch a pre-existing bitstream with additional bits.
|
||||
bittool:
|
||||
???
|
||||
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`.
|
||||
|
|
|
|||
Loading…
Reference in New Issue