Paso 5: Un cuento de dos lenguas
Algunos programadores de verilog podrían llegar a este paso y decir "Ok, lo prueba es agradable y cincel parece bastante, pero todavía puedo hacerlo en verilog. ¿Por qué debo cambiar? ". Lo que más gusta de cincel es lo fácil que es escribir cosas que son parametrizados. Para entender lo potente es tienen que darse cuenta que usted realmente está programando en dos idiomas simultáneamente, Scala y cincel. El scala se ejecuta primero creando las conexiones para cincel. Cincel entonces utiliza este scala generada diseño.
Mirando el ejemplo, bitWidth y useReg es variables en la scala. Cuando se ejecuta la scala, estas variables tienen valores asignadas por los módulos más arriba. Esto le permite declarar este módulo una vez y utilizarlo en todas partes cuando se necesita una etapa de la tubería o no y ancho variable suma. Este ejemplo es trivial, sino considerar su extensión a un árbol de la víbora de tamaño arbitrario con varias configuraciones de canalización para apreciar lo que puede hacer.