https://github.com/pulp-platform/obi
OBI SystemVerilog synthesizable interconnect IPs for on-chip communication
https://github.com/pulp-platform/obi
Last synced: 5 months ago
JSON representation
OBI SystemVerilog synthesizable interconnect IPs for on-chip communication
- Host: GitHub
- URL: https://github.com/pulp-platform/obi
- Owner: pulp-platform
- License: other
- Created: 2023-04-24T17:09:17.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-11-13T14:08:28.000Z (7 months ago)
- Last Synced: 2025-11-13T16:14:12.394Z (7 months ago)
- Language: SystemVerilog
- Homepage:
- Size: 269 KB
- Stars: 19
- Watchers: 3
- Forks: 11
- Open Issues: 8
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# OBI
The repository contains a collection of SystemVerilog IPs for the [OBI v1.6 standard](https://github.com/openhwgroup/obi/blob/072d9173c1f2d79471d6f2a10eae59ee387d4c6f/OBI-v1.6.0.pdf).
They are designed by PULP-platform and are available under the Solderpad v0.51 license (See [`LICENSE`](LICENSE)).
## Using the IPs
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 `req` and `rsp` structs.
- `obi_req_t`: The OBI request struct is designed to be generated with a macro available in the `include/obi/typedef.svh` include 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.svh` include 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`.
## Available IPs
- `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.
## License
Solderpad Hardware License, Version 0.51