Ibex
Awesome RISC-V

Ibex

Ecossistema RISC-V

Ibex é um pequeno núcleo de 32 bits com um pipeline de dois estágios, escrito em SystemVerilog e mantido pela lowRISC. Ele começou como zero-riscy no projeto PULP na ETH Zurich, e o OpenTitan o utiliza como seu processador principal.

Visão geral

Ibex é um pequeno núcleo RISC-V de 32 bits escrito em SystemVerilog, uma linguagem para descrever hardware. Um núcleo é a parte de um chip que executa instruções. O Ibex é projetado para controle embarcado, o trabalho de pequenos processadores que gerenciam dispositivos dentro de sistemas maiores.

O Ibex suporta o conjunto de instruções inteiras básico ou sua versão embarcada reduzida, além das extensões M, C e B para multiplicação, instruções comprimidas e manipulação de bits. Suas configurações vão desde uma versão mínima RV32EC até versões mais rápidas com um multiplicador de ciclo único e proteção de memória. A lowRISC publica relatórios de teste noturnos para ele, e o Ibex passou por vários tape-outs, o que significa que foi fabricado em chips reais.

Histórico

O Ibex começou como zero-riscy, um núcleo da plataforma PULP, um projeto de pesquisa da ETH Zurich e da Universidade de Bolonha que desenvolve processadores de baixo consumo. O zero-riscy foi apresentado em 2017 como um parente menor do núcleo RI5CY. O design foi então contribuído para a lowRISC, uma organização sem fins lucrativos em Cambridge, no Reino Unido, que o renomeou para Ibex e continua a desenvolvê-lo.

Onde é usado

OpenTitan, um design de código aberto para chips de segurança que verificam o software que um computador inicia, usa o Ibex como seu processador. O Ibex também aparece em chips de pesquisa e em designs que precisam de um núcleo pequeno com um forte histórico de verificação.

Fontes

  1. Ibex README
  2. Zero-riscy, PATMOS 2017
  3. OpenTitan