Um núcleo de CPU RISC-V de 64 bits em SystemVerilog que inicializa o Linux em uma placa FPGA Arty A7, com RTL, verificação e documentação escritos com Claude Code.
lowRISC/ibex
Um núcleo de CPU RISC-V de 32 bits, compacto e pronto para produção, escrito em SystemVerilog e voltado a aplicações de controle embarcado.
- Estrelas
- 2,162
- Forks
- 831
- Issues abertas
- 278
- Último commit
- há 9 horas
O que é?
Ibex é um núcleo de CPU RISC-V de 32 bits escrito em SystemVerilog. Ele é altamente parametrizável, permitindo que os projetistas equilibrem desempenho, área e recursos de segurança ao escolher opções de configuração, como a arquitetura do multiplicador. O núcleo oferece suporte ao conjunto base de inteiros I ou E, além das extensões M, C e B, e também à ISA base CHERIoT 1.0.
Ibex foi desenvolvido originalmente como parte da plataforma PULP, com o nome Zero-riscy, e hoje é mantido e desenvolvido pela lowRISC. O projeto publica um conjunto de configurações compatíveis, com o desempenho no CoreMark, a área estimada com Yosys e síntese comercial, além do nível de maturidade da verificação de cada uma.
O repositório inclui o Simple System, uma integração voltada à simulação para executar binários bare metal, além de um manual do usuário hospedado no ReadTheDocs. Um exemplo mais completo baseado em FPGA é mantido separadamente no repositório Ibex Demo System.
Recursos principais
- 01Oferece suporte às ISAs base de inteiros RV32I ou RV32E, com as extensões M, C e B.
- 02É altamente parametrizável, com várias opções de multiplicador e de desempenho e segurança.
- 03Publica métricas de CoreMark, área e status da verificação para várias configurações predefinidas.
- 04Inclui um exemplo do Simple System pronto para simulação, para executar binários bare metal.
- 05Oferece suporte à ISA base CHERIoT 1.0.
Casos de uso
- Criar um microcontrolador embarcado compacto que precise de um núcleo de controle RISC-V simples.
- Avaliar as compensações entre área e desempenho de diferentes configurações do núcleo RISC-V antes do tape-out.
- Executar software bare metal em um núcleo RISC-V em simulação.
- Estudar ou ensinar uma implementação de núcleo RISC-V pronta para produção, escrita em SystemVerilog.
Antes de usar
- Algumas configurações, como micro RV32EC config, têm verificação mínima; por isso, os usuários devem avaliar por conta própria se estão prontas para verificação antes de qualquer tapeout.
- O README não descreve um caminho simples para instalação ou execução. Este é um núcleo RTL de hardware, normalmente usado por meio de seus exemplos de simulação e da documentação.
Em coleções
Tópicos
Perguntas frequentes
- O que é ibex?
- Um núcleo de CPU RISC-V de 32 bits, compacto e pronto para produção, escrito em SystemVerilog e voltado a aplicações de controle embarcado. Ibex é um núcleo de CPU RISC-V de 32 bits escrito em SystemVerilog. Ele é altamente parametrizável, permitindo que os projetistas equilibrem desempenho, área e recursos de segurança ao escolher opções de configuração, como a arquitetura do multiplicador. O núcleo oferece suporte ao conjunto base de inteiros I ou E, além das extensões M, C e B, e também à ISA base CHERIoT 1.0.
- ibex é gratuito? Qual é a licença?
- ibex é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- ibex ainda é mantido?
- Manutenção ativa. O último commit de ibex foi em 6 de nov. de 2026.
- Para que posso usar ibex?
- Criar um microcontrolador embarcado compacto que precise de um núcleo de controle RISC-V simples. Avaliar as compensações entre área e desempenho de diferentes configurações do núcleo RISC-V antes do tape-out. Executar software bare metal em um núcleo RISC-V em simulação. Estudar ou ensinar uma implementação de núcleo RISC-V pronta para produção, escrita em SystemVerilog.
- Onde consigo ibex?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/lowRISC/ibex
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Núcleo de processador RISC-V de alto desempenho e código aberto, escrito em Scala com Chisel e desenvolvido pelo projeto XiangShan.
Framework Python para criar cores e SoCs personalizados em FPGA, com barramentos, periféricos, integração de CPUs e suporte à simulação.
Robô quadrúpede compacto, open source e imprimível em 3D, baseado no ESP32, com rosto em OLED e locomoção acionada por servos.
Placa open source que substitui a placa de circuito do clássico relógio Casio F-91W e permite executar seus próprios programas no pulso.
Um mecanismo mínimo de inferência de LLM em C11 que executa modelos GGUF de arquitetura LLaMA da classe 1B em placas de baixo custo com cerca de 45 MB de RAM, sem dependências.