Continuing with our series on modular interfaces, today we’re going to talk about one of the most powerful features in Cynthesizer–the ability to create custom interfaces and use them at a high level. These are more than just ready/valid handshakes or external memory interfaces like I showed you last time. These are very [...]
Modular Interfaces Part II: External Memories
In the opening entry of this series, we introduced modular interfaces and talked about their importance in high-level synthesis (HLS). We touched on the ways that other HLS tools force you to create interfaces–with limiting approaches like ANSI C or off-the-shelf IP–and contrasted that against the strengths of our Cynthesizer tool. By designing [...]
Modular Interfaces Part I: Benefits
High-level synthesis (HLS) is just that–high level–a design approach that lets you work at a level above having to wade through pins and wires and state machines. There are many factors to consider in choosing an HLS tool, but one of them is so fundamental that it often gets overlooked.
It’s interfaces. I’m not just [...]
Hierarchy in SystemC: Why it’s so important for HLS!
Last time, I looked at the verification advantages of using SystemC for HLS. This time, I want to explore another important capability of SystemC that makes it far superior to ANSI C for hardware design.
I’m talking about structural hierarchy. SystemC supports hierarchy while ANSI C does not. Structural hierarchy means submodules, connected together [...]
Need another reason to use SystemC for HLS? The verification advantage is the best of all.
The “language war” in high-level system (HLS) design has been waging for a while now. You’ve probably read a lot of online publications touting the advantages of using SystemC over ANSI C to design at an abstract level. If you were to take what everyone is saying and boil it down to a few [...]