The tension between time-to-market, general-purpose architecture, flexibility and density introduced the need for different design methodologies for integrated circuits. “Full custom” allows companies to develop chips from scratch while “semi-custom” prescribes a library of pre-defined blocks that can be assembled.
When I started to work at Motorola Semiconductor the new HDC 100K gate arrays – which represented a significant step in microchip technology – heralded a time of complete electronic systems shrunken onto a microchip with reasonable design effort and cost.
HDC chips are prefabricated arrays of digital logic gates uncommitted to any logic circuit. Customers use these logic gates to design their functionality, which after completion is mapped onto one or more gate array interconnection layers by sophisticated design tools. The connection layers are introduced in the final metallization process by the chip factory to create the final customer specific chip.
The design of such complex gate arrays stressed the available design tools to their limit. Routing, the tasks of finding the proper path to connect gates, was black magic because of the added constraints of signal delays and clock timing. In-memory representation of designs and persistence on disks quickly exceeded typical workstations and initially required mainframes.
One of the biggest challenges was the power consumption limit set by the maximum allowable operating temperature of a HDC chip. In most cases a system on a chip only worked if all components are on the same chip (physical on/off-chip signals delay, clock), however too many gates switching at the same time could destroy a chip.
Determining the power consumption of a design in an accurate and time efficient way became the make or brake of many customer projects. We addressed this problem by introducing a tool POWCAL that used a library of energy dissipation models to represent a design, determine their toggle frequent through logic simulation, and calculate total power consumption automatically.