CORE: Core module interconnects all the sub-modules in the USB3.x OTG Controller IP. Ports of core module are the top level ports for the USB3.x OTG Controller IP.
CSR: CSR module has all the registers. The contents of the registers are decoded and assigned to its respective output ports based on its functionality.
OTG FSM: OTG FSM module controls and automates role switching between host and device.
SRP: SRP(Session Request Protocol) module enables the device to request host for starting a new USB session when the VBUS is off.
SCRAMBLER: Before transmission of the data, the data to be sent is scrambled in the scrambler based on LFSR value.
DESCRAMBLER: The received scrambled data is descrambled in this module.
EP0 PROCESSOR: The control transfer requests are processed in this module. From the Header Packet Decoder if the transfer type is control then the packet is passed to this module.
EP0 RAM ACCESS: The descriptor’s for the device is stored in this module. The main function of the module is to return descriptor value during enumeration.
IEP BUFFER: The payload to be transmitted are stored here. The IEP buffer facilitate data exchange from the DMA to host. The number of iep buffer changes based on number of endpoints.
OEP BUFFER: The payload received are stored here. The OEP buffer facilitate data exchange from the host to DMA. The number of oep buffer changes based on number of endpoints.
DMA: DMA is used to offload the processor from moving data from Device to Memory for OUT transfer and also move data from memory to Device for IN transfer.
TIMER ENABLE: The Timer Enable module generates various timing pulses. In this module 100 ns pulse is generated using a counter. With 100ns pulse 1us,10us,100us,1ms and 10ms timer enable’s are generated.
TRANSACTION SCHEDULER: Transaction scheduler is responsible for deciding which USB trnasaction is issued next by the host.
TRANSACTOR: Transactor module performs the transactions selected by the transaction scheduler.
EVENT CONTROL: Event controls are used to generate,queue and report the events from the host controller to software.
COMMAND PROCESSOR: Command processor executes the xHCI commands issued by the software through command ring.
RX DATA FRAMER: Rx data framer is used to decode all the valid data coming from PHY.
TX/RX SYNC FIFO: Tx and Rx sync fifo's are used to send data or recieve data safely between different(CORE and PIPE) clocks.
LCW FRAMER: Lcw framer is used to frame the packets according to the specifications.
LC DECODER: Lc decoder is responsible for checking the received LCWs.
TX DATA BUFFER: Txdata framer is used to constructs the proper format of header packet.
CRC5/CRC16 GENERATOR/CHECKER: Crc5/16 generator/checker used to generate/check the CRC5 and CRC16 of the Link control word and Headpackets. LMP GENERATOR: Lmp generator is used to generate the LMP for link management and link control.
DATA PACKET DECODER: Data packet decode is used to identify and detects the errors in packet type.CRC check,sequence numbers.
CRC32 GENERATOR/CHECKER: Crc32 generator/checker used to generate/check the CRC32 for the payload of Datapackets.
LTSSM: LTSSM is is state machine controls the link behaviour between PHY and MAC.
OS GENERATOR/OS PROCESSOR: OS generator/processor is used to generate or process the Orderset information.