Repolode
enjoy-digital

enjoy-digital/litex

Framework de Python para crear núcleos FPGA y SoC personalizados, con buses, periféricos, integración de CPU y compatibilidad con simulación.

Estrellas
4,190
Forks
766
Issues abiertos
103
Último commit
anteayer

¿Qué es?

LiteX es un constructor de SoC para FPGA basado en Python. Proporciona los componentes básicos necesarios para montar un sistema completo en una FPGA: interconexiones de bus y flujo (Wishbone, AXI, Avalon-ST), núcleos sencillos como RAM, ROM, temporizadores, UART y JTAG, y puentes para depurar desde el host un SoC en ejecución.

El framework está basado en Migen y se conecta con un ecosistema más amplio de núcleos independientes, entre ellos LiteDRAM, LitePCIe, LiteEth y LiteSATA. Es compatible con varias CPU soft, como VexRiscv, Rocket, LM32 y PicoRV32, y puede combinarse con código VHDL, Verilog o SystemVerilog ya existente. Los diseños pueden compilarse con las toolchains de FPGA de los fabricantes o simularse con Verilator sin necesidad de hardware.

LiteX es adecuado para ingenieros de hardware que quieran reutilizar núcleos IP mediante un flujo de trabajo basado en scripts, y para desarrolladores de software que quieran empezar a trabajar con FPGA usando Python.

Funciones clave

  • 01Interconexiones de bus y flujo Wishbone, AXI y Avalon-ST.
  • 02Núcleos listos para usar, como RAM, ROM, temporizadores, UART y JTAG.
  • 03Compatibilidad con varias CPU soft, como VexRiscv, Rocket y PicoRV32.
  • 04Integración de lenguajes mixtos con VHDL, Verilog y SystemVerilog.
  • 05Simulación de SoC basada en Verilator sin una placa FPGA.
  • 06Backends de compilación para toolchains de FPGA de código abierto y de fabricantes.

Casos de uso

  • Montar un SoC FPGA personalizado con una CPU soft y periféricos.
  • Reutilizar núcleos PCIe, Ethernet o SATA existentes dentro de un flujo de trabajo HDL tradicional.
  • Simular un SoC completo en una computadora de escritorio antes de ejecutarlo en hardware.
  • Aprender diseño FPGA mediante un flujo de trabajo basado en Python.

Inicio rápido

  1. 1

    Instala Python 3.7+ y las herramientas del fabricante de FPGA y/o Verilator

  2. 2

    Descarga el script litex_setup.py

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

    Dale permisos de ejecución al script

    chmod +x litex_setup.py
  4. 4

    Instala Migen, LiteX y el conjunto estándar de núcleos

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

Antes de usarlo

  • Para generar bitstreams reales de FPGA, es necesario instalar por separado las cadenas de herramientas del fabricante o Verilator.
  • La lógica digital se describe con Migen, que el propio proyecto señala como la base actual.

En colecciones

Temas

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

Preguntas frecuentes

¿Qué es litex?
Framework de Python para crear núcleos FPGA y SoC personalizados, con buses, periféricos, integración de CPU y compatibilidad con simulación. LiteX es un constructor de SoC para FPGA basado en Python. Proporciona los componentes básicos necesarios para montar un sistema completo en una FPGA: interconexiones de bus y flujo (Wishbone, AXI, Avalon-ST), núcleos sencillos como RAM, ROM, temporizadores, UART y JTAG, y puentes para depurar desde el host un SoC en ejecución.
¿litex es gratuito? ¿Qué licencia tiene?
litex es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿litex sigue mantenido?
Mantenimiento activo. El último commit de litex fue el 6 nov 2026.
¿Para qué puedo usar litex?
Montar un SoC FPGA personalizado con una CPU soft y periféricos. Reutilizar núcleos PCIe, Ethernet o SATA existentes dentro de un flujo de trabajo HDL tradicional. Simular un SoC completo en una computadora de escritorio antes de ejecutarlo en hardware. Aprender diseño FPGA mediante un flujo de trabajo basado en Python.
¿Cómo se instala litex?
Instala Python 3.7+ y las herramientas del fabricante de FPGA y/o Verilator Descarga el script litex_setup.py: wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py Dale permisos de ejecución al script: chmod +x litex_setup.py Instala Migen, LiteX y el conjunto estándar de núcleos: ./litex_setup.py --init --install --user --config=standard
¿Dónde consigo litex?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/enjoy-digital/litex

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Núcleo de procesador RISC-V de alto rendimiento y código abierto, escrito en Scala con Chisel y desarrollado por el proyecto XiangShan.

Otros#risc-v#processor#chisel
7,4 mil+14 esta semana977ScalaMulanPSL-2.0Actualizado hace 8 horas

Un núcleo de CPU RISC-V de 64 bits escrito en SystemVerilog que arranca Linux en una placa FPGA Arty A7, con el RTL, la verificación y la documentación escritos íntegramente por Claude Code.

Otros#risc-v#cpu#fpga
168+4 esta semana32SystemVerilogApache-2.0Actualizado hace 18 días

Un núcleo de CPU RISC-V de 32 bits, compacto y con calidad de producción, escrito en SystemVerilog y pensado para aplicaciones de control integradas.

Otros#risc-v#cpu-core#hardware
2,2 mil+17 esta semana831SystemVerilogApache-2.0Actualizado ayer