Repository navigation
v0.1.0
Initial release
First public release of xactflow-component, a
XactFlow exporter plugin that serializes an
ipxact.Component object into a valid IEEE 1685-2022 IP-XACT component XML
document.
What's included
- A full writer covering every
Componentfield: bus interfaces (abstraction types,
port maps, all seven interface modes), memory maps (address blocks, banks, subspace
maps, registers, fields, access policies), the model (views, instantiations, wire /
transactional / structured ports), parameters, channels, modes, cpus, power domains,
file sets, and the rest, hand-rolledlxml.etreeconstruction mirroring
ipxact-compiler's parser structure in reverse. ComponentExporter, registered under thexactflow.exportersentry point, so it's
discovered automatically as thexactflow component ...CLI subcommand once
installed.- A test suite backed by the real schema: every generated document is validated
againstcomponent.xsdwithlxml.etree.XMLSchema, round-tripped through
ipxact.parse_filefor object equality, and checked with
xactflow.SCR.run_single_doc_checks. - Required XSD choices left entirely unset raise a clear error naming what's missing,
instead of silently producing schema-invalid XML.
Status
This is an early, alpha-stage release, scoped to a bare-object serializer: given an
ipxact.Component, no elaboration, no multi-file resolution. Handling an
ElaboratedDesign (flattening a resolved multi-instance design into one boundary
component) is a planned later addition, not implemented yet. A handful of gaps are
inherited from ipxact-compiler's object model (Bank has no baseAddress,
StructuredPort has no structPortTypeDefs, and a couple of others). See the
README for the
full list, and for why xactflow component ... can't yet be driven end-to-end from
XactFlow's CLI without going through elaboration first.
License
LGPL-3.0-only. See LICENSE.
Full Changelog: https://github.com/IP-XACT/XactFlow-component/commits/v0.1.0