Do specialist teams limit the realization of a technology’s full potential?
Step into any weekly status update meeting where the topic is chip design verification, especially if formal verification is on the agenda, and it’s clear the verification department is moving much like traditional corporate environments. That is, there are generalists with loads of knowledge about many different verification tools and techniques and then there are specialists or experts who have a deep understanding of one particular tool.
The differences between the two are striking. Verification generalists continue to hold sway on the verification flow and tend to have experience with simulation and the Universal Verification Methodology (UVM), for example. A more specialized group of experts proficient in formal, as well as emulation and FPGA prototyping, and those with skills to handle the emerging area of system-level verification, are deployed when and wherever they are needed. These experts may be consultants, but larger companies can and do employ expert groups capable of tackling tough challenges ready-made for formal verification, emulation or portable stimulus.
The trend is real and could be driven by standards developments in verification, which include efforts by Accellera’s Portable Stimulus Working Group. Many new innovations tend to start life being hard and complex to use but invaluable in the hands of an expert user who took the time to learn their intricacies.
Hence, the move to a specialized skillset is a career choice and not necessarily a knock against a generalist who would prefer to know about a range of verification tools. While all of us tend to specialize in something that captures our attention, say computer science or electrical engineering, a specialist takes a deeper dive into one area of interest. In the old corporate hierarchy, there were line managers and staff, generalists and specialists dotting each division. While line and staff careers seem outmoded, generalists and specialists are alive and well in all sorts of environments, including the semiconductor industry.
The specialist and generalist designations also suggest a maturation of the design verification flow and the tools integrated into it. Ultimately, both have a significant effect on tool development and adoption, and incorporating a methodology into a design verification flow. Verification generalists and specialists together are expanding use models for formal verification and emulation, leading to increased adoption. They’re offering feedback to verification tool vendors for new, more robust product features as well.
Is there a problem with this? Maybe.
Looking at the example of formal verification, this technology has found its way into mainstream flows through “apps” where the entire use model is automated and the product focused on specific high-value verification functions. This is great! Formal is applied manually as well through the use of hand-written assertions. Often, this task is left to specialist formal users, creating an apparently independent group within companies, who may be applied to different projects.
The emergence of these teams, while providing a valuable function, can also limit the proliferation of technology. Generalist engineers rely on them rather than exploring the use of the technology for themselves. This, in turn, has a limiting factor on the growth of the technology and the realization of its full potential as an alternative to simulation.
The idea of a specialist is not new and, in fact, it could be argued that the notion of separate verification teams was driven by emerging specialists in testbench automation approaches. Is it possible that the same might happen for formal and other verification technologies? My sense is that it will require a catalyst of some sort, maybe an easing of the assertion authoring process, coupled with an increase in demand for the approach, maybe driven by more extreme requirements. We will see.
In the meantime, look after your formal experts; their value will only increase with design complexity.