So, what’s the difference between ASIC and Solution SoCs?
The design specification or chip content as well as the interface and design responsibilities between customer and the chip supplier are a key consideration here. In a traditional ASIC, the chip design is the responsibility of the customer, based on technology libraries delivered by the chip supplier. The design is delivered to the supplier in the form of a technology specific gate-level description (‘netlist’) or as a higher-level software description (‘RTL’). The chip supplier then handles the conversion of the customer design into a physical chip, including packaging and test of the final product. Each party must take responsibility for its part in the overall design.
ASICs may (and often do) include multiple macro-IP blocks supplied by the chip vendor, but do not necessarily include any dedicated CPU functionality. A System-on-Chip solution (by its very definition) is based around a CPU or multiple CPU subsystems and acts as the central processing element in the final system. In addition to the CPU(s), the SoC will also contain any number of other processing units, such as ISP, DSP or GPU as well as other dedicated IP blocks for functions such as high-speed external interfaces.
In order to design an ASIC, customers have to have either a dedicated internal chip design team or at a minimum in-house experts to interface to an external design partner. This may be difficult to justify when the number of custom designs required is limited. By comparison, a Solution SoC approach offers additional options, with the chip supplier taking more of the design responsibility. This may range from a ‘Platform-based’ approach (where the supplier offers pre-verified subsystems) to a ‘spec-in ‘design where the supplier takes full responsibility for the complete design process. Our focus applications are particularly relevant for Solution SoCs.