ЛЕКЦИЯ 12 26.05.09 Тема 3. Языки и системы моделирования Языки логического моделирования (ЯЛМ) Отличия ЯЛМ от языков программирования Краткий обзор ЯЛМ.

Презентация:



Advertisements
Похожие презентации
ЛЕКЦИЯ Тема 3. Языки и системы моделирования Языки логического моделирования (ЯЛМ) Отличия ЯЛМ от языков программирования Языки описания аппаратуры.
Advertisements

ЛЕКЦИЯ Языки описания аппаратуры. Детерминистский и системный подходы к описанию объекта Мы уже знаем (лекция 2), что существуют два подхода.
Тема урока: Классификация языков программирования.
Что такое программирование? Совокупность процессов, связанных с разработкой программ и их реализацией. В широком смысле к указанным процессам относят все.
1 Диаграммы реализации (implementation diagrams).
Выполнил: Гусев Данил. Что такое программное обеспечение? Возможности современного ПК столь велики, что все большее число людей находят ему применение.
Методика изучения темы «Алгоритмизация и программирование».
ЛЕКЦИЯ Языки описания аппаратуры. Детерминистский и системный подходы к описанию объекта Мы уже знаем (лекция 2), что существуют два подхода.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Введение в теорию компиляции Основные принципы построения трансляторов.
Компьютерное математическое моделирование в среде Excel.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
OOП Инна Исаева. Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит.
Языки программирования.. Этапы создания программы. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала разрабатывается.
Тема 2. Концептуальное проектирование. Лекция 1. Уровни моделей и этапы проектирования.
СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий Петрович СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ.
Тема: «Архитектура и основные составные части интеллектуальных Систем»
Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии программирования Алгоритмизация и программирование. Языки программирования.
ЛАБОРАТОРНАЯ РАБОТА 1 ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ТАБЛИЦ, ИСПОЛЬЗУЕМЫХ В ТРАНСЛЯТОРЕ Рейн Т. С.
Транксрипт:

ЛЕКЦИЯ Тема 3. Языки и системы моделирования Языки логического моделирования (ЯЛМ) Отличия ЯЛМ от языков программирования Краткий обзор ЯЛМ

Что мы знаем о современных языках программирования По словам известного математика - программиста Б. Хигмана понятие языка и его составляющих не поддаётся точному определению. Язык (в широком понимании этого слова) – любое средство общения между людьми, средство выражения их мыслей. Все языки делятся на естественные (неформальные) и искусственные (формальные). Языки программирования относятся к искусственным, формальным языкам Языки проектирования являются подмножеством языков программирования. К ним относятся языки моделирования и языки описания аппаратуры Языки моделирования являются подмножеством языков описания аппаратуры

Иерархия языков программирования и проектирования (Карта прошивки)

О языках программирования Единственный способ писать эффективные программы – сокращённый метод записи в восьмеричной системе счисления 1949 год Морис Уилкс заменил двоичные коды команд символическими. Перевод «один в один». Макроязыки. Макрокоманды не имеют прямых аналогов в машинном коде. Перевод «один в несколько» год. Джон Бекус из фирмы IBM разработал первый процедурно-ориентированный язык Фортран. Перевод «несколько в несколько». Непроцедурные, описательные или дескрипторные (от англ. description - описание) языки. Для разработчика аппаратуры, не являющегося программистом. Главное описать объект, описать условия, в которых он должен работать.

Место языков проектирования Что это???

Лингвистическое обеспечение САПР Языки написания системы автоматизированного проектирования – обычные языки программирования (это инструмент разработчика САПР) Языки проектирования – инструмент пользователя САПР, разработчика, проектировщика электронной аппаратуры Любой проект всегда начинается, сопровождается и заканчивается «ворохом» всевозможных описаний. Это ТЗ, уравнения, схемы, временные диаграммы, таблицы, спецификации, карты «прошивки», эскизы печатных плат и прочая техническая документация. Каждое такое описание создаётся по определённым правилам с использованием дозволенных символов и операций. Другими словами, работа выполняется с привлечением конкретного языка описания проекта – языка проектирования. С точки зрения программиста язык моделирования состоит как бы из двух компонент: Общеалгоритмической Проблемно-ориентированной

Отличительные черты языков моделирования от языков программирования В языки моделирования вводится предопределённый физический тип – время TIME Это позволяет объявить константу или переменную типа time. Например в языке VHDL: variable TT : time; constant TPLH : time := 15ns; Языки моделирования поддерживают встроенную функцию now, возвращающую текущее время (now – теперь, сейчас) TT := now; В языке Verilog тоже есть системная функция текущего времени $time time time_current; time_current = $time; Первое отличие Язык моделирования – это обычный процедурный язык программирования, преобразованный в «нечто большее и лучшее» (Б. Хигман)

Первое отличие. Пример Контроль минимальной длительности входного сигнала A Входной импульс не должен быть короче задержки на элементе Задержка на элементе 8 ns

Результаты моделирования буфера buffer_my

Второе отличие Языки моделирования содержат операторы, обслуживающие время

Третье отличие Языки моделирования позволяют описывать задержки распространения сигналов в цифровых объектах

Четвёртое отличие Кроме традиционных объектов констант constant и переменных variable в языки моделирования добавляется ещё один класс – signal для имитации реальных сигналов

Пятое отличие Имитация параллельных процессов

Шестое отличие В языках моделирования имеются операторы для контроля временных соотношений: assert – оператор контроля report – оператор сообщения

Шестое отличие. Пример

Седьмое отличие. Пример Динамическое управление

Восьмое отличие. Примеры Языки моделирования, предназначенные для имитации вероятностных процессов (например GPSS), имеют: Например, язык Verilog имеет встроенный датчик псевдослучайных чисел ДПСЧ – системную функцию $random встроенные датчики случайных чисел генераторы типовых воздействий средства для статистической обработки результатов экспериментов В пакете Active-HDL 7.1 имеется стимулятор типа Random, генерирующий случайные числа с различными законами распределения, в частности можно устанавливать равномерный, нормальный, экспоненциальный и некоторые другие законы распределений (всего 8 распределений)

Способы разработки языков моделирования Справедливости ради заметим, что в некоторых языках программирования, например ПЛ/1 или Алгол-68 реализованы отдельные из перечисленных выше особенностей, в частности, возможность описания параллельных процессов. Процедурная ориентация языков моделирования наводит на мысль о том, что их можно строить на основе какого-либо многоцелевого языка программирования, используя последний в качестве базового. При этом ЯМ может быть построен как: подмножество базового языка расширение базового языка

Способы разработки языков моделирования Примеры Если ЯМ вложен в базовый язык, то в простейшем случае он включает обращения к подпрограммам, входящим в систему моделирования и написанным на базовом языке. Хорошим примером сказанному является ЯМ ГАСП-4, который полностью вложен в универсальный язык программирования Фортран Здесь можно также назвать язык процессов SIMULATION, определённый как класс универсального языка программирования СИМУЛА-67. Достоинство рассмотренного подхода в том, что он не требует разрабатывать собственный транслятор с языка моделирования.

Способы разработки языков моделирования Примеры Если к базовому языку добавляется некоторое число новых конструкций, необходимых для моделирования, то такой приём называют расширением языка. Теперь уже без препроцессора моделирования не обойтись. Исходное описание на ЯМ придётся сначала транслировать на уровень базового языка, а уже затем с помощью стандартных средств базовой системы программирования – в объектный код. Примером такого подхода является язык СИМПЛ/1, являющийся расширением многоцелевого языка ПЛ/1. Он относится к языкам процессов и используется для цифрового моделирования.

Способы разработки языков моделирования Примеры Третий путь – создание автономного ЯМ самый трудоёмкий, так как требует разработки собственного компилятора. Однако он и самый перспективный, потому что не ограничивает разработчика рамками уже существующего базового языка. Именно этот путь был выбран при создании наиболее мощного, эффективного и универсального языка моделирования и описания аппаратуры VHDL, принятого ныне в качестве неофициального мирового стандарта. То же самое можно сказать и относительно языка Verilog.

Заготовки Любой проект всегда начинается, сопровождается и заканчивается «ворохом» всевозможных описаний. Это ТЗ, уравнения, схемы, временные диаграммы, таблицы, спецификации, карты «прошивки», эскизы печатных плат и прочая техническая документация. Каждое такое описание создаётся по определённым правилам с использованием дозволенных символов и операций. Другими словами, работа выполняется с привлечением конкретного языка описания проекта. С точки зрения программиста язык моделирования состоит как бы из двух компонент: Общеалгоритмической Проблемно-ориентированной