Моделирование сенсорных и актюаторных элементов микросистемной техники с использованием языка VHDL-AMS. Лысенко И.Е - 14 стр.

UptoLike

Составители: 

14
В примере simultaneous_if_statement переменная sig – сигнал типа bit. В
зависимости от ее значения аналоговая переменная var класса quantity вычисля-
ется по различным формулам.
Синтаксис simultaneous_case_statement:
CASE <выражение> USE
WHEN <значение_1> USE
<выражение_1>;
WHEN <значение_2> USE
<выражение_2>;
END CASE;
Пример simultaneous_case_statement:
CASE sig USE
WHEN 0 USE
var == a + b;
WHEN 1 USE
var == a + b**2.0;
WHEN 2 USE
var == a + b**3.0;
WHEN OTHER USE
var == a;
END CASE;
В примере simultaneous_case_statement sig – сигнал типа integer. В зави-
симости от значения сигнала sig аналоговая переменная var класса quantity вы-
числяется по различным формулам.
Разумеется, что <условие> оператора simultaneous_if_statement и <выра-
жение> оператора simultaneous_case_statement могут зависеть не только от сиг-
налов, но и от переменных класса quantity.
Сoncurrent_statement предназначены для описания цифровой части моде-
ли. Они служат для формирования значений дискретных сигналов и для фор-
мирования иерархических описаний. Также операторы concurrent_statement яв-
ляются средством взаимодействия аналоговой и цифровой частей модели [3].
К сoncurrent_statement относятся следующие операторы [3].
1. Оператор процесса (process) определяет независимый последователь-
ный процесс, представляющий поведение некоторой части модели цифро-
аналогового устройства. Выполнение оператора процесса состоит из повто-
ряющегося выполнения последовательности операторов, записанных в нем.
В VHDL-AMS не внесено существенных изменений в представление опе-
ратора process, поэтому рассмотрим лишь его синтаксис [3]:
(<метка_процесса>)
PROCESS (<список_чувствительности>)
<раздел_деклараций>;
BEGIN
<раздел_операторов>;
END PROCESS (<метка_процесса>);
2. Оператор selected_signal_assignment является одним из операторов, в
котором аналоговые переменные оказывают влияние на цифровые сигналы.
Синтаксис оператора selected_signal_assignment [3]: