Construcción de Hardware en un lenguaje integrado de Scala (cincel), es una nueva forma de describir el hardware de campo programable Gate Arrays (FPGAs). Este instructable le llevará a través de cómo configurar una instalación de cincel y algunas cosas interesantes que puede hacer con él. Supone una familiaridad con la programación, pero no se requieren conocimientos de FPGAs o verilog.
¿Qué es una FPGA?
Una FPGA es un chip que está diseñado para tener su hardware de circuito de lógica programable (ver aquí para la comparación con dispositivos similares). Se compone de varios bloques pequeños llamados sectores. Estos sectores pueden ser programados para hacer diversas operaciones simples como agregar números o condicionales simple lógica. Estos sectores entonces están conectados juntos para realizar tareas más complicadas. Una diferencia importante para recordar al programar una FPGA frente a la tradicional programación de CPU es que, en una FPGA, todas las señales se procesan simultáneamente, como contraposición a secuencialmente y así ofrece tareas a procesar más rápido en velocidad para determinados problemas. Esto es donde una FPGA tiene una ventaja sobre otras plataformas de computación.
¿Qué es Verilog?
Verilog es un lenguaje de descripción de hardware utilizado para configurar FPGAs. Cincel es un lenguaje utilizado para generar verilog. Después de completa el diseño en verilog se puede sythesised en la ubicación específica en el FPGA. Esto puede generar un diseño como se muestra en la imagen de electronicdesign.com
¿Por qué cincel?
Uno de los mayores problemas con el uso de una FPGA es que son difíciles de programa. Cosas que suceden al mismo tiempo pueden ser complicadas. Cincel es una limpia manera de generar verilog con una muy buena manera para probar su diseño. Además, permite fácil parametrización del hardware lo que significa sus diseños puede ser muy flexible.