Repolode
chipsalliance

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. 1

    Empieza con el repositorio Chisel Template, que incluye un proyecto preconfigurado

  2. 2

    O configura tu propio proyecto añadiendo la dependencia de Chisel y el plugin del compilador a build.sbt

  3. 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

#hardware-description-language#rtl#scala#verilog#fpga#asic#chip-design#hdl#chip-generator#chisel

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.

Otros#risc-v#processor#chisel
7,4 mil+13 esta semana977ScalaMulanPSL-2.0Bien mantenidoActualizado hace 20 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+8 esta semana32SystemVerilogApache-2.0Actualizado hace 17 días