Commit Graph

7 Commits

Author SHA1 Message Date
Rick Altherr 87d9538af9 Return zero-fill packets when reading bitstreams
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>
2018-01-22 14:15:30 -08:00
Rick Altherr 50d2521b33 Apply clang-format to all C++ files
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-08 17:14:27 -08:00
Rick Altherr 7345f2630a lib: xc7series: Handle the curious case of Type 0 packets
Type 0 shouldn't exist but bitstreams generated with
BITSTREAM.GENERAL.DEBUGBITSTREAM=YES seem to use them as padding.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Rick Altherr 9cbd9bac28 lib: replace binary literals with hex literals
binary literals are a C++14 feature.  Use hex literals instead to
keep C++11 compatibility.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Rick Altherr 4a80475db9 lib: xc7series: record header type in configuration packets
Type 2 packets are used for when the amount of data required exceeds the
word count field in a Type 1 header.  ConfigurationPacket mostly hides
this detail from the user but occasionally it is handy for debugging.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Rick Altherr 47e02d4cfd lib: xc7series: move register details to reusable enum
Both ConfigurationPacket and Configuration need to reference registers.
Use a common scoped enum to reduce change of errors.  Leverage stream
operator to simplify outputing register names.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00
Rick Altherr 0a005ab5a1 lib: move Xilinx 7series classes into a separate namespace
Class names were getting unwieldy.  Use a namespace to group all the
7series classes and allow for shorter class names.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
2017-12-20 22:46:39 +01:00