HOME

TheInfoList



OR:

ELLA is a
hardware description language In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, and most commonly, digital logic circuits. A hardware description language en ...
and support toolset, developed in the United Kingdom by the
Royal Signals and Radar Establishment The Royal Signals and Radar Establishment (RSRE) was a scientific research establishment within the Ministry of Defence (MoD) of the United Kingdom. It was located primarily at Malvern in Worcestershire, England. The RSRE motto was ''Ubique ...
(RSRE) during the 1980s and 1990s, which also developed the
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
for the
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
,
ALGOL 68RS ALGOL 68RS is the second ALGOL 68 compiler written by I. F. Currie and J. D. Morrison, at the Royal Signals and Radar Establishment (RSRE). Unlike the earlier ALGOL 68-R, it was designed to be portable, and implemented the language of the Revise ...
, used to write ELLA. ELLA has tools to perform: * Design transformation * Symbolic simulations *
Formal verification In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal metho ...
ELLA is a winner of the 1989
Queen's Award for Technological Achievement Queens is a borough of New York City. Queens or Queen's may also refer to: Arts and entertainment * Queens (group), a Polish musical group * "Queens" (Saara Aalto song), 2018 * ''Queens'' (novel), by Stephen Pickles, 1984 * "Queens", a song by C ...
.


Sample

Sample originally from ftp://ftp.dra.hmg.gb/pub/ella, public release. Code for matrix multiplication hardware design verification:
MAC ZIP = ( NT nYPE t: vector1 vector2) ->  2]t:
   NT k = 1..nvector1  vector2 .
     
MAC TRANSPOSE = ( NT nINT m]TYPE t: matrix) ->  n]t:
   NT i = 1..m NT j = 1..nmatrix i].

MAC INNER_PRODUCT
                 = ( NT n2]t: vector) -> s:
  IF n = 1 THEN *vector   ELSE *vector + INNER_PRODUCT  vector ..n  FI.

MAC MATRIX_MULT  =
( NT nINT m]t: matrix1,  INT p]t: matrix2) ->  p]s:
BEGIN
  LET transposed_matrix2 = TRANSPOSE matrix2.
OUTPUT  NT i = 1..nINT j = 1..p]
       INNER_PRODUCTZIP(matrix1 transposed_matrix2 
END.

TYPE element = NEW elt/(1..20),
     product = NEW prd/(1..1200).

FN PLUS = (product: integer1 integer2) -> product:
  ARITH integer1 + integer2.

FN MULT = (element: integer1 integer2) -> product:
  ARITH integer1 * integer2.

FN MULT_234 = ( 3]element:matrix1,  4]element:matrix2) ->
              4]product:  
  MATRIX_MULT(matrix1, matrix2).

FN TEST = () ->  4]product:
( LET 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)).
  OUTPUT
    MULT_234 (m1, m2)
).

COM test: just displaysignal MOC


References

* * *


External links


ELLA source code
including the
ALGOL 68RS ALGOL 68RS is the second ALGOL 68 compiler written by I. F. Currie and J. D. Morrison, at the Royal Signals and Radar Establishment (RSRE). Unlike the earlier ALGOL 68-R, it was designed to be portable, and implemented the language of the Revise ...
translator Hardware description languages History of computing in the United Kingdom {{Prog-lang-stub