We make choices in our work that are often associated with economics and ROI. Our jobs may depend on it, but are they right moral choices?
A decade or so ago, Synopsys Chairman of the Board and co-CEO Aart de Geus gave a bunch of talks about the importance of Techonomics. Fundamentally this was about the merging of technology and business economics. De Geus saw that we were entering a period of connected everything, and that devices increasingly would be driven by information coming from the Internet, which in turn would require increasing amounts of cooperation and collaboration throughout the whole ecosystem.
He also saw the importance of this to the EDA industry and used it as a way to justify the transformation from Verilog to SystemVerilog. He saw that verification was one area having problems and that individual tools and technologies were failing to provide the ROI necessary for success.
Recently, I attended a lecture given by Shannon Vallor, Associate Professor of Philosophy and Chair of the Philosophy Department at Santa Clara University. This lecture was part of the Linus Pauling Memorial Lectures, which are sponsored by Mentor Graphics. Her topic was techno-morality—not only asking if we can do something and if it makes economic sense, but if we should do something.
Vallor asks, “In what ways do our hopes not just for surviving but flourishing in this millennium depend upon our collective ability to wisely manage the staggering increase in complexity of our species’ techno-scientific power?”
She talked about the existential risks we are facing and the increasing warnings and dire prognostications from climatologists, environmental scientists and science and technology leaders such as Elon Musk and Stephen Hawking. She mentioned some lesser dangers, which are not cinematic warnings about societal collapse, but about unexpected interactions between people and software systems that are not smart enough to avoid creating havoc.
Environmental impacts are also one area where semiconductor and EDA companies can do something. Electronic devices, while consuming small amount of power individually, add up to huge amounts of power and pollution once they are replicated a million or more times. We need to be concerned about power even if devices are not battery operated. To produce any device that has not been optimized for power is not a good techno-moral decision.
There have been many cases within the field of electronics where the best solution has not been the winner, and that is also the case within EDA. Choices are made because of the economic advantage they offer to a company or group of companies and do not attempt to provide the best results for their customer, the semiconductor companies. A broad-brush example may be the proliferation of SystemVerilog and the verification methodology that is associated with it. Is it the best verification solution that could have been provided? I have always been of the opinion that it is a poor solution and is very wasteful and inefficient. EDA has been indirectly responsible for all of the power wasted by the vast number of servers doing simulations that yield little or no useful information. Now, in all fairness, there was not another candidate that was significantly better, but once the SystemVerilog solution had been found the industry stopped looking for something better. Even ones that did appear were not promoted with the necessary vigor for them to see any significant adoption.
We are at another inflection point in verification today as we start to look at verification based on scenarios that are to be used for system-level verification as well as at other stages of their flow. Accellera is tackling the creation of the first standard in this area, based on technology I have been following since its inception. Missing from the goals of that Portable Stimulus Working Group is a requirement that the solution be efficient. What may happen is that in order to seek techonomic advantage, the techno-morality issues may not even be discussed. They may create something better than the previous solution and that will be deemed to be good enough, but it is that the right solution?