Lola es un lenguaje de descripción de hardware para describir circuitos digitales síncronos . Niklaus Wirth desarrolló este lenguaje para enseñar diseño digital en matrices de puertas programables en campo (FPGA) a estudiantes de informática mientras era profesor en la ETH Zúrich .
El propósito de Lola es describir estáticamente la estructura y función de los componentes de hardware y las conexiones entre ellos. Un texto Lola se compone de declaraciones y sentencias . Describe el hardware electrónico digital a nivel de compuertas lógicas mediante asignaciones de señales . Las señales se combinan utilizando operadores y se asignan a otras señales. Las señales y sus respectivas asignaciones pueden agruparse en tipos de datos . Una instancia de un tipo es un componente de hardware. Los tipos pueden estar compuestos por instancias de otros tipos, lo que permite un estilo de diseño jerárquico , y pueden ser genéricos , por ejemplo, parametrizables con el ancho de palabra de un circuito.
Todos los conceptos mencionados anteriormente se ilustran en el siguiente ejemplo de un circuito para sumar datos binarios. Primero, se define un bloque básico ( Celda de tipo ), luego esta celda se utiliza para declarar una cascada de ancho de palabra 8, y finalmente las celdas se conectan entre sí. El módulo Sumador definido en este ejemplo puede servir como bloque básico en un nivel superior de la jerarquía de diseño.
MÓDULO Sumador ;TIPO Celda ; (* Tipo compuesto *) ENTRADA x , y , ci : BIT ; (* señales de entrada *) SALIDA z , co : BIT ; (* señales de salida *) INICIO z : = x - y - ci ; co : = x * y + x * ci + y * ci ; FIN Celda ;CONST N : = 8 ; IN X , Y :[ N ] BIT ; ci : BIT ; (* señales de entrada *) OUT Z :[ N ] BIT ; co : BIT ; (* señales de salida *) VAR S :[ N ] Cell ; (* instancias de tipo compuesto *) BEGIN S . 0 ( X . 0 , Y . 0 , ci ); (* entradas en la celda 0 *) FOR i : = 1 .. N - 1 DO S . i ( X . i , Y . i , S [ i - 1 ]. co ); (* entradas en la celda i *) END ; FOR i : = 0 .. N - 1 DO Z . i : = S . i . z ; END ; co : = S . 7 . co ; END Adder .Wirth describe Lola desde la perspectiva del usuario en su libro Diseño de circuitos digitales . Una visión complementaria sobre los detalles de la implementación del compilador Lola se puede encontrar en el informe técnico de Wirth, Notas del sistema Lola . Una descripción general de todo el sistema de herramientas para el diseño digital se encuentra en el informe técnico Herramientas para el diseño de circuitos digitales con FPGA (que contiene una copia del informe sobre el lenguaje Lola : Un lenguaje de descripción lógica orientado a objetos ).
Enlaces externos
- Herramientas CAD para el diseño de hardware en ETH Zúrich , incluida la página del lenguaje Lola.
- Temas básicos de lenguajes de programación
- lenguajes de descripción de hardware