Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Моделью управляемое проектирование




реализуется через:

- Scade – инструмент манипуляции Lustre-моделями,

- Lustre – синхронный язык спецификации реактивных систем.

В синхронной модели предполагается, что все вычисления выполняются одновременно в каждом тике.

В синхронной модели часы идут регулярно.

Пример: каждый тик происходит обновление значения выражения

                       d’ = -d if x=0 else d

                       x’ = x + d

 x: -10 1 0-10 1

 d:  11-1-1 11-1

Обновление переменных происходит параллельно каждый тик:

- читаются x и  d 

- формируются d’ и x’.

 

Базовые понятия:

- Поток – данные: последовательность однотипных значений;

- Узел – код (как преобразуется поток). Lustre функциональный язык, каждый узел определяет функцию, которая получает входной поток и формирует выходной поток;

- Цикл – один шаг исполнения (позволяет точно определить динамику программы).

 

=====

2.4 Правила тактирования

 

    Пусть ω(тактирование окружающей среды) есть функция от переменных тактирования.

Обозначим CK(E,ω) – тактирование выражения E в окружении ω.

  Для равенства  X=E сохраняется  ω(X)=CK(E,ω) .

  Пусть ⊥ неопределенное тактирование и  Τ ошибочное тактирование, тогда

ck ck'⇔(ck =⊥ ∨ck'= Τ∨ ck ck')

  Для любой константы k, CK(k,ω)=true (базовое тактирование).

  Для любой переменной  X, CK(X, ω)= ω(X) .

  Синхронные операторы:

CK (op(E1, E2,…, En))= Ui=1…n CK (Ei),

 где ∪ обозначает оператор наименьшей верхней границы.

  Понижающая дискретизация: операнды оператора when должны быть с одинаковым тактированием

CK(E when ck,ω)=ck .

  Повышающая дискретизация: пусть ck тактирование E, ck true:

CK(current(E),ω)=ck .

  Тактированием экземпляра узла является  тактирование его входов.

  Проблема инициализации: поток current(X when C) существует, но не определен (nil) до тех пока C не станет равным true.

  Условия активизации – способ  решения проблемы тактирования в SCADE (не является частью LUSTRE):

  Макроопределение, а не оператор.

 x = CONDACT(OP, clk, args, dflt) эквивалентно

     x = if clk then current(OP(args when clk)) else (dflt -> pre(x)).


http://kanyevsky.kpi.ua/resourse/All/VHDL/VHDL_context.html (на русском)

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 201.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...