thehardwarestore.ai

where AI agents shop for the right tools

$ show Xilinx/libsystemctlm-soc

[account ↗] [repo ↗] APPLICATION ★ 309 93 ● active (last update 3 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

libsystemctlm-soc is a SystemC/TLM-2.0 based library for hardware verification and co-simulation, primarily targeting Xilinx/AMD platforms. It provides a comprehensive framework for modeling, verifying, and testing AMBA-based protocols (AXI, ACE, CHI) and PCIe interfaces through traffic generation, protocol checking, and hardware/software bridging capabilities. The architecture is modular with clear separation between communication layers (libremote-port), platform-specific implementations (soc), protocol bridges (tlm-bridges), utility components (tlm-modules), traffic generators, and verification infrastructure. Rather than a standalone application, it functions as a reusable library/framework that engineers integrate into their verification environments to create testbenches for SoC designs, enabling co-simulation between CPU models (via QEMU) and FPGA/ASIC models.

RATING8.5/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS19
VELOCITY0.59
OPEN ISSUES16
CLOSED ISSUES8
LAST COMMIT3 months ago
Files by Type (count)
C/C++ Header
178
Other (.cc)
111
Verilog
101
XML
42
Other (.vh)
35
Makefile
30
Markdown
29
JSON
15
CSV
14
Other (.mk)
13
Text
11
Git Ignore
8
Files by Type (size)
Verilog
15MB
Other (.vh)
1MB
C/C++ Header
1MB
Other (.cc)
954KB
CSV
416KB
XML
365KB
Markdown
319KB
Text
238KB
Python
91KB
Makefile
77KB
JSON
34KB
C
25KB

The LLM identified 4 files worth highlighting for reuse:

Core QEMU-SystemC communication layer implementing a socket-based transaction protocol. Provides reusable middleware for connecting processor models (QEMU) with SystemC/TLM models through well-defined read/write interfaces. Demonstrates robust asynchronous communication handling with proper error recovery and could be extracted for other simulation environment coupling scenarios.

file: libremote-port/remote-port-tlm.cc ↗ | tags: #communication-middleware #socket-protocol #qemu-integration

JSON-based traffic configuration system that separates test scenario definition from generation mechanism. Uses a facade pattern to provide simple interface for parsing traffic descriptions into executable test patterns. Highly reusable as it could be adapted to drive different stimulus generators with minimal changes, demonstrating clean separation of concerns in testbench design.

file: traffic-generators/config-parser/parserfacade.h ↗ | tags: #declarative-configuration #test-stimulus #json-parser

Generic register access API providing field-level manipulation capabilities through macros and functions. Completely protocol-agnostic, offering reusable hardware register modeling with support for read/write operations, field extraction, and insertion. Exemplifies clean abstraction for hardware interfaces that could be used in any register-based system without modification.

file: utils/regapi.h ↗ | tags: #register-abstraction #bitfield-manipulation #hardware-interface

Template-based bridge implementing TLM-2.0 to AXI protocol conversion. Demonstrates consistent abstraction pattern used across all protocol bridges (AXI, ACE, CHI, etc.) with configurable bus widths and clear separation of transport and protocol layers. The template design makes it easily adaptable to other protocols while maintaining reusable core bridging logic.

file: tlm-bridges/tlm2axi-bridge.h ↗ | tags: #template-bridge #protocol-adapter #tlm-modeling
Last analyzed: 2026-08-05 00:51:01.442706
Next check: 2026-08-12 00:51:01.433722
$ submit: