I often blog about a specific EDA tool, or an IP block, but the way that SoC design teams approach their designs and then use tools and IP can either be a manual, ad-hoc process, or part of something that is well-documented, following a design methodology. Back in the 1980’s while at Intel our team first created a design methodology document in order to communicate with all team members how we were going to build a graphics chip for the emerging IBM-based PC market, but this was a paper document with no automation or enforcement, so our implementation was fraught with inconsistencies and too much manual effort.
Today there are products for workflow automation like Flowable, also called a Business Process Model Notation (BPMN) platform. Think of a workflow as steps in the process of designing, testing or deploying a product. A workflow for IP Lifecycle Management enables an IP designer to create IP that follows best practices, quality standards and company policies..
Two specific examples of workflows in this context include:
- IP development and release – IP has to meet a requirements check against specifications.
- IP maturity classification – IP passes through multiple steps towards production readiness.
Some products need to meet a Functional Safety (FuSa) compliance, so they include traceability of the entire IP design flow – tools used, design process certification, verifying specifications are met for each stage. Using workflow automation is a big benefit to meeting FuSa compliance.
- Server hooks – a script attached to an IP that runs an action after IP creation or changes are made, checking the quality.
- Client hooks – check an IP for quality within the user workspace, prior to allowing it into the Percipient server.
- Events platform – receive real-time updates for any change to IP data.
- Public API – used with the Events platform to work on data object.
- Custom properties and attributes – a way to extend the data model for any IP.
So the Percipient tool has these features that allow for workflow automation, and then for more complex workflow automation you should use a workflow engine, like the open-source tool Flowable.
As an example, consider a workflow for the planning Bill of Materials (BoM) where you want to plan out each IP design block and the design schedules, creating a planning manifest for the whole project.
Using the Flowable Workflow Engine you can model this workflow, saved in the standard BPMN 2.0 format:
For this project IP we use multiple resource IPs, and the project schedules are created in Microsoft Project. Let’s look into each workflow step:
- Start Event – the circle with triangle icon, creates a new IP with project Label, sending a request to the Flowable REST API.
- New IP Notification – a user is notified about a new IP.
- Planning IP Designation – notification sent to planning IP manager for review and classification.
- Retrieve Resource IP schedules – the top IP has dependent IPs, which use the sub-process workflow in the second diagram, component schedule.
- Generate IP Schedule Manifest – top-level IP has a manifest of all resource IP schedules.
- IP BoM Approval – a user approves the planning BoM, while a project manager reviews the complete Bill of Materials.
The Percipient tool integrates with the Flowable modeling tool by defining a new IP attribute in Percipient, and setting a JSON object for that property.
A workflow instance is made for a workflow model, linking the instance to a specific IP version. Version identifiers are used and passed as variables using the Percipient REST API. Attributes and properties can also be set or updated after a specific workflow operation.
If a workflow requires human interaction then in Flowable you use a Forms application to design and process forms. Another way to get user input is through IP attributes with the Percipient REST API.
The combination of Percipient for IP Lifecycle Management and Flowable for workflow automation makes the IP and SoC design process more consistent and comply with FuSa and security standards. This blog has introduced the concepts of workflow automation, events platform, REST APIs, hooks and the Flowable tool for workflow modeling.
Why approach your design methodology in an ad-hoc method, when you can define and enforce how the project should follow best practices?
Vadim Iofis, VP of Engineering at Methodics has written a 10 page White Paper which you can read now after a brief registration process.