Курсовая работа: Основы языка VHDL

typeMVLis('U', '0', '1', 'Z' );

то результат сравнения:

MVL'( 'U' ) <MVL'( 'Z' )

будет TRUE, т.к. ‘U’ находится левее ‘Z’.

Операции суммирования, вычитания, конкатенации

Операции имеют обозначения:

+, -, &.

Операнды, участвующие в операциях сложения ( + ) и вычитания ( - ) должны быть одного числового типа, результат оказывается того же типа. Операндами в конкатенации ( & ) могут быть или отдельные элементы или одномерные массивы. Результат выдается в виде массива, например при выполнении конкатенации:

‘0’ & ‘1’

образуется массив символов “01”, или еще пример:

‘C’ & ‘A’ & ‘T’

дает“CAT”.

Операции умножения, деления

К этой группе оператций относятся: *, /, mod, rem.

Операнды умножения ( * ) и деления ( / ) должны быть одновременно либо целочисленного типа (integer) либо типа с плавающей запятой (floatingpoint). Результат всегда того типа, что и операнды. Операция умножения может иметь один операнд физического типа, а другой – либо целочисленного, либо натурального типа. Результат выдается в виде физического типа.

В операции деления допустимо делить объект физического типа на целочисленный или натуральный. Результат - всегда физического типа. Деление физического типа на физический дает целочисленный результат.

Операции остатка ( rem) и “деления по модулю” ( mod) в качестве операндов могут иметь целочисленные типы и результат - целочисленного типа. Результат remимеет знак первого операнда и определяется следующим образом:

AremB= A- ( A/ B) * B

Результат mod имеет знак второго операнда и определяется следующим образом:

AmodB= A– B* N,

где N– некоторое целое.

Прочие операции

К их числу следует отнести: Abs, ** и другие. Операция выделения абсолютного значения ( abs ) совместима с любым числовым типом операнда. Операция возведения в степень ( ** ) операндом слева имеет целое или тип с плавающей точкой, а в качестве правого операнда (степень) - только целое.

1.6 Последовательные операторы

К последовательным операторам (SequentialStatements) относятся операторы присваивания (AssignmentStatements), условные операторы if(ifStatements) и case(caseStatements), операторы цикла (loop - next Statements) и другие. Рассмотрим некоторые из операторов этого типа

Оператор присваивания

Эти операторы делятся на операторы присваивания переменной (обозначается знаком :=) и операторы назначения сигнала (<=). В обоих случаях снаала вычисляется значение выражения, стоящее справа от знака равенства, а затем полученное значение присваивается переменной или сигналу, стоящим слева от знака. Например, оператор

abar:= nota;

задает новое значение переменной abar, а именно – инверсное значение a.

Оператор

z <= not (a and b);

задает новое значение сигнала z, которое получается справа от знака <=.

Оператор if

В общем случае ifпредставляет собой последовательность выражений, оговаривающих условия. В качестве условий применимы любые выражения, при вычисление которых получается булевская величина (FALSEи TRUE).

ifбулевское_выражение then

К-во Просмотров: 847
Бесплатно скачать Курсовая работа: Основы языка VHDL