Why thinking about software and security is so important right at the start of an ASIC design
Designing an ASIC is a massive task to create, layout and test the configuration of billions of parts and connections and is the focus for time and resources. However, this means that the software that runs on the ASIC is often ignored until the ASIC design is finished because the thought process is that you have nothing to run the software on to test it properly; apart from running it on computer simulations of the hardware which is very slow and only gives an indication of how the actual chip could perform.
As a result, many companies wait until the design is nearly finalised before they start coding the software to run on it, often thinking that software is easy to re-write to optimise. But this means that, by then, the hardware design is frozen and has not been optimised for running the software, missing the opportunity to tune the hardware to run the software for better performance and reduced power consumption.
In worse case scenarios, the SoC may meet the hardware specifications but the overall solution fails to perform according the required specifications as the software is running on it in a sub-optimal way, requiring expensive and project-delaying reworks to one or the other or both.
The solution is that the software should actually be considered right at the start of an ASIC project so that the hardware can be developed in tandem with it, initially using simulation models and later on emulation and FPGAs. This enables both hardware and software to be optimised for low power consumption and best performance.
In practical terms, this means starting work on the software running on behavioural simulation models before starting on an FPGA version of a design, as the RTL for the FPGA is best influenced by the software architecture. The simulation model only requires that the behavioural design of the hardware is in place. Even during the behavioural model design process, the knowledge of what the software will need to do should be used to help shape the design, although there isn’t anything to actually run software on. In other words, software expertise should be brought in for the hardware architectural design phase before any models or FPGAs have been started, i.e., right at the concept stage of the design.
Related Semiconductor IP
- Process/Voltage/Temperature Sensor with Self-calibration (Supply voltage 1.2V) - TSMC 3nm N3P
- USB 20Gbps Device Controller
- SM4 Cipher Engine
- Ultra-High-Speed Time-Interleaved 7-bit 64GSPS ADC on 3nm
- Fault Tolerant DDR2/DDR3/DDR4 Memory controller
Related Blogs
- Why Hardware Security Is Just as Critical as Software Security in Modern Systems
- The Integrated Design Challenge: Developing Chip, Software, and System in Unison
- Breaking the Silence: What Is SoundWire‑I3S and Why It Matters
- UA Link vs Interlaken: What you need to know about the right protocol for AI and HPC interconnect fabrics
Latest Blogs
- Shaping the Future of Semiconductor Design Through Collaboration: Synopsys Wins Multiple TSMC OIP Partner of the Year Awards
- Pushing the Boundaries of Memory: What’s New with Weebit and AI
- Root of Trust: A Security Essential for Cyber Defense
- Evolution of AMBA AXI Protocol: An Introduction to the Issue L Update
- An Introduction to AMBA CHI Chip-to-Chip (C2C) Protocol