Skip to content

Unexpected Bitstream Size Increase after Fault Injection in Partial Bitstream using ConfigArray in RapidWright #1236

@Mehmoonagul

Description

@Mehmoonagul

Hi! I am using RapidWright to perform Single Event Upset (SEU) fault injections on a partial bitstream. My workflow involves reading the bitstream using the configuration array model (configureArray()), injecting faults by flipping a specific bit, and then writing the modified bitstream back using writeBitstream(out_file).
However, I have noticed an unexpected behavior: after writing the modified partial bitstream, its file size increases noticeably. Given that the modification involves only a single bit flip, I would not anticipate such an increase in the bitstream size.
This issue does not occur when working with a full bitstream—the file size remains unchanged after similar modifications.

Code Snippet Used:

bs = Bitstream.readBitstream(input_bitstream)
configArray = bs.configureArray()

// Inject faults into configArray here...

bs.updatePacketsFromConfigArray()
bs.writeBitstream(out_file)

Expected Behavior: The bitstream file size should remain essentially unchanged, given the minimal nature of the modification (a single bit flip).

Query: Could anyone clarify why the partial bitstream file size increases significantly after minor bit-level modifications using RapidWright's configuration model, while the full bitstream does not exhibit this issue.

Thanks in advance for your assistance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions