Repolode
enjoy-digital

enjoy-digital/litex

Framework Python para criar cores e SoCs personalizados em FPGA, com barramentos, periféricos, integração de CPUs e suporte à simulação.

Estrelas
4,190
Forks
767
Issues abertas
103
Último commit
ontem

O que é?

LiteX é uma ferramenta Python para criar SoCs em FPGAs. Ela oferece os blocos de construção comuns necessários para montar um sistema completo em um FPGA: interconexões de barramentos e streams (Wishbone, AXI, Avalon-ST), cores simples como RAM, ROM, timers, UART e JTAG, além de bridges para depuração do SoC em execução pelo host.

O framework é baseado no Migen e se conecta a um ecossistema mais amplo de cores independentes, incluindo LiteDRAM, LitePCIe, LiteEth e LiteSATA. Ele oferece suporte a várias soft CPUs, como VexRiscv, Rocket, LM32 e PicoRV32, e pode ser combinado com código VHDL, Verilog ou SystemVerilog existente. Os projetos podem ser compilados com toolchains de FPGA de fornecedores ou simulados com Verilator, sem hardware.

LiteX é indicado para engenheiros de hardware que querem reutilizar IP cores em um fluxo de trabalho baseado em scripts, e para desenvolvedores de software que querem começar a trabalhar com FPGAs usando Python.

Recursos principais

  • 01Interconexões de barramentos e streams Wishbone, AXI e Avalon-ST.
  • 02Cores prontos, incluindo RAM, ROM, timer, UART e JTAG.
  • 03Suporte a várias soft CPUs, como VexRiscv, Rocket e PicoRV32.
  • 04Integração de linguagens mistas com VHDL, Verilog e SystemVerilog.
  • 05Simulação de SoCs com Verilator, sem placa FPGA.
  • 06Backends de compilação para toolchains de FPGA open source e de fornecedores.

Casos de uso

  • Montar um SoC personalizado em FPGA com uma soft CPU e periféricos.
  • Reutilizar cores PCIe, Ethernet ou SATA existentes em um fluxo de trabalho HDL tradicional.
  • Simular um SoC completo em um computador antes de executá-lo no hardware.
  • Aprender design de FPGA usando um fluxo de trabalho baseado em Python.

Início rápido

  1. 1

    Instale Python 3.7+ e as ferramentas do fabricante de FPGA e/ou o Verilator

  2. 2

    Baixe o script litex_setup.py

    wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
  3. 3

    Torne o script executável

    chmod +x litex_setup.py
  4. 4

    Instale Migen, LiteX e o conjunto padrão de núcleos

    ./litex_setup.py --init --install --user --config=standard

Antes de usar

  • Para gerar bitstreams reais de FPGA, é necessário instalar separadamente as toolchains do fabricante ou o Verilator.
  • A lógica digital é descrita com Migen, que o próprio projeto aponta como a base atual.

Em coleções

Tópicos

#fpga#hardware#soc#python#risc-v#verilog#simulation#system-on-chip

Perguntas frequentes

O que é litex?
Framework Python para criar cores e SoCs personalizados em FPGA, com barramentos, periféricos, integração de CPUs e suporte à simulação. LiteX é uma ferramenta Python para criar SoCs em FPGAs. Ela oferece os blocos de construção comuns necessários para montar um sistema completo em um FPGA: interconexões de barramentos e streams (Wishbone, AXI, Avalon-ST), cores simples como RAM, ROM, timers, UART e JTAG, além de bridges para depuração do SoC em execução pelo host.
litex é gratuito? Qual é a licença?
litex é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
litex ainda é mantido?
Manutenção ativa. O último commit de litex foi em 6 de nov. de 2026.
Para que posso usar litex?
Montar um SoC personalizado em FPGA com uma soft CPU e periféricos. Reutilizar cores PCIe, Ethernet ou SATA existentes em um fluxo de trabalho HDL tradicional. Simular um SoC completo em um computador antes de executá-lo no hardware. Aprender design de FPGA usando um fluxo de trabalho baseado em Python.
Como instalar litex?
Instale Python 3.7+ e as ferramentas do fabricante de FPGA e/ou o Verilator Baixe o script litex_setup.py: wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py Torne o script executável: chmod +x litex_setup.py Instale Migen, LiteX e o conjunto padrão de núcleos: ./litex_setup.py --init --install --user --config=standard
Onde consigo litex?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/enjoy-digital/litex

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.

Outros#risc-v#processor#chisel
7,4 mil+11 esta semana977ScalaMulanPSL-2.0Bem mantidoAtualizado ontem

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.

Outros#risc-v#cpu#fpga
168+8 esta semana32SystemVerilogApache-2.0Atualizado há 18 dias

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.

Outros#risc-v#cpu-core#hardware
2,2 mil+20 esta semana831SystemVerilogApache-2.0Atualizado há 23 horas