Núcleo de procesador RISC-V de alto rendimiento y código abierto, escrito en Scala con Chisel y desarrollado por el proyecto XiangShan.
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
Instala Python 3.7+ y las herramientas del fabricante de FPGA y/o Verilator
- 2
Descarga el script litex_setup.py
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py - 3
Dale permisos de ejecución al script
chmod +x litex_setup.py - 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
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
Lenguaje de descripción de hardware de código abierto integrado en Scala para crear generadores parametrizables de circuitos digitales que producen Verilog.
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.
SDK de Python y plataforma de apps para Reachy Mini, un robot de escritorio expresivo y de código abierto para desarrolladores y creadores de IA.
Emulador open source de ESP32 en Rust que ejecuta firmware real en tu computadora o en el navegador, sin necesidad de hardware.