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
| Package | Issue | OoO | SMT | Cores | L2/L3 | H+Sstc | RVV | Typical use |
|---|---|---|---|---|---|---|---|---|
cv64a6_imafdc_sv39 | 1–2 | Off | 1 | 1 | Off | Off | Off | Classic Linux-class identity |
cv64a6_imafdc_sv39_hpdcache | 1–2 | Off | 1 | 1 | Off | Off | Off | HPDCACHE L1 variant |
cv64a6_imafdc_sv39_wb | 1–2 | Off | 1 | 1 | Off | Off | Off | Write-back L1 variant |
cv64a6_imafdch_sv39 | 1–2 | Off | 1 | 1 | Off | H path | Off | Hypervisor-oriented without full server math |
cv64a6_spec_deep | ↑ | Off* | 1 | 1 | * | * | Off | Deep speculation knobs (DeepSpecEn) |
g6lc64_smt2 | 1–2 | Off | 2 | 1 | Often on | Off | Off | Dual-thread bring-up |
g6lc64_ooo | 2 | On | 1 | 1 | Optional | Off | Off | Dual-issue OoO lite — legal single-hart FP (T9g/M4) |
g6lc64_ooo_int | 2 | On | 1 | 1 | Optional | Off | Off | Integer-only OoO; bring-up / verification baseline |
g6lc64_smt2_ooo_int | 2 | On | 2 | 1 | L2 | Sstc | Off | Production SMT2 over OoO (mixed residency; ring-16 window adopted T10d — T9f/M3 uplift bundle not adopted) |
g6lc64_ooo_int2 | 2 | On | 2 | 2 | L2 | Sstc | Off | Two-core WT + COH_OOO integration target |
g6lc64_ooo_server | 4 | On | ≤2 | 2+ | L2/L3 auto | Check pkg | Off | Fat server OoO + multicore — opt-in/unqualified (drained-FP legal, COH_FILTERED unqualified; see note) |
g6lc64_server_math | 2 | Off | 1 | 2 | L2 auto | On | Off | KVM/math host C-light |
g6lc64_server_math_v | 2 | Off | 1 | 2 | L2 auto | On | On | Same + Ara/RVV |
g6lc64_stream8 | 1 | Off | 1 | 2 | L2 | On | Off | Stream8-class in-order fabric bring-up |
g6lc64_stream8_l3 | 1 | Off | 1 | 2 | L2 + non-inclusive 1 MiB L3 | On | Off | Same + L3 (M6) |
g6lc64_server_math_l3 | 2 | Off | 1 | 2 | L2 + non-inclusive 1 MiB L3 | On | Off | Same + L3 (M6) |
g6lc64_ai | 1 | Off | 1 | 2 | L2 | On | Off | AI island (Xg6lcai) profile — FP island since 2026-09-30 (IslandFpEn=1, seven formats, 512 MAC/cycle, flat-panel banks); see AI Island |
g6lc64_smt2_ai | 2 | Off | 2 | 1 | L2 | Off | Off | SMT2 + 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_ai | 2 | On | 2 | 2 | L2 + L3 | On | Off | Generated pin (ai-overlay pin): the all-on target with the FP island; SoC-top lint clean; AI subset not yet run |
g6lc64_stream8_l3_ai | 1 | Off | 1 | 2 | L2 + L3 | On | Off | Generated pin: in-order two-core + L3 with the FP island; SoC-top lint clean |
g6lc64_smt2_ooo_int_ai | 1 | On | 2 | 1 | L2 | Off | Off | Generated pin: mixed residency, integer core, FP island (IslandFpEn no longer needs RVF/RVD); elaborates |
cv64a6_imafdcv_sv39 | 1–2 | Off | 1 | 1 | Off | Off | On | Legacy 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)
`endifInteger 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)
| Package | Typical use |
|---|---|
cv32a65x | Production 32-bit application TRL path (OpenHW book) |
cv32a60x | Leaner 32-bit profile |
cv32a6_imac_sv32 / *_fpga | Embedded / FPGA evaluation |
These remain first-class for OpenHW manuals; most GSys LibreCore upgrade pages focus on 64-bit server-class SKUs.
Capability → page
| Capability | Product page |
|---|---|
| Frontend / prediction | Frontend Extensions |
| Multi-issue | Multi-Issue |
| Out-of-order | Out-of-Order |
| SMT | SMT |
| Multi-core | Multi-Core Cluster |
| L2/L3 | L2 / L3 Cache |
| Hypervisor / Sstc | Hypervisor & Sstc |
| Vector / Ara | Vector (RVV) & Ara |
| Server composition | Server Profiles |
| Roadmap | Upgrade 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_mathBoard overlays (g6lc-build mb select) may pin soc.* — prefer board contracts
over fighting the overlay.
Verification cost ladder
| SKU class | Default verify | Optional suites |
|---|---|---|
| Classic imafdc | In default targets | Open-source smoke |
| SMT2 | Opt-in target | smt-linux-* |
| OoO lite / server | Opt-in target | ooo-l3-tests, mc-* |
| Server math | Opt-in target | server-math-tests |
| Server math + V | Opt-in + Ara flist | testlist_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.
Related
- Package sources:
core/include/*_config_pkg.sv - Inference:
core/include/build_config_pkg.sv - Live RTL summary:
architecture/README.md