|November 2028 is the 40th anniversary of ESD. Click here read other 2028 lookbacks.|
Twenty years ago, the Programmable System-on-Chip (PSoC) was a new path for system design–a path that is now an industry standard for designing embedded systems. PSoC transformed embedded system design into a system-level abstraction, synergistically combining several major trends into an optimal embedded system design method.
Exploiting advanced process technologies, PSoC was the first IC with a complete embedded system on one chip; it included configurable analog blocks for signal conditioning and processing, programmable digital blocks for common peripheral functions, a processing subsystem, and a switched fabric that provided user- and application-specific connectivity and enabled the user to optimize the chip's pinout. With today's 8-nm technology, this seems like an obvious idea; but not so at PSoC's launch.
The configurability and programmability combined with the switched fabric's connectivity allowed truly distributed, operationally equivalent, functional blocks to be built on-chip. Blocks (such as analog-to-digital converters) could be constructed in several different, functionally identical ways, and unused resources could be used by other blocks instead of wasted. Not dedicating blocks to fixed functions not only improved efficiency, it enabled enhancing block functions and making parametric trade-offs (such as hardware vs. software, analog vs. digital, sampled vs. continuous time).
The switched fabric made several other things possible. It was run-time alterable so that the functionality of the chip could be changed on the fly, thus allowing time-multiplexing of resources. Its routing resources were scalable from full differential shielded analog routing (allowing greater than 110-dB signal-to-noise ratio) to small multiplexed routing shared throughout the chip; its routes and programmable connectivity allowed blocks to be built with resources used, where this made sense, from different parts of the chip. Intelligent subsystems could be made up of different resources.
The design environment made it all play. It provided representations of both analog and digital blocks at a system component level, making register-level descriptions and writing device drivers obsolete. It automated clocking, interrupt, DMA, and power management by changing the programming and selection of these resources to choices in dialogue boxes. Since it employed global resources, it also checked for global conflicts and ensured compatibility at the system level. If users couldn't find a component back then, they could describe it in RTL or construct a schematic using Boolean primitives (later, using analog primitives), and the system would synthesize it. It also generated a customized data sheet and optimized device drivers and APIs for the user, thus changing the user interaction to controlling the block totally in applications software. This was revolutionary.
Today, users can simulate completed systems in their choice of several simulation environments and interactively refine them to match the desired system function. Interestingly enough, as this technique became ubiquitous, users started to design their systems on the PSoC platform and refined their algorithms on it because of the tight coupling to the behavioral simulation environment and the facility of instantly changing (rebuilding) the functionality of the silicon platform viewed at a software level. PSoC thus became both the implementation platform and the system development platform.
The next major step forward in embedded design was to abstract from the functional block level to, first, the algorithmic level, and then the system block design level. Thus, users were provided with common control algorithms such as PID loops and interacted with them at a system-behavior level using such tools as gain and stability plots. Later came applications-level specification of functionality. For motor control, for instance, the type of motor and its parameters can be specified and the entire control algorithm generated using user-selectable feedback algorithms with selectable system parameters such as damping and overshoot. The common means of interacting with the physical world (such as sensing, processing, and controlling) were abstracted into the parameters of physical devices (such as sensors, motors, and actuators) and combined with control and processing (data and signals) algorithms to make the design of embedded systems truly rapid.
As domain experts in many different areas, today's designers want to realize their design objectives without having to understand the minutiae of analog and digital circuits and programming. PSoC enables them to build embedded systems in the language of their domain.
T.J. Rodgers is founder, president, CEO, and a director of Cypress Semiconductor Corporation.