Repository navigation
OpenCompact v0.1.1
OpenCompact v0.1.1
A patch release of OpenCompact, the CCSDS 123.0-B-2 hyperspectral and multispectral image compression core, at
technology readiness level 3 (fully verified by simulation; not tested on hardware, no flight heritage).
Changes since v0.1.0
- Fixed: the AMD Vivado simulator (xsim) stopped at time 0 with "Index 2 out of bound 1 downto 0" in
ocp_predictor. The array fields of the predictor items now use fully constrained array types: xsim gave the
element of an index-constrained record field the constraint of another field when the record was accessed through
an alias of an array element. The behaviour is unchanged in every simulator. - Changed: QuestaSim runs with a time resolution of 1 fs, as GHDL.
- Added:
lint/xsim_smoke.py, a smoke test that elaborates and simulates every top level of the synthesis check
in xsim (151 top levels). - Added:
CHANGELOG.md.
No change of ports, generics, stream formats or the register map (ID 0x4F435001, version 1); designs using v0.1.0
need no change.
Verification
- QuestaSim (Questa Pro Microchip Edition 2024.3, time resolution 1 fs), full regression of 499 tests on the release
head: 499 of 499 pass in the optimised run without code coverage, 499 of 499 with code coverage. - Code coverage: statements 1741 / 1759 (99.0 %), branches 749 / 760 (98.6 %), conditions 181 / 207 (87.4 %),
expressions 136 / 142 (95.8 %), every state and transition of the state machines; every remaining miss is justified
indocs/coverage.md. - GHDL 6.0.0: the full regression of 499 tests in the CI.
- CCSDS test data selection: 1275 of 1275 tests pass in GHDL.
- AMD Vivado simulator 2025.2: 151 of 151 top levels of
lint/xsim_smoke.pyelaborate and run without an error. - VSG, markdownlint, compliance matrix and register map checks are clean.
Dependencies
- Open Logic 4.7.0-ft.6 (open-space-hdl/open-logic-ft, submodule
open-logic). - VHDL-2008; verified with GHDL 6.0.0, QuestaSim 2024.3 and the AMD Vivado simulator 2025.2.
Known issues
None. The xsim issue of v0.1.0 is fixed in this release.