GSys LibreCore — a source-available RISC-V core and agentic build platform, derived from OpenHW CVA6. Explore the layered architecture.

Product SKU Matrix

A SKU here is a core/include/*_config_pkg.sv (plus the build-platform soc.coreConfig that selects it). Features are opt-in; empty cells mean “typically off / not the product intent,” not “impossible to set by hand.”

Re-check package sources before tape-out claims — this matrix is a navigation aid, not a formal datasheet.

64-bit application / server family

PackageIssueOoOSMTCoresL2/L3H+SstcRVVTypical use
cv64a6_imafdc_sv391–2Off11OffOffOffClassic Linux-class identity
cv64a6_imafdc_sv39_hpdcache1–2Off11OffOffOffHPDCACHE L1 variant
cv64a6_imafdc_sv39_wb1–2Off11OffOffOffWrite-back L1 variant
cv64a6_imafdch_sv391–2Off11OffH pathOffHypervisor-oriented without full server math
cv64a6_spec_deep↑Off*11**OffDeep speculation knobs (DeepSpecEn)
g6lc64_smt21–2Off21Often onOffOffDual-thread bring-up
g6lc64_ooo2On11OptionalOffOffDual-issue OoO lite — legal single-hart FP (T9g/M4)
g6lc64_ooo_int2On11OptionalOffOffInteger-only OoO; bring-up / verification baseline
g6lc64_smt2_ooo_int2On21L2SstcOffProduction SMT2 over OoO (mixed residency; ring-16 window adopted T10d — T9f/M3 uplift bundle not adopted)
g6lc64_ooo_int22On22L2SstcOffTwo-core WT + COH_OOO integration target
g6lc64_ooo_server4On≤22+L2/L3 autoCheck pkgOffFat server OoO + multicore — opt-in/unqualified (drained-FP legal, COH_FILTERED unqualified; see note)
g6lc64_server_math2Off12L2 autoOnOffKVM/math host C-light
g6lc64_server_math_v2Off12L2 autoOnOnSame + Ara/RVV
g6lc64_stream81Off12L2OnOffStream8-class in-order fabric bring-up
g6lc64_stream8_l31Off12L2 + non-inclusive 1 MiB L3OnOffSame + L3 (M6)
g6lc64_server_math_l32Off12L2 + non-inclusive 1 MiB L3OnOffSame + L3 (M6)
g6lc64_ai1Off12L2OnOffAI island (Xg6lcai) profile — FP island since 2026-09-30 (IslandFpEn=1, seven formats, 512 MAC/cycle, flat-panel banks); see AI Island
g6lc64_smt2_ai2Off21L2OffOffSMT2 + AI island: two software harts driving the island on per-hart queues; SoC builds, oracle controls behave, ai_dot4/mma/queue/MMIO smokes pass (2026-10-01); DTS ariane-smt2-ai.dts ready, strict boot admitted but not run
g6lc64_ooo_int2_l3_ai2On22L2 + L3OnOffGenerated pin (ai-overlay pin): the all-on target with the FP island; SoC-top lint clean; AI subset not yet run
g6lc64_stream8_l3_ai1Off12L2 + L3OnOffGenerated pin: in-order two-core + L3 with the FP island; SoC-top lint clean
g6lc64_smt2_ooo_int_ai1On21L2OffOffGenerated pin: mixed residency, integer core, FP island (IslandFpEn no longer needs RVF/RVD); elaborates
cv64a6_imafdcv_sv391–2Off11OffOffOnLegacy vector-oriented

*Deep-spec package details: open the package; not every deep-spec knob implies OoO.

OoO packages and the legality guards. config_pkg::check_cfg gates OoO on speculation support and refuses FP residency outright, because core/ooo/** has no floating-point register class — FP results are neither renamed nor tracked in the busy table, so the combination aliases rather than under-performs:

assert (!(Cfg.OoOEn && !Cfg.SpeculativeSb));
assert (!(Cfg.OoOEn && Cfg.NrHarts > 1 && Cfg.FpPresent && !Cfg.SmtDrainedHandoff));
                                                            // FP + mixed residency: refused
`ifndef G6LC_OOO_FP_QUALIFY
assert (!(Cfg.OoOEn && Cfg.FpPresent && Cfg.NrHarts > 1 && !Cfg.SmtDrainedHandoff));
                                                            // single-hart and drained FP lifted (T9g/M4)
`endif

Integer multi-hart OoO is legal under the drained handoff (SmtDrainedHandoff): the thread selector switches only when the scoreboard and store queues are empty, so the hart-blind backend never interleaves two harts’ work. Since T9g/M4 the same drained handoff legalizes multi-hart FP — only one hart is resident in IQ/ROB/LSQ at a time and the FP rename maps, pools and dirty_fp_state are per hart (owner-lifetime proof + four-hart directed test + Spike-exact FP suite). FP under mixed residency stays refused behind G6LC_OOO_FP_QUALIFY (the hart-tagged lazy-FS audit is the remaining work), and g6lc64_ooo_server stays an opt-in/unqualified target. g6lc64_ooo sets RVF=RVD=1 and is legal single-hart FP; g6lc64_ooo_int2_l3 is RV64GC+B. g6lc64_ooo_int clears every FP format and keeps NrHarts=1; it is a verification and bring-up baseline, not a qualified product — no independent-reference comparison and no boot evidence. g6lc64_smt2_ooo_int carries the production drained-handoff badge (strictDual OpenSBI/HSM profile). See architecture/out-of-order/README.md.

32-bit / FPGA-oriented (short list)

PackageTypical use
cv32a65xProduction 32-bit application TRL path (OpenHW book)
cv32a60xLeaner 32-bit profile
cv32a6_imac_sv32 / *_fpgaEmbedded / FPGA evaluation

These remain first-class for OpenHW manuals; most GSys LibreCore upgrade pages focus on 64-bit server-class SKUs.

Capability → page

CapabilityProduct page
Frontend / predictionFrontend Extensions
Multi-issueMulti-Issue
Out-of-orderOut-of-Order
SMTSMT
Multi-coreMulti-Core Cluster
L2/L3L2 / L3 Cache
Hypervisor / SstcHypervisor & Sstc
Vector / AraVector (RVV) & Ara
Server compositionServer Profiles
RoadmapUpgrade Program

How to select a SKU

// .config.ts
export default defineBuildConfig({
  soc: { coreConfig: 'g6lc64_server_math' },
})
g6lc-build config
g6lc-build verify --lint --target g6lc64_server_math

Board overlays (g6lc-build mb select) may pin soc.* — prefer board contracts over fighting the overlay.

Verification cost ladder

SKU classDefault verifyOptional suites
Classic imafdcIn default targetsOpen-source smoke
SMT2Opt-in targetsmt-linux-*
OoO lite / serverOpt-in targetooo-l3-tests, mc-*
Server mathOpt-in targetserver-math-tests
Server math + VOpt-in + Ara flisttestlist_ara_vector, live Ara env

Optional suites are often excluded from default CI for runtime, not maturity.

Structural timing

Wider issue, OoO, and multi-core hubs raise FO4 risk. Use g6lc-build timings for early structural feedback; STA remains sign-off.

  • Package sources: core/include/*_config_pkg.sv
  • Inference: core/include/build_config_pkg.sv
  • Live RTL summary: architecture/README.md