04-14-2020 03:06 AM
I want to chane the flipflop init value quickly.
Therefore I aim to change the flipflop init value by editting the bitstream file directly.
But I don't understand how to change the flipflop init value in the bitstream file.
Is it possible to change the flipflop init value by editting bitstream file directly?
And I want to know the struture of bitstream.
04-14-2020 03:51 AM
Xilinx (a) doesn't tell anyone the structure of their bitstream, and (b) doesn't tell anyone how to generate the checksum that is used to verify correctness of their bitstream.
If you store the value in block RAM, then (with some work) the tools can update that without having to rebuild the whole bitstream - see here:
04-14-2020 09:00 PM
The flip-flop INIT value is a property of the slice flip-flop. While there is no mechanism to change it in the bitstream directly, you can come close.
The fully routed .dcp file is the "final" representation of the design - this contains all the information required to generate the bitstream; the "write_bitstream" command merely takes the information from the routed design and formats it properly to be a bistream.
While you can't edit the bitstream, it is very easy to open the _routed.dcp file, change the INIT property of a particular flip-flop (or bunch of flip-flops) - you have the complete Tcl language available here to help you - and then save the new, modified .dcp file and/or write out a bitstream with the modified information.
Avrum
04-15-2020 06:13 AM - edited 04-15-2020 06:16 AM
@avrumw
Thank you. I tried it immediately.
By opening the "_routed.dcp" file, I changed the flip-flop INIT value and updated the bitstream file.
In this method, I can update the bitstream file quickly without re-implementation.
I want to update the bitstream by this method as fast as possible.
Is there anything I can do to make it even faster?
04-15-2020 07:19 AM
Is there anything I can do to make it even faster?