OSCI TLM-2.0 Standard and Synthesis Subset Video Tutorial
After decades of disappointments and false-starts, ESL Synthesis tools are finally on the verge of becoming mainstream. Their success is linked directly, in the minds of many observers, to the success of the OSCI TLM standard. Going a step further, the OSCI Synthesis Working Group recently released a draft standard synthesizable subset definition. From the perspective of these emerging standards, we explore the lessons learned from the practical adoption of the TLM-2.0 standard, the resulting resurgence of SystemC synthesis, and the synergy between the two.
We start with a review of the SystemC TLM-2.0 standard that will be of interest both to newcomers and to those who are already writing transaction-level models. Topics covered will be based on the most frequently asked questions concerning the current TLM-2.0 standard, such as: when to use the base protocol and when to create a new protocol, how to extend the generic payload, how to use a memory manager, how best to pass transactions through interconnect components, and how to model non-bus-based communication.
We continue with a review of the new synthesis subset developed by the OSCI Synthesis Working Group. We will review the supported language constructs as well as how to manage processes, clocks, resets, etc. Finally, we discuss how the SystemC synthesizable subset fits within the overall context of the different abstraction levels defined for TLM.
The tutorial is split into six parts:
- Part 1: The TLM-2.0 Standard
- Part 2: Current Trends in ESL/HLS
- Part 3: Why SystemC for Synthesis
- Part 4: SystemC Synthesizable Subset Draft V1.3
- Part 5: Lessons Learned Using SystemC Synthesis
- Part 6: How SystemC HLS Fits in the Design Flow