UFS Host Controller (AXI4)
A JEDEC UFSHCI 3.0 host controller in pure RTL
Interface IP
Overview
A UFS host controller sits between the SoC bus and the UFS storage device, turning the transfer descriptors a driver has written into memory into real link transactions. This IP implements that whole path in pure RTL: an AXI4 master fetches descriptors and moves payload data, an APB3 slave exposes the JEDEC UFSHCI 3.0 register model in a 4 KB window, and the transport, UniPro and data-link layers run down to a PHY adapter interface for an external SerDes.
Four asynchronous clock domains — APB, AXI/core, TX link and RX link — are crossed only through structural CDC: gray-coded asynchronous FIFOs, two-flop synchronizers and toggle handshakes, with matching FPGA (XDC) and ASIC (SDC) timing constraints supplied. Error handling is built in rather than bolted on: CRC corruption triggers NAC, a NAC triggers frame replay from a dedicated buffer, and a missing acknowledgement falls back to timer-driven retransmission, all reported through the standard error registers.
Verification is the differentiator. Fifteen functional regressions — link-up, end-to-end 4 KB and 8 KB read/write, multi-frame UPIU reassembly, error injection and recovery, task management, multi-slot round-robin, abort drain, interrupt aggregation, segmented QUERY and a constrained-random stress suite with seed sweeps — all pass on three independent simulators, with 94.35 % RTL statement coverage measured over 25 files.
Scope is stated explicitly rather than implied. This release targets the HS-Gear1, single-lane subset with TC0 and CPort 0 only, and UFSHCI crypto (CE) is not implemented. The M-PHY itself is outside the IP — the controller presents a PHY adapter interface for your SerDes. Higher gears, additional lanes and crypto are scoped as engagement items.
| Standards | JEDEC JESD223D (UFSHCI 3.0) · JESD220E (UFS 3.1) · MIPI UniPro v1.8 subset |
|---|---|
| Host bus | AXI4 master DMA (descriptors and payload) + APB3 slave (4 KB register window) |
| Link | HS-Gear1 Rate B, 1 lane · 32 transfer slots + 8 task-management slots |
| Verification | 15 functional regressions passing on three simulators · 94.35 % statement coverage |
Deliverables
Included with a licence
- Synthesisable Verilog RTL and integration wrappers
- Cycle-accurate reference model and equivalence checker
- Full-chain testbench (clean / correct / UE / pad vectors)
- Datasheet, manual and integration guide (on request)
Verification toolchains: Intel/Altera (Quartus) · AMD/Xilinx (Vivado) · ASIC — process-portable RTL
Engagement
How we engage
01
IP licence
Licence the verified IP as it stands. Synthesisable RTL, the verification environment and an integration guide come with it.
02
Custom development
The IP is modified or extended to your requirement. Because we design from the interface layer up, unusual requirements can be accommodated.
03
Co-development & national programmes
Joint silicon and firmware development against platform requirements, including participation in national R&D programmes. Scope and terms are agreed case by case.
More IP
Other IP in the portfolio
Controller
SSD Controller
1.44MB to 16TB from a single controller
Interface IP
SATA 6Gbps Link / Transport
Domestic SATA Gen3 interface IP
ECC
156-bit BCH ECC
Parametric BCH codec, t = 8 … 156
ECC
QC-LDPC Error Correction
Soft-decision error correction for 3D NAND TLC / QLC
Security IP
PBKDF2-HMAC Key Derivation
Password to key — an RFC 8018 hardware engine
Security IP
AES-128/256 Encryption
Combined encrypt/decrypt engine with DMA streaming
Processor IP
RV32IMAC RISC-V Core
A domestic 32-bit RISC-V soft processor
DSP IP
ADSP-2181 Compatible DSP Core
Replaces an obsolete DSP, running its original binaries
DSP IP
DSP56001 Compatible DSP Core
A 24-bit fixed-point DSP — in active development
DSP IP
TMS320C54x Compatible DSP Core
16-bit fixed-point DSP — single-cycle MAC, Viterbi acceleration