Chisel ( acrónimo de Constructing Hardware in a Scala Embedded Language [ 1 ] ) es un lenguaje de descripción de hardware (HDL) de código abierto que se utiliza para describir electrónica digital y circuitos a nivel de transferencia de registros . [ 2 ] [ 3 ]
Chisel se basa en Scala como lenguaje específico de dominio (DSL). Chisel hereda los aspectos de programación orientada a objetos y funcional de Scala para describir hardware digital. El uso de Scala como base permite describir generadores de circuitos. Existe documentación de alta calidad y de acceso libre en varios idiomas. [ 4 ]
Los circuitos descritos en Chisel se pueden convertir a una descripción en Verilog para su síntesis y simulación .
Ejemplos de código
Un ejemplo sencillo que describe un circuito sumador y muestra la organización de los componentes en un módulo con puertos de entrada y salida :
clase Add extiende 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 }Un registro de 32 bits con un valor de reinicio de 0:
val reg = RegInit ( 0 . U ( 32 . W ))Un multiplexor forma parte de la biblioteca Chisel:
val resultado = Mux ( sel , a , b )Usar
Aunque Chisel aún no es un lenguaje de descripción de hardware de uso generalizado, varias empresas e instituciones lo han explorado. El uso más destacado de Chisel es una implementación del conjunto de instrucciones RISC-V , el chip Rocket de código abierto. [ 5 ] La Agencia de Proyectos de Investigación Avanzada de Defensa ( DARPA ) menciona a Chisel como una tecnología para mejorar la eficiencia del diseño electrónico, donde equipos de diseño más pequeños realizan diseños más grandes. [ 6 ] Google ha utilizado Chisel para desarrollar una Unidad de Procesamiento Tensorial para computación de borde . [ 7 ] Algunos desarrolladores prefieren Chisel porque requiere una quinta parte del código y es mucho más rápido de desarrollar que Verilog. [ 8 ]
Los circuitos descritos en Chisel se pueden convertir a una descripción en Verilog para su síntesis y simulación mediante un programa llamado FIRRTL. [ 9 ]
Véase también
Referencias
- ↑ Bachrach, J.; Vo, H.; Richards, B.; Lee, Y.; Waterman, A.; Avižienis, R.; Wawrzynek, J.; Asanović, K. (junio de 2012). "Chisel: construcción de hardware en un lenguaje embebido Scala" . Actas de la 49.ª Conferencia Anual de Automatización del Diseño (DAC 2012) . San Francisco, California, EE. UU.: Association for Computing Machinery (ACM). págs. 1216–25 . doi : 10.1145/2228360.2228584 . ISBN 978-1-4503-1199-1.
- ↑ "Cincel" . people.eecs.berkeley.edu . California, EE. UU.: Universidad de California, Berkeley . Archivado del original el 16 de octubre de 2021. Consultado el 8 de julio de 2020 .
- ↑ Bachrach, Jonathan (ed.). "Chisel: Acelerando el diseño de hardware" (PDF) . RISC-V . California, EE. UU.: RISC-V International.
- ↑ Schoeberl, Martin (30 de agosto de 2019). Diseño digital con Chisel (en inglés, chino, japonés y vietnamita) (2.ª ed.). Kindle Direct Publishing. ISBN 978-1689336031.
- ↑ Asanović, Krste ; et al. "chip cohete" . GitHub . RISC-V Internacional . Consultado el 11 de noviembre de 2016 .
- ↑ Moore, Samuel K. (16 de julio de 2018). "DARPA planea una importante renovación de la electrónica estadounidense" . IEEE Spectrum . Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) . Consultado el 10 de junio de 2020 .
- ↑ Derek Lockhart, Stephen Twigg, Ravi Narayanaswami, Jeremy Coriell, Uday Dasari, Richard Ho, Doug Hogberg, George Huang, Anand Kane, Chintan Kaur, Tao Liu, Adriana Maggiore, Kevin Townsend, Emre Tuncer (16 de noviembre de 2018). Experiencias en la fabricación de TPU de borde con Chisel . Recuperado el 10 de junio de 2020 .
- ↑ "Procesador RISC-V de 64 bits de código abierto de XiangShan para competir con Arm Cortex-A76 - CNX Software" . CNX Software - Embedded Systems News . 5 de julio de 2021. Consultado el 26 de marzo de 2022 .
- ↑ "Marco de compilación de hardware Chisel/FIRRTL" . Consultado el 8 de septiembre de 2022 .
Enlaces externos
- Universidad de California, Berkeley
- lenguajes de descripción de hardware
- Ciencia y tecnología en California