El Constructing Hardware in a Scala Embedded Language (Chisel) és un llenguatge de descripció de maquinari de codi obert (HDL) utilitzat per descriure l'electrònica digital i els circuits a nivell de transferència de registre. Chisel es basa en Scala com a llenguatge específic de domini (DSL) incrustat. Chisel hereta els aspectes de programació funcional i orientada a objectes de Scala per descriure el maquinari digital. L'ús de Scala com a base permet descriure generadors de circuits. Hi ha documentació d'alta qualitat i accés gratuït en diversos idiomes.
Els circuits descrits a Chisel es poden convertir en una descripció a Verilog per a la síntesi i la simulació.
Un exemple senzill que descriu un circuit sumador i que mostra l'organització dels components al mòdul amb ports d'entrada i sortida :class Add extends Module { val io = IO(new Bundle { val a = Input(UInt(8.W)) val b = Input(UInt(8.W)) val y = Output(UInt(8.W)) })
io.y := io.a + io.b }
Ús Tot i que Chisel encara no és un llenguatge de descripció de maquinari convencional, diverses empreses i institucions l'han explorat. L'ús més destacat de Chisel és una implementació del conjunt d'instruccions RISC-V, el xip Rocket de codi obert. L'Agència de Projectes d'Investigació Avançada de Defensa (DARPA) esmenta Chisel com una tecnologia per millorar l'eficiència del disseny electrònic, on els equips de disseny més petits fan dissenys més grans. Google ha utilitzat Chisel per desenvolupar una unitat de processament de tensor per a la informàtica de punta. Alguns desenvolupadors prefereixen Cisel, ja que requereix 5 vegades menys codi i és molt més ràpid de desenvolupar que Verilog.
Els circuits descrits a Chisel es poden convertir en una descripció a Verilog per a la síntesi i la simulació mitjançant un programa anomenat FIRRTL.
Referències
Categoria:Llenguatges de programació