Framework Python para criar cores e SoCs personalizados em FPGA, com barramentos, periféricos, integração de CPUs e suporte à simulação.
chipsalliance/chisel
Uma linguagem de descrição de hardware de código aberto integrada ao Scala para criar geradores de circuitos digitais parametrizáveis que emitem Verilog.
- Estrelas
- 4,829
- Forks
- 666
- Issues abertas
- 522
- Último commit
- ontem
O que é?
Chisel (Constructing Hardware in a Scala Embedded Language) é uma linguagem de descrição de hardware para projetar circuitos digitais no nível de transferência entre registradores. Em vez de escrever Verilog manualmente, os designers escrevem código Scala que constrói circuitos, usando construções comuns de programação, como funções, classes e loops, para gerar hardware. A saída é Verilog ou SystemVerilog sintetizável, que pode ser usado em projetos ASIC e FPGA.
A ideia central é o gerador de circuitos: uma classe Scala parametrizada, como um filtro FIR definido por uma lista de coeficientes, pode ser instanciada e reutilizada em diferentes projetos. A biblioteca padrão do Chisel (chisel3.util) oferece componentes reutilizáveis, como filas FIFO, árbitros e interfaces ready-valid. O Chisel usa a representação intermediária FIRRTL e o compilador firtool do CIRCT.
O projeto é licenciado sob Apache 2.0 e desenvolvido pela CHIPS Alliance. O repositório inclui subprojetos para a biblioteca principal, o plugin do compilador e uma biblioteca de simulação svsim, compatível com Verilator e VCS. Tutoriais, um livro didático e um template de projeto estão disponíveis na documentação.
Recursos principais
- 01Descreve hardware em Scala, reutilizando classes, funções e loops para criar circuitos parametrizáveis.
- 02Gera Verilog ou SystemVerilog sintetizável por meio de ChiselStage e firtool.
- 03Oferece uma biblioteca padrão com filas FIFO, árbitros e interfaces ready-valid Decoupled.
- 04Inclui svsim para executar simulações com Verilator e VCS.
- 05Usa Mill no processo de build e publica artefatos para projetos que usam sbt.
Casos de uso
- Escrever blocos IP reutilizáveis e parametrizáveis para projetos ASIC ou FPGA.
- Criar projetos de processadores ou aceleradores que precisam de código no estilo de geradores.
- Aprender projeto digital com uma linguagem de programação moderna e tutoriais online.
- Gerar Verilog a partir de código Scala para fluxos posteriores de síntese e simulação.
Início rápido
- 1
Comece pelo repositório Chisel Template, que oferece um projeto pré-configurado
- 2
Ou configure seu próprio projeto adicionando a dependência do Chisel e o plugin do compilador ao build.sbt
- 3
Experimente o tutorial online Chisel Bootcamp no navegador, sem precisar configurar nada
Antes de usar
- Requer uma cadeia de ferramentas de Scala e sbt na JVM, o que aumenta o trabalho de configuração.
- A geração de Verilog depende do compilador firtool; por isso, alguns ambientes online, como o Scastie, não conseguem gerar Verilog.
Tópicos
Perguntas frequentes
- O que é chisel?
- Uma linguagem de descrição de hardware de código aberto integrada ao Scala para criar geradores de circuitos digitais parametrizáveis que emitem Verilog. Chisel (Constructing Hardware in a Scala Embedded Language) é uma linguagem de descrição de hardware para projetar circuitos digitais no nível de transferência entre registradores. Em vez de escrever Verilog manualmente, os designers escrevem código Scala que constrói circuitos, usando construções comuns de programação, como funções, classes e loops, para gerar hardware. A saída é Verilog ou SystemVerilog sintetizável, que pode ser usado em projetos ASIC e FPGA.
- chisel é gratuito? Qual é a licença?
- chisel é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- chisel ainda é mantido?
- Manutenção ativa. O último commit de chisel foi em 6 de nov. de 2026.
- Para que posso usar chisel?
- Escrever blocos IP reutilizáveis e parametrizáveis para projetos ASIC ou FPGA. Criar projetos de processadores ou aceleradores que precisam de código no estilo de geradores. Aprender projeto digital com uma linguagem de programação moderna e tutoriais online. Gerar Verilog a partir de código Scala para fluxos posteriores de síntese e simulação.
- Como instalar chisel?
- Comece pelo repositório Chisel Template, que oferece um projeto pré-configurado Ou configure seu próprio projeto adicionando a dependência do Chisel e o plugin do compilador ao build.sbt Experimente o tutorial online Chisel Bootcamp no navegador, sem precisar configurar nada
- Onde consigo chisel?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/chipsalliance/chisel
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.
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.
Framework modular e extensível em Go para criar servidores de streaming compatíveis com RTMP, RTSP, HLS, WebRTC e outros protocolos.
Kit de UI gratuito e open source para dashboards em HTML com Bootstrap 5, páginas administrativas prontas, componentes, modo escuro e suporte a RTL.
Um template de interface para dashboards administrativos, feito com componentes Shadcn UI e Vite, com modos claro e escuro, suporte a RTL e busca global por comandos.