Framework de Python para crear núcleos FPGA y SoC personalizados, con buses, periféricos, integración de CPU y compatibilidad con simulación.
chipsalliance/chisel
Lenguaje de descripción de hardware de código abierto integrado en Scala para crear generadores parametrizables de circuitos digitales que producen Verilog.
- Estrellas
- 4,829
- Forks
- 664
- Issues abiertos
- 522
- Último commit
- ayer
¿Qué es?
Chisel (Constructing Hardware in a Scala Embedded Language) es un lenguaje de descripción de hardware para diseñar electrónica digital a nivel de transferencia entre registros. En lugar de escribir Verilog a mano, los diseñadores escriben código Scala que construye circuitos, de modo que pueden usar construcciones habituales de programación como funciones, clases y bucles para generar hardware. El resultado es Verilog o SystemVerilog sintetizable, válido tanto para diseños ASIC como FPGA.
La idea central es el generador de circuitos: una clase Scala parametrizada, como un filtro FIR definido por una lista de coeficientes, puede instanciarse y reutilizarse en distintos diseños. La biblioteca estándar de Chisel (chisel3.util) ofrece componentes reutilizables, como colas FIFO, árbitros e interfaces ready-valid. Chisel se basa en la representación intermedia FIRRTL y en el compilador CIRCT firtool.
El proyecto cuenta con licencia Apache 2.0 y se desarrolla bajo CHIPS Alliance. El repositorio incluye subproyectos para la biblioteca principal, el plugin del compilador y una biblioteca de simulación svsim compatible con Verilator y VCS. En la documentación hay enlaces a tutoriales, un libro de texto y una plantilla de proyecto.
Funciones clave
- 01Describe hardware en Scala y reutiliza clases, funciones y bucles para crear circuitos parametrizados.
- 02Genera Verilog o SystemVerilog sintetizable mediante ChiselStage y firtool.
- 03Ofrece una biblioteca estándar con colas FIFO, árbitros e interfaces ready-valid Decoupled.
- 04Incluye svsim para ejecutar simulaciones con Verilator y VCS.
- 05Se compila con Mill y publica artefactos para usarlos en proyectos sbt.
Casos de uso
- Escribir bloques IP reutilizables y parametrizados para diseños ASIC o FPGA.
- Desarrollar diseños de procesadores o aceleradores que necesiten código basado en generadores.
- Aprender diseño digital con un lenguaje de programación moderno y tutoriales en línea.
- Generar Verilog a partir de código Scala para flujos posteriores de síntesis y simulación.
Inicio rápido
- 1
Empieza con el repositorio Chisel Template, que incluye un proyecto preconfigurado
- 2
O configura tu propio proyecto añadiendo la dependencia de Chisel y el plugin del compilador a build.sbt
- 3
Prueba el tutorial online Chisel Bootcamp en el navegador, sin necesidad de instalar nada
Antes de usarlo
- Requiere una cadena de herramientas de Scala y sbt en la JVM, lo que añade trabajo de configuración.
- La generación de Verilog depende del compilador firtool, por lo que algunos entornos online, como Scastie, no pueden generar Verilog.
Temas
Preguntas frecuentes
- ¿Qué es chisel?
- Lenguaje de descripción de hardware de código abierto integrado en Scala para crear generadores parametrizables de circuitos digitales que producen Verilog. Chisel (Constructing Hardware in a Scala Embedded Language) es un lenguaje de descripción de hardware para diseñar electrónica digital a nivel de transferencia entre registros. En lugar de escribir Verilog a mano, los diseñadores escriben código Scala que construye circuitos, de modo que pueden usar construcciones habituales de programación como funciones, clases y bucles para generar hardware. El resultado es Verilog o SystemVerilog sintetizable, válido tanto para diseños ASIC como FPGA.
- ¿chisel es gratuito? ¿Qué licencia tiene?
- chisel es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿chisel sigue mantenido?
- Mantenimiento activo. El último commit de chisel fue el 5 nov 2026.
- ¿Para qué puedo usar chisel?
- Escribir bloques IP reutilizables y parametrizados para diseños ASIC o FPGA. Desarrollar diseños de procesadores o aceleradores que necesiten código basado en generadores. Aprender diseño digital con un lenguaje de programación moderno y tutoriales en línea. Generar Verilog a partir de código Scala para flujos posteriores de síntesis y simulación.
- ¿Cómo se instala chisel?
- Empieza con el repositorio Chisel Template, que incluye un proyecto preconfigurado O configura tu propio proyecto añadiendo la dependencia de Chisel y el plugin del compilador a build.sbt Prueba el tutorial online Chisel Bootcamp en el navegador, sin necesidad de instalar nada
- ¿Dónde consigo chisel?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/chipsalliance/chisel
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.
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.
Framework modular y extensible en Go para crear servidores de streaming compatibles con RTMP, RTSP, HLS, WebRTC y más.
Kit de interfaz de usuario gratuito y de código abierto para dashboards HTML con Bootstrap 5, páginas de administración listas para usar, componentes, modo oscuro y compatibilidad con RTL.
Plantilla de interfaz para dashboards de administración, basada en componentes Shadcn UI y Vite, con modo claro y oscuro, compatibilidad con RTL y búsqueda global.