Role of IPLM in product development
Perforce IPLM supports top-down development while also providing a flexible structure that developers can leverage in their day to day tasks. The task of finding the right version of the right data is simplified. Perforce IPLM becomes the central source of truth for the organization, cleanly managing, automating, and abstracting design flows, and ensuring full visibility at all times.
Perforce IPLM versus data management
Perforce IPLM works with, but does not replace, file-level DM systems such as Git, Perforce, and Subversion. Each Perforce IPLM IP can have a pointer to a location in a DM system to establish a link between Perforce IPLM and the DM. In the case of a large centralized DM like Perforce the IP points to a particular repository location, all of the DM managed files and directories under that path are tracked by the IP. In the case of a distributed DM like Git, each IP tracks a single Git repository.
File level data management operations continue to be handled by each IP's DM system. Perforce IPLM doesn't wrap or modify the DM operations, so each DM can be used in its native state.
Release management
Perforce IPLM can capture the state of the files it is tracking in the DM system as a release. Each IP release is stored as an IP Version, or IPV, on the Perforce IPLM server. IPVs are a lightweight method to capture the IP design state.
In addition to capturing the state of the IP's own files and directories, Perforce IPLM also captures the IP's relationships to other IPs.
Hierarchical associations are formed between IPs by attaching child IPs as resources of a parent IP. Each resource IP can further have its own set of files and resources. In this way, a full hierarchical Component and IP BOM (CIPB) can be constructed in Perforce IPLM.
The IPs in Perforce IPLM Hierarchies are not limited to any one DM type, so it is common to mix Perforce IPs, Git IPs, and others into a single Perforce IPLM CIPB. Developers usually have good reasons to use a preferred DM system for their flow. Each DM has relative strengths for certain applications.
Perforce IPLM abstracts any DM system block out to an IP. Managing the CIPB as a Perforce IPLM IP Hierarchy means that all IPs can be published, searched, and integrated with the same Perforce IPLM interface, no matter what the underlying DM system. This unification is achieved while still enabling developers to maintain their preferred flows.
Workspace management
Perforce IPLM builds exact workspace replicas of its stored releases, with no restriction on the DMs represented in the IP Hierarchy. Each workplace replica provides a fixed starting point for continued development, as well as providing a reference against which workspace changes can be compared. As work progresses workspace content can be updated from the DM system either by using DM commands, or by bringing in new data via Perforce IPLM updates using Perforce IPLM commands.
At each step of the process, Perforce IPLM can provide a detailed analysis of what has changed in the workspace versus the previous release (or any other release). Users can work on their projects as normal, using their preferred DMs and tools, and then as needed they can compare what they've done against where they started. If they want to bring in other user's changes to their workspace, they can check what will happen before they actually perform the update.
Users who are ready to share their changes with other users can make a release of their IP. The design state is again captured in Perforce IPLM with a release, and the new release becomes the basis for further development.
Automation and metadata capture
Perforce IPLM captures the state of the design files and IP relationships in releases, and those same release events can be used to trigger automated workflows. Automation is integrated into Perforce IPLM via either the Events system, or through workspace hooks. Continuous integration flows can be triggered by a release. After that, a QA workspace is built; simulations and verifications are run; results are captured; and then the results are attached into IPLM and are graphically displayed. Perforce IPLM automation is flexible, and provides ample opportunity for customization if desired.
IP cataloging and search
Perforce IPLM is a scalable and centralized platform. One server (sometimes clustered) is enough to support large organizations with thousands of users. Each IP release of each project happening across the organization is automatically captured and (permissions allowing) centrally visible in Perforce IPLM. This functionality supports live search of the current state of all designs in the company. The full design state is captured and reproducible, and a full set of metadata can be attached to each IP and IP release. Perforce IPLM thus provides a current, searchable catalog of all activity in the organization.
External IP can be imported, searched, and consumed in the same manner as internal IPs.
Perforce IPLM versus PLM
Product Lifecycle Management (PLM) systems are designed to capture high-level product ideation and to track products through their lifecycles. PLMs provide controlled access to this data, and can track product metrics and provide analytics.
PLM systems generally run into difficulty tracking "high-velocity" design activity this is typical for semiconductor and software flows. The rate of change is so great that it is not feasible to keep the PLM system up-to-date with the current state of the design, and generally there is no centralized, up to date reference for the PLM to query for this information.
Perforce IPLM fills this gap by working with PLM systems and supplying this centralized, current design state reference. Perforce IPLM tracks the design progress across the organization, and metadata is traded back and forth to the PLM system for important releases.
Using Perforce IPLM along with a PLM ties together high-level planning and product tracking with real-time design level traceability in Perforce IPLM.
Perforce IPLM and issue tracking
Issue tracking systems are typically project centric issues are associated to a given project, but it is difficult to track the bug impact on other projects that might consume the same affected IP.
Perforce IPLM integrates popular issue tracking systems such as Jira, and through that integration enables IP-centric issue tracking. IP-centric issue tracking means that tickets are associated with particular versions of IPs. If these IP Versions are reused in other projects, Perforce IPLM tracks that usage.
All the bugs associated with the IPs in a particular hierarchy are rolled up and visible at the Perforce IPLM CIPB level. The traceability provided by Perforce IPLM removes the uncertainty around the bug's impact if one team discovers the bug and files a ticket, all teams that use the affected IP versions will immediately know that their project is impacted.
Perforce IPLM, requirements management, and functional safety
Perforce IPLM tracks IPs through their lifecycles by capturing the overall design state in releases, and associating these releases with external data sources such as requirements management systems like Jama Connect. Perforce IPLM bridges the gaps between design management, requirements management, and verification management.
Leveraging Perforce IPLM IPs, which are already tracking the state of the design, to centralize externally generated requirements and verification data, results in full requirements traceability. Requirements, the verification results that correspond to those requirements, and the immutable design release captured by Perforce IPLM can be analyzed in one place. Perforce IPLM's automation capabilities can be further leveraged to generate verification data for each new release automatically.
Traceability can be documented in accordance with functional safety requirements at each stage of the design.
After requirements are centralized through IPLM, traceability can be documented directly in Perforce IPLM and automatically populated into external documents. Because much of the flow can be automated, consistent documentation can be captured with minimal effort by the designers as the design progresses.

