The repository contains a collection of SystemVerilog IPs for the OBI v1.6 standard.
They are designed by PULP-platform and are available under the Solderpad v0.51 license (See LICENSE).
As the OBI protocol is very configurable, the IPs are designed to incorporate specific parameters for the design:
- ObiCfg: This specifies the configuration used for the OBI protocol being input or output from the link. A default config can be found in the- obi_pkg.sv. This config should be aligned with the- reqand- rspstructs.
- obi_req_t: The OBI request struct is designed to be generated with a macro available in the- include/obi/typedef.svhinclude file and has fields for the handshake and a field for the A channel.
- obi_rsp_t: The OBI response struct is designed to be generated with a macro available in the- include/obi/typedef.svhinclude file and has fields for the handshake and a filed for the R channel.
Most IPs will also support a SystemVerilog interface variant, also based on ObiCfg.
- obi_mux.sv: A multiplexer IP for the OBI protocol.
- obi_demux.sv: A demultiplexer IP for the OBI protocol.
- obi_xbar.sv: A crossbar interconnect IP for the OBI protocol.
- obi_err_sbr.sv: A error subordinate, responding with the error bit set.
- obi_sram_shim.sv: An adapter for a standard sram.
- obi_atop_resolver.sv: An atomics filter, resolving atomic operations on an exclusive bus.
- apb_to_obi.sv: A protocol converter from APB to OBI.
- obi_to_apb.sv: A protocol converter from OBI to APB.
Solderpad Hardware License, Version 0.51