Главная страница
Навигация по странице:

  • Основание

  • Таблица 4. Арифметические операторы языка AHDL

  • Учебник по языку ahdl оглавление Введение 2 Элементы языка ahdl 3 Структура описания проекта на языке ahdl 25


    Скачать 0.61 Mb.
    НазваниеУчебник по языку ahdl оглавление Введение 2 Элементы языка ahdl 3 Структура описания проекта на языке ahdl 25
    Дата28.04.2019
    Размер0.61 Mb.
    Формат файлаdoc
    Имя файлаahdl.doc
    ТипУчебник
    #75494
    страница4 из 18
    1   2   3   4   5   6   7   8   9   ...   18

    1.8.Числа в AHDL


    Вы можете использовать десятичные, двоичные, восьмеричные и шестнадцатеричные числа в любых сочетаниях. Синтаксис для каждого основания показывается ниже.
    Основание: Значения:
    Десятичное <последовательность цифр от 0 до 9>

    Двоичное B"<последовательность 0-ей, 1-ц и

    X-ов>" (где X = "безразличное состояние")

    Восьмеричное O"<последовательность цифр от 0

    до 7>" или Q"< последовательность цифр от 0 до 7>"

    Шестнадцатеричное X"< последовательность цифр

    от 0 до 9, A до F>"

    H"< последовательность цифр

    от 0 до 9, A до F >"

    К числам применяются следующие правила:

    1. Компилятор MAX+PLUS II всегда интерпретирует числа в булевых выражениях как группы двоичных цифр; числа в диапазонах шин как десятичные значения.

    2. Числа нельзя присваивать одиночным узлам в булевых уравнениях. Вместо этого используйте VCC и GND.

    1.9.Арифметические выражения


    Арифметические выражения можно использовать для определения оцениваемых функций в операторах Define, констант в операторах Constant, значений параметров в операторах Parameters и в качестве ограничителей диапазонов шин.

    Пример. Диапазон, определенный с помощью арифметического выражения:

    SUBDESIGN foo

    (

    a[4..2+1-3+8] : INPUT;

    )
    Константа, определенная с помощью арифметического выражения:
    CONSTANT foo = 1 + 2 DIV 3 + LOG2(256);
    Оцениваемая функция, определенная с помощью арифметического выражения:
    DEFINE MIN(a,b) = ((a < b) ? a : b);
    Арифметические операторы и компараторы используются в этих выражениях для выполнения основных арифметических и сравнительных операций с числами в них. В арифметических выражениях используются следующие операторы и компараторы.

    Таблица 4. Арифметические операторы языка AHDL

    Оператор/ компаратор:

    Пример:

    Описание:

    Приоритет

    + (унарный)

    +1

    положительный

    1

    - (унарный)

    -1

    отрицательный

    1

    !

    !a

    NOT

    1

    ^

    a ^ 2

    степень

    1

    MOD

    4 MOD 2

    модуль

    2

    DIV

    4 DIV 2

    деление

    2

    *

    a * 2

    умножение

    2

    LOG2

    LOG2(4-3)

    логарифм по основанию 2

    2

    +

    1+1

    сложение

    3

    -

    1-1

    вычитание

    3

    == (числовой)

    5 == 5

    числовое равенство

    4

    == (строковый)

    "a" == "b"

    строковое равенство

    4

    !=

    5 != 4

    не равно

    4

    >

    5 > 4

    больше чем

    4

    >=

    5 >= 5

    больше чем или равно

    4

    <

    a < b+2

    меньше чем

    4

    <=

    a <= b+2

    меньше чем или равно

    4

    &

    a & b

    AND

    5

    AND

    a AND b







    !&

    1 !& 0

    NAND

    5

    NAND

    1 NAND 0







    $

    1 $ 1

    XOR

    6

    XOR

    1 XOR 1







    !$

    1 !$ 1

    XNOR

    6

    XNOR

    1 XNOR 1







    #

    a # b

    OR

    7

    OR

    a OR b







    !#

    a !# b

    NOR

    7

    NOR

    a NOR b







    ?

    (5<4) ? 3:4

    тернарный

    8

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

    1. Арифметические выражения должны давать не отрицательные числа.

    2. Когда результат LOG2 не целый, он автоматически округляется до следующего целого. Например, LOG2(257) = 9.


    Арифметические операторы, поддерживаемые в арифметических выражениях, являются надмножеством арифметических операторов, поддерживаемых в булевых выражениях, которые описываются в 1.11.2.
    1   2   3   4   5   6   7   8   9   ...   18


    написать администратору сайта