Currently is able to parse IDCODE and frames from a sequence of
ConfigurationPackets.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
Currently just the pieces required to successfully identify and decode
a bitstream into configuration frames.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
Need to manually translate row_half from human-readable form in YAML
(top/bottom) to true/false. Requesting a Node as a uint8_t returns the
first char in the YAML field rather than parsing the field as an
integer. Just used unsigned ints and let the constructor force them to
smaller types.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
Identifies the IDCODE and valid configuration frame addresses in the
part. These details are stored in a part-specific YAML file.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
Does not work as intended. Removing to avoid confusion.
This reverts commit caeba1b49af17bdceb35803b2c3bc55ef0e3cf62.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
Does not work as intended. Remove to avoid confusion.
This reverts commit 80d8d6d8d3bc5e7ad5c72c9998777b5e0590ec30.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
Action is a required option with no reasonable default. Making it a
flag just requires the user to type extra for no benefit.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
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>
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>
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>
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>
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>
When loaded into https://ide.kaitai.io, Xilinx bitstreams can be
visually explored a lot more easily.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
This reverts commit 033d9de8649b36cd9be52d9bbef1e18e28b82190.
Signed-off-by: John McMaster <JohnDMcMaster@gmail.com>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>