Effective Management Of System Designs

Why information gets lost and how you can prevent that from happening while also improving efficiency.


With the advent of the Internet-of-Things (IoT), system designs are slowly but surely becoming more complex. They now use heterogeneous architectures both on the System-on-Chip (SoC) and within a package.

These systems typically have multiple different CPU cores, hardware accelerators, memories, network-on-chip (NoC) fabrics and numerous peripheral interfaces. Now, add to this the complexities of the package, interposer and production board—not to mention boards designed for silicon bring-up and for prototyping coupled with complex EDA flows—and the words, “Houston, we have a problem,” come to mind.

IoT system projects, and for that matter a number of system projects, are comprised of many engineers with diverse backgrounds and expertise working at multiple design sites that often are dispersed globally. The daunting challenge becomes how to manage and collaborate efforts in a timely manner between system designers, software engineers, IC designers, package and interposer designers, design-for-manufacturing (DFM), design-for-test (DFT), test engineers, and of course, the management team.

This is where design management comes into play with an emphasis on keeping designers within a project in sync. When discussing data management for a project, we tend to think about the various types of design data, such as specifications, architectures, IPs, methodologies, tool handoffs—open issues that need to be shared between the groups working within the project. However, underlying all the sharing of the design data and the coordination efforts between the numerous groups with the project, there is a much larger set of data represented by the knowledge base of the engineers that create the design.

Unfortunately, during the course of a project this information gets disseminated into various applications such as emails, issue-tracking systems, project schedules, etc. The numerous key discussions, resolutions and the interactions on subjects such as specifications, methodologies and assumptions to which that module is being designed often slip through the cracks. This is true whether you are designing hardware logic, embedded software, NoCs, or last-level cache memories for the system. So it becomes a challenge when you have to revisit the project module, either to create a new version of the project, fix some issues on a module, or take over another designer’s module who has left the company.

Having a unified project dashboard to keep everyone in sync during the development stage and capture unobtrusively key information for a project becomes an essential element of managing complex SoC and systems-in-a-package (SiP) designs. With tight design schedules, it also becomes rather inefficient for a designer to look for design information in multiple applications such as share point, Google drive, bug tracking systems, data management systems, etc.

With a unified dashboard, there is a paradigm shift from an application-centric world, where a designer looks for design information across multiple applications, to a user-centric world, where the design information you seek is collated into the dashboard.

The need for a unified project dashboard becomes particularly important if you consider design reuse, which is something all enterprises would like to deploy successfully within their enterprise. Design reuse of IPs in markets such as IoT and automotive require the cooperation of many diversified groups, which may or may not work closely together. For example, the design group integrating an internal IP finds an issue during verification, which points to a bug within the IP. In order to fix it, they have to interact with the team that developed the IP.

Using an integrated IP management system and a unified dashboard, the project team has the option to quickly browse the open issues associated with the IP and escalate the issue if it has already been flagged. Alternatively, they can interact with the team that developed the IP and explore ways of resolving the issue. Any solutions provided are captured as part of the IP knowledge base, which subsequent teams using the IP can leverage.

Let us consider another example wherein a software developer in a remote design site is writing a device driver that is dependent upon some custom logic, and the specs for that custom logic are changed suddenly. Having a unified project dashboard will provide instant notification to the software developer of the changes. The software developer, along with his team, would have access to the knowledge base for the design part in question, where he/she could get details about the changes that occurred. Any queries, which the software designer may have, could be resolved using a discussion forum on the dashboard, instead of having a conference call or an email trail.

Similarly, impacts to the developer’s code may affect system test engineers, who are working on the modules that will be used to validate the device driver once parts are back from manufacturing. A unified dashboard also can manage schedule changes, track time through various project phases, and allow for crowdsourcing where questions can be asked of the project with anyone involved to enable sharing of insights and knowledge. All knowledge shared becomes part of the knowledge database for the project, as well as for the part of the design that is being discussed.

Some subjects, such as verification and test, tend to cut widely across a project. Proposed changes in these types of areas can be quickly discussed and resolved quickly. Management now gets an instant overview of the progress of the project and can play a role in these discussions thereby enabling fast decision making. Moreover dissemination of policy changes can be easily communicated to the project team members by using a unified project dashboard.

All in all, one of the biggest advantages of using a unified dashboard is that the conversations and data are preserved for the next revision of the project, or for derivative designs that may use parts of the current project. Talking about reuse, not only can an IP be reused, but when utilizing a unified dashboard the insights and knowledge of the project team can be reused to ultimately cut productivity time and cost on the next design.

With the speed of advancement in electronic design and the consumer demand for electronics it is inevitable for design teams to use a unified project data dashboard for the rapid development of today’s system designs such as IoT devices. For more information about such a dashboard, look up on the capabilities of designHUB.