ELLA es un lenguaje de descripción de hardware y un conjunto de herramientas de soporte, desarrollado en el Reino Unido por el Royal Signals and Radar Establishment (RSRE) durante las décadas de 1980 y 1990, que también desarrolló el compilador para el lenguaje de programación ALGOL 68RS , utilizado para escribir ELLA.
ELLA tiene herramientas para realizar:
- Transformación del diseño
- Simulaciones simbólicas
- Verificación formal
ELLA fue galardonada con el Premio de la Reina a la Excelencia Tecnológica en 1989 .
Muestra
Muestra original de ftp://ftp.dra.hmg.gb/pub/ella , publicación pública.
Código para la verificación del diseño de hardware de multiplicación de matrices:
MAC ZIP = ([INT n]TYPE t: vector1 vector2) -> [n][2]t: [INT k = 1..n](vector1[k], vector2[k]). TRANSPOSICIÓN MAC = ([INT n][INT m]TYPE t: matriz) -> [m][n]t: [INT i = 1..m] [INT j = 1..n] matriz[j][i]. PRODUCTO_INTERIOR_MAC{FN * = [2]TYPE t -> TYPE s, FN + = [2]s -> s} = ([INT n][2]t: vector) -> s: SI n = 1 ENTONCES *vector[1] DE LO CONTRARIO *vector[1] + PRODUCTO_INTERIOR {*,+} vector[2..n] FI. MAC MATRIX_MULT {FN * = [2]TYPE t->TYPE s, FN + = [2]s->s} = ([INT n][INT m]t: matriz1, [m][INT p]t: matriz2) -> [n][p]s: COMENZAR LET transposed_matrix2 = TRANSPOSE matrix2. SALIDA [INT i = 1..n][INT j = 1..p] PRODUCTO_INTERIOR{*,+}ZIP(matriz1[i],matriz_transpuesta2[j]) FIN. TIPO elemento = NUEVO elt/(1..20), producto = NUEVO prd/(1..1200). FN PLUS = (producto: entero1 entero2) -> producto: ARITH entero1 + entero2. FN MULT = (elemento: entero1 entero2) -> producto: ARITH entero1 * entero2. FN MULT_234 = ([2][3]elemento:matriz1, [3][4]elemento:matriz2) -> [2][4]producto: MATRIX_MULT{MULT,PLUS}(matriz1, matriz2). FN TEST = () -> [2][4]producto: ( DEJA m1 = ((elt/2, elt/1, elt/1), (elt/3, elt/6, elt/9)), m2 = ((elt/6, elt/1, elt/3, elt/4), (elt/9, elt/2, elt/8, elt/3), (elt/6, elt/4, elt/1, elt/2)). PRODUCCIÓN MULT_234 (m1, m2) ). Prueba COM: solo mostrar señal MOC Referencias
- Morison, JD; Clarke, AS (1 de octubre de 1993). Ella 2000: Un lenguaje para el diseño de sistemas electrónicos . McGraw Hill . ISBN 978-0077078218.
- Barringer, H.; Gough, G.; Monahan, B.; Williams, A.; Arcus, M.; Armstrong, A.; Hill, M. (1995). Un entorno de diseño y verificación para ELLA . Design Automation Conference (DAC) 1995. Actas de ASP-DAC '95, CHDL '95, VLSI '95 con EDA Technofair . págs. 685–690 . doi : 10.1109/ASPDAC.1995.486387 . ISBN 4-930813-67-0.
- Morison, JD; Peeling, NE; Thorp, TL; Whiting, EV (1987). EASE: Un entorno de soporte de diseño para HDDL ELLA . Conferencia de Automatización del Diseño (DAC) 1987. 24.ª Conferencia sobre Automatización del Diseño . págs. 741–749 . doi : 10.1145/37888.38006 . ISBN 0-8186-0781-5.
Enlaces externos
- Código fuente de ELLA, incluyendo el traductor ALGOL 68RS.
- lenguajes de descripción de hardware
- Historia de la informática en el Reino Unido
- Temas básicos de lenguajes de programación