ELLA (язык программирования) - ELLA (programming language)

ЭЛЛА это Язык описания оборудования и набор инструментов поддержки. Разработано Королевские сигналы и радиолокационная станция в течение 1980-х и 1990-х годов.

Включает инструменты для выполнения:

ELLA - победитель конкурса 1989 г. Премия Королевы за технологические достижения.

Образец

Образец изначально из ftp://ftp.dra.hmg.gb/pub/ella[мертвая ссылка ] - Публичный выпуск.

Код для проверки конструкции аппаратного обеспечения матричного умножения:

MAC ZIP = ([INT n] TYPE t: vector1 vector2) -> [n] [2] t: [INT k = 1..n] (vector1 [k], vector2 [k]). MAC TRANSPOSE = ([INT n] [INT m] TYPE t: matrix) -> [m] [n] t: [INT i = 1..m] [INT j = 1..n] матрица [j] [ i] .MAC INNER_PRODUCT {FN * = [2] TYPE t -> TYPE s, FN + = [2] s -> s} = ([INT n] [2] t: vector) -> s: IF n = 1 THEN * vector [1] ELSE * vector [1] + INNER_PRODUCT {*, +} vector [2..n] FI.MAC MATRIX_MULT {FN * = [2] TYPE t-> TYPE s, FN + = [2 ] s-> s} = ([INT n] [INT m] t: matrix1, [m] [INT p] t: matrix2) -> [n] [p] s: BEGIN LET transposed_matrix2 = TRANSPOSE matrix2.OUTPUT [ INT i = 1..n] [INT j = 1..p] INNER_PRODUCT {*, +} ZIP (matrix1 [i], transposed_matrix2 [j]) 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 = ([2] [3] элемент: матрица1, [3] [4] элемент: матрица2) -> [2] [4] продукт: MATRIX_MULT {MULT, PLUS} (matrix1, matrix2) .FN TEST = () - > [2] [4] product :( Пусть m1 = ((elt / 2, elt / 1, elt / 1), (el t / 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)). ВЫХОД MULT_234 (m1, m2)). Тест COM: просто отображает сигнал MOC

Рекомендации

  • Morison, J.D .; Кларк, А. С. (1993). Элла 2000: язык проектирования электронных систем. Макгроу Хилл. ISBN  0-07-707821-7.
  • Barringer, H .; Gough, G .; Monahan, B .; Уильямс, А .; Arcus, M .; Армстронг, А .; Хилл, М. (1995). Среда проектирования и проверки для ELLA. ЦАП '95. Труды ASP-DAC'95 / CHDL'95 / VLSI'95 с EDA Technofair. С. 685–690. Дои:10.1109 / ASPDAC.1995.486387. ISBN  4-930813-67-0.
  • Morison, J.D .; Пилинг, Н.Е .; Thorp, T. L .; Уайтинг, Э. В. (1987). EASE: среда поддержки дизайна для HDDL ELLA. ЦАП '87. 24-я конференция по автоматизации проектирования. С. 741–749. Дои:10.1109 / DAC.1987.203332. ISBN  0-8186-0781-5.

внешняя ссылка