Application Note: Integrating ProjectIC with Duolog's Socrates Weaver
Methodics’ ProjectIC IP management system is designed to help design teams manage IPs. Through its dynamic IP catalog, workspace configuration management and IP release flows, ProjectIC facilitates SoC designs by enabling users to select IPs and their versions, and populate workspaces with the designated versions of the IPs and IP subsystems they need.
However ProjectIC is data agnostic. It does not parse the IP content itself. Instead, the flow assumes that internal or external third-party tools would be used to integrate the SoC and build top-level netlists and configurations. One such leading solution is the Socrates Weaver product from Duolog, which was recently acquired by ARM.
Duolog provides an extensible development environment, Socrates, with applications for efficiently defining and integrating IP. Socrates guides users through the IP integration process of configuring, instantiating and connecting IP. Socrates supports hardware, software, verification and documentation views of the IP integration process. With the click of a button or a command, these various views can be auto-generated by Socrates to realize IP or the entire SOC design.
Recognizing the obvious synergy between our complementary solutions, Methodics and Duolog have jointly developed a flow that leverages the best aspects of our individual solutions to provide an end-to-end SoC Build and Integration flow.
Creating a New Project
ProjectIC users can create a new SoC in the ProjectIC web client or command line client, as shown in the picture below. ProjectIC’s configuration tool allows users to quickly find and select the exact version of the IPs or IP subsystems they want to integrate into their SoC.
Once a new project is defined and configured, team members can then use the ProjectIC workspace commands to build accurate workspaces for the project.
At this point, the IPs are populated into user workspaces. Once the workspace is created, ProjectIC runs the ‘post-load’ hook to post-process the workspace contents. As part of the Duolog integration, the post-load hook calls the Socrates Weaver command line client to stitch together the workspace and create legal top-level RTL code. This also allows users to automatically integrate the design based on the various IP-XACT definitions of the IPs within the workspace and build the required collateral like register maps etc.
Managing an ongoing Project
As the project continues to evolve, teams may decide to select newer IPs or newer versions of existing IPs, or generate project specific contents. All of this activity is managed through the ProjectIC release process that enables users to select different component IP versions, or release new versions of project specific IPs etc. These changes are reflected as new releases of the project. Team members keep up with this steady stream of changes by running ProjectIC updates in their workspaces.
After every update, the workspace is changed is some way - either a new version of an IP is brought in, or a new IP is introduced, an existing IP is removed or relocated etc. All of these changes often require users to re-run Weaver to ensure all the necessary collateral is re-generated and up-to-date.
ProjectIC automates the process of re-generating the collateral by executing the weaver update automatically after each ProjectIC update. This ensures that all workspaces and the required collateral is always in sync. This is done through the ProjectIC ‘post-update’ hook, which calls the appropriate weaver command line client to rebuild the collateral in the workspace.