Processor design automation

What is processor design automation?

Processor design automation is a special case of electronic design automation (EDA). Processors differ from other forms of digital circuitry because they run software. Therefore developing a processor not only involves developing the processor hardware but also the software toolchain to develop the software.

Processor design automation starts with a description of a processor including its architectural resources, instruction set, instruction semantics, and microarchitecture. This is usually done with an architectural or processor description language such as Codasip CodAL. A processor design automation toolset such as Codasip Studio can generate the software development kit (SDK) including compiler, assembler, disassembler, linker, debugger and profiler. The processor description can be iteratively refined by profiling software. Lastly a hardware development kit (HDK) including RTL, testbenches, and EDA scripts can be generated.

Codasip glossary - Processor design automation

Why use processor design automation?

The alternative to processor design automation is to use the traditional design approach with hardware and software developed independently of each other. Hardware development would follow a classic digital EDA flow starting with a description in a hardware description language such as System Verilog. A software toolchain would be usually derived by manually changing an open source one such as GNU or LLVM.

Processor design automation has a number of advantages over traditional design including:

  • Faster design cycle

  • Consistency between hardware and software tool outputs

  • Easy design exploration.

Getting started with Codasip