Skip to main content
Skip to main content

SATA Host controller IIP

SATA Host controller IIP

Overview

COMPETITIVE ADVANTAGE

The SivaKali Tech SATA Host controller IIP is a highly reliable, silicon-proven IP core designed for high-performance system integration. Engineered to meet strict industry compliance standards, this core offers exceptional flexibility and ease of integration into both ASIC and FPGA designs. Professional grade IP core for embedded system design. Validated on leading FPGA platforms and foundry nodes, it provides a low-risk, time-to-market advantage for developers.

COMPETITIVE ADVANTAGE

Production Proven: Validated in silicon and FPGA across diverse applications.

Cost Efficient: Competitive licensing models designed to lower the barrier to entry for custom silicon.

Expert Support: Direct access to senior design engineers for rapid integration assistance.

Flexible Deliverables: Available as synthesizable source code or optimized netlists.

FEATURES
  • Compliant with SATA specification - 2.5, 2.6, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5
  • Supports 1.5 Gbit/s, 3.0 Gbit/s and 6.0 Gbit/s data transfer rates
  • Supports DMA and PIO commands
  • Supports 48-bit address set
  • Supports 8b/10b coding and decoding
  • Supports CRC generation and checking
  • Supports Auto insertion of HOLD primitives
  • Supports Port Multiplier, Port Selector
  • Supports First Party DMA (FPDMA)
  • Supports CONT primitive for primitive suppression to reduce EMI
  • Supports the shadow register block and the serial ATA status and control registers
  • Supports selectable data scrambling option.
  • Supports link layer power modes.
  • Fully synthesizable
  • Static synchronous design
  • Positive edge clocking and no internal tri-states
  • Scan test ready
  • Simple interface allows easy connection to microprocessor/micro-controller devices
FUNCTIONAL DESCRIPTION

CORE: Core module interconnects all the sub-modules in the SATA host controller IIP.Ports of core module are the top level ports for the SATA host controller IIP.

CSR: CSR Module has all the Control and Status registers. The contents of the registers are decoded and assigned to its respective output ports based on its functionality.

APPS: Application module will generate the SATA commands based on the command registers in CSR module. Whenever the command is written by SoC interface in CSR module it will generate the internal interrupt to application layer. Based on the command application layer will generate the command and made request to transport layer for FIS generation and responses. Based on the SATA responses from the drive side it will update the error and status registers in CSR modules.

TRANSPORT: Transport module is responsible to generate the SATA frame as per request from the SATA apps layer. Once it receives request from the apps layer it will send the XRDY transmit request to SATA link layer. Once it gets the acknowledgement with RRDY it will send the frame with SOF, Data Dwords and EOF in the link.

LINK: Link module is responsible to transmit and receive frames, primitives based on control signals from the Transport layer, and received primitives or data‟s from the PHY layer.During data transmission it will also initiate and respond to flow control primitives and mechanisms. This module will also suppress the primitives using CONT primitives and also able to decode the suppressed primitives in the receiver link.

ENCODER: Encoder module is responsible for encoding 8 bit data into 10 bit data. Information to be transmitted over Serial ATA shall be encoded a byte (eight bits) at a time along with a data or control character indicator into a 10 bit encoded character and then sent serially bit by bit.

TBI_LOGIC: TBI Logic block is used to take encoded data and convert it to 10bits, 20bits, 40bits or 80bits stream data. This module will be available only when TBI interface is selected

SYNC_FSM: Sync fsm module is used to establish dword synchronization and monitors whether invalid dwords are received or not.

ELASTIC_FIFO: Elastice fifo module is used to compensate the difference in clock frequency between receiver clock and internally generated clock. It can able to handle + or - 175 Dword Frequency change either by adding/removing the deletable primitive. Hence this elastic FIFO prevents from data loss when overrun / underrun conditions occur.

DMA_PORT: DMA port module is used to transfer the data from system memory to Hard disk drive or writing the data to system memory when device Hard disk drive sends data in response with read command. Once it got the activation from the transport layer, it reads the command memory using the command base address and finds out the physical region descriptor address and count for the command. Based on the command type it reads/writes the data in system memory using the physical region descriptor address with the help of SoC master interface.

TBI_W_RX_OOB: OOB module is used to do phy oob initialization after reset condition. These OOB sequences bring the host controller to an initialized condition.

POWER_CONTROL_W_RX_OOB: Power control module is responsible for host controller to enter into low power mode when it reads data from the power management software register or it handles low power mode when device is initiated the request. To exit from the low power mode, comwake signal should be transmitted or received based on either host controller or device initiates the wake up request.

AHB_SLAVE: This AHB Slave module is used to write and read software registers.

AXI_SMASTER: AXI SMaster initiate write/read transfer based on the trigger signals from AXI SMaster control logic

ASIC AND FPGA IMPLEMENTATION
ASIC TechnologyLogic ResourcesSystem clock FrequencyLink clock FrequencyTX serdes clock FrequencyRX serdes clock FrequencyMaster clock Frequency
TSMC 28nm124.9K100MHz150MHz150MHz150MHz100MHz
SMIC 40nm130.24K100MHz150MHz150MHz150MHz100MHz
UMSC 55nm225.79K100MHz150MHz150MHz150MHz100MHz

FPGA Device and FamilyLogic ResourcesSystem clock FrequencyLink clock FrequencyTX serdes clock FrequencyRX serdes clock FrequencyMaster clock Frequency
Virtex-7 VC70720816 LUT's100MHz150MHz150MHz150MHz100MHz

LICENSING OPTIONS
  • Single Site license for regional development teams.
  • Multi-Site license for global corporate deployments.
  • Single Design license for specific project cost-efficiency.
  • Unlimited Design license for high-volume product roadmaps.
DELIVERABLES
  • Complete Verilog/VHDL/SystemC Source Code.
  • UVM-compliant verification environment with a comprehensive test suite.
  • Production-ready synthesis, Lint, and CDC scripts.
  • IP-XACT RDL generated address maps.
  • Standard-compliant firmware and Linux/C driver packages.
  • Detailed documentation: User Guides, Release Notes, and ISO 26262 Safety Manual (SAM)/FMEDA.