At least once if not more, many of us may have faced the following situation. We download the latest software driver for a device only to find out after installing that it doesn’t work for your hardware. As per the release notes, it should work for your hardware but in reality it does not. We have no choice but to revert back to the earlier version of the driver. In some other cases, it may not be such a straightforward case of completely not working. And these situations are tricky as the bugs may manifest in subtle ways.
Though the above scenarios involve hardware/software interactions, such mismatches between requirements and solutions could be either solely hardware related or solely software related too. In this context, hardware assets and software assets together make up a company’s intellectual property (IP). While there is a lot of attention paid to reusability of IP assets, is there enough being done to keep requirements changes and design/implementation changes in-sync through the development and release cycles? This is the focus of a webinar that was hosted by Perforce a few weeks ago. Vishal Moondhra, Vice President of Semiconductor Solutions at Perforce presented some insights. The following are some salient points from his talk.
Challenges Faced During Embedded Development Cycle
Development teams are usually organized along project-basis with limited visibility into all of the available IPs within an organization. The software and hardware teams track requirements and IP using independent spreadsheets and other documents.
Hardware-led waterfall approaches are in style-opposition to typical agile-development software methodologies. The embedded software stack is often tracked using multiple spreadsheets, separating developers from the final design. These ad-hoc, peer-to-peer, untracked dependencies are the source of many issues faced further down the line. Even with the collaborative spirit in the context of hardware/software co-design/co-development requirements, connectivity between the groups is usually broken. The disconnect between the teams causes issues, delays, and compatibility problems.
During the development cycle, the requirements changes and planning quickly get out of sync and keeping them aligned is a usually a tedious process.
In addition, internally developed and 3rd party hardware IP are often used for a specific project, with limited visibility offered to outside of the immediate project team. Once a project is complete, the team’s collective knowledge dissipates as the team members move on to other tasks.
Streamlining for Overcoming the Above Challenges
Hardware and software teams need to collaborate through a single system that can seamlessly handle the complexities of both hardware and software development. This approach would allow all teams to share applicable IP across projects and bring software teams into the design process.
While the requirements management can still be managed on a per-project basis, having this unified IP-centric approach helps in the following manner.
- Status and availability of each component of their design is accessible to all teams
- Traceability of IP is improved (a requirement for many end-markets)
- Time-to-market for the end-product is improved
- Errors and incompatibility issues are reduced
Embedded Development IP-Centric Platform
The idea behind such a platform is to attach requirement dependencies to the IP blocks as meta data. Under this approach, the IP becomes an abstraction of data files that define its implementation with the meta data defining its state. Such a platform can be used to plan and execute the IP Bill of Materials (BoM) from the very start of a project.
The key features of this platform should include:
- Interfacing with ERM and manufacturing focused PLM tools to provide high level data on IP that matches your requirements
- Enabling hierarchical planning on all IPs, 3rd party and internal, that can be used across an organization.
- Generating the Component & IP BoM (CIPB)
- Providing a holistic view of your software and hardware IP to deliver a single, unified BoM to manufacturing
With the above features, consistency can be maintained throughout the embedded development process. And, as the development evolves, everything can be tracked and traced back to the original requirements/IP.
Perforce’s Methodics IPLM provides a scalable IP lifecycle management platform that tracks IP and its metadata across projects, providing end-to-end traceability and enabling effortless IP reuse. The Perforce Helix Core is a high performance data management system that can be used to support global teams with storage, access, and management of design assets for analog, digital, infrastructure, and software development. Together, these tools provide a single source of truth for a whole project. Perforce Planning and Collaboration Suite for Semiconductor integrates with hardware tools using a flexible REST API.