What is the difference between ISA and microarchitecture?
The difference between an ISA and a microarchitecture is that an ISA is simply a description of all the instructions that the processor should be able to perform. In contrast a microarchitecture describes how the desired functionality is achieved. With the example of RISC-V processors, the microarchitecture is compliant with the RISC-V ISA.
With CodAL a microarchitecture can be described at the cycle-accurate level. This means that it allows for example to describe for every clock cycle which data is stored in which register. Processor designers can take this very close to the Register Transfer Level (RTL), or leave some decisions to the tool.
Can a microarchitecture be modified?
The majority of processor cores available from IP providers are only delivered in RTL form with limited documentation about their microarchitecture. Whilst maybe not completely impossible to customize, it could certainly be impractical and typically illegal to try and modify the microarchitecture of such cores.
Codasip cores are designed in CodAL, making them highly modifiable and customizable. By licensing a Codasip core as CodAL source code, you can modify the microarchitecture to fit your application needs.