uneix hardware


aisoc design

DISCLAIMER: This hardware design is provided solely for academic purposes only. It has not undergone formal pre-silicon verification, validation, Emulation, or physical testing, and is not guaranteed for real-world silicon fabrication. The owner / creator accepts no responsibility and/or liability whatsoever for any consequences arising from its use. Use strictly at your own risk.

We are going to build a heterogeneous AI accelerator SoC, which consists of 8 NPU Compute Clusters, Distributed tensor/vector processing, a Centralized Scheduler and Command Processor + 1 x high-bandwidth QoS-aware NoC, 4 x HBM4 stacks, 4 x DDR memory, 8 x high-throughput DMA engines, 1 x PCIe/CXL host connectivity, 8 × 100G Ethernet ports. In addition, we will also describe multiple isolated CPU/firmware domains, and system-wide security, power-management, and RAS infrastructure.


Documentation

ParameterValueHow it is derived
NPU clusters / tensor cores8 clusters, 32 tensor cores4 cores × 128×128 MAC arrays per cluster
Peak dense compute≈1.89 PFLOPS FP8; ≈0.94 PF BF16; ≈3.77 PF FP432 × 16,384 MAC × 2 × 1.8 GHz
On-chip SRAM128 MB cluster scratchpad16 MB per cluster, SECDED
HBM44 stacks, 8.19 TB/s, 192 GB2048-bit × 8 Gb/s per stack; 48 GB stacks
DDR54 channels DDR5-6400, 204.8 GB/s, ≤ 512 GBRDIMM, ECC
Host interfacePCIe 7.0 x16 / CXL 4.0 Type-2, ≈242 GB/s per direction128 GT/s PAM4, FLIT mode
Scale-out network8 × 100 GbE = 800 Gb/s, RoCEv2 offload1 × 112G PAM4 SerDes lane per port
DMA8 engines, 1.0 TB/s aggregate512-bit port at 2 GHz each
Control CPUs4 isolated domains × 4 RV64 hartsPlus RV32 RoT, PM and scheduler micro-controllers
Physical address48-bit256 TB address space
Process / package (assumed)3 nm-class, ~800 mm², 2.5D with 4 HBM4 stacksTo be confirmed by physical design
TDP envelope750 WLiquid or high-end air cooling
BlockRTL moduleInst.ClockPower domainCSR win.IRQsKey figure
NPU cluster (SS1)npu_cluster8clk_npu[c] 1.8 GHzPD_NPU0–724 each236 TFLOPS FP8 each
AI datapath (SS2)ai_datapath1clk_dp 2.0 GHzPD_DP3440 × 36, 8.19 TB/s
Scheduler (SS3)scheduler1clk_noc 2.0 GHzPD_NOC11664 queues, < 1 µs dispatch
NoC (SS4)noc_top1clk_noc / clk_cfgPD_NOC0430 routers, 128 GB/s ports
PCIe / CXL (SS5)pcie_cxl_subsystem1clk_pcie 1.0 GHzPD_PCIE416x16 128 GT/s
Ethernet (SS6)eth_subsystem / eth_port1 / 8clk_eth 1.25 GHzPD_ETH54 / port8 × 100 GbE
HBM4 (SS7)hbm_stack4clk_mem 2.0 GHzPD_HBM62 each2.048 TB/s, 48 GB each
DDR5 (SS7)ddr_subsystem1clk_mem 2.0 GHzPD_DDR684 ch, 204.8 GB/s
DMA (SS8)dma_engine8clk_noc 2.0 GHzPD_DMA72 each128 GB/s each
CPU domain (SS9)cpu_domain4clk_cpu[d] 1.0–2.0 GHzPD_CPU0–382 each4 RV64 cores each
Power mgmt (SS10)power_mgmt1clk_aon 100 MHzAON9420 domains, < 100 ns throttle
Security RoT (SS11)sec_rot1clk_cfg 500 MHzAON104PQC secure boot
RAS (SS11)ras_aggregator1clk_cfg 500 MHzAON10814 sources, ≤ 100 ns fatal
Interrupt controllerirq_ctrl1clk_noc 2.0 GHzAON11—256 sources, 32 contexts
Clock & resetclock_reset1ref 100 MHzAON1226 PLLs, 20 domains
Debug & tracedebug_trace1clk_dbg 250 MHzPD_DBG13411 trace sources

NPU / tensor compute cluster (Subsystem 1) – One of eight identical clusters. Each cluster is an independent clock and power domain and receives work from the scheduler.

CategoryParameterSpecification
IdentityRTL module / instancesnpu_cluster × 8, inside npu_subsystem
ComputeTensor cores4 per cluster; 128 × 128 output-stationary systolic array (16,384 MACs per core)
 Data formatsFP4, FP6, FP8 (E4M3, E5M2), MXFP4/6/8 block-scaled, BF16, FP16, INT8; FP32 accumulation
 Peak throughput per clusterFP8 / INT8: 236 TFLOPS / TOPS; BF16 / FP16: 118 TFLOPS; FP4: 472 TFLOPS; 2× with 2:4 structured sparsity
 Accumulators128 × 128 FP32 per core (64 KB register file), double-buffered for back-to-back tiles
 Vector unit4 lanes × 2048-bit SIMD: 0.92 TFLOPS FP32, 1.84 TFLOPS BF16 (FMA); integer, compare, permute, reduce
 Special-function unit64 results per cycle (115 G/s): exp, reciprocal, rsqrt, tanh, sigmoid, GELU, log
MemoryScratchpad SRAM16 MB in 32 banks × 512 KB; 512-bit port per bank; ≈3.7 TB/s read (2× the 1.8 TB/s tensor-core demand)
 ProtectionSECDED per 64 bits; scrubbing; ECC errors reported to RAS
 Control processor memory32 KB I-TCM + 32 KB D-TCM
Data movementTile movers2 per cluster, each driving 2 datapath ports; up to 5-D strided descriptors; transpose; format conversion
 Outstanding requests64 × 4 KB reads per mover (512 KB per cluster in flight), covering ≈500 ns loaded latency at full rate
 Datapath bandwidth4 × 256 GB/s = 1.02 TB/s read + 1.02 TB/s write
ControlControl processorRV32IMAFC (SiFive E76-class), not user-programmable
 Command interface16-entry command FIFO; npu_cmd_t / npu_cpl_t; barrier arrive
ClockingCore clockclk_npu[c]: 1.8 GHz nominal, 0.6–2.2 GHz DVFS (from NPU PLL A or B)
 Port clocksDatapath and C2C ports on clk_dp; NoC and command ports on clk_noc; CSR on clk_cfg; PM on clk_aon
PowerDomain / statesPD_NPU0–7; OFF, RETENTION (SRAM retained), IDLE, LOW, NOMINAL, TURBO
 Throttlethrottle_t input: 8 levels; fast droop throttle within 100 ns
InterfacesAI datapath4 × AXI4 1024-bit managers (dp_req/rsp)
 System NoC1 × AXI4 512-bit manager; 1 × AXI4 512-bit subordinate (SRAM window, 16 MB in a 256 MB slot)
 C2C ring512-bit flit TX and RX with ready
RASFeaturesSECDED on SRAM and accumulator RF; parity on pipelines; poison consumption aborts the job only; ERR_INJECT
Registers / IRQCSR window / interruptsWindow 2, 1 MB per cluster; 4 interrupt lines per cluster
IPSourceIn-house tensor cores, vector unit, movers; licensed control core; foundry memory compilers
BudgetArea / power per cluster52 mm² / 50 W at FP8 full load (≈4.7 TFLOPS/W)

AI Fabric (Subsystem 2) – Dedicated memory fabric between the clusters and HBM/DDR, sized to carry the full HBM bandwidth.

CategoryParameterSpecification
IdentityRTL moduleai_datapath
PortsInitiators40: 32 NPU AXI4 1024-bit + 8 NoC AXI4 512-bit (up-sized to 1024-bit with async width converters)
 Targets36: 32 HBM AXI4 1024-bit + 4 DDR AXI4 512-bit
TopologyQuadrant switches4 (one per HBM stack); each 13 × 12 crossbar: 10 local initiators + 3 mesh inputs, 9 local targets + 3 mesh outputs
 Inter-quadrant mesh6 bidirectional links (full mesh); 3 × 1024-bit lanes per direction per link = 768 GB/s; 9.2 TB/s aggregate
 Mesh headroom1.5× the 6.1 TB/s that uniform hashing sends across quadrants
PerformancePeak bandwidth8.19 TB/s NPU ↔ HBM; 1.02 TB/s NoC ↔ memory
 Zero-load latency (one way)≤ 4 ns quadrant-local; ≤ 10 ns via mesh
 OutstandingPer NPU port 64 reads + 32 writes; per NoC port 128 reads + 64 writes
AddressingHBM interleaveAll 32 ports; default 256 B granule with XOR hash; selectable 4 KB, 2 MB, or NUMA (home quadrant)
 DDR interleave4 channels at 4 KB
QoSRegulation40 token-bucket regulators (1 GB/s granularity); 4 priority levels from AxQOS; age escalation
 DRAM efficiencyRead/write batching with programmable watermarks toward HBM
C2C ringConfiguration8 nodes, bidirectional, 512-bit at 2 GHz: 128 GB/s per hop per direction; 2 virtual channels; credit-based
 Latency / protection2 ns per hop; CRC with link-level retry
Clocking / powerClock / domainclk_dp 2.0 GHz (fixed); PD_DP, gated only when all HBM is idle
RASFeaturesECC sideband on every beat; poison propagation in axi_user_t; write-data parity; response timeouts
Registers / IRQCSR window / interruptsWindow 3; 4 interrupt lines
IPSourceArteris FlexNoC 5 (FlexGen) for switches; in-house hash, regulators and C2C ring
BudgetArea / power30 mm² / 25 W

Scheduler / command processor (Subsystem 3)

CategoryParameterSpecification
IdentityRTL modulescheduler
QueuesHost submission queues64 ring buffers (host or device memory), up to 64K entries each; one 4 KB doorbell page per queue at CSR +8 MB, mappable to a VF
 Hardware run-queues16, with 4 priority levels
 Tenants16 tenant contexts; weighted fair share; per-tenant cluster masks
 Execution contexts4,096 (12-bit ctx_id in npu_cmd_t)
DispatchRateUp to 1 command per cluster per cycle at 2 GHz; sustained ≥ 100 M commands/s
 LatencyDoorbell to first dispatch < 1 µs for device-memory queues
 Targets8 NPU clusters (npu_cmd_t) and 8 DMA engines (dma_cmd_t)
SynchronizationHardware barriers64 barriers / counting semaphores
 Fences64-bit timeline values written to memory; host-visible
PreemptionModesCooperative at tile boundaries; forced after programmable timeout (1 µs – 1 s)
ControlMicro-controllerRV32IMAFC (SiFive E76-class), 64 KB I-TCM + 64 KB D-TCM; handles exceptional commands
 Queue state SRAM512 KB, SECDED
Clocking / powerClock / domainclk_noc 2.0 GHz; PD_NOC (system functional, not gated)
InterfacesBuses and sideband1 × AXI4 512-bit NoC manager; 8 × command / completion; barrier arrive / release; 8 × DMA command / completion; throttle input
RASFeaturesCommand watchdog per cluster; ECC on queue SRAM; errors to RAS
Registers / IRQCSR window / interruptsWindow 1 (doorbells at +8 MB); 16 interrupt lines
IPSourceIn-house dispatch engine; licensed micro-controller; DesignWare timers and watchdog
BudgetArea / power4 mm² / 2 W

NoC / interconnect (Subsystem 4)

CategoryParameterSpecification
IdentityRTL modulenoc_top
Data NoCTopology6 × 5 2D mesh, 30 routers, XY routing; separate request and response networks
 Links512-bit at 2.0 GHz: 128 GB/s per port per direction
 Router2-cycle pipeline; 4 virtual channels × 8-flit buffers per input
 Latency≈1.5 ns per hop; ≤ 15 ns corner to corner at zero load
 Bisection≈1.5 TB/s per physical network
PortsInitiator NIs27: PCIe 2, Ethernet 2, DMA 8, CPU 4, NPU 8, scheduler 1, debug 1, security 1
 Target NIs23: AI-datapath memory 8, PCIe outbound 2, NPU SRAM 8, CPU SRAM 4, security mailbox 1
 ProtocolAXI4, 48-bit address, 12-bit ID after remap, 16-bit user (axi_user_t); 64 outstanding per NI
QoSTraffic classesTC0 control (strict, capped), TC1 latency (WRR high), TC2 bulk (WRR + token buckets), TC3 network (≥ 100 GB/s reserved)
SecurityFirewallsPer target NI: 16 regions, 16-bit domain allow mask, secure attribute; locked by RoT (fw_cfg_lock)
 Identity stampingDomain, tenant, secure and TC stamped by initiator NIs in hardware
RASTimeoutsPer target NI, programmable 1 µs – 100 ms; returns SLVERR and reports to RAS
Config NoCStructureAXI → APB bridge; APB4 32-bit tree at 500 MHz (clk_cfg); 14 ports, 16 MB window each
Clocking / powerClock / domainclk_noc 2.0 GHz (1.0–2.0 GHz); PD_NOC, never power-gated, idle routers clock-gated
ObservabilityProbesPer-link bandwidth, VC occupancy and latency counters; feeds debug trace
Registers / IRQCSR window / interruptsWindow 0; 4 interrupt lines
IPSourceArteris FlexNoC 5 with FlexGen; FlexNoC Resilience Package
BudgetArea / power25 mm² / 15 W

PCIe / CXL (Subsystem 5)

CategoryParameterSpecification
IdentityRTL modulepcie_cxl_subsystem
LinkStandard / ratePCIe 7.0, 128 GT/s PAM4, FLIT mode; backward compatible to Gen 1
 Widthx16; bifurcation x16, 2 × x8, 4 × x4
 Bandwidth256 GB/s raw, ≈242 GB/s effective per direction
CXLDevice typeCXL 4.0 Type-2: CXL.io, CXL.cache, CXL.mem
 CoherencyDevice coherency engine (DCOH) with 4 MB snoop filter
 Memory exposureHBM + DDR (up to 704 GB) as host-managed device memory; 4 HDM decoders
VirtualizationFunctionsSR-IOV: 1 PF + 63 VFs; FLR per function
 Address translationATS with 2,048-entry device TLB; PRI
 InterruptsMSI-X, 2,048 vectors across PF and VFs
SecurityLink encryptionIDE (AES-256-GCM): link IDE and up to 8 selective IDE streams; keys from RoT key bus
 Attestation / TEEDOE mailbox; SPDM 1.3 responder; TDISP for confidential device assignment
PowerStatesLink L0, L0p, L1, L1.2; device D0, D3hot, D3cold; PD_PCIE
ClockingClockspcie_refclk 100 MHz; controller clk_pcie 1.0 GHz; PIPE to PHY
InterfacesNoC2 × AXI4 512-bit managers (inbound), 2 × AXI4 512-bit subordinates (outbound) = 256 GB/s per direction
 Sidebandmsi_req_t from interrupt controller; host_err_t (AER) from RAS; PERST#, CLKREQ#, WAKE#
TimingBootLink training complete < 100 ms after PERST# deassertion (from ROM defaults)
RASFeaturesLCRC / FLIT CRC with replay; AER correctable, non-fatal, fatal
Registers / IRQCSR window / interruptsWindow 4; 16 interrupt lines
IPSourceSynopsys PCIe 7.0 controller with CXL 4.0, PCIe 7.0 PHY, IDE security module
BudgetArea / power23 mm² / 12 W

100G Ethernet × 8 (Subsystem 6)

CategoryParameterSpecification
IdentityRTL moduleeth_subsystem with eth_port × 8
PHYPorts / lanes8 × 100GBASE-KR1 / CR1, one 112G PAM4 SerDes lane each (106.25 Gb/s line rate)
 Ganging2 × 400G or 4 × 200G
 FECRS(544,514)
MACFeaturesIEEE 802.3; frames up to 9,216 B; PFC (8 priorities); ETS; IEEE 1588 PTP one- and two-step timestamping
RDMATransportRoCEv2 offload: Send/Receive, Write, Read, Atomics; reliable connected and unreliable datagram
 Scale16K queue pairs; programmable congestion control (DCQCN-compatible)
 Latency target< 2 µs one-way RDMA write chip to chip through one switch
CollectivesEngineAll-reduce, reduce-scatter, all-gather, broadcast; ring and tree algorithms; FP32 / BF16 / FP8 reductions in-line
BufferingPacket buffer8 MB shared, ECC
SecurityEncryptionMACsec and PSP at line rate (AES-GCM-256); keys from RoT key bus
BandwidthAggregate800 Gb/s = 100 GB/s per direction
Clocking / powerClock / domaineth_refclk 156.25 MHz; clk_eth 1.25 GHz; PD_ETH with per-port gating
InterfacesNoC2 × AXI4 512-bit managers on TC3 (256 GB/s)
 Module managementShared I²C; per-port presence, interrupt, reset, low-power pins
Registers / IRQCSR window / interruptsWindow 5: 1 MB per port + engine; 4 interrupt lines per port (32)
IPSourceSynopsys 112G PHY, 800G PCS, 100–800G MAC, MACsec; in-house RDMA and collective engine
BudgetArea / power22 mm² / 15 W

HBM4 memory (Subsystem 7) – Specification per stack; the SoC has four.

CategoryParameterSpecification
IdentityRTL modulehbm_stack × 4, inside memory_subsystem
DeviceStandardJEDEC JESD270-4 (HBM4)
 Capacity48 GB per stack (16-high, 24 Gb dies); 192 GB total
 Interface2048 DQ: 32 channels × 64 DQ, 2 pseudo-channels per channel (64 per stack)
 Data rate8 Gb/s per pin → 2.048 TB/s per stack, 8.19 TB/s total
ControllerHost ports8 × AXI4 1024-bit (256 GB/s each), each serving 4 channels
 SchedulingOut-of-order FR-FCFS, bank-group aware; 64-entry read and 64-entry write queue per channel; write-drain watermarks
 RefreshAll-bank and per-bank refresh; refresh management (RFM); temperature-compensated
 PHY interfaceDFI 5.x
PerformanceZero-load read latency≤ 60 ns at the controller port (row miss)
 Efficiency≥ 85% of peak for streaming reads; ≥ 75% for mixed 2:1 read/write random 256 B
RASFeaturesOn-die ECC + controller ECC on ECC pins; error check and scrub (ECS); soft and hard post-package repair; poison on uncorrectable
ThermalMonitoring3-bit temperature and catastrophic trip per stack to power management
TestAccessIEEE 1500 wrapper per stack; PHY BIST and loopback
Clocking / powerClock / domainclk_mem 2.0 GHz controller; host ports on clk_dp; PD_HBM; self-refresh in RETENTION and OFF
Registers / IRQCSR window / interruptsWindow 6, 2 MB per stack; 2 interrupt lines per stack
IPSourceRambus HBM4 controller; Synopsys or Cadence HBM4 PHY
BudgetArea / power24 mm² per stack (PHY 18 + controller 6) / 8 W PHY + controller; DRAM stack ≈30 W in package

DDR5 memory (Subsystem 7)

CategoryParameterSpecification
IdentityRTL moduleddr_subsystem, inside memory_subsystem
DeviceStandard / speedJEDEC JESD79-5 DDR5-6400 RDIMM, 1 DIMM per channel
 Channels4; each 2 sub-channels × 40 bit (32 data + 8 ECC)
 CapacityUp to 128 GB per channel, 512 GB total
PerformanceBandwidth204.8 GB/s peak; ≥ 174 GB/s sustained
 Zero-load read latency≤ 90 ns at the controller port
ControllerHost ports4 × AXI4 512-bit (one per channel) on clk_dp
 SchedulingFR-FCFS, 64-entry queues per channel
 PHY interfaceDFI 5.x; training (write leveling, read and write centering, Vref) run by CPU D0
RASFeaturesSDDC-class (x4 chipkill) ECC; on-die ECC; patrol scrub; post-package repair; alert handling
SecurityInline encryptionAES-XTS-256 at line rate; 16 key slots (per tenant) from RoT key bus
Clocking / powerClock / domainclk_mem 2.0 GHz; PD_DDR; self-refresh in RETENTION and OFF
Registers / IRQCSR window / interruptsWindow 6 at +8 MB; 8 interrupt lines (2 per channel)
IPSourceSynopsys DDR5 controller and PHY; Synopsys inline memory encryption module
BudgetArea / power16 mm² / 8 W

DMA engine (Subsystem 8) – Specification per engine; the SoC has eight.

CategoryParameterSpecification
IdentityRTL moduledma_engine × 8, inside dma_subsystem
BandwidthPer engine / total128 GB/s (512-bit at 2 GHz) / 1.02 TB/s
ChannelsCount / arbitration16 per engine (128 total); priority + weighted round-robin
DescriptorsFormatsLinear, 2-D, 3-D strided, scatter-gather linked list; up to 4 GB per descriptor
 Sources of workCSR doorbell (CPU) or dma_cmd_t from the scheduler
Latency toleranceOutstanding reads128 reads up to 4 KB each (512 KB in flight), covering ≈4 µs at full rate — enough for PCIe host reads
 Reorder buffer256 KB, ECC
TransformsIn-flight operationsFP32 ↔ BF16 / FP16 / FP8 conversion; CRC32C; fill pattern
CompletionReportingdma_cpl_t to scheduler and / or 2 interrupt lines per engine
Clocking / powerClock / domainclk_noc 2.0 GHz; PD_DMA
QoSTraffic classTC2 bulk, limited by NoC token buckets
Registers / IRQCSR window / interruptsWindow 7, 1 MB per engine; 2 interrupt lines per engine
IPSourceIn-house
BudgetArea / power1 mm² / 0.6 W per engine (8 mm² / 5 W total)

CPU / firmware domain (Subsystem 9) – Specification per domain; the SoC has four isolated domains.

CategoryParameterSpecification
IdentityRTL modulecpu_domain × 4, inside cpu_subsystem
RolesD0 / D1 / D2 / D3System management and RAS / runtime / network control plane / host interface
CoresD04 × RV64GC in-order (SiFive P550-class); cores 0–1 can run as a dual-core lockstep pair
 D1–D34 × RV64GCV out-of-order with vector (SiFive P870-class)
 FrequencyD0 1.0 GHz; D1–D3 2.0 GHz with DVFS
MemoryCachesPrivate L1 instruction and data caches per core; 2 MB shared L2 per domain, ECC
 Tightly coupled SRAM1 MB per domain, visible in the CPU SRAM window (16 MB slot per domain)
 Protection / translationPMP and Smepmp; Sv39 / Sv48 MMU on D1–D3 (Linux-capable); D0 runs an RTOS
InterruptsInputsRISC-V AIA: IMSIC per core (M and S files), external MEIP / SEIP, NMI from RAS
IsolationMechanismsSeparate clock, reset, power domain and NoC domain ID; inter-domain traffic only through 4 hardware mailboxes per domain
DebugAccessRISC-V Debug 1.0 via DMI from debug_trace, gated by dbg_auth_t
SafetyWatchdog1 per domain, reports to RAS
BootReleaseHeld in reset until the RoT verifies the image and asserts cpu_rel[d]; boot vector from RoT
InterfacesNoC1 × AXI4 512-bit manager; 1 × AXI4 512-bit subordinate (TCM window)
 D0 peripheralsUART console, 16 GPIO
Clocking / powerClock / domainclk_cpu[d]; PD_CPU0–3 (D0 never gated; D1–D3 gateable with L2 retention)
Registers / IRQCSR window / interruptsWindow 8, 4 MB per domain; 2 mailbox interrupt lines per domain
IPSourceSiFive Performance P870 and P550; DesignWare UART and GPIO; in-house mailboxes and lockstep wrapper
BudgetArea / power6 mm² / 5 W per domain (24 mm² / 20 W total)

Power management (Subsystem 10)

CategoryParameterSpecification
IdentityRTL modulepower_mgmt
ControllerProcessorRV32IMAFC (SiFive E76-class), 64 KB I-TCM + 64 KB D-TCM; firmware verified by the RoT
DomainsPower domains20 gateable domains (pd_e) plus the always-on domain
 P-statesOFF, RETENTION, IDLE, LOW, NOMINAL, TURBO via pm_req_t / pm_rsp_t handshake
 Transition targetsIDLE ↔ NOMINAL < 1 µs (clock gating); RETENTION ↔ NOMINAL < 50 µs; OFF ↔ NOMINAL < 1 ms
DVFSFrequency controlclk_ctrl_t per clock domain (enable, PLL select, divider); NPU 0.6–2.2 GHz, CPU 1.0–2.0 GHz
 Voltage controlAVS over PMBus to board regulators, per rail
SensingOn-die sensors64 thermal sensors (±1 °C after calibration); 32 voltage-droop detectors; 8 process monitors
 ExternalHBM temperature and catastrophic trip per stack
Control loopsTDP loop≈1 ms period; activity-based power estimate per domain
 Fast throttleDroop or di/dt event to cluster throttle in < 100 ns
 Thermal tripHardware thermtrip_n at 125 °C, independent of firmware
TelemetryReportingPer-domain power and temperature at 1 kHz, reported to host through CPU D3
Clocking / powerClock / domainclk_aon 100 MHz; always-on domain
Registers / IRQCSR window / interruptsWindow 9; 4 interrupt lines
IPSourceSiFive E76-class controller; Synopsys SLM PVT monitors; DesignWare I²C (PMBus)
BudgetArea / power2 mm² / 0.5 W

Security root of trust (Subsystem 11)

CategoryParameterSpecification
IdentityRTL modulesec_rot, inside security_ras
ProcessorCore / memoryRV32 RoT core; boot ROM (1 MB window); 1 MB secure SRAM; private to the RoT
StorageOTP16 KB: root keys, lifecycle state, anti-rollback counters, repair data
 Boot flashQSPI, A/B firmware images
CryptoSymmetric / hashAES-256 (GCM, XTS, CTR); SHA-2 and SHA-3; HMAC; KDF (NIST SP 800-108)
 Public keyECDSA P-384; ML-DSA-87 and ML-KEM-1024 (FIPS 204 / 203)
 Random numbersTRNG with SP 800-90B health tests; DRBG
BootSecure and measured bootDual signatures (ECDSA-P384 + ML-DSA-87) on every image; measurements recorded for attestation
AttestationProtocolSPDM 1.3 responder via PCIe DOE; DICE-based device identity
KeysKey busSide-loaded keys to PCIe IDE, Ethernet MACsec / PSP and DDR encryption; never visible to software
LifecycleStatesRAW, TEST, DEV, PROD, RMA, SCRAP; gates debug and test features
IsolationControlscpu_rel and boot vectors per domain; NoC firewall lock; debug authorization (dbg_auth_t)
TamperDetectionVoltage and clock glitch detectors
CertificationTargetDesigned for FIPS 140-3 validation
Clocking / powerClock / domainclk_cfg 500 MHz; always-on domain
Registers / IRQCSR window / interruptsWindow 10 (+0); 4 interrupt lines
IPSourceRambus RT-6xx Root of Trust; Rambus Quantum Safe Engine; Synopsys NVM OTP
BudgetArea / power3 mm² / 0.5 W

Error management / RAS (Subsystem 11)

CategoryParameterSpecification
IdentityRTL moduleras_aggregator, inside security_ras
InputsError sources14 (one ras_err_t per top-level block): corrected, deferred, uncorrected, fatal + 8-bit code
RecordsFormatPer-source error records in RISC-V RERI layout: status, address, syndrome, 64-bit timestamp
 RetentionPreserved across warm reset (always-on and configuration domains)
PolicyThresholdsPer-source corrected-error thresholds and leaky-bucket storm detection
 EscalationInterrupt → NMI to all domains → host AER → fault_n pin → optional warm reset
TimingTargetsFatal to NMI ≤ 50 ns; fatal to fault_n ≤ 100 ns
ValidationInjectionError injection in every block through the common ERR_INJECT register
Clocking / powerClock / domainclk_cfg 500 MHz; always-on domain
Registers / IRQCSR window / interruptsWindow 10 (+8 MB); 8 interrupt lines
IPSourceIn-house
BudgetArea / power1 mm² / 0.5 W

Interrupt controller

CategoryParameterSpecification
IdentityRTL moduleirq_ctrl
Wired interruptsAPLIC256 level-sensitive sources (166 used); 2-flop synchronizers; 7 priority levels
 Contexts32: 4 domains × 4 cores × machine and supervisor
Message interruptsIMSICPer core, machine and supervisor files, 255 identities each
Host interruptsMSI-X generator2,048 vectors, tagged with PF / VF index
LatencyTargetsSource to core ≤ 20 ns; scheduler completion to MSI-X on the link ≤ 300 ns
SecurityRouting lockSource-to-domain routing set by secure firmware and locked
Clocking / powerClock / domainclk_noc 2.0 GHz; always-on domain
RegistersCSR windowWindow 11
IPSourceIn-house, RISC-V AIA 1.0 compliant
BudgetArea / power1 mm² / 0.5 W

Clock and reset

CategoryParameterSpecification
IdentityRTL moduleclock_reset (with rst_sync, clk_gate)
ReferencesInputsref_clk_100m; pcie_refclk 100 MHz; eth_refclk 156.25 MHz
PLLsCount / type6: SYS (4.0 GHz VCO), NPU A, NPU B, CPU, MEM, plus PHY-internal PLLs; fractional-N; lock < 50 µs
DistributionDomains20 clock domains (clk_e); divider 1–16, glitch-free mux and ICG per domain
 MonitoringClock monitor on every PLL output: loss of lock and frequency deviation > 1% → RAS
ResetStructure20 domain resets; asynchronous assert, synchronous de-assert through 3-stage synchronizers
 SequencingPOR → AON + RoT → PLLs → fabrics → CPU domains on cpu_rel; warm reset from RAS preserves AON and CFG
DFTTest controlsClock-gate override and reset-synchronizer bypass in test mode
Clocking / powerDomainAlways-on
Registers / IRQCSR window / interruptsWindow 12; 2 interrupt lines (PLL unlock, clock-monitor fault)
IPSourceAnalog Bits PLLs; in-house sequencer and monitors
BudgetArea / power3 mm² / 2 W

Debug, trace and DFT

CategoryParameterSpecification
IdentityRTL moduledebug_trace
Debug accessJTAGIEEE 1149.1 TAP; IEEE 1687 (IJTAG) network; RISC-V DTM → DMI to the 4 CPU domains
 Authorizationdbg_auth_t from RoT (invasive, non-invasive, secure); lifecycle-gated
TraceSources / funnel11 sources × 64-bit trace (trc_e); funnel with per-source IDs
 Storage64 KB on-chip trace buffer; trace router spills to DDR (up to 4 GB) over a NoC manager
 Cross-trigger8 channels across all 14 blocks
 TimestampGlobal 64-bit counter on clk_aon, broadcast to all blocks
DFTScanCompressed scan; targets ≥ 99% stuck-at, ≥ 95% transition-fault coverage
 Memory testMBIST with repair for all SRAMs (128 MB scratchpad included)
 PHY testSerDes loopback and PRBS; HBM IEEE 1500 and BIST; DDR PHY BIST
Clocking / powerClock / domainclk_dbg 250 MHz; PD_DBG
Registers / IRQCSR window / interruptsWindow 13; 4 interrupt lines
IPSourceSiemens Tessent Embedded Analytics, IJTAG and MBIST; Synopsys TestMAX (alternative)
BudgetArea / power4 mm² / 1 W

Area and power budget – Each block team designs to the allocation below. The logic die must stay under the reticle limit with margin for floorplan whitespace, and the package must stay inside the 750 W TDP with a margin for estimation error and voltage-regulation effects.

BlockInstancesArea each (mm²)Area total (mm²)Power total (W)Share of die area
NPU cluster85241640053%
HBM4 controller + PHY424963212%
AI datapath13030254%
NoC (data + config)12525153%
CPU domains4624203%
PCIe / CXL12323123%
Ethernet ×812222153%
DDR5 controller + PHY1161682%
DMA81851%
Scheduler14420.5%
Security RoT + RAS14410.5%
Debug and trace14410.5%
Clock and reset1332< 1%
Power management1220.5< 1%
Interrupt controller1110.5< 1%
Top-level routing, DFT, I/O, whitespace——102313%
Logic die total  780542100%
HBM4 DRAM stacks (in package)4——120—
Package total   662 
Margin to 750 W TDP   88 (12%) 

The SoC is a data-center accelerator card ASIC for large-model AI. It targets three workload classes: training of large transformer models (compute and network bound), inference prefill (compute bound) and inference decode (memory-bandwidth bound). The architecture therefore balances raw tensor throughput with very high HBM bandwidth, a dedicated memory fabric, low-latency collectives inside the chip, and an 800 Gb/s scale-out network between chips.

Two separate fabrics carry data. The System NoC carries control, host, DMA and network traffic between all subsystems. The AI Datapath is a dedicated high-bandwidth memory fabric between the NPU clusters and HBM/DDR, so that bulk tensor traffic never competes with control or host traffic. The NoC reaches memory through eight ports into the AI Fabric (ai_datapath).

#SubsystemPrimary functionPrincipal IP
1NPU / Tensor ComputeMatrix and vector compute, 8 clustersIn-house tensor cores; SiFive E-series control cores
2AI DatapathCompute-to-memory fabric, collective ringArteris FlexNoC 5 / in-house crossbar
3Scheduler / Command ProcessorHost queues, dispatch, synchronizationIn-house dispatch engine; SiFive E76 µC
4NoC / InterconnectSystem data network and CSR networkArteris FlexNoC 5 with FlexGen
5PCIe / CXLHost link, CXL.mem/.cache, MSI-XSynopsys PCIe 7.0 + CXL 4.0 controller and PHY
6100G Ethernet ×8Scale-out network, RDMASynopsys 112G PHY, 800G MAC/PCS
7HBM / DDR MemoryHBM4 and DDR5 controllers and PHYsRambus HBM4 controller; Synopsys DDR5
8DMABulk data movementIn-house engines
9CPU / Firmware DomainsManagement and runtime firmwareSiFive P870 / P550
10Power ManagementDVFS, power gating, thermalSiFive E-series; Synopsys SLM PVT monitors
11Security + RASRoot of trust, keys, error managementRambus RT-6xx Root of Trust

The following sequence shows how a unit of AI work travels through the chip; it is the main use case the architecture is optimized for.

– The host writes command buffers to host or device memory and rings a doorbell (a write to the scheduler’s doorbell page through PCIe and the NoC).
– The scheduler fetches the command descriptors, resolves dependencies (barriers and semaphores) and applies tenant QoS.
– The scheduler dispatches commands to one or more NPU clusters over dedicated sideband links, and kicks DMA engines for host transfers.
– Clusters stream weights and activations from HBM through the AI datapath into their SRAM, compute, and exchange partial results over the C2C ring; cross-chip collectives go out through the Ethernet RDMA engine.
– Clusters return completions; the scheduler writes a completion record and fence value to memory.
– The interrupt controller sends an MSI-X to the host, which retires the work.

The program licenses standards-based IP where the standard defines the behaviour and silicon-proven PHYs carry high risk (PCIe, CXL, Ethernet, HBM, DDR, root of trust, NoC generation tooling, RISC-V CPU cores). It develops in-house the blocks that differentiate the product: tensor cores, vector units, the AI datapath’s hashing and QoS, the scheduler dispatch engine, the high-throughput DMA engines, the collective ring and the RDMA/collective offload engine.

CriterionLicensed IPIn-house IP
Standard defines behaviourPreferred (compliance, interop)Avoid
Mixed-signal / SerDes / PHYRequiredNot planned
Product differentiationAvoidPreferred
Schedule riskLower for proven IPHigher; mitigated by early RTL shells


Scroll to Top