Corte su próximo diseño de FPGA

Una tendencia reciente ha sido convertir edificios avanzados en código FPGA como Verilog o VHDL. Un segmento va al revés: convierte conceptos altamente específicos del dispositivo a Verilog y pretende ser un lenguaje más expresivo y más fácil de usar.

¿Por qué Slice? El sitio web del proyecto enumera los objetivos del proyecto:

  • Sintaxis pura y simple que establece claramente el flujo de operaciones y dónde se gastan los ciclos de reloj.
  • Reglas precisas sobre el control de flujo (bucles, llamadas) y su consumo de ciclo de reloj.
  • Edificios de dispositivos conocidos, como siempre bloques, creación de instancias, seguimiento de expresiones (cables).
  • Estilo de proyecto orientado al control de flujo opcional (generación automática de FSM) que se integra naturalmente en el diseño: while, pausa, subrutinas.
  • La capacidad de describir variedades fácilmente.
  • Automáticamente se encarga de crear flip-flops para variables, con poda automática (por ejemplo, Const o bindings).
  • Interfaces sin marca y E / S agrupadas para una fácil reutilización y proyectos modulares.
  • Los circuitos sin marca son fáciles de instanciar y reutilizar.
  • Dominios de reloj explícitos y señales de reinicio.
  • Sintaxis familiar con ambos elementos inspirados en C y Verilog.
  • Interactúa con Verilog, lo que le permite importar y reutilizar módulos existentes.
  • Potente preprocesador basado en LUA.
  • Hay varios ejemplos de los diferentes estilos de codificación que admite Slice, que van desde el ejemplo de LED parpadeante obligatorio hasta una CPU RISC-V y una aplicación de procesamiento de video. Aquí hay parte del ejemplo de parpadeo, solo para darle una idea de cómo se ve:


algorithm main(output uint5 leds)
{
intensity less_intense;
uint26 cnt = 0;
leds := cnt[21,5] & {5{less_intense.pwm_bit}};
cnt := cnt + 1;
}

algorithm intensity(output uint1 pwm_bit)
{
uint16 ups_and_downs = 16b1110000000000000;
pwm_bit := ups_and_downs[0,1];
ups_and_downs := {ups_and_downs[0,1],ups_and_downs[1,15]};
}

Por supuesto, la ventaja real sobre Verilog directo aparece solo con algunos de los ejemplos más complejos.

Cuando trabaje en un proyecto con Slice, déjenos un consejo para que podamos compartirlo con todos. Si realmente desea acercarse al hardware, puede ver la destrucción de FPGA. Si desea comparar Slice con otro lenguaje de descripción de dispositivo alternativo, consulte SpinalHDL.

  • Luego dice:

    El lenguaje parece llamarse “Silice” no “Slice” en el repositorio vinculado de Github. Proyecto realmente genial.

  • Gravis dice:

    Para, amigo, camarada. Gran cobertura … pero roció “Slice” en todas partes, incluidas las etiquetas, y el nombre es “Silice” como el nombre “Cylus”. Cerraremos los ojos colectivamente mientras realiza algunas correcciones.

Alejandro Vargas
Alejandro Vargas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *