OCP 'tags' support high-performance SoCs
(05/08/2006 12:09 AM EDT), EE Times
Increasing design complexities in deep sub-micron systems on chip (SoCs) have forced designers to adopt a communications centric approach to cope with the corresponding increase in the design productivity gap. These communications-centric interfaces define a modular socket interface and do not constrain the implementation of the actual SoC interconnect [5] to any particular topology or physical layer.
In this paper we focus on the Open Core Protocol (OCP) [6], one of the first protocols to adopt a non-proprietary, open standards based, on-chip protocol with independence from the physical transport. This independence allows implementers to scale and choose an interconnect topology and parameters which provide commensurate performance to a number of high performance SoCs.
The challenge
For high performance, the OCP 2.0 specification provides "threads" that a designer can use to send multiple independent transactions on the same set of shared wires. This is very useful for certain agents, such as multi-channel DMA cores, which multiplex many independent channels on to a physical OCP port.
However, some cores, most notably high performance processor cores, have slightly different needs. Their programming model dictates a high performance out-of-order data return mechanism with the least area cost penalty, calling for a lighter mechanism than threads called tags1. The complete channel separation of threads and its associated penalty due to independent flow control for each thread is not optimum for these cores.
The obvious solution of mapping tags to threads to work around this problem would be cumbersome, as threads are completely independent and would require the addition of logic to the processor core in order to resolve memory hazards occurring between threads. As an example, a load and a store from two different threads could be to the same target address, and because threads do not guarantee any order between two threads, the load could return the value of memory before or after the store, resulting in a hazard.
So in the OCP-IP Specification Working Group (SWG) we set about defining a tagging extension to OCP-IP version 2.0. This was the main extension to the specification when the version number of the specification was moved up from 2.0 to 2.1.
To read the full article, click here
Related Semiconductor IP
- USB 4.0 V2 PHY - 4TX/2RX, TSMC N3P , North/South Poly Orientation
- FH-OFDM Modem
- NFC wireless interface supporting ISO14443 A and B with EEPROM on SMIC 180nm
- PQC CRYSTALS core for accelerating NIST FIPS 202 FIPS 203 and FIPS 204
- USB Full Speed Transceiver
Related White Papers
- Utilizing OCP to design a high performance interconnect
- Enabling High Performance SoCs Through Multi-Die Re-use
- Improving Design Timing and Simplicity for Lower Cost and High Performance Multistandard Audio Decoder STA012
- Processor Architecture for High Performance Video Decode
Latest White Papers
- FastPath: A Hybrid Approach for Efficient Hardware Security Verification
- Automotive IP-Cores: Evolution and Future Perspectives
- TROJAN-GUARD: Hardware Trojans Detection Using GNN in RTL Designs
- How a Standardized Approach Can Accelerate Development of Safety and Security in Automotive Imaging Systems
- SV-LLM: An Agentic Approach for SoC Security Verification using Large Language Models