How to Choose an Architecture for a Domain-Specific Processor
If you are going to create a domain-specific processor, one of the key activities is to choose an instruction set architecture (ISA) that matches your software needs. So where do you start?
Some companies have created their instruction sets from scratch, but if you have such an ISA, a penalty may be the costs of porting software. Today, the RISC-V open ISA can provide you with an excellent starting point and a software ecosystem. Depending on what you need, there are several obvious starting points. In case of a 32-bit processor, if you start with RISC‑V, the base ISA (RV32I) is just 47 instructions. Using this base set is easier than creating proprietary instructions with similar functionality, as well as meaning that software is already available from the RISC-V ecosystem.
Starting point | Number of instructions |
RV32I | 47 |
RV32IMC | 101 |
RV32GC | 164 |
Many use cases require multiplication suggesting that [M] extensions would be useful, and it is sensible to take advantage of the 16-bit compressed [C] instructions for code density, so it is commonplace to use the RV32IMC set which amount to 101 instructions. Using RISC-V as a starting point will ensure that it is straightforward to use common software such as an RTOS or protocol stack. If you additionally require floating point computation, then the RV32GC (G=IMAFD) instructions may be appropriate, additionally including atomic [A], single-precision floating point [F], and double-precision floating point [D] extensions. Even RV32GC only has 164 instructions.
To read the full article, click here
Related Semiconductor IP
- Multi-core capable 64-bit RISC-V CPU with vector extensions
- 64 bit RISC-V Multicore Processor with 2048-bit VLEN and AMM
- RISC-V AI Acceleration Platform - Scalable, standards-aligned soft chiplet IP
- 32 bit RISC-V Multicore Processor with 256-bit VLEN and AMM
- All-In-One RISC-V NPU
Related Blogs
- RISC-V: An Open Standard - Backed by a Global Community - to Enable Open Computing for All
- A Fast and Seamless Way to Burst to the Cloud for Peak EDA Workloads
- How to Design a RISC-V Space Microprocessor
- A Striped Bus Architecture for Minimizing Multi-Core Interference
Latest Blogs
- Cadence Powers AI Infra Summit '25: Memory, Interconnect, and Interface Focus
- Integrating TDD Into the Product Development Lifecycle
- The Hidden Threat in Analog IC Migration: Why Electromigration rules can make or break your next tapeout
- MIPI CCI over I3C: Faster Camera Control for SoC Architects
- aTENNuate: Real-Time Audio Denoising