Bug Tracking Is Not Just For Software
Bug reporting and tracking is usually thought of as part of the software development process, but it is essential for SoC and ASIC projects too. Like software, IC development is a complicated process involving many developers, across multiple teams, often geographically separated. Issues, tasks, and dependencies can easily be lost without tools and process to track them. But unlike software, the cost of correcting a defect after an IC has been fabricated and shipped to customers is many orders of magnitude higher than a pre-silicon fix (see figure below). Therefore, it is essential that logical and physical design bugs do not find their way into the silicon.
How to apply issue tracking to ASIC projects
Issue tracking systems can help with this. At Intrinsix, we use customized issue tracking flows for all aspects of the ASIC development process, from verification issue tracking, through physical design task, dependency, and bug tracking. With these techniques, we have been able to eliminate the vast majority of hidden risks associated with non-working silicon.
While issue tracking is traditionally used during the verification phases of IC development, it is equally important to use it during the physical design phase. Cross team dependencies often crop up during this phase; without rigorous mechanisms to track these dependencies, they can slip through the cracks, resulting in post-silicon defects.
Examples benefits of issue tracking in silicon projects
For example, the design team may choose a Phase Locked Loop (PLL) that requires dedicated ground pins to protect against noise. This requires special action by a layout engineer, who has to implement the required ground connections. The layout engineer does not begin his work until later in the development process. By assigning this task to the layout engineer in the issue tracking system, it is guaranteed not to be lost. Its progress can be tracked, and the risk of fabricating an IC with an improperly grounded PLL is eliminated.
As another example, consider the dependencies that can crop up in mixed signal designs containing sub-circuits that span the IC and the printed circuit board (PCB). Suppose, in this scenario, that the digital design engineers request the implementation of specific analog circuits on both the IC and the PCB. The analog engineers who implement these circuits must then communicate the electrical characteristics - voltages, currents, impedances - back to the digital team, so the circuit interconnects can be done correctly. In all likelihood, this will involve multiple design teams, with responsibilities spanning both the IC and the PCB. By logging the tasks and interface specifications in an issue tracking system, the likelihood of miscommunication between teams is reduced. Interface tasks and requirements can be easily monitored, assigned, and closed when completed. The risk of losing a task critical to the system is eliminated.
Issue tracking has benefits that go beyond conventional bug logging and reporting. It can also be used to gather key metrics that help track the status of a project. These kinds of metrics have been used in the software industry for years, but they apply equally well to IC design. For example, the number of open critical defects discovered per unit time will be high during the initial stages of verification, but as bugs are fixed, and tests become more comprehensive, the defect discovery rate should start to decline, as will the total number of open critical defects (see figure below). These metrics provide insight into the status of the project and can be used to allocate resources or decide when to advance to the next phase of the plan. Most issue tracking tools have comprehensive reporting systems that provide detailed graphs and charts, allowing users to conveniently track defect count and rate metrics, or any other metric of interest.
Issue tracking has value
For all the reasons discussed above, issue tracking is an important part of the IC development flow at Intrinsix. It is used across all phases of the project, including physical design, and is one of the key reasons that we can reliably achieve first-time success. By logging and tracking issues, tasks, and dependencies, we can:
- communicate the status of issues to all project stakeholders,
- ensure that all critical issues are addressed before tapeout,
- extract useful metrics about the status of the project.
The Bottom Line
Bug tracking is not just for software engineering projects but highly valuable for semiconductor engineering as well. The common characteristic between the two is there are many moving parts in each project type. Software engineering has adopted bug tracking tools to keep every detail in check. Semiconductor teams can benefit from the same and realize a much larger benefit by reducing the risk of costly bugs that make their way into silicon and the end-product.
If your next project could benefit from bug tracking that is tuned to the semiconductor design process and you could use a helping hand, consider downloading the eBook titled“ Five Criteria for Evaluation of Semiconductor Design Service Providers” as an aid in your process.