Xilinx uses .bit for bitstreams that include an additional header that
appears to carry some build information (tool version, date built, etc).
For bitstreams without that header, they use .bin.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Harness is implemented using Vivado's Partial Reconfiguration flow. ROI
designs are generated from FASM and patched into the harness to create a
programmable bitstream.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Applies a .frm file (lines of frame address: frame words) to a bitstream
and writes the result as a new bitstream. Note that the new bitstream
will not include the initialization and finalization sequences required
for programming.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Zero-fill packets are required in certain conditions to create valid
bitstreams. When reading a bitstream, make sure they are yielded and
printed.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Span<T> can be converted to a Span<const T> but the reverse is not true.
Since most of the uses of spans do not allow modification of the data,
taking a Span<const T> is more versatile and importantly allows them to
be used in const methods.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
ConfigurationPacketizer translates a Configuration's frame data to a
sequence of ConfigurationPackets that will write that configuration to
the configuration's Part.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Configuration's original constructor expects Span<uint32_t>s as part of
the map to avoid copying the actual frame data. In tests or any other
place that needs to directly construct a Configuration, the caller will
already have a map with vector<uint32_t> to hold the actual frame data.
This new constructor just wraps those vectors in Spans.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
CMake has reasonable defaults for Debug and Release builds but the build
type isn't specified by default. That led to me adding explicit flags.
Remove those flags and default to using Release builds.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
No need to spend time building all the tests unless you specifically
want them. To build them, run 'cmake -DPRJXRAY_BUILD_TESTING=ON ..' in
the build directory.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>